; LLVM IR from jzimmerman/langcc :: src/datacc.ll (ZN6langcc12builtins_cppB5cxx11Ev)

; 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"

%"struct.langcc::Map" = type { %"struct.langcc::enable_rc_from_this.43", %"class.std::unordered_map", %"struct.langcc::Vec.19", %"struct.langcc::Vec.44" }
%"struct.langcc::enable_rc_from_this.43" = type { ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"struct.langcc::Vec.19" = type { %"struct.langcc::enable_rc_from_this.20", ptr, ptr, i64, i64, i64, i64 }
%"struct.langcc::enable_rc_from_this.20" = type { ptr, ptr }
%"struct.langcc::Vec.44" = type { %"struct.langcc::enable_rc_from_this.45", ptr, ptr, i64, i64, i64, i64 }
%"struct.langcc::enable_rc_from_this.45" = type { ptr, ptr }
%"struct.langcc::rc_ptr.0" = type { ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::initializer_list" = type { ptr, i64 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.std::allocator.73" = type { i8 }

@__dso_handle = external hidden global i8
@_ZZN6langcc12builtins_cppB5cxx11EvE5_init = external hidden global i8, align 1
@_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11 = external hidden global %"struct.langcc::Map", align 8
@_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11 = external hidden global i64, align 8
@.str.17 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [9 x i8], align 1

; Function Attrs: nounwind
declare i32 @__cxa_atexit(ptr, ptr, ptr) #0

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 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 #3 align 2

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

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

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

; Function Attrs: alwaysinline mustprogress nounwind uwtable
declare dso_local void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind noalias writable sret(%"struct.langcc::rc_ptr.0") align 8, ptr noundef nonnull align 8 dereferenceable(24)) #5

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef nonnull align 8 dereferenceable(200) ptr @_ZN6langcc12builtins_cppB5cxx11Ev() #3 personality ptr @__gxx_personality_v0 {
  %1 = alloca ptr, align 8
  %2 = alloca ptr, align 8
  %3 = alloca i32, align 4
  %4 = alloca %"struct.langcc::rc_ptr.0", align 8
  %5 = alloca %"class.std::vector", align 8
  %6 = alloca %"class.std::initializer_list", align 8
  %7 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %8 = alloca ptr, align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca i1, align 1
  %11 = alloca %"class.std::allocator.73", align 1
  %12 = alloca %"struct.langcc::rc_ptr.0", align 8
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.std::initializer_list", align 8
  %15 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %16 = alloca ptr, align 8
  %17 = alloca %"class.std::allocator", align 1
  %18 = alloca i1, align 1
  %19 = alloca %"class.std::allocator.73", align 1
  %20 = alloca %"struct.langcc::rc_ptr.0", align 8
  %21 = alloca %"class.std::vector", align 8
  %22 = alloca %"class.std::initializer_list", align 8
  %23 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %24 = alloca ptr, align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca i1, align 1
  %27 = alloca %"class.std::allocator.73", align 1
  %28 = alloca %"struct.langcc::rc_ptr.0", align 8
  %29 = alloca %"class.std::vector", align 8
  %30 = alloca %"class.std::initializer_list", align 8
  %31 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %32 = alloca ptr, align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca i1, align 1
  %35 = alloca %"class.std::allocator.73", align 1
  %36 = alloca %"struct.langcc::rc_ptr.0", align 8
  %37 = alloca %"class.std::vector", align 8
  %38 = alloca %"class.std::initializer_list", align 8
  %39 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %40 = alloca ptr, align 8
  %41 = alloca %"class.std::allocator", align 1
  %42 = alloca i1, align 1
  %43 = alloca %"class.std::allocator.73", align 1
  %44 = alloca %"struct.langcc::rc_ptr.0", align 8
  %45 = alloca %"class.std::vector", align 8
  %46 = alloca %"class.std::initializer_list", align 8
  %47 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %48 = alloca ptr, align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca %"class.std::allocator", align 1
  %51 = alloca i1, align 1
  %52 = alloca %"class.std::allocator.73", align 1
  %53 = alloca %"struct.langcc::rc_ptr.0", align 8
  %54 = alloca %"class.std::vector", align 8
  %55 = alloca %"class.std::initializer_list", align 8
  %56 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %57 = alloca ptr, align 8
  %58 = alloca %"class.std::allocator", align 1
  %59 = alloca i1, align 1
  %60 = alloca %"class.std::allocator.73", align 1
  %61 = alloca %"struct.langcc::rc_ptr.0", align 8
  %62 = alloca %"class.std::vector", align 8
  %63 = alloca %"class.std::initializer_list", align 8
  %64 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %65 = alloca ptr, align 8
  %66 = alloca %"class.std::allocator", align 1
  %67 = alloca %"class.std::allocator", align 1
  %68 = alloca i1, align 1
  %69 = alloca %"class.std::allocator.73", align 1
  %70 = alloca %"struct.langcc::rc_ptr.0", align 8
  %71 = alloca %"class.std::vector", align 8
  %72 = alloca %"class.std::initializer_list", align 8
  %73 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %74 = alloca ptr, align 8
  %75 = alloca %"class.std::allocator", align 1
  %76 = alloca i1, align 1
  %77 = alloca %"class.std::allocator.73", align 1
  %78 = alloca %"struct.langcc::rc_ptr.0", align 8
  %79 = alloca %"class.std::vector", align 8
  %80 = alloca %"class.std::initializer_list", align 8
  %81 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %82 = alloca ptr, align 8
  %83 = alloca %"class.std::allocator", align 1
  %84 = alloca i1, align 1
  %85 = alloca %"class.std::allocator.73", align 1
  %86 = alloca %"struct.langcc::rc_ptr.0", align 8
  %87 = alloca %"class.std::vector", align 8
  %88 = alloca %"class.std::initializer_list", align 8
  %89 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %90 = alloca ptr, align 8
  %91 = alloca %"class.std::allocator", align 1
  %92 = alloca i1, align 1
  %93 = alloca %"class.std::allocator.73", align 1
  %94 = alloca %"struct.langcc::rc_ptr.0", align 8
  %95 = alloca %"class.std::vector", align 8
  %96 = alloca %"class.std::initializer_list", align 8
  %97 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %98 = alloca ptr, align 8
  %99 = alloca %"class.std::allocator", align 1
  %100 = alloca %"class.std::allocator", align 1
  %101 = alloca i1, align 1
  %102 = alloca %"class.std::allocator.73", align 1
  %103 = alloca %"struct.langcc::rc_ptr.0", align 8
  %104 = alloca %"class.std::vector", align 8
  %105 = alloca %"class.std::initializer_list", align 8
  %106 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %107 = alloca ptr, align 8
  %108 = alloca %"class.std::allocator", align 1
  %109 = alloca i1, align 1
  %110 = alloca %"class.std::allocator.73", align 1
  %111 = alloca %"struct.langcc::rc_ptr.0", align 8
  %112 = alloca %"class.std::vector", align 8
  %113 = alloca %"class.std::initializer_list", align 8
  %114 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %115 = alloca ptr, align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.std::allocator", align 1
  %118 = alloca i1, align 1
  %119 = alloca %"class.std::allocator.73", align 1
  %120 = alloca %"struct.langcc::rc_ptr.0", align 8
  %121 = alloca %"class.std::vector", align 8
  %122 = alloca %"class.std::initializer_list", align 8
  %123 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %124 = alloca ptr, align 8
  %125 = alloca %"class.std::allocator", align 1
  %126 = alloca i1, align 1
  %127 = alloca %"class.std::allocator.73", align 1
  %128 = alloca %"struct.langcc::rc_ptr.0", align 8
  %129 = alloca %"class.std::vector", align 8
  %130 = alloca %"class.std::initializer_list", align 8
  %131 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %132 = alloca ptr, align 8
  %133 = alloca %"class.std::allocator", align 1
  %134 = alloca %"class.std::allocator", align 1
  %135 = alloca i1, align 1
  %136 = alloca %"class.std::allocator.73", align 1
  %137 = alloca %"struct.langcc::rc_ptr.0", align 8
  %138 = alloca %"class.std::vector", align 8
  %139 = alloca %"class.std::initializer_list", align 8
  %140 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %141 = alloca ptr, align 8
  %142 = alloca %"class.std::allocator", align 1
  %143 = alloca i1, align 1
  %144 = alloca %"class.std::allocator.73", align 1
  %145 = alloca %"struct.langcc::rc_ptr.0", align 8
  %146 = alloca %"class.std::vector", align 8
  %147 = alloca %"class.std::initializer_list", align 8
  %148 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %149 = alloca ptr, align 8
  %150 = alloca %"class.std::allocator", align 1
  %151 = alloca %"class.std::allocator", align 1
  %152 = alloca i1, align 1
  %153 = alloca %"class.std::allocator.73", align 1
  %154 = alloca %"struct.langcc::rc_ptr.0", align 8
  %155 = alloca %"class.std::vector", align 8
  %156 = alloca %"class.std::initializer_list", align 8
  %157 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %158 = alloca ptr, align 8
  %159 = alloca %"class.std::allocator", align 1
  %160 = alloca i1, align 1
  %161 = alloca %"class.std::allocator.73", align 1
  %162 = alloca %"struct.langcc::rc_ptr.0", align 8
  %163 = alloca %"class.std::vector", align 8
  %164 = alloca %"class.std::initializer_list", align 8
  %165 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %166 = alloca ptr, align 8
  %167 = alloca %"class.std::allocator", align 1
  %168 = alloca %"class.std::allocator", align 1
  %169 = alloca i1, align 1
  %170 = alloca %"class.std::allocator.73", align 1
  %171 = alloca %"struct.langcc::rc_ptr.0", align 8
  %172 = alloca %"class.std::vector", align 8
  %173 = alloca %"class.std::initializer_list", align 8
  %174 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %175 = alloca ptr, align 8
  %176 = alloca %"class.std::allocator", align 1
  %177 = alloca i1, align 1
  %178 = alloca %"class.std::allocator.73", align 1
  %179 = alloca %"struct.langcc::rc_ptr.0", align 8
  %180 = alloca %"class.std::vector", align 8
  %181 = alloca %"class.std::initializer_list", align 8
  %182 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %183 = alloca ptr, align 8
  %184 = alloca %"class.std::allocator", align 1
  %185 = alloca %"class.std::allocator", align 1
  %186 = alloca i1, align 1
  %187 = alloca %"class.std::allocator.73", align 1
  %188 = alloca %"struct.langcc::rc_ptr.0", align 8
  %189 = alloca %"class.std::vector", align 8
  %190 = alloca %"class.std::initializer_list", align 8
  %191 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %192 = alloca ptr, align 8
  %193 = alloca %"class.std::allocator", align 1
  %194 = alloca i1, align 1
  %195 = alloca %"class.std::allocator.73", align 1
  %196 = alloca %"struct.langcc::rc_ptr.0", align 8
  %197 = alloca %"class.std::vector", align 8
  %198 = alloca %"class.std::initializer_list", align 8
  %199 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %200 = alloca ptr, align 8
  %201 = alloca %"class.std::allocator", align 1
  %202 = alloca %"class.std::allocator", align 1
  %203 = alloca i1, align 1
  %204 = alloca %"class.std::allocator.73", align 1
  %205 = alloca %"struct.langcc::rc_ptr.0", align 8
  %206 = alloca %"class.std::vector", align 8
  %207 = alloca %"class.std::initializer_list", align 8
  %208 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %209 = alloca ptr, align 8
  %210 = alloca %"class.std::allocator", align 1
  %211 = alloca i1, align 1
  %212 = alloca %"class.std::allocator.73", align 1
  %213 = alloca %"struct.langcc::rc_ptr.0", align 8
  %214 = alloca %"class.std::vector", align 8
  %215 = alloca %"class.std::initializer_list", align 8
  %216 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %217 = alloca ptr, align 8
  %218 = alloca %"class.std::allocator", align 1
  %219 = alloca %"class.std::allocator", align 1
  %220 = alloca i1, align 1
  %221 = alloca %"class.std::allocator.73", align 1
  %222 = alloca %"struct.langcc::rc_ptr.0", align 8
  %223 = alloca %"class.std::vector", align 8
  %224 = alloca %"class.std::initializer_list", align 8
  %225 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %226 = alloca ptr, align 8
  %227 = alloca %"class.std::allocator", align 1
  %228 = alloca i1, align 1
  %229 = alloca %"class.std::allocator.73", align 1
  %230 = alloca %"struct.langcc::rc_ptr.0", align 8
  %231 = alloca %"class.std::vector", align 8
  %232 = alloca %"class.std::initializer_list", align 8
  %233 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %234 = alloca ptr, align 8
  %235 = alloca %"class.std::allocator", align 1
  %236 = alloca %"class.std::allocator", align 1
  %237 = alloca i1, align 1
  %238 = alloca %"class.std::allocator.73", align 1
  %239 = alloca %"struct.langcc::rc_ptr.0", align 8
  %240 = alloca %"class.std::vector", align 8
  %241 = alloca %"class.std::initializer_list", align 8
  %242 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %243 = alloca ptr, align 8
  %244 = alloca %"class.std::allocator", align 1
  %245 = alloca i1, align 1
  %246 = alloca %"class.std::allocator.73", align 1
  %247 = alloca %"struct.langcc::rc_ptr.0", align 8
  %248 = alloca %"class.std::vector", align 8
  %249 = alloca %"class.std::initializer_list", align 8
  %250 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %251 = alloca ptr, align 8
  %252 = alloca %"class.std::allocator", align 1
  %253 = alloca %"class.std::allocator", align 1
  %254 = alloca i1, align 1
  %255 = alloca %"class.std::allocator.73", align 1
  %256 = alloca %"struct.langcc::rc_ptr.0", align 8
  %257 = alloca %"class.std::vector", align 8
  %258 = alloca %"class.std::initializer_list", align 8
  %259 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %260 = alloca ptr, align 8
  %261 = alloca %"class.std::allocator", align 1
  %262 = alloca i1, align 1
  %263 = alloca %"class.std::allocator.73", align 1
  %264 = alloca %"struct.langcc::rc_ptr.0", align 8
  %265 = alloca %"class.std::vector", align 8
  %266 = alloca %"class.std::initializer_list", align 8
  %267 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %268 = alloca ptr, align 8
  %269 = alloca %"class.std::allocator", align 1
  %270 = alloca %"class.std::allocator", align 1
  %271 = alloca i1, align 1
  %272 = alloca %"class.std::allocator.73", align 1
  %273 = load atomic i8, ptr @_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11 acquire, align 8
  %274 = icmp eq i8 %273, 0
  br i1 %274, label %275, label %281, !prof !5

275:                                              ; preds = %0
  %276 = call i32 @__cxa_guard_acquire(ptr @_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11) #0
  %277 = icmp ne i32 %276, 0
  br i1 %277, label %278, label %281

278:                                              ; preds = %275
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_EC2Ev(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11)
          to label %279 unwind label %285

279:                                              ; preds = %278
  %280 = call i32 @__cxa_atexit(ptr @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_ED2Ev, ptr @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr @__dso_handle) #0
  call void @__cxa_guard_release(ptr @_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11) #0
  br label %281

281:                                              ; preds = %279, %275, %0
  %282 = load i8, ptr @_ZZN6langcc12builtins_cppB5cxx11EvE5_init, align 1, !tbaa !6, !range !10, !noundef !11
  %283 = trunc i8 %282 to i1
  br i1 %283, label %284, label %289

284:                                              ; preds = %281
  store ptr @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr %1, align 8
  br label %1997

285:                                              ; preds = %278
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %2, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %3, align 4
  call void @__cxa_guard_abort(ptr @_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11) #0
  br label %1999

289:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 16, ptr %4) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %5) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %7) #0
  store i1 true, ptr %10, align 1
  store ptr %7, ptr %8, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %290 unwind label %844

290:                                              ; preds = %289
  store i1 false, ptr %10, align 1
  %291 = getelementptr inbounds %"class.std::initializer_list", ptr %6, i32 0, i32 0
  store ptr %7, ptr %291, align 8, !tbaa !12
  %292 = getelementptr inbounds %"class.std::initializer_list", ptr %6, i32 0, i32 1
  store i64 1, ptr %292, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #0
  %293 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0
  %294 = load ptr, ptr %293, align 8
  %295 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1
  %296 = load i64, ptr %295, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr %294, i64 %296, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %297 unwind label %848

297:                                              ; preds = %290
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %4, ptr noundef nonnull align 8 dereferenceable(24) %5)
          to label %298 unwind label %852

298:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #0
  store i1 true, ptr %18, align 1
  store ptr %15, ptr %16, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %299 unwind label %856

299:                                              ; preds = %298
  store i1 false, ptr %18, align 1
  %300 = getelementptr inbounds %"class.std::initializer_list", ptr %14, i32 0, i32 0
  store ptr %15, ptr %300, align 8, !tbaa !12
  %301 = getelementptr inbounds %"class.std::initializer_list", ptr %14, i32 0, i32 1
  store i64 1, ptr %301, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #0
  %302 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0
  %303 = load ptr, ptr %302, align 8
  %304 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1
  %305 = load i64, ptr %304, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr %303, i64 %305, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %306 unwind label %860

306:                                              ; preds = %299
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %12, ptr noundef nonnull align 8 dereferenceable(24) %13)
          to label %307 unwind label %864

307:                                              ; preds = %306
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull align 8 dereferenceable(16) %12)
          to label %308 unwind label %868

308:                                              ; preds = %307
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #0
  %309 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %15, i32 0, i32 0
  %310 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %309, i64 1
  br label %311

311:                                              ; preds = %311, %308
  %312 = phi ptr [ %310, %308 ], [ %313, %311 ]
  %313 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %312, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %313) #0
  %314 = icmp eq ptr %313, %309
  br i1 %314, label %315, label %311

315:                                              ; preds = %311
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %4) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #0
  %316 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %7, i32 0, i32 0
  %317 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %316, i64 1
  br label %318

318:                                              ; preds = %318, %315
  %319 = phi ptr [ %317, %315 ], [ %320, %318 ]
  %320 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %319, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %320) #0
  %321 = icmp eq ptr %320, %316
  br i1 %321, label %322, label %318

322:                                              ; preds = %318
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %4) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #0
  store i1 true, ptr %26, align 1
  store ptr %23, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %323 unwind label %912

323:                                              ; preds = %322
  store i1 false, ptr %26, align 1
  %324 = getelementptr inbounds %"class.std::initializer_list", ptr %22, i32 0, i32 0
  store ptr %23, ptr %324, align 8, !tbaa !12
  %325 = getelementptr inbounds %"class.std::initializer_list", ptr %22, i32 0, i32 1
  store i64 1, ptr %325, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #0
  %326 = getelementptr inbounds { ptr, i64 }, ptr %22, i32 0, i32 0
  %327 = load ptr, ptr %326, align 8
  %328 = getelementptr inbounds { ptr, i64 }, ptr %22, i32 0, i32 1
  %329 = load i64, ptr %328, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr %327, i64 %329, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %330 unwind label %916

330:                                              ; preds = %323
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %20, ptr noundef nonnull align 8 dereferenceable(24) %21)
          to label %331 unwind label %920

331:                                              ; preds = %330
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #0
  store i1 true, ptr %34, align 1
  store ptr %31, ptr %32, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %332 unwind label %924

332:                                              ; preds = %331
  store i1 false, ptr %34, align 1
  %333 = getelementptr inbounds %"class.std::initializer_list", ptr %30, i32 0, i32 0
  store ptr %31, ptr %333, align 8, !tbaa !12
  %334 = getelementptr inbounds %"class.std::initializer_list", ptr %30, i32 0, i32 1
  store i64 1, ptr %334, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #0
  %335 = getelementptr inbounds { ptr, i64 }, ptr %30, i32 0, i32 0
  %336 = load ptr, ptr %335, align 8
  %337 = getelementptr inbounds { ptr, i64 }, ptr %30, i32 0, i32 1
  %338 = load i64, ptr %337, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr %336, i64 %338, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %339 unwind label %928

339:                                              ; preds = %332
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %28, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %340 unwind label %932

340:                                              ; preds = %339
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %20, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %341 unwind label %936

341:                                              ; preds = %340
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #0
  %342 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %31, i32 0, i32 0
  %343 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %342, i64 1
  br label %344

344:                                              ; preds = %344, %341
  %345 = phi ptr [ %343, %341 ], [ %346, %344 ]
  %346 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %345, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %346) #0
  %347 = icmp eq ptr %346, %342
  br i1 %347, label %348, label %344

348:                                              ; preds = %344
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #0
  %349 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %23, i32 0, i32 0
  %350 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %349, i64 1
  br label %351

351:                                              ; preds = %351, %348
  %352 = phi ptr [ %350, %348 ], [ %353, %351 ]
  %353 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %352, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %353) #0
  %354 = icmp eq ptr %353, %349
  br i1 %354, label %355, label %351

355:                                              ; preds = %351
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %37) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #0
  store i1 true, ptr %42, align 1
  store ptr %39, ptr %40, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %356 unwind label %980

356:                                              ; preds = %355
  store i1 false, ptr %42, align 1
  %357 = getelementptr inbounds %"class.std::initializer_list", ptr %38, i32 0, i32 0
  store ptr %39, ptr %357, align 8, !tbaa !12
  %358 = getelementptr inbounds %"class.std::initializer_list", ptr %38, i32 0, i32 1
  store i64 1, ptr %358, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #0
  %359 = getelementptr inbounds { ptr, i64 }, ptr %38, i32 0, i32 0
  %360 = load ptr, ptr %359, align 8
  %361 = getelementptr inbounds { ptr, i64 }, ptr %38, i32 0, i32 1
  %362 = load i64, ptr %361, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %37, ptr %360, i64 %362, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %363 unwind label %984

363:                                              ; preds = %356
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %36, ptr noundef nonnull align 8 dereferenceable(24) %37)
          to label %364 unwind label %988

364:                                              ; preds = %363
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %47) #0
  store i1 true, ptr %51, align 1
  store ptr %47, ptr %48, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %365 unwind label %992

365:                                              ; preds = %364
  %366 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %47, i64 1
  store ptr %366, ptr %48, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %366, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %367 unwind label %996

367:                                              ; preds = %365
  store i1 false, ptr %51, align 1
  %368 = getelementptr inbounds %"class.std::initializer_list", ptr %46, i32 0, i32 0
  store ptr %47, ptr %368, align 8, !tbaa !12
  %369 = getelementptr inbounds %"class.std::initializer_list", ptr %46, i32 0, i32 1
  store i64 2, ptr %369, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #0
  %370 = getelementptr inbounds { ptr, i64 }, ptr %46, i32 0, i32 0
  %371 = load ptr, ptr %370, align 8
  %372 = getelementptr inbounds { ptr, i64 }, ptr %46, i32 0, i32 1
  %373 = load i64, ptr %372, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr %371, i64 %373, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %374 unwind label %1000

374:                                              ; preds = %367
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %44, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %375 unwind label %1004

375:                                              ; preds = %374
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %36, ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %376 unwind label %1008

376:                                              ; preds = %375
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #0
  %377 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %47, i32 0, i32 0
  %378 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %377, i64 2
  br label %379

379:                                              ; preds = %379, %376
  %380 = phi ptr [ %378, %376 ], [ %381, %379 ]
  %381 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %380, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %381) #0
  %382 = icmp eq ptr %381, %377
  br i1 %382, label %383, label %379

383:                                              ; preds = %379
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %47) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #0
  %384 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %39, i32 0, i32 0
  %385 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %384, i64 1
  br label %386

386:                                              ; preds = %386, %383
  %387 = phi ptr [ %385, %383 ], [ %388, %386 ]
  %388 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %387, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %388) #0
  %389 = icmp eq ptr %388, %384
  br i1 %389, label %390, label %386

390:                                              ; preds = %386
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #0
  store i1 true, ptr %59, align 1
  store ptr %56, ptr %57, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %391 unwind label %1053

391:                                              ; preds = %390
  store i1 false, ptr %59, align 1
  %392 = getelementptr inbounds %"class.std::initializer_list", ptr %55, i32 0, i32 0
  store ptr %56, ptr %392, align 8, !tbaa !12
  %393 = getelementptr inbounds %"class.std::initializer_list", ptr %55, i32 0, i32 1
  store i64 1, ptr %393, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #0
  %394 = getelementptr inbounds { ptr, i64 }, ptr %55, i32 0, i32 0
  %395 = load ptr, ptr %394, align 8
  %396 = getelementptr inbounds { ptr, i64 }, ptr %55, i32 0, i32 1
  %397 = load i64, ptr %396, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr %395, i64 %397, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %398 unwind label %1057

398:                                              ; preds = %391
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %53, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %399 unwind label %1061

399:                                              ; preds = %398
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %64) #0
  store i1 true, ptr %68, align 1
  store ptr %64, ptr %65, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %66)
          to label %400 unwind label %1065

400:                                              ; preds = %399
  %401 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %64, i64 1
  store ptr %401, ptr %65, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %401, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %402 unwind label %1069

402:                                              ; preds = %400
  store i1 false, ptr %68, align 1
  %403 = getelementptr inbounds %"class.std::initializer_list", ptr %63, i32 0, i32 0
  store ptr %64, ptr %403, align 8, !tbaa !12
  %404 = getelementptr inbounds %"class.std::initializer_list", ptr %63, i32 0, i32 1
  store i64 2, ptr %404, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %69) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #0
  %405 = getelementptr inbounds { ptr, i64 }, ptr %63, i32 0, i32 0
  %406 = load ptr, ptr %405, align 8
  %407 = getelementptr inbounds { ptr, i64 }, ptr %63, i32 0, i32 1
  %408 = load i64, ptr %407, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr %406, i64 %408, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %409 unwind label %1073

409:                                              ; preds = %402
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %61, ptr noundef nonnull align 8 dereferenceable(24) %62)
          to label %410 unwind label %1077

410:                                              ; preds = %409
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %53, ptr noundef nonnull align 8 dereferenceable(16) %61)
          to label %411 unwind label %1081

411:                                              ; preds = %410
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #0
  %412 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %64, i32 0, i32 0
  %413 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %412, i64 2
  br label %414

414:                                              ; preds = %414, %411
  %415 = phi ptr [ %413, %411 ], [ %416, %414 ]
  %416 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %415, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %416) #0
  %417 = icmp eq ptr %416, %412
  br i1 %417, label %418, label %414

418:                                              ; preds = %414
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %64) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #0
  %419 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %56, i32 0, i32 0
  %420 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %419, i64 1
  br label %421

421:                                              ; preds = %421, %418
  %422 = phi ptr [ %420, %418 ], [ %423, %421 ]
  %423 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %422, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %423) #0
  %424 = icmp eq ptr %423, %419
  br i1 %424, label %425, label %421

425:                                              ; preds = %421
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %71) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #0
  store i1 true, ptr %76, align 1
  store ptr %73, ptr %74, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %75)
          to label %426 unwind label %1126

426:                                              ; preds = %425
  store i1 false, ptr %76, align 1
  %427 = getelementptr inbounds %"class.std::initializer_list", ptr %72, i32 0, i32 0
  store ptr %73, ptr %427, align 8, !tbaa !12
  %428 = getelementptr inbounds %"class.std::initializer_list", ptr %72, i32 0, i32 1
  store i64 1, ptr %428, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %77) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #0
  %429 = getelementptr inbounds { ptr, i64 }, ptr %72, i32 0, i32 0
  %430 = load ptr, ptr %429, align 8
  %431 = getelementptr inbounds { ptr, i64 }, ptr %72, i32 0, i32 1
  %432 = load i64, ptr %431, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %71, ptr %430, i64 %432, ptr noundef nonnull align 1 dereferenceable(1) %77)
          to label %433 unwind label %1130

433:                                              ; preds = %426
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %70, ptr noundef nonnull align 8 dereferenceable(24) %71)
          to label %434 unwind label %1134

434:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 16, ptr %78) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %79) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #0
  store i1 true, ptr %84, align 1
  store ptr %81, ptr %82, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %435 unwind label %1138

435:                                              ; preds = %434
  store i1 false, ptr %84, align 1
  %436 = getelementptr inbounds %"class.std::initializer_list", ptr %80, i32 0, i32 0
  store ptr %81, ptr %436, align 8, !tbaa !12
  %437 = getelementptr inbounds %"class.std::initializer_list", ptr %80, i32 0, i32 1
  store i64 1, ptr %437, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %85) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #0
  %438 = getelementptr inbounds { ptr, i64 }, ptr %80, i32 0, i32 0
  %439 = load ptr, ptr %438, align 8
  %440 = getelementptr inbounds { ptr, i64 }, ptr %80, i32 0, i32 1
  %441 = load i64, ptr %440, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %79, ptr %439, i64 %441, ptr noundef nonnull align 1 dereferenceable(1) %85)
          to label %442 unwind label %1142

442:                                              ; preds = %435
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %78, ptr noundef nonnull align 8 dereferenceable(24) %79)
          to label %443 unwind label %1146

443:                                              ; preds = %442
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef nonnull align 8 dereferenceable(16) %78)
          to label %444 unwind label %1150

444:                                              ; preds = %443
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %85) #0
  %445 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %81, i32 0, i32 0
  %446 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %445, i64 1
  br label %447

447:                                              ; preds = %447, %444
  %448 = phi ptr [ %446, %444 ], [ %449, %447 ]
  %449 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %448, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %449) #0
  %450 = icmp eq ptr %449, %445
  br i1 %450, label %451, label %447

451:                                              ; preds = %447
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %79) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #0
  %452 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %73, i32 0, i32 0
  %453 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %452, i64 1
  br label %454

454:                                              ; preds = %454, %451
  %455 = phi ptr [ %453, %451 ], [ %456, %454 ]
  %456 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %455, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %456) #0
  %457 = icmp eq ptr %456, %452
  br i1 %457, label %458, label %454

458:                                              ; preds = %454
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %86) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %87) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #0
  store i1 true, ptr %92, align 1
  store ptr %89, ptr %90, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %91)
          to label %459 unwind label %1194

459:                                              ; preds = %458
  store i1 false, ptr %92, align 1
  %460 = getelementptr inbounds %"class.std::initializer_list", ptr %88, i32 0, i32 0
  store ptr %89, ptr %460, align 8, !tbaa !12
  %461 = getelementptr inbounds %"class.std::initializer_list", ptr %88, i32 0, i32 1
  store i64 1, ptr %461, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %93) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #0
  %462 = getelementptr inbounds { ptr, i64 }, ptr %88, i32 0, i32 0
  %463 = load ptr, ptr %462, align 8
  %464 = getelementptr inbounds { ptr, i64 }, ptr %88, i32 0, i32 1
  %465 = load i64, ptr %464, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr %463, i64 %465, ptr noundef nonnull align 1 dereferenceable(1) %93)
          to label %466 unwind label %1198

466:                                              ; preds = %459
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %86, ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %467 unwind label %1202

467:                                              ; preds = %466
  call void @llvm.lifetime.start.p0(i64 16, ptr %94) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %95) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %97) #0
  store i1 true, ptr %101, align 1
  store ptr %97, ptr %98, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %97, ptr noundef @.str.24, ptr noundef nonnull align 1 dereferenceable(1) %99)
          to label %468 unwind label %1206

468:                                              ; preds = %467
  %469 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %97, i64 1
  store ptr %469, ptr %98, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %100) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %469, ptr noundef @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %470 unwind label %1210

470:                                              ; preds = %468
  store i1 false, ptr %101, align 1
  %471 = getelementptr inbounds %"class.std::initializer_list", ptr %96, i32 0, i32 0
  store ptr %97, ptr %471, align 8, !tbaa !12
  %472 = getelementptr inbounds %"class.std::initializer_list", ptr %96, i32 0, i32 1
  store i64 2, ptr %472, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %102) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #0
  %473 = getelementptr inbounds { ptr, i64 }, ptr %96, i32 0, i32 0
  %474 = load ptr, ptr %473, align 8
  %475 = getelementptr inbounds { ptr, i64 }, ptr %96, i32 0, i32 1
  %476 = load i64, ptr %475, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %95, ptr %474, i64 %476, ptr noundef nonnull align 1 dereferenceable(1) %102)
          to label %477 unwind label %1214

477:                                              ; preds = %470
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %94, ptr noundef nonnull align 8 dereferenceable(24) %95)
          to label %478 unwind label %1218

478:                                              ; preds = %477
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %86, ptr noundef nonnull align 8 dereferenceable(16) %94)
          to label %479 unwind label %1222

479:                                              ; preds = %478
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %94) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #0
  %480 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %97, i32 0, i32 0
  %481 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %480, i64 2
  br label %482

482:                                              ; preds = %482, %479
  %483 = phi ptr [ %481, %479 ], [ %484, %482 ]
  %484 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %483, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %484) #0
  %485 = icmp eq ptr %484, %480
  br i1 %485, label %486, label %482

486:                                              ; preds = %482
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %97) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %94) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #0
  %487 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %89, i32 0, i32 0
  %488 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %487, i64 1
  br label %489

489:                                              ; preds = %489, %486
  %490 = phi ptr [ %488, %486 ], [ %491, %489 ]
  %491 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %490, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %491) #0
  %492 = icmp eq ptr %491, %487
  br i1 %492, label %493, label %489

493:                                              ; preds = %489
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %87) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %103) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %104) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %106) #0
  store i1 true, ptr %109, align 1
  store ptr %106, ptr %107, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %108) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %494 unwind label %1267

494:                                              ; preds = %493
  store i1 false, ptr %109, align 1
  %495 = getelementptr inbounds %"class.std::initializer_list", ptr %105, i32 0, i32 0
  store ptr %106, ptr %495, align 8, !tbaa !12
  %496 = getelementptr inbounds %"class.std::initializer_list", ptr %105, i32 0, i32 1
  store i64 1, ptr %496, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %110) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #0
  %497 = getelementptr inbounds { ptr, i64 }, ptr %105, i32 0, i32 0
  %498 = load ptr, ptr %497, align 8
  %499 = getelementptr inbounds { ptr, i64 }, ptr %105, i32 0, i32 1
  %500 = load i64, ptr %499, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %104, ptr %498, i64 %500, ptr noundef nonnull align 1 dereferenceable(1) %110)
          to label %501 unwind label %1271

501:                                              ; preds = %494
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %103, ptr noundef nonnull align 8 dereferenceable(24) %104)
          to label %502 unwind label %1275

502:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 16, ptr %111) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %112) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %114) #0
  store i1 true, ptr %118, align 1
  store ptr %114, ptr %115, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %116) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %503 unwind label %1279

503:                                              ; preds = %502
  %504 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %114, i64 1
  store ptr %504, ptr %115, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %117) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %504, ptr noundef @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %505 unwind label %1283

505:                                              ; preds = %503
  store i1 false, ptr %118, align 1
  %506 = getelementptr inbounds %"class.std::initializer_list", ptr %113, i32 0, i32 0
  store ptr %114, ptr %506, align 8, !tbaa !12
  %507 = getelementptr inbounds %"class.std::initializer_list", ptr %113, i32 0, i32 1
  store i64 2, ptr %507, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #0
  %508 = getelementptr inbounds { ptr, i64 }, ptr %113, i32 0, i32 0
  %509 = load ptr, ptr %508, align 8
  %510 = getelementptr inbounds { ptr, i64 }, ptr %113, i32 0, i32 1
  %511 = load i64, ptr %510, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %112, ptr %509, i64 %511, ptr noundef nonnull align 1 dereferenceable(1) %119)
          to label %512 unwind label %1287

512:                                              ; preds = %505
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %111, ptr noundef nonnull align 8 dereferenceable(24) %112)
          to label %513 unwind label %1291

513:                                              ; preds = %512
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %103, ptr noundef nonnull align 8 dereferenceable(16) %111)
          to label %514 unwind label %1295

514:                                              ; preds = %513
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %111) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #0
  %515 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %114, i32 0, i32 0
  %516 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %515, i64 2
  br label %517

517:                                              ; preds = %517, %514
  %518 = phi ptr [ %516, %514 ], [ %519, %517 ]
  %519 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %518, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %519) #0
  %520 = icmp eq ptr %519, %515
  br i1 %520, label %521, label %517

521:                                              ; preds = %517
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %114) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %111) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %103) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #0
  %522 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %106, i32 0, i32 0
  %523 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %522, i64 1
  br label %524

524:                                              ; preds = %524, %521
  %525 = phi ptr [ %523, %521 ], [ %526, %524 ]
  %526 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %525, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %526) #0
  %527 = icmp eq ptr %526, %522
  br i1 %527, label %528, label %524

528:                                              ; preds = %524
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %104) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %103) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %121) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #0
  store i1 true, ptr %126, align 1
  store ptr %123, ptr %124, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %125) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %123, ptr noundef @.str.27, ptr noundef nonnull align 1 dereferenceable(1) %125)
          to label %529 unwind label %1340

529:                                              ; preds = %528
  store i1 false, ptr %126, align 1
  %530 = getelementptr inbounds %"class.std::initializer_list", ptr %122, i32 0, i32 0
  store ptr %123, ptr %530, align 8, !tbaa !12
  %531 = getelementptr inbounds %"class.std::initializer_list", ptr %122, i32 0, i32 1
  store i64 1, ptr %531, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %127) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #0
  %532 = getelementptr inbounds { ptr, i64 }, ptr %122, i32 0, i32 0
  %533 = load ptr, ptr %532, align 8
  %534 = getelementptr inbounds { ptr, i64 }, ptr %122, i32 0, i32 1
  %535 = load i64, ptr %534, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %121, ptr %533, i64 %535, ptr noundef nonnull align 1 dereferenceable(1) %127)
          to label %536 unwind label %1344

536:                                              ; preds = %529
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %120, ptr noundef nonnull align 8 dereferenceable(24) %121)
          to label %537 unwind label %1348

537:                                              ; preds = %536
  call void @llvm.lifetime.start.p0(i64 16, ptr %128) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %129) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %131) #0
  store i1 true, ptr %135, align 1
  store ptr %131, ptr %132, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %133) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %131, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %538 unwind label %1352

538:                                              ; preds = %537
  %539 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %131, i64 1
  store ptr %539, ptr %132, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %134) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %539, ptr noundef @.str.28, ptr noundef nonnull align 1 dereferenceable(1) %134)
          to label %540 unwind label %1356

540:                                              ; preds = %538
  store i1 false, ptr %135, align 1
  %541 = getelementptr inbounds %"class.std::initializer_list", ptr %130, i32 0, i32 0
  store ptr %131, ptr %541, align 8, !tbaa !12
  %542 = getelementptr inbounds %"class.std::initializer_list", ptr %130, i32 0, i32 1
  store i64 2, ptr %542, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %136) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #0
  %543 = getelementptr inbounds { ptr, i64 }, ptr %130, i32 0, i32 0
  %544 = load ptr, ptr %543, align 8
  %545 = getelementptr inbounds { ptr, i64 }, ptr %130, i32 0, i32 1
  %546 = load i64, ptr %545, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %129, ptr %544, i64 %546, ptr noundef nonnull align 1 dereferenceable(1) %136)
          to label %547 unwind label %1360

547:                                              ; preds = %540
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %128, ptr noundef nonnull align 8 dereferenceable(24) %129)
          to label %548 unwind label %1364

548:                                              ; preds = %547
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %120, ptr noundef nonnull align 8 dereferenceable(16) %128)
          to label %549 unwind label %1368

549:                                              ; preds = %548
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #0
  %550 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %131, i32 0, i32 0
  %551 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %550, i64 2
  br label %552

552:                                              ; preds = %552, %549
  %553 = phi ptr [ %551, %549 ], [ %554, %552 ]
  %554 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %553, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %554) #0
  %555 = icmp eq ptr %554, %550
  br i1 %555, label %556, label %552

556:                                              ; preds = %552
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %131) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %129) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %120) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #0
  %557 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %123, i32 0, i32 0
  %558 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %557, i64 1
  br label %559

559:                                              ; preds = %559, %556
  %560 = phi ptr [ %558, %556 ], [ %561, %559 ]
  %561 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %560, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %561) #0
  %562 = icmp eq ptr %561, %557
  br i1 %562, label %563, label %559

563:                                              ; preds = %559
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %125) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %137) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %138) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %140) #0
  store i1 true, ptr %143, align 1
  store ptr %140, ptr %141, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %142) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %142)
          to label %564 unwind label %1413

564:                                              ; preds = %563
  store i1 false, ptr %143, align 1
  %565 = getelementptr inbounds %"class.std::initializer_list", ptr %139, i32 0, i32 0
  store ptr %140, ptr %565, align 8, !tbaa !12
  %566 = getelementptr inbounds %"class.std::initializer_list", ptr %139, i32 0, i32 1
  store i64 1, ptr %566, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %144) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #0
  %567 = getelementptr inbounds { ptr, i64 }, ptr %139, i32 0, i32 0
  %568 = load ptr, ptr %567, align 8
  %569 = getelementptr inbounds { ptr, i64 }, ptr %139, i32 0, i32 1
  %570 = load i64, ptr %569, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %138, ptr %568, i64 %570, ptr noundef nonnull align 1 dereferenceable(1) %144)
          to label %571 unwind label %1417

571:                                              ; preds = %564
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %137, ptr noundef nonnull align 8 dereferenceable(24) %138)
          to label %572 unwind label %1421

572:                                              ; preds = %571
  call void @llvm.lifetime.start.p0(i64 16, ptr %145) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %146) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %148) #0
  store i1 true, ptr %152, align 1
  store ptr %148, ptr %149, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %150) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %573 unwind label %1425

573:                                              ; preds = %572
  %574 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %148, i64 1
  store ptr %574, ptr %149, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %151) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %574, ptr noundef @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %151)
          to label %575 unwind label %1429

575:                                              ; preds = %573
  store i1 false, ptr %152, align 1
  %576 = getelementptr inbounds %"class.std::initializer_list", ptr %147, i32 0, i32 0
  store ptr %148, ptr %576, align 8, !tbaa !12
  %577 = getelementptr inbounds %"class.std::initializer_list", ptr %147, i32 0, i32 1
  store i64 2, ptr %577, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %153) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #0
  %578 = getelementptr inbounds { ptr, i64 }, ptr %147, i32 0, i32 0
  %579 = load ptr, ptr %578, align 8
  %580 = getelementptr inbounds { ptr, i64 }, ptr %147, i32 0, i32 1
  %581 = load i64, ptr %580, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %146, ptr %579, i64 %581, ptr noundef nonnull align 1 dereferenceable(1) %153)
          to label %582 unwind label %1433

582:                                              ; preds = %575
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %145, ptr noundef nonnull align 8 dereferenceable(24) %146)
          to label %583 unwind label %1437

583:                                              ; preds = %582
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %137, ptr noundef nonnull align 8 dereferenceable(16) %145)
          to label %584 unwind label %1441

584:                                              ; preds = %583
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %145) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %146) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #0
  %585 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %148, i32 0, i32 0
  %586 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %585, i64 2
  br label %587

587:                                              ; preds = %587, %584
  %588 = phi ptr [ %586, %584 ], [ %589, %587 ]
  %589 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %588, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %589) #0
  %590 = icmp eq ptr %589, %585
  br i1 %590, label %591, label %587

591:                                              ; preds = %587
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %148) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %146) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %145) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %137) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %144) #0
  %592 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %140, i32 0, i32 0
  %593 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %592, i64 1
  br label %594

594:                                              ; preds = %594, %591
  %595 = phi ptr [ %593, %591 ], [ %596, %594 ]
  %596 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %595, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %596) #0
  %597 = icmp eq ptr %596, %592
  br i1 %597, label %598, label %594

598:                                              ; preds = %594
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %138) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %137) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %154) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %155) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %157) #0
  store i1 true, ptr %160, align 1
  store ptr %157, ptr %158, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %159) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %157, ptr noundef @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %159)
          to label %599 unwind label %1486

599:                                              ; preds = %598
  store i1 false, ptr %160, align 1
  %600 = getelementptr inbounds %"class.std::initializer_list", ptr %156, i32 0, i32 0
  store ptr %157, ptr %600, align 8, !tbaa !12
  %601 = getelementptr inbounds %"class.std::initializer_list", ptr %156, i32 0, i32 1
  store i64 1, ptr %601, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %161) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #0
  %602 = getelementptr inbounds { ptr, i64 }, ptr %156, i32 0, i32 0
  %603 = load ptr, ptr %602, align 8
  %604 = getelementptr inbounds { ptr, i64 }, ptr %156, i32 0, i32 1
  %605 = load i64, ptr %604, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %155, ptr %603, i64 %605, ptr noundef nonnull align 1 dereferenceable(1) %161)
          to label %606 unwind label %1490

606:                                              ; preds = %599
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %154, ptr noundef nonnull align 8 dereferenceable(24) %155)
          to label %607 unwind label %1494

607:                                              ; preds = %606
  call void @llvm.lifetime.start.p0(i64 16, ptr %162) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %163) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %165) #0
  store i1 true, ptr %169, align 1
  store ptr %165, ptr %166, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %167) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %608 unwind label %1498

608:                                              ; preds = %607
  %609 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %165, i64 1
  store ptr %609, ptr %166, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %168) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %609, ptr noundef @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %168)
          to label %610 unwind label %1502

610:                                              ; preds = %608
  store i1 false, ptr %169, align 1
  %611 = getelementptr inbounds %"class.std::initializer_list", ptr %164, i32 0, i32 0
  store ptr %165, ptr %611, align 8, !tbaa !12
  %612 = getelementptr inbounds %"class.std::initializer_list", ptr %164, i32 0, i32 1
  store i64 2, ptr %612, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %170) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %170) #0
  %613 = getelementptr inbounds { ptr, i64 }, ptr %164, i32 0, i32 0
  %614 = load ptr, ptr %613, align 8
  %615 = getelementptr inbounds { ptr, i64 }, ptr %164, i32 0, i32 1
  %616 = load i64, ptr %615, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %163, ptr %614, i64 %616, ptr noundef nonnull align 1 dereferenceable(1) %170)
          to label %617 unwind label %1506

617:                                              ; preds = %610
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %162, ptr noundef nonnull align 8 dereferenceable(24) %163)
          to label %618 unwind label %1510

618:                                              ; preds = %617
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %154, ptr noundef nonnull align 8 dereferenceable(16) %162)
          to label %619 unwind label %1514

619:                                              ; preds = %618
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %162) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %163) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %170) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %170) #0
  %620 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %165, i32 0, i32 0
  %621 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %620, i64 2
  br label %622

622:                                              ; preds = %622, %619
  %623 = phi ptr [ %621, %619 ], [ %624, %622 ]
  %624 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %623, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %624) #0
  %625 = icmp eq ptr %624, %620
  br i1 %625, label %626, label %622

626:                                              ; preds = %622
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %165) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %163) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %154) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %155) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #0
  %627 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %157, i32 0, i32 0
  %628 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %627, i64 1
  br label %629

629:                                              ; preds = %629, %626
  %630 = phi ptr [ %628, %626 ], [ %631, %629 ]
  %631 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %630, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %631) #0
  %632 = icmp eq ptr %631, %627
  br i1 %632, label %633, label %629

633:                                              ; preds = %629
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %155) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %171) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %172) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #0
  store i1 true, ptr %177, align 1
  store ptr %174, ptr %175, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %176) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %174, ptr noundef @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %176)
          to label %634 unwind label %1559

634:                                              ; preds = %633
  store i1 false, ptr %177, align 1
  %635 = getelementptr inbounds %"class.std::initializer_list", ptr %173, i32 0, i32 0
  store ptr %174, ptr %635, align 8, !tbaa !12
  %636 = getelementptr inbounds %"class.std::initializer_list", ptr %173, i32 0, i32 1
  store i64 1, ptr %636, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %178) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #0
  %637 = getelementptr inbounds { ptr, i64 }, ptr %173, i32 0, i32 0
  %638 = load ptr, ptr %637, align 8
  %639 = getelementptr inbounds { ptr, i64 }, ptr %173, i32 0, i32 1
  %640 = load i64, ptr %639, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %172, ptr %638, i64 %640, ptr noundef nonnull align 1 dereferenceable(1) %178)
          to label %641 unwind label %1563

641:                                              ; preds = %634
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %171, ptr noundef nonnull align 8 dereferenceable(24) %172)
          to label %642 unwind label %1567

642:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 16, ptr %179) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %180) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %182) #0
  store i1 true, ptr %186, align 1
  store ptr %182, ptr %183, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %184) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %184) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %182, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %184)
          to label %643 unwind label %1571

643:                                              ; preds = %642
  %644 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %182, i64 1
  store ptr %644, ptr %183, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %185) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %644, ptr noundef @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %185)
          to label %645 unwind label %1575

645:                                              ; preds = %643
  store i1 false, ptr %186, align 1
  %646 = getelementptr inbounds %"class.std::initializer_list", ptr %181, i32 0, i32 0
  store ptr %182, ptr %646, align 8, !tbaa !12
  %647 = getelementptr inbounds %"class.std::initializer_list", ptr %181, i32 0, i32 1
  store i64 2, ptr %647, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %187) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #0
  %648 = getelementptr inbounds { ptr, i64 }, ptr %181, i32 0, i32 0
  %649 = load ptr, ptr %648, align 8
  %650 = getelementptr inbounds { ptr, i64 }, ptr %181, i32 0, i32 1
  %651 = load i64, ptr %650, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %180, ptr %649, i64 %651, ptr noundef nonnull align 1 dereferenceable(1) %187)
          to label %652 unwind label %1579

652:                                              ; preds = %645
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %179, ptr noundef nonnull align 8 dereferenceable(24) %180)
          to label %653 unwind label %1583

653:                                              ; preds = %652
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %171, ptr noundef nonnull align 8 dereferenceable(16) %179)
          to label %654 unwind label %1587

654:                                              ; preds = %653
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %179) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %180) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %187) #0
  %655 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %182, i32 0, i32 0
  %656 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %655, i64 2
  br label %657

657:                                              ; preds = %657, %654
  %658 = phi ptr [ %656, %654 ], [ %659, %657 ]
  %659 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %658, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %659) #0
  %660 = icmp eq ptr %659, %655
  br i1 %660, label %661, label %657

661:                                              ; preds = %657
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %185) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %184) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %184) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %182) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %180) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %179) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %171) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %172) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #0
  %662 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %174, i32 0, i32 0
  %663 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %662, i64 1
  br label %664

664:                                              ; preds = %664, %661
  %665 = phi ptr [ %663, %661 ], [ %666, %664 ]
  %666 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %665, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %666) #0
  %667 = icmp eq ptr %666, %662
  br i1 %667, label %668, label %664

668:                                              ; preds = %664
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %176) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %172) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %171) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %188) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %189) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #0
  store i1 true, ptr %194, align 1
  store ptr %191, ptr %192, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %193) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %191, ptr noundef @.str.32, ptr noundef nonnull align 1 dereferenceable(1) %193)
          to label %669 unwind label %1632

669:                                              ; preds = %668
  store i1 false, ptr %194, align 1
  %670 = getelementptr inbounds %"class.std::initializer_list", ptr %190, i32 0, i32 0
  store ptr %191, ptr %670, align 8, !tbaa !12
  %671 = getelementptr inbounds %"class.std::initializer_list", ptr %190, i32 0, i32 1
  store i64 1, ptr %671, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %195) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #0
  %672 = getelementptr inbounds { ptr, i64 }, ptr %190, i32 0, i32 0
  %673 = load ptr, ptr %672, align 8
  %674 = getelementptr inbounds { ptr, i64 }, ptr %190, i32 0, i32 1
  %675 = load i64, ptr %674, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %189, ptr %673, i64 %675, ptr noundef nonnull align 1 dereferenceable(1) %195)
          to label %676 unwind label %1636

676:                                              ; preds = %669
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %188, ptr noundef nonnull align 8 dereferenceable(24) %189)
          to label %677 unwind label %1640

677:                                              ; preds = %676
  call void @llvm.lifetime.start.p0(i64 16, ptr %196) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %197) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %199) #0
  store i1 true, ptr %203, align 1
  store ptr %199, ptr %200, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %201) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %199, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %201)
          to label %678 unwind label %1644

678:                                              ; preds = %677
  %679 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %199, i64 1
  store ptr %679, ptr %200, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %202) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %679, ptr noundef @.str.33, ptr noundef nonnull align 1 dereferenceable(1) %202)
          to label %680 unwind label %1648

680:                                              ; preds = %678
  store i1 false, ptr %203, align 1
  %681 = getelementptr inbounds %"class.std::initializer_list", ptr %198, i32 0, i32 0
  store ptr %199, ptr %681, align 8, !tbaa !12
  %682 = getelementptr inbounds %"class.std::initializer_list", ptr %198, i32 0, i32 1
  store i64 2, ptr %682, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %204) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %204) #0
  %683 = getelementptr inbounds { ptr, i64 }, ptr %198, i32 0, i32 0
  %684 = load ptr, ptr %683, align 8
  %685 = getelementptr inbounds { ptr, i64 }, ptr %198, i32 0, i32 1
  %686 = load i64, ptr %685, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %197, ptr %684, i64 %686, ptr noundef nonnull align 1 dereferenceable(1) %204)
          to label %687 unwind label %1652

687:                                              ; preds = %680
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %196, ptr noundef nonnull align 8 dereferenceable(24) %197)
          to label %688 unwind label %1656

688:                                              ; preds = %687
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %188, ptr noundef nonnull align 8 dereferenceable(16) %196)
          to label %689 unwind label %1660

689:                                              ; preds = %688
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %196) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %197) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %204) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %204) #0
  %690 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %199, i32 0, i32 0
  %691 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %690, i64 2
  br label %692

692:                                              ; preds = %692, %689
  %693 = phi ptr [ %691, %689 ], [ %694, %692 ]
  %694 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %693, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %694) #0
  %695 = icmp eq ptr %694, %690
  br i1 %695, label %696, label %692

696:                                              ; preds = %692
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %202) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %201) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %199) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %197) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %196) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %188) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %189) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %195) #0
  %697 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %191, i32 0, i32 0
  %698 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %697, i64 1
  br label %699

699:                                              ; preds = %699, %696
  %700 = phi ptr [ %698, %696 ], [ %701, %699 ]
  %701 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %700, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %701) #0
  %702 = icmp eq ptr %701, %697
  br i1 %702, label %703, label %699

703:                                              ; preds = %699
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %189) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %188) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %205) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %206) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %208) #0
  store i1 true, ptr %211, align 1
  store ptr %208, ptr %209, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %210) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %208, ptr noundef @.str.34, ptr noundef nonnull align 1 dereferenceable(1) %210)
          to label %704 unwind label %1705

704:                                              ; preds = %703
  store i1 false, ptr %211, align 1
  %705 = getelementptr inbounds %"class.std::initializer_list", ptr %207, i32 0, i32 0
  store ptr %208, ptr %705, align 8, !tbaa !12
  %706 = getelementptr inbounds %"class.std::initializer_list", ptr %207, i32 0, i32 1
  store i64 1, ptr %706, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %212) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #0
  %707 = getelementptr inbounds { ptr, i64 }, ptr %207, i32 0, i32 0
  %708 = load ptr, ptr %707, align 8
  %709 = getelementptr inbounds { ptr, i64 }, ptr %207, i32 0, i32 1
  %710 = load i64, ptr %709, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %206, ptr %708, i64 %710, ptr noundef nonnull align 1 dereferenceable(1) %212)
          to label %711 unwind label %1709

711:                                              ; preds = %704
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %205, ptr noundef nonnull align 8 dereferenceable(24) %206)
          to label %712 unwind label %1713

712:                                              ; preds = %711
  call void @llvm.lifetime.start.p0(i64 16, ptr %213) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %214) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %216) #0
  store i1 true, ptr %220, align 1
  store ptr %216, ptr %217, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %218) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %218) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %216, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %218)
          to label %713 unwind label %1717

713:                                              ; preds = %712
  %714 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %216, i64 1
  store ptr %714, ptr %217, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %219) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %714, ptr noundef @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %219)
          to label %715 unwind label %1721

715:                                              ; preds = %713
  store i1 false, ptr %220, align 1
  %716 = getelementptr inbounds %"class.std::initializer_list", ptr %215, i32 0, i32 0
  store ptr %216, ptr %716, align 8, !tbaa !12
  %717 = getelementptr inbounds %"class.std::initializer_list", ptr %215, i32 0, i32 1
  store i64 2, ptr %717, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %221) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #0
  %718 = getelementptr inbounds { ptr, i64 }, ptr %215, i32 0, i32 0
  %719 = load ptr, ptr %718, align 8
  %720 = getelementptr inbounds { ptr, i64 }, ptr %215, i32 0, i32 1
  %721 = load i64, ptr %720, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %214, ptr %719, i64 %721, ptr noundef nonnull align 1 dereferenceable(1) %221)
          to label %722 unwind label %1725

722:                                              ; preds = %715
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %213, ptr noundef nonnull align 8 dereferenceable(24) %214)
          to label %723 unwind label %1729

723:                                              ; preds = %722
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %205, ptr noundef nonnull align 8 dereferenceable(16) %213)
          to label %724 unwind label %1733

724:                                              ; preds = %723
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %213) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %214) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %221) #0
  %725 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %216, i32 0, i32 0
  %726 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %725, i64 2
  br label %727

727:                                              ; preds = %727, %724
  %728 = phi ptr [ %726, %724 ], [ %729, %727 ]
  %729 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %728, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %729) #0
  %730 = icmp eq ptr %729, %725
  br i1 %730, label %731, label %727

731:                                              ; preds = %727
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %218) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %218) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %216) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %214) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %213) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %205) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %206) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %212) #0
  %732 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %208, i32 0, i32 0
  %733 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %732, i64 1
  br label %734

734:                                              ; preds = %734, %731
  %735 = phi ptr [ %733, %731 ], [ %736, %734 ]
  %736 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %735, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %736) #0
  %737 = icmp eq ptr %736, %732
  br i1 %737, label %738, label %734

738:                                              ; preds = %734
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %206) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %205) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %222) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %223) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %225) #0
  store i1 true, ptr %228, align 1
  store ptr %225, ptr %226, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %227) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %227) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %225, ptr noundef @.str.36, ptr noundef nonnull align 1 dereferenceable(1) %227)
          to label %739 unwind label %1778

739:                                              ; preds = %738
  store i1 false, ptr %228, align 1
  %740 = getelementptr inbounds %"class.std::initializer_list", ptr %224, i32 0, i32 0
  store ptr %225, ptr %740, align 8, !tbaa !12
  %741 = getelementptr inbounds %"class.std::initializer_list", ptr %224, i32 0, i32 1
  store i64 1, ptr %741, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %229) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %229) #0
  %742 = getelementptr inbounds { ptr, i64 }, ptr %224, i32 0, i32 0
  %743 = load ptr, ptr %742, align 8
  %744 = getelementptr inbounds { ptr, i64 }, ptr %224, i32 0, i32 1
  %745 = load i64, ptr %744, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %223, ptr %743, i64 %745, ptr noundef nonnull align 1 dereferenceable(1) %229)
          to label %746 unwind label %1782

746:                                              ; preds = %739
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %222, ptr noundef nonnull align 8 dereferenceable(24) %223)
          to label %747 unwind label %1786

747:                                              ; preds = %746
  call void @llvm.lifetime.start.p0(i64 16, ptr %230) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %231) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %233) #0
  store i1 true, ptr %237, align 1
  store ptr %233, ptr %234, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %235) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %235) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %233, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %235)
          to label %748 unwind label %1790

748:                                              ; preds = %747
  %749 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %233, i64 1
  store ptr %749, ptr %234, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %236) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %236) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %749, ptr noundef @.str.37, ptr noundef nonnull align 1 dereferenceable(1) %236)
          to label %750 unwind label %1794

750:                                              ; preds = %748
  store i1 false, ptr %237, align 1
  %751 = getelementptr inbounds %"class.std::initializer_list", ptr %232, i32 0, i32 0
  store ptr %233, ptr %751, align 8, !tbaa !12
  %752 = getelementptr inbounds %"class.std::initializer_list", ptr %232, i32 0, i32 1
  store i64 2, ptr %752, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %238) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %238) #0
  %753 = getelementptr inbounds { ptr, i64 }, ptr %232, i32 0, i32 0
  %754 = load ptr, ptr %753, align 8
  %755 = getelementptr inbounds { ptr, i64 }, ptr %232, i32 0, i32 1
  %756 = load i64, ptr %755, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %231, ptr %754, i64 %756, ptr noundef nonnull align 1 dereferenceable(1) %238)
          to label %757 unwind label %1798

757:                                              ; preds = %750
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %230, ptr noundef nonnull align 8 dereferenceable(24) %231)
          to label %758 unwind label %1802

758:                                              ; preds = %757
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %222, ptr noundef nonnull align 8 dereferenceable(16) %230)
          to label %759 unwind label %1806

759:                                              ; preds = %758
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %230) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %231) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %238) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %238) #0
  %760 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %233, i32 0, i32 0
  %761 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %760, i64 2
  br label %762

762:                                              ; preds = %762, %759
  %763 = phi ptr [ %761, %759 ], [ %764, %762 ]
  %764 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %763, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %764) #0
  %765 = icmp eq ptr %764, %760
  br i1 %765, label %766, label %762

766:                                              ; preds = %762
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %236) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %236) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %235) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %235) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %233) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %231) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %230) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %222) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %223) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %229) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %229) #0
  %767 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %225, i32 0, i32 0
  %768 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %767, i64 1
  br label %769

769:                                              ; preds = %769, %766
  %770 = phi ptr [ %768, %766 ], [ %771, %769 ]
  %771 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %770, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %771) #0
  %772 = icmp eq ptr %771, %767
  br i1 %772, label %773, label %769

773:                                              ; preds = %769
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %227) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %227) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %225) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %223) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %222) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %239) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %240) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %242) #0
  store i1 true, ptr %245, align 1
  store ptr %242, ptr %243, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %244) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %244) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %242, ptr noundef @.str.38, ptr noundef nonnull align 1 dereferenceable(1) %244)
          to label %774 unwind label %1851

774:                                              ; preds = %773
  store i1 false, ptr %245, align 1
  %775 = getelementptr inbounds %"class.std::initializer_list", ptr %241, i32 0, i32 0
  store ptr %242, ptr %775, align 8, !tbaa !12
  %776 = getelementptr inbounds %"class.std::initializer_list", ptr %241, i32 0, i32 1
  store i64 1, ptr %776, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %246) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %246) #0
  %777 = getelementptr inbounds { ptr, i64 }, ptr %241, i32 0, i32 0
  %778 = load ptr, ptr %777, align 8
  %779 = getelementptr inbounds { ptr, i64 }, ptr %241, i32 0, i32 1
  %780 = load i64, ptr %779, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %240, ptr %778, i64 %780, ptr noundef nonnull align 1 dereferenceable(1) %246)
          to label %781 unwind label %1855

781:                                              ; preds = %774
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %239, ptr noundef nonnull align 8 dereferenceable(24) %240)
          to label %782 unwind label %1859

782:                                              ; preds = %781
  call void @llvm.lifetime.start.p0(i64 16, ptr %247) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %248) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %250) #0
  store i1 true, ptr %254, align 1
  store ptr %250, ptr %251, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %252) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %252) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %250, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %252)
          to label %783 unwind label %1863

783:                                              ; preds = %782
  %784 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %250, i64 1
  store ptr %784, ptr %251, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %253) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %253) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %784, ptr noundef @.str.39, ptr noundef nonnull align 1 dereferenceable(1) %253)
          to label %785 unwind label %1867

785:                                              ; preds = %783
  store i1 false, ptr %254, align 1
  %786 = getelementptr inbounds %"class.std::initializer_list", ptr %249, i32 0, i32 0
  store ptr %250, ptr %786, align 8, !tbaa !12
  %787 = getelementptr inbounds %"class.std::initializer_list", ptr %249, i32 0, i32 1
  store i64 2, ptr %787, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %255) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %255) #0
  %788 = getelementptr inbounds { ptr, i64 }, ptr %249, i32 0, i32 0
  %789 = load ptr, ptr %788, align 8
  %790 = getelementptr inbounds { ptr, i64 }, ptr %249, i32 0, i32 1
  %791 = load i64, ptr %790, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %248, ptr %789, i64 %791, ptr noundef nonnull align 1 dereferenceable(1) %255)
          to label %792 unwind label %1871

792:                                              ; preds = %785
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %247, ptr noundef nonnull align 8 dereferenceable(24) %248)
          to label %793 unwind label %1875

793:                                              ; preds = %792
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %239, ptr noundef nonnull align 8 dereferenceable(16) %247)
          to label %794 unwind label %1879

794:                                              ; preds = %793
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %247) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %248) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %255) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %255) #0
  %795 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %250, i32 0, i32 0
  %796 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %795, i64 2
  br label %797

797:                                              ; preds = %797, %794
  %798 = phi ptr [ %796, %794 ], [ %799, %797 ]
  %799 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %798, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %799) #0
  %800 = icmp eq ptr %799, %795
  br i1 %800, label %801, label %797

801:                                              ; preds = %797
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %253) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %253) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %252) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %252) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %250) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %248) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %247) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %239) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %240) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %246) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %246) #0
  %802 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %242, i32 0, i32 0
  %803 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %802, i64 1
  br label %804

804:                                              ; preds = %804, %801
  %805 = phi ptr [ %803, %801 ], [ %806, %804 ]
  %806 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %805, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %806) #0
  %807 = icmp eq ptr %806, %802
  br i1 %807, label %808, label %804

808:                                              ; preds = %804
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %244) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %244) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %242) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %240) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %239) #0
  call void @llvm.lifetime.start.p0(i64 16, ptr %256) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %257) #0
  call void @llvm.lifetime.start.p0(i64 32, ptr %259) #0
  store i1 true, ptr %262, align 1
  store ptr %259, ptr %260, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %261) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %261) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %259, ptr noundef @.str.40, ptr noundef nonnull align 1 dereferenceable(1) %261)
          to label %809 unwind label %1924

809:                                              ; preds = %808
  store i1 false, ptr %262, align 1
  %810 = getelementptr inbounds %"class.std::initializer_list", ptr %258, i32 0, i32 0
  store ptr %259, ptr %810, align 8, !tbaa !12
  %811 = getelementptr inbounds %"class.std::initializer_list", ptr %258, i32 0, i32 1
  store i64 1, ptr %811, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %263) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %263) #0
  %812 = getelementptr inbounds { ptr, i64 }, ptr %258, i32 0, i32 0
  %813 = load ptr, ptr %812, align 8
  %814 = getelementptr inbounds { ptr, i64 }, ptr %258, i32 0, i32 1
  %815 = load i64, ptr %814, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %257, ptr %813, i64 %815, ptr noundef nonnull align 1 dereferenceable(1) %263)
          to label %816 unwind label %1928

816:                                              ; preds = %809
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %256, ptr noundef nonnull align 8 dereferenceable(24) %257)
          to label %817 unwind label %1932

817:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 16, ptr %264) #0
  call void @llvm.lifetime.start.p0(i64 24, ptr %265) #0
  call void @llvm.lifetime.start.p0(i64 64, ptr %267) #0
  store i1 true, ptr %271, align 1
  store ptr %267, ptr %268, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %269) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %269) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %267, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %269)
          to label %818 unwind label %1936

818:                                              ; preds = %817
  %819 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %267, i64 1
  store ptr %819, ptr %268, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %270) #0
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %270) #0
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %819, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %270)
          to label %820 unwind label %1940

820:                                              ; preds = %818
  store i1 false, ptr %271, align 1
  %821 = getelementptr inbounds %"class.std::initializer_list", ptr %266, i32 0, i32 0
  store ptr %267, ptr %821, align 8, !tbaa !12
  %822 = getelementptr inbounds %"class.std::initializer_list", ptr %266, i32 0, i32 1
  store i64 2, ptr %822, align 8, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 1, ptr %272) #0
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #0
  %823 = getelementptr inbounds { ptr, i64 }, ptr %266, i32 0, i32 0
  %824 = load ptr, ptr %823, align 8
  %825 = getelementptr inbounds { ptr, i64 }, ptr %266, i32 0, i32 1
  %826 = load i64, ptr %825, align 8
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %265, ptr %824, i64 %826, ptr noundef nonnull align 1 dereferenceable(1) %272)
          to label %827 unwind label %1944

827:                                              ; preds = %820
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind writable sret(%"struct.langcc::rc_ptr.0") align 8 %264, ptr noundef nonnull align 8 dereferenceable(24) %265)
          to label %828 unwind label %1948

828:                                              ; preds = %827
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %256, ptr noundef nonnull align 8 dereferenceable(16) %264)
          to label %829 unwind label %1952

829:                                              ; preds = %828
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %264) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %265) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %272) #0
  %830 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %267, i32 0, i32 0
  %831 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %830, i64 2
  br label %832

832:                                              ; preds = %832, %829
  %833 = phi ptr [ %831, %829 ], [ %834, %832 ]
  %834 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %833, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %834) #0
  %835 = icmp eq ptr %834, %830
  br i1 %835, label %836, label %832

836:                                              ; preds = %832
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %270) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %270) #0
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %269) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %269) #0
  call void @llvm.lifetime.end.p0(i64 64, ptr %267) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %265) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %264) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %256) #0
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %257) #0
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %263) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %263) #0
  %837 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %259, i32 0, i32 0
  %838 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %837, i64 1
  br label %839

839:                                              ; preds = %839, %836
  %840 = phi ptr [ %838, %836 ], [ %841, %839 ]
  %841 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %840, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %841) #0
  %842 = icmp eq ptr %841, %837
  br i1 %842, label %843, label %839

843:                                              ; preds = %839
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %261) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %261) #0
  call void @llvm.lifetime.end.p0(i64 32, ptr %259) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %257) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %256) #0
  store i8 1, ptr @_ZZN6langcc12builtins_cppB5cxx11EvE5_init, align 1, !tbaa !6
  store ptr @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr %1, align 8
  br label %1997

844:                                              ; preds = %289
  %845 = landingpad { ptr, i32 }
          cleanup
  %846 = extractvalue { ptr, i32 } %845, 0
  store ptr %846, ptr %2, align 8
  %847 = extractvalue { ptr, i32 } %845, 1
  store i32 %847, ptr %3, align 4
  br label %901

848:                                              ; preds = %290
  %849 = landingpad { ptr, i32 }
          cleanup
  %850 = extractvalue { ptr, i32 } %849, 0
  store ptr %850, ptr %2, align 8
  %851 = extractvalue { ptr, i32 } %849, 1
  store i32 %851, ptr %3, align 4
  br label %893

852:                                              ; preds = %297
  %853 = landingpad { ptr, i32 }
          cleanup
  %854 = extractvalue { ptr, i32 } %853, 0
  store ptr %854, ptr %2, align 8
  %855 = extractvalue { ptr, i32 } %853, 1
  store i32 %855, ptr %3, align 4
  br label %892

856:                                              ; preds = %298
  %857 = landingpad { ptr, i32 }
          cleanup
  %858 = extractvalue { ptr, i32 } %857, 0
  store ptr %858, ptr %2, align 8
  %859 = extractvalue { ptr, i32 } %857, 1
  store i32 %859, ptr %3, align 4
  br label %881

860:                                              ; preds = %299
  %861 = landingpad { ptr, i32 }
          cleanup
  %862 = extractvalue { ptr, i32 } %861, 0
  store ptr %862, ptr %2, align 8
  %863 = extractvalue { ptr, i32 } %861, 1
  store i32 %863, ptr %3, align 4
  br label %873

864:                                              ; preds = %306
  %865 = landingpad { ptr, i32 }
          cleanup
  %866 = extractvalue { ptr, i32 } %865, 0
  store ptr %866, ptr %2, align 8
  %867 = extractvalue { ptr, i32 } %865, 1
  store i32 %867, ptr %3, align 4
  br label %872

868:                                              ; preds = %307
  %869 = landingpad { ptr, i32 }
          cleanup
  %870 = extractvalue { ptr, i32 } %869, 0
  store ptr %870, ptr %2, align 8
  %871 = extractvalue { ptr, i32 } %869, 1
  store i32 %871, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #0
  br label %872

872:                                              ; preds = %868, %864
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #0
  br label %873

873:                                              ; preds = %872, %860
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #0
  %874 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %15, i32 0, i32 0
  %875 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %874, i64 1
  br label %876

876:                                              ; preds = %876, %873
  %877 = phi ptr [ %875, %873 ], [ %878, %876 ]
  %878 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %877, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %878) #0
  %879 = icmp eq ptr %878, %874
  br i1 %879, label %880, label %876

880:                                              ; preds = %876
  br label %881

881:                                              ; preds = %880, %856
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #0
  %882 = load i1, ptr %18, align 1
  br i1 %882, label %883, label %891

883:                                              ; preds = %881
  %884 = load ptr, ptr %16, align 8
  %885 = icmp eq ptr %15, %884
  br i1 %885, label %890, label %886

886:                                              ; preds = %886, %883
  %887 = phi ptr [ %884, %883 ], [ %888, %886 ]
  %888 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %887, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %888) #0
  %889 = icmp eq ptr %888, %15
  br i1 %889, label %890, label %886

890:                                              ; preds = %886, %883
  br label %891

891:                                              ; preds = %890, %881
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %4) #0
  br label %892

892:                                              ; preds = %891, %852
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #0
  br label %893

893:                                              ; preds = %892, %848
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #0
  %894 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %7, i32 0, i32 0
  %895 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %894, i64 1
  br label %896

896:                                              ; preds = %896, %893
  %897 = phi ptr [ %895, %893 ], [ %898, %896 ]
  %898 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %897, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %898) #0
  %899 = icmp eq ptr %898, %894
  br i1 %899, label %900, label %896

900:                                              ; preds = %896
  br label %901

901:                                              ; preds = %900, %844
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #0
  %902 = load i1, ptr %10, align 1
  br i1 %902, label %903, label %911

903:                                              ; preds = %901
  %904 = load ptr, ptr %8, align 8
  %905 = icmp eq ptr %7, %904
  br i1 %905, label %910, label %906

906:                                              ; preds = %906, %903
  %907 = phi ptr [ %904, %903 ], [ %908, %906 ]
  %908 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %907, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %908) #0
  %909 = icmp eq ptr %908, %7
  br i1 %909, label %910, label %906

910:                                              ; preds = %906, %903
  br label %911

911:                                              ; preds = %910, %901
  call void @llvm.lifetime.end.p0(i64 32, ptr %7) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %5) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %4) #0
  br label %1999

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

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

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

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

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

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

936:                                              ; preds = %340
  %937 = landingpad { ptr, i32 }
          cleanup
  %938 = extractvalue { ptr, i32 } %937, 0
  store ptr %938, ptr %2, align 8
  %939 = extractvalue { ptr, i32 } %937, 1
  store i32 %939, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #0
  br label %940

940:                                              ; preds = %936, %932
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #0
  br label %941

941:                                              ; preds = %940, %928
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #0
  %942 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %31, i32 0, i32 0
  %943 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %942, i64 1
  br label %944

944:                                              ; preds = %944, %941
  %945 = phi ptr [ %943, %941 ], [ %946, %944 ]
  %946 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %945, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %946) #0
  %947 = icmp eq ptr %946, %942
  br i1 %947, label %948, label %944

948:                                              ; preds = %944
  br label %949

949:                                              ; preds = %948, %924
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #0
  %950 = load i1, ptr %34, align 1
  br i1 %950, label %951, label %959

951:                                              ; preds = %949
  %952 = load ptr, ptr %32, align 8
  %953 = icmp eq ptr %31, %952
  br i1 %953, label %958, label %954

954:                                              ; preds = %954, %951
  %955 = phi ptr [ %952, %951 ], [ %956, %954 ]
  %956 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %955, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %956) #0
  %957 = icmp eq ptr %956, %31
  br i1 %957, label %958, label %954

958:                                              ; preds = %954, %951
  br label %959

959:                                              ; preds = %958, %949
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #0
  br label %960

960:                                              ; preds = %959, %920
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #0
  br label %961

961:                                              ; preds = %960, %916
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #0
  %962 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %23, i32 0, i32 0
  %963 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %962, i64 1
  br label %964

964:                                              ; preds = %964, %961
  %965 = phi ptr [ %963, %961 ], [ %966, %964 ]
  %966 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %965, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %966) #0
  %967 = icmp eq ptr %966, %962
  br i1 %967, label %968, label %964

968:                                              ; preds = %964
  br label %969

969:                                              ; preds = %968, %912
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #0
  %970 = load i1, ptr %26, align 1
  br i1 %970, label %971, label %979

971:                                              ; preds = %969
  %972 = load ptr, ptr %24, align 8
  %973 = icmp eq ptr %23, %972
  br i1 %973, label %978, label %974

974:                                              ; preds = %974, %971
  %975 = phi ptr [ %972, %971 ], [ %976, %974 ]
  %976 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %975, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %976) #0
  %977 = icmp eq ptr %976, %23
  br i1 %977, label %978, label %974

978:                                              ; preds = %974, %971
  br label %979

979:                                              ; preds = %978, %969
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #0
  br label %1999

980:                                              ; preds = %355
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %2, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %3, align 4
  br label %1042

984:                                              ; preds = %356
  %985 = landingpad { ptr, i32 }
          cleanup
  %986 = extractvalue { ptr, i32 } %985, 0
  store ptr %986, ptr %2, align 8
  %987 = extractvalue { ptr, i32 } %985, 1
  store i32 %987, ptr %3, align 4
  br label %1034

988:                                              ; preds = %363
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %2, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %3, align 4
  br label %1033

992:                                              ; preds = %364
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %2, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %3, align 4
  br label %1022

996:                                              ; preds = %365
  %997 = landingpad { ptr, i32 }
          cleanup
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %2, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %3, align 4
  br label %1021

1000:                                             ; preds = %367
  %1001 = landingpad { ptr, i32 }
          cleanup
  %1002 = extractvalue { ptr, i32 } %1001, 0
  store ptr %1002, ptr %2, align 8
  %1003 = extractvalue { ptr, i32 } %1001, 1
  store i32 %1003, ptr %3, align 4
  br label %1013

1004:                                             ; preds = %374
  %1005 = landingpad { ptr, i32 }
          cleanup
  %1006 = extractvalue { ptr, i32 } %1005, 0
  store ptr %1006, ptr %2, align 8
  %1007 = extractvalue { ptr, i32 } %1005, 1
  store i32 %1007, ptr %3, align 4
  br label %1012

1008:                                             ; preds = %375
  %1009 = landingpad { ptr, i32 }
          cleanup
  %1010 = extractvalue { ptr, i32 } %1009, 0
  store ptr %1010, ptr %2, align 8
  %1011 = extractvalue { ptr, i32 } %1009, 1
  store i32 %1011, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #0
  br label %1012

1012:                                             ; preds = %1008, %1004
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #0
  br label %1013

1013:                                             ; preds = %1012, %1000
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #0
  %1014 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %47, i32 0, i32 0
  %1015 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1014, i64 2
  br label %1016

1016:                                             ; preds = %1016, %1013
  %1017 = phi ptr [ %1015, %1013 ], [ %1018, %1016 ]
  %1018 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1017, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1018) #0
  %1019 = icmp eq ptr %1018, %1014
  br i1 %1019, label %1020, label %1016

1020:                                             ; preds = %1016
  br label %1021

1021:                                             ; preds = %1020, %996
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #0
  br label %1022

1022:                                             ; preds = %1021, %992
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #0
  %1023 = load i1, ptr %51, align 1
  br i1 %1023, label %1024, label %1032

1024:                                             ; preds = %1022
  %1025 = load ptr, ptr %48, align 8
  %1026 = icmp eq ptr %47, %1025
  br i1 %1026, label %1031, label %1027

1027:                                             ; preds = %1027, %1024
  %1028 = phi ptr [ %1025, %1024 ], [ %1029, %1027 ]
  %1029 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1028, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1029) #0
  %1030 = icmp eq ptr %1029, %47
  br i1 %1030, label %1031, label %1027

1031:                                             ; preds = %1027, %1024
  br label %1032

1032:                                             ; preds = %1031, %1022
  call void @llvm.lifetime.end.p0(i64 64, ptr %47) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %36) #0
  br label %1033

1033:                                             ; preds = %1032, %988
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #0
  br label %1034

1034:                                             ; preds = %1033, %984
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #0
  %1035 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %39, i32 0, i32 0
  %1036 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1035, i64 1
  br label %1037

1037:                                             ; preds = %1037, %1034
  %1038 = phi ptr [ %1036, %1034 ], [ %1039, %1037 ]
  %1039 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1038, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1039) #0
  %1040 = icmp eq ptr %1039, %1035
  br i1 %1040, label %1041, label %1037

1041:                                             ; preds = %1037
  br label %1042

1042:                                             ; preds = %1041, %980
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #0
  %1043 = load i1, ptr %42, align 1
  br i1 %1043, label %1044, label %1052

1044:                                             ; preds = %1042
  %1045 = load ptr, ptr %40, align 8
  %1046 = icmp eq ptr %39, %1045
  br i1 %1046, label %1051, label %1047

1047:                                             ; preds = %1047, %1044
  %1048 = phi ptr [ %1045, %1044 ], [ %1049, %1047 ]
  %1049 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1048, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1049) #0
  %1050 = icmp eq ptr %1049, %39
  br i1 %1050, label %1051, label %1047

1051:                                             ; preds = %1047, %1044
  br label %1052

1052:                                             ; preds = %1051, %1042
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #0
  br label %1999

1053:                                             ; preds = %390
  %1054 = landingpad { ptr, i32 }
          cleanup
  %1055 = extractvalue { ptr, i32 } %1054, 0
  store ptr %1055, ptr %2, align 8
  %1056 = extractvalue { ptr, i32 } %1054, 1
  store i32 %1056, ptr %3, align 4
  br label %1115

1057:                                             ; preds = %391
  %1058 = landingpad { ptr, i32 }
          cleanup
  %1059 = extractvalue { ptr, i32 } %1058, 0
  store ptr %1059, ptr %2, align 8
  %1060 = extractvalue { ptr, i32 } %1058, 1
  store i32 %1060, ptr %3, align 4
  br label %1107

1061:                                             ; preds = %398
  %1062 = landingpad { ptr, i32 }
          cleanup
  %1063 = extractvalue { ptr, i32 } %1062, 0
  store ptr %1063, ptr %2, align 8
  %1064 = extractvalue { ptr, i32 } %1062, 1
  store i32 %1064, ptr %3, align 4
  br label %1106

1065:                                             ; preds = %399
  %1066 = landingpad { ptr, i32 }
          cleanup
  %1067 = extractvalue { ptr, i32 } %1066, 0
  store ptr %1067, ptr %2, align 8
  %1068 = extractvalue { ptr, i32 } %1066, 1
  store i32 %1068, ptr %3, align 4
  br label %1095

1069:                                             ; preds = %400
  %1070 = landingpad { ptr, i32 }
          cleanup
  %1071 = extractvalue { ptr, i32 } %1070, 0
  store ptr %1071, ptr %2, align 8
  %1072 = extractvalue { ptr, i32 } %1070, 1
  store i32 %1072, ptr %3, align 4
  br label %1094

1073:                                             ; preds = %402
  %1074 = landingpad { ptr, i32 }
          cleanup
  %1075 = extractvalue { ptr, i32 } %1074, 0
  store ptr %1075, ptr %2, align 8
  %1076 = extractvalue { ptr, i32 } %1074, 1
  store i32 %1076, ptr %3, align 4
  br label %1086

1077:                                             ; preds = %409
  %1078 = landingpad { ptr, i32 }
          cleanup
  %1079 = extractvalue { ptr, i32 } %1078, 0
  store ptr %1079, ptr %2, align 8
  %1080 = extractvalue { ptr, i32 } %1078, 1
  store i32 %1080, ptr %3, align 4
  br label %1085

1081:                                             ; preds = %410
  %1082 = landingpad { ptr, i32 }
          cleanup
  %1083 = extractvalue { ptr, i32 } %1082, 0
  store ptr %1083, ptr %2, align 8
  %1084 = extractvalue { ptr, i32 } %1082, 1
  store i32 %1084, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #0
  br label %1085

1085:                                             ; preds = %1081, %1077
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #0
  br label %1086

1086:                                             ; preds = %1085, %1073
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #0
  %1087 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %64, i32 0, i32 0
  %1088 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1087, i64 2
  br label %1089

1089:                                             ; preds = %1089, %1086
  %1090 = phi ptr [ %1088, %1086 ], [ %1091, %1089 ]
  %1091 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1090, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1091) #0
  %1092 = icmp eq ptr %1091, %1087
  br i1 %1092, label %1093, label %1089

1093:                                             ; preds = %1089
  br label %1094

1094:                                             ; preds = %1093, %1069
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #0
  br label %1095

1095:                                             ; preds = %1094, %1065
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %66) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #0
  %1096 = load i1, ptr %68, align 1
  br i1 %1096, label %1097, label %1105

1097:                                             ; preds = %1095
  %1098 = load ptr, ptr %65, align 8
  %1099 = icmp eq ptr %64, %1098
  br i1 %1099, label %1104, label %1100

1100:                                             ; preds = %1100, %1097
  %1101 = phi ptr [ %1098, %1097 ], [ %1102, %1100 ]
  %1102 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1101, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1102) #0
  %1103 = icmp eq ptr %1102, %64
  br i1 %1103, label %1104, label %1100

1104:                                             ; preds = %1100, %1097
  br label %1105

1105:                                             ; preds = %1104, %1095
  call void @llvm.lifetime.end.p0(i64 64, ptr %64) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #0
  br label %1106

1106:                                             ; preds = %1105, %1061
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #0
  br label %1107

1107:                                             ; preds = %1106, %1057
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #0
  %1108 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %56, i32 0, i32 0
  %1109 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1108, i64 1
  br label %1110

1110:                                             ; preds = %1110, %1107
  %1111 = phi ptr [ %1109, %1107 ], [ %1112, %1110 ]
  %1112 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1111, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1112) #0
  %1113 = icmp eq ptr %1112, %1108
  br i1 %1113, label %1114, label %1110

1114:                                             ; preds = %1110
  br label %1115

1115:                                             ; preds = %1114, %1053
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #0
  %1116 = load i1, ptr %59, align 1
  br i1 %1116, label %1117, label %1125

1117:                                             ; preds = %1115
  %1118 = load ptr, ptr %57, align 8
  %1119 = icmp eq ptr %56, %1118
  br i1 %1119, label %1124, label %1120

1120:                                             ; preds = %1120, %1117
  %1121 = phi ptr [ %1118, %1117 ], [ %1122, %1120 ]
  %1122 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1121, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1122) #0
  %1123 = icmp eq ptr %1122, %56
  br i1 %1123, label %1124, label %1120

1124:                                             ; preds = %1120, %1117
  br label %1125

1125:                                             ; preds = %1124, %1115
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #0
  br label %1999

1126:                                             ; preds = %425
  %1127 = landingpad { ptr, i32 }
          cleanup
  %1128 = extractvalue { ptr, i32 } %1127, 0
  store ptr %1128, ptr %2, align 8
  %1129 = extractvalue { ptr, i32 } %1127, 1
  store i32 %1129, ptr %3, align 4
  br label %1183

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

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

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

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

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

1150:                                             ; preds = %443
  %1151 = landingpad { ptr, i32 }
          cleanup
  %1152 = extractvalue { ptr, i32 } %1151, 0
  store ptr %1152, ptr %2, align 8
  %1153 = extractvalue { ptr, i32 } %1151, 1
  store i32 %1153, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #0
  br label %1154

1154:                                             ; preds = %1150, %1146
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %79) #0
  br label %1155

1155:                                             ; preds = %1154, %1142
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %85) #0
  %1156 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %81, i32 0, i32 0
  %1157 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1156, i64 1
  br label %1158

1158:                                             ; preds = %1158, %1155
  %1159 = phi ptr [ %1157, %1155 ], [ %1160, %1158 ]
  %1160 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1159, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1160) #0
  %1161 = icmp eq ptr %1160, %1156
  br i1 %1161, label %1162, label %1158

1162:                                             ; preds = %1158
  br label %1163

1163:                                             ; preds = %1162, %1138
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #0
  %1164 = load i1, ptr %84, align 1
  br i1 %1164, label %1165, label %1173

1165:                                             ; preds = %1163
  %1166 = load ptr, ptr %82, align 8
  %1167 = icmp eq ptr %81, %1166
  br i1 %1167, label %1172, label %1168

1168:                                             ; preds = %1168, %1165
  %1169 = phi ptr [ %1166, %1165 ], [ %1170, %1168 ]
  %1170 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1169, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1170) #0
  %1171 = icmp eq ptr %1170, %81
  br i1 %1171, label %1172, label %1168

1172:                                             ; preds = %1168, %1165
  br label %1173

1173:                                             ; preds = %1172, %1163
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %79) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %78) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #0
  br label %1174

1174:                                             ; preds = %1173, %1134
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #0
  br label %1175

1175:                                             ; preds = %1174, %1130
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %77) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %77) #0
  %1176 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %73, i32 0, i32 0
  %1177 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1176, i64 1
  br label %1178

1178:                                             ; preds = %1178, %1175
  %1179 = phi ptr [ %1177, %1175 ], [ %1180, %1178 ]
  %1180 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1179, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1180) #0
  %1181 = icmp eq ptr %1180, %1176
  br i1 %1181, label %1182, label %1178

1182:                                             ; preds = %1178
  br label %1183

1183:                                             ; preds = %1182, %1126
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %75) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #0
  %1184 = load i1, ptr %76, align 1
  br i1 %1184, label %1185, label %1193

1185:                                             ; preds = %1183
  %1186 = load ptr, ptr %74, align 8
  %1187 = icmp eq ptr %73, %1186
  br i1 %1187, label %1192, label %1188

1188:                                             ; preds = %1188, %1185
  %1189 = phi ptr [ %1186, %1185 ], [ %1190, %1188 ]
  %1190 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1189, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1190) #0
  %1191 = icmp eq ptr %1190, %73
  br i1 %1191, label %1192, label %1188

1192:                                             ; preds = %1188, %1185
  br label %1193

1193:                                             ; preds = %1192, %1183
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %71) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #0
  br label %1999

1194:                                             ; preds = %458
  %1195 = landingpad { ptr, i32 }
          cleanup
  %1196 = extractvalue { ptr, i32 } %1195, 0
  store ptr %1196, ptr %2, align 8
  %1197 = extractvalue { ptr, i32 } %1195, 1
  store i32 %1197, ptr %3, align 4
  br label %1256

1198:                                             ; preds = %459
  %1199 = landingpad { ptr, i32 }
          cleanup
  %1200 = extractvalue { ptr, i32 } %1199, 0
  store ptr %1200, ptr %2, align 8
  %1201 = extractvalue { ptr, i32 } %1199, 1
  store i32 %1201, ptr %3, align 4
  br label %1248

1202:                                             ; preds = %466
  %1203 = landingpad { ptr, i32 }
          cleanup
  %1204 = extractvalue { ptr, i32 } %1203, 0
  store ptr %1204, ptr %2, align 8
  %1205 = extractvalue { ptr, i32 } %1203, 1
  store i32 %1205, ptr %3, align 4
  br label %1247

1206:                                             ; preds = %467
  %1207 = landingpad { ptr, i32 }
          cleanup
  %1208 = extractvalue { ptr, i32 } %1207, 0
  store ptr %1208, ptr %2, align 8
  %1209 = extractvalue { ptr, i32 } %1207, 1
  store i32 %1209, ptr %3, align 4
  br label %1236

1210:                                             ; preds = %468
  %1211 = landingpad { ptr, i32 }
          cleanup
  %1212 = extractvalue { ptr, i32 } %1211, 0
  store ptr %1212, ptr %2, align 8
  %1213 = extractvalue { ptr, i32 } %1211, 1
  store i32 %1213, ptr %3, align 4
  br label %1235

1214:                                             ; preds = %470
  %1215 = landingpad { ptr, i32 }
          cleanup
  %1216 = extractvalue { ptr, i32 } %1215, 0
  store ptr %1216, ptr %2, align 8
  %1217 = extractvalue { ptr, i32 } %1215, 1
  store i32 %1217, ptr %3, align 4
  br label %1227

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

1222:                                             ; preds = %478
  %1223 = landingpad { ptr, i32 }
          cleanup
  %1224 = extractvalue { ptr, i32 } %1223, 0
  store ptr %1224, ptr %2, align 8
  %1225 = extractvalue { ptr, i32 } %1223, 1
  store i32 %1225, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %94) #0
  br label %1226

1226:                                             ; preds = %1222, %1218
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %95) #0
  br label %1227

1227:                                             ; preds = %1226, %1214
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %102) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #0
  %1228 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %97, i32 0, i32 0
  %1229 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1228, i64 2
  br label %1230

1230:                                             ; preds = %1230, %1227
  %1231 = phi ptr [ %1229, %1227 ], [ %1232, %1230 ]
  %1232 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1231, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1232) #0
  %1233 = icmp eq ptr %1232, %1228
  br i1 %1233, label %1234, label %1230

1234:                                             ; preds = %1230
  br label %1235

1235:                                             ; preds = %1234, %1210
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #0
  br label %1236

1236:                                             ; preds = %1235, %1206
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %99) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #0
  %1237 = load i1, ptr %101, align 1
  br i1 %1237, label %1238, label %1246

1238:                                             ; preds = %1236
  %1239 = load ptr, ptr %98, align 8
  %1240 = icmp eq ptr %97, %1239
  br i1 %1240, label %1245, label %1241

1241:                                             ; preds = %1241, %1238
  %1242 = phi ptr [ %1239, %1238 ], [ %1243, %1241 ]
  %1243 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1242, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1243) #0
  %1244 = icmp eq ptr %1243, %97
  br i1 %1244, label %1245, label %1241

1245:                                             ; preds = %1241, %1238
  br label %1246

1246:                                             ; preds = %1245, %1236
  call void @llvm.lifetime.end.p0(i64 64, ptr %97) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %95) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %94) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #0
  br label %1247

1247:                                             ; preds = %1246, %1202
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #0
  br label %1248

1248:                                             ; preds = %1247, %1198
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #0
  %1249 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %89, i32 0, i32 0
  %1250 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1249, i64 1
  br label %1251

1251:                                             ; preds = %1251, %1248
  %1252 = phi ptr [ %1250, %1248 ], [ %1253, %1251 ]
  %1253 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1252, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1253) #0
  %1254 = icmp eq ptr %1253, %1249
  br i1 %1254, label %1255, label %1251

1255:                                             ; preds = %1251
  br label %1256

1256:                                             ; preds = %1255, %1194
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %91) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #0
  %1257 = load i1, ptr %92, align 1
  br i1 %1257, label %1258, label %1266

1258:                                             ; preds = %1256
  %1259 = load ptr, ptr %90, align 8
  %1260 = icmp eq ptr %89, %1259
  br i1 %1260, label %1265, label %1261

1261:                                             ; preds = %1261, %1258
  %1262 = phi ptr [ %1259, %1258 ], [ %1263, %1261 ]
  %1263 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1262, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1263) #0
  %1264 = icmp eq ptr %1263, %89
  br i1 %1264, label %1265, label %1261

1265:                                             ; preds = %1261, %1258
  br label %1266

1266:                                             ; preds = %1265, %1256
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %87) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %86) #0
  br label %1999

1267:                                             ; preds = %493
  %1268 = landingpad { ptr, i32 }
          cleanup
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %2, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %3, align 4
  br label %1329

1271:                                             ; preds = %494
  %1272 = landingpad { ptr, i32 }
          cleanup
  %1273 = extractvalue { ptr, i32 } %1272, 0
  store ptr %1273, ptr %2, align 8
  %1274 = extractvalue { ptr, i32 } %1272, 1
  store i32 %1274, ptr %3, align 4
  br label %1321

1275:                                             ; preds = %501
  %1276 = landingpad { ptr, i32 }
          cleanup
  %1277 = extractvalue { ptr, i32 } %1276, 0
  store ptr %1277, ptr %2, align 8
  %1278 = extractvalue { ptr, i32 } %1276, 1
  store i32 %1278, ptr %3, align 4
  br label %1320

1279:                                             ; preds = %502
  %1280 = landingpad { ptr, i32 }
          cleanup
  %1281 = extractvalue { ptr, i32 } %1280, 0
  store ptr %1281, ptr %2, align 8
  %1282 = extractvalue { ptr, i32 } %1280, 1
  store i32 %1282, ptr %3, align 4
  br label %1309

1283:                                             ; preds = %503
  %1284 = landingpad { ptr, i32 }
          cleanup
  %1285 = extractvalue { ptr, i32 } %1284, 0
  store ptr %1285, ptr %2, align 8
  %1286 = extractvalue { ptr, i32 } %1284, 1
  store i32 %1286, ptr %3, align 4
  br label %1308

1287:                                             ; preds = %505
  %1288 = landingpad { ptr, i32 }
          cleanup
  %1289 = extractvalue { ptr, i32 } %1288, 0
  store ptr %1289, ptr %2, align 8
  %1290 = extractvalue { ptr, i32 } %1288, 1
  store i32 %1290, ptr %3, align 4
  br label %1300

1291:                                             ; preds = %512
  %1292 = landingpad { ptr, i32 }
          cleanup
  %1293 = extractvalue { ptr, i32 } %1292, 0
  store ptr %1293, ptr %2, align 8
  %1294 = extractvalue { ptr, i32 } %1292, 1
  store i32 %1294, ptr %3, align 4
  br label %1299

1295:                                             ; preds = %513
  %1296 = landingpad { ptr, i32 }
          cleanup
  %1297 = extractvalue { ptr, i32 } %1296, 0
  store ptr %1297, ptr %2, align 8
  %1298 = extractvalue { ptr, i32 } %1296, 1
  store i32 %1298, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %111) #0
  br label %1299

1299:                                             ; preds = %1295, %1291
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #0
  br label %1300

1300:                                             ; preds = %1299, %1287
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %119) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #0
  %1301 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %114, i32 0, i32 0
  %1302 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1301, i64 2
  br label %1303

1303:                                             ; preds = %1303, %1300
  %1304 = phi ptr [ %1302, %1300 ], [ %1305, %1303 ]
  %1305 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1304, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1305) #0
  %1306 = icmp eq ptr %1305, %1301
  br i1 %1306, label %1307, label %1303

1307:                                             ; preds = %1303
  br label %1308

1308:                                             ; preds = %1307, %1283
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %117) #0
  br label %1309

1309:                                             ; preds = %1308, %1279
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %116) #0
  %1310 = load i1, ptr %118, align 1
  br i1 %1310, label %1311, label %1319

1311:                                             ; preds = %1309
  %1312 = load ptr, ptr %115, align 8
  %1313 = icmp eq ptr %114, %1312
  br i1 %1313, label %1318, label %1314

1314:                                             ; preds = %1314, %1311
  %1315 = phi ptr [ %1312, %1311 ], [ %1316, %1314 ]
  %1316 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1315, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1316) #0
  %1317 = icmp eq ptr %1316, %114
  br i1 %1317, label %1318, label %1314

1318:                                             ; preds = %1314, %1311
  br label %1319

1319:                                             ; preds = %1318, %1309
  call void @llvm.lifetime.end.p0(i64 64, ptr %114) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %111) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %103) #0
  br label %1320

1320:                                             ; preds = %1319, %1275
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %104) #0
  br label %1321

1321:                                             ; preds = %1320, %1271
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %110) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #0
  %1322 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %106, i32 0, i32 0
  %1323 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1322, i64 1
  br label %1324

1324:                                             ; preds = %1324, %1321
  %1325 = phi ptr [ %1323, %1321 ], [ %1326, %1324 ]
  %1326 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1325, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1326) #0
  %1327 = icmp eq ptr %1326, %1322
  br i1 %1327, label %1328, label %1324

1328:                                             ; preds = %1324
  br label %1329

1329:                                             ; preds = %1328, %1267
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #0
  %1330 = load i1, ptr %109, align 1
  br i1 %1330, label %1331, label %1339

1331:                                             ; preds = %1329
  %1332 = load ptr, ptr %107, align 8
  %1333 = icmp eq ptr %106, %1332
  br i1 %1333, label %1338, label %1334

1334:                                             ; preds = %1334, %1331
  %1335 = phi ptr [ %1332, %1331 ], [ %1336, %1334 ]
  %1336 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1335, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1336) #0
  %1337 = icmp eq ptr %1336, %106
  br i1 %1337, label %1338, label %1334

1338:                                             ; preds = %1334, %1331
  br label %1339

1339:                                             ; preds = %1338, %1329
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %104) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %103) #0
  br label %1999

1340:                                             ; preds = %528
  %1341 = landingpad { ptr, i32 }
          cleanup
  %1342 = extractvalue { ptr, i32 } %1341, 0
  store ptr %1342, ptr %2, align 8
  %1343 = extractvalue { ptr, i32 } %1341, 1
  store i32 %1343, ptr %3, align 4
  br label %1402

1344:                                             ; preds = %529
  %1345 = landingpad { ptr, i32 }
          cleanup
  %1346 = extractvalue { ptr, i32 } %1345, 0
  store ptr %1346, ptr %2, align 8
  %1347 = extractvalue { ptr, i32 } %1345, 1
  store i32 %1347, ptr %3, align 4
  br label %1394

1348:                                             ; preds = %536
  %1349 = landingpad { ptr, i32 }
          cleanup
  %1350 = extractvalue { ptr, i32 } %1349, 0
  store ptr %1350, ptr %2, align 8
  %1351 = extractvalue { ptr, i32 } %1349, 1
  store i32 %1351, ptr %3, align 4
  br label %1393

1352:                                             ; preds = %537
  %1353 = landingpad { ptr, i32 }
          cleanup
  %1354 = extractvalue { ptr, i32 } %1353, 0
  store ptr %1354, ptr %2, align 8
  %1355 = extractvalue { ptr, i32 } %1353, 1
  store i32 %1355, ptr %3, align 4
  br label %1382

1356:                                             ; preds = %538
  %1357 = landingpad { ptr, i32 }
          cleanup
  %1358 = extractvalue { ptr, i32 } %1357, 0
  store ptr %1358, ptr %2, align 8
  %1359 = extractvalue { ptr, i32 } %1357, 1
  store i32 %1359, ptr %3, align 4
  br label %1381

1360:                                             ; preds = %540
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %2, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %3, align 4
  br label %1373

1364:                                             ; preds = %547
  %1365 = landingpad { ptr, i32 }
          cleanup
  %1366 = extractvalue { ptr, i32 } %1365, 0
  store ptr %1366, ptr %2, align 8
  %1367 = extractvalue { ptr, i32 } %1365, 1
  store i32 %1367, ptr %3, align 4
  br label %1372

1368:                                             ; preds = %548
  %1369 = landingpad { ptr, i32 }
          cleanup
  %1370 = extractvalue { ptr, i32 } %1369, 0
  store ptr %1370, ptr %2, align 8
  %1371 = extractvalue { ptr, i32 } %1369, 1
  store i32 %1371, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #0
  br label %1372

1372:                                             ; preds = %1368, %1364
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #0
  br label %1373

1373:                                             ; preds = %1372, %1360
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %136) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %136) #0
  %1374 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %131, i32 0, i32 0
  %1375 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1374, i64 2
  br label %1376

1376:                                             ; preds = %1376, %1373
  %1377 = phi ptr [ %1375, %1373 ], [ %1378, %1376 ]
  %1378 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1377, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1378) #0
  %1379 = icmp eq ptr %1378, %1374
  br i1 %1379, label %1380, label %1376

1380:                                             ; preds = %1376
  br label %1381

1381:                                             ; preds = %1380, %1356
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #0
  br label %1382

1382:                                             ; preds = %1381, %1352
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %133) #0
  %1383 = load i1, ptr %135, align 1
  br i1 %1383, label %1384, label %1392

1384:                                             ; preds = %1382
  %1385 = load ptr, ptr %132, align 8
  %1386 = icmp eq ptr %131, %1385
  br i1 %1386, label %1391, label %1387

1387:                                             ; preds = %1387, %1384
  %1388 = phi ptr [ %1385, %1384 ], [ %1389, %1387 ]
  %1389 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1388, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1389) #0
  %1390 = icmp eq ptr %1389, %131
  br i1 %1390, label %1391, label %1387

1391:                                             ; preds = %1387, %1384
  br label %1392

1392:                                             ; preds = %1391, %1382
  call void @llvm.lifetime.end.p0(i64 64, ptr %131) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %129) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %120) #0
  br label %1393

1393:                                             ; preds = %1392, %1348
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %121) #0
  br label %1394

1394:                                             ; preds = %1393, %1344
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #0
  %1395 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %123, i32 0, i32 0
  %1396 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1395, i64 1
  br label %1397

1397:                                             ; preds = %1397, %1394
  %1398 = phi ptr [ %1396, %1394 ], [ %1399, %1397 ]
  %1399 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1398, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1399) #0
  %1400 = icmp eq ptr %1399, %1395
  br i1 %1400, label %1401, label %1397

1401:                                             ; preds = %1397
  br label %1402

1402:                                             ; preds = %1401, %1340
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %125) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %125) #0
  %1403 = load i1, ptr %126, align 1
  br i1 %1403, label %1404, label %1412

1404:                                             ; preds = %1402
  %1405 = load ptr, ptr %124, align 8
  %1406 = icmp eq ptr %123, %1405
  br i1 %1406, label %1411, label %1407

1407:                                             ; preds = %1407, %1404
  %1408 = phi ptr [ %1405, %1404 ], [ %1409, %1407 ]
  %1409 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1408, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1409) #0
  %1410 = icmp eq ptr %1409, %123
  br i1 %1410, label %1411, label %1407

1411:                                             ; preds = %1407, %1404
  br label %1412

1412:                                             ; preds = %1411, %1402
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %121) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #0
  br label %1999

1413:                                             ; preds = %563
  %1414 = landingpad { ptr, i32 }
          cleanup
  %1415 = extractvalue { ptr, i32 } %1414, 0
  store ptr %1415, ptr %2, align 8
  %1416 = extractvalue { ptr, i32 } %1414, 1
  store i32 %1416, ptr %3, align 4
  br label %1475

1417:                                             ; preds = %564
  %1418 = landingpad { ptr, i32 }
          cleanup
  %1419 = extractvalue { ptr, i32 } %1418, 0
  store ptr %1419, ptr %2, align 8
  %1420 = extractvalue { ptr, i32 } %1418, 1
  store i32 %1420, ptr %3, align 4
  br label %1467

1421:                                             ; preds = %571
  %1422 = landingpad { ptr, i32 }
          cleanup
  %1423 = extractvalue { ptr, i32 } %1422, 0
  store ptr %1423, ptr %2, align 8
  %1424 = extractvalue { ptr, i32 } %1422, 1
  store i32 %1424, ptr %3, align 4
  br label %1466

1425:                                             ; preds = %572
  %1426 = landingpad { ptr, i32 }
          cleanup
  %1427 = extractvalue { ptr, i32 } %1426, 0
  store ptr %1427, ptr %2, align 8
  %1428 = extractvalue { ptr, i32 } %1426, 1
  store i32 %1428, ptr %3, align 4
  br label %1455

1429:                                             ; preds = %573
  %1430 = landingpad { ptr, i32 }
          cleanup
  %1431 = extractvalue { ptr, i32 } %1430, 0
  store ptr %1431, ptr %2, align 8
  %1432 = extractvalue { ptr, i32 } %1430, 1
  store i32 %1432, ptr %3, align 4
  br label %1454

1433:                                             ; preds = %575
  %1434 = landingpad { ptr, i32 }
          cleanup
  %1435 = extractvalue { ptr, i32 } %1434, 0
  store ptr %1435, ptr %2, align 8
  %1436 = extractvalue { ptr, i32 } %1434, 1
  store i32 %1436, ptr %3, align 4
  br label %1446

1437:                                             ; preds = %582
  %1438 = landingpad { ptr, i32 }
          cleanup
  %1439 = extractvalue { ptr, i32 } %1438, 0
  store ptr %1439, ptr %2, align 8
  %1440 = extractvalue { ptr, i32 } %1438, 1
  store i32 %1440, ptr %3, align 4
  br label %1445

1441:                                             ; preds = %583
  %1442 = landingpad { ptr, i32 }
          cleanup
  %1443 = extractvalue { ptr, i32 } %1442, 0
  store ptr %1443, ptr %2, align 8
  %1444 = extractvalue { ptr, i32 } %1442, 1
  store i32 %1444, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %145) #0
  br label %1445

1445:                                             ; preds = %1441, %1437
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %146) #0
  br label %1446

1446:                                             ; preds = %1445, %1433
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %153) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %153) #0
  %1447 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %148, i32 0, i32 0
  %1448 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1447, i64 2
  br label %1449

1449:                                             ; preds = %1449, %1446
  %1450 = phi ptr [ %1448, %1446 ], [ %1451, %1449 ]
  %1451 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1450, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1451) #0
  %1452 = icmp eq ptr %1451, %1447
  br i1 %1452, label %1453, label %1449

1453:                                             ; preds = %1449
  br label %1454

1454:                                             ; preds = %1453, %1429
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %151) #0
  br label %1455

1455:                                             ; preds = %1454, %1425
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %150) #0
  %1456 = load i1, ptr %152, align 1
  br i1 %1456, label %1457, label %1465

1457:                                             ; preds = %1455
  %1458 = load ptr, ptr %149, align 8
  %1459 = icmp eq ptr %148, %1458
  br i1 %1459, label %1464, label %1460

1460:                                             ; preds = %1460, %1457
  %1461 = phi ptr [ %1458, %1457 ], [ %1462, %1460 ]
  %1462 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1461, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1462) #0
  %1463 = icmp eq ptr %1462, %148
  br i1 %1463, label %1464, label %1460

1464:                                             ; preds = %1460, %1457
  br label %1465

1465:                                             ; preds = %1464, %1455
  call void @llvm.lifetime.end.p0(i64 64, ptr %148) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %146) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %145) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %137) #0
  br label %1466

1466:                                             ; preds = %1465, %1421
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %138) #0
  br label %1467

1467:                                             ; preds = %1466, %1417
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %144) #0
  %1468 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %140, i32 0, i32 0
  %1469 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1468, i64 1
  br label %1470

1470:                                             ; preds = %1470, %1467
  %1471 = phi ptr [ %1469, %1467 ], [ %1472, %1470 ]
  %1472 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1471, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1472) #0
  %1473 = icmp eq ptr %1472, %1468
  br i1 %1473, label %1474, label %1470

1474:                                             ; preds = %1470
  br label %1475

1475:                                             ; preds = %1474, %1413
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %142) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %142) #0
  %1476 = load i1, ptr %143, align 1
  br i1 %1476, label %1477, label %1485

1477:                                             ; preds = %1475
  %1478 = load ptr, ptr %141, align 8
  %1479 = icmp eq ptr %140, %1478
  br i1 %1479, label %1484, label %1480

1480:                                             ; preds = %1480, %1477
  %1481 = phi ptr [ %1478, %1477 ], [ %1482, %1480 ]
  %1482 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1481, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1482) #0
  %1483 = icmp eq ptr %1482, %140
  br i1 %1483, label %1484, label %1480

1484:                                             ; preds = %1480, %1477
  br label %1485

1485:                                             ; preds = %1484, %1475
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %138) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %137) #0
  br label %1999

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

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

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

1498:                                             ; preds = %607
  %1499 = landingpad { ptr, i32 }
          cleanup
  %1500 = extractvalue { ptr, i32 } %1499, 0
  store ptr %1500, ptr %2, align 8
  %1501 = extractvalue { ptr, i32 } %1499, 1
  store i32 %1501, ptr %3, align 4
  br label %1528

1502:                                             ; preds = %608
  %1503 = landingpad { ptr, i32 }
          cleanup
  %1504 = extractvalue { ptr, i32 } %1503, 0
  store ptr %1504, ptr %2, align 8
  %1505 = extractvalue { ptr, i32 } %1503, 1
  store i32 %1505, ptr %3, align 4
  br label %1527

1506:                                             ; preds = %610
  %1507 = landingpad { ptr, i32 }
          cleanup
  %1508 = extractvalue { ptr, i32 } %1507, 0
  store ptr %1508, ptr %2, align 8
  %1509 = extractvalue { ptr, i32 } %1507, 1
  store i32 %1509, ptr %3, align 4
  br label %1519

1510:                                             ; preds = %617
  %1511 = landingpad { ptr, i32 }
          cleanup
  %1512 = extractvalue { ptr, i32 } %1511, 0
  store ptr %1512, ptr %2, align 8
  %1513 = extractvalue { ptr, i32 } %1511, 1
  store i32 %1513, ptr %3, align 4
  br label %1518

1514:                                             ; preds = %618
  %1515 = landingpad { ptr, i32 }
          cleanup
  %1516 = extractvalue { ptr, i32 } %1515, 0
  store ptr %1516, ptr %2, align 8
  %1517 = extractvalue { ptr, i32 } %1515, 1
  store i32 %1517, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %162) #0
  br label %1518

1518:                                             ; preds = %1514, %1510
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %163) #0
  br label %1519

1519:                                             ; preds = %1518, %1506
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %170) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %170) #0
  %1520 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %165, i32 0, i32 0
  %1521 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1520, i64 2
  br label %1522

1522:                                             ; preds = %1522, %1519
  %1523 = phi ptr [ %1521, %1519 ], [ %1524, %1522 ]
  %1524 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1523, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1524) #0
  %1525 = icmp eq ptr %1524, %1520
  br i1 %1525, label %1526, label %1522

1526:                                             ; preds = %1522
  br label %1527

1527:                                             ; preds = %1526, %1502
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %168) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %168) #0
  br label %1528

1528:                                             ; preds = %1527, %1498
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %167) #0
  %1529 = load i1, ptr %169, align 1
  br i1 %1529, label %1530, label %1538

1530:                                             ; preds = %1528
  %1531 = load ptr, ptr %166, align 8
  %1532 = icmp eq ptr %165, %1531
  br i1 %1532, label %1537, label %1533

1533:                                             ; preds = %1533, %1530
  %1534 = phi ptr [ %1531, %1530 ], [ %1535, %1533 ]
  %1535 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1534, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1535) #0
  %1536 = icmp eq ptr %1535, %165
  br i1 %1536, label %1537, label %1533

1537:                                             ; preds = %1533, %1530
  br label %1538

1538:                                             ; preds = %1537, %1528
  call void @llvm.lifetime.end.p0(i64 64, ptr %165) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %163) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %162) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %154) #0
  br label %1539

1539:                                             ; preds = %1538, %1494
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %155) #0
  br label %1540

1540:                                             ; preds = %1539, %1490
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #0
  %1541 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %157, i32 0, i32 0
  %1542 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1541, i64 1
  br label %1543

1543:                                             ; preds = %1543, %1540
  %1544 = phi ptr [ %1542, %1540 ], [ %1545, %1543 ]
  %1545 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1544, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1545) #0
  %1546 = icmp eq ptr %1545, %1541
  br i1 %1546, label %1547, label %1543

1547:                                             ; preds = %1543
  br label %1548

1548:                                             ; preds = %1547, %1486
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %159) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %159) #0
  %1549 = load i1, ptr %160, align 1
  br i1 %1549, label %1550, label %1558

1550:                                             ; preds = %1548
  %1551 = load ptr, ptr %158, align 8
  %1552 = icmp eq ptr %157, %1551
  br i1 %1552, label %1557, label %1553

1553:                                             ; preds = %1553, %1550
  %1554 = phi ptr [ %1551, %1550 ], [ %1555, %1553 ]
  %1555 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1554, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1555) #0
  %1556 = icmp eq ptr %1555, %157
  br i1 %1556, label %1557, label %1553

1557:                                             ; preds = %1553, %1550
  br label %1558

1558:                                             ; preds = %1557, %1548
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %155) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %154) #0
  br label %1999

1559:                                             ; preds = %633
  %1560 = landingpad { ptr, i32 }
          cleanup
  %1561 = extractvalue { ptr, i32 } %1560, 0
  store ptr %1561, ptr %2, align 8
  %1562 = extractvalue { ptr, i32 } %1560, 1
  store i32 %1562, ptr %3, align 4
  br label %1621

1563:                                             ; preds = %634
  %1564 = landingpad { ptr, i32 }
          cleanup
  %1565 = extractvalue { ptr, i32 } %1564, 0
  store ptr %1565, ptr %2, align 8
  %1566 = extractvalue { ptr, i32 } %1564, 1
  store i32 %1566, ptr %3, align 4
  br label %1613

1567:                                             ; preds = %641
  %1568 = landingpad { ptr, i32 }
          cleanup
  %1569 = extractvalue { ptr, i32 } %1568, 0
  store ptr %1569, ptr %2, align 8
  %1570 = extractvalue { ptr, i32 } %1568, 1
  store i32 %1570, ptr %3, align 4
  br label %1612

1571:                                             ; preds = %642
  %1572 = landingpad { ptr, i32 }
          cleanup
  %1573 = extractvalue { ptr, i32 } %1572, 0
  store ptr %1573, ptr %2, align 8
  %1574 = extractvalue { ptr, i32 } %1572, 1
  store i32 %1574, ptr %3, align 4
  br label %1601

1575:                                             ; preds = %643
  %1576 = landingpad { ptr, i32 }
          cleanup
  %1577 = extractvalue { ptr, i32 } %1576, 0
  store ptr %1577, ptr %2, align 8
  %1578 = extractvalue { ptr, i32 } %1576, 1
  store i32 %1578, ptr %3, align 4
  br label %1600

1579:                                             ; preds = %645
  %1580 = landingpad { ptr, i32 }
          cleanup
  %1581 = extractvalue { ptr, i32 } %1580, 0
  store ptr %1581, ptr %2, align 8
  %1582 = extractvalue { ptr, i32 } %1580, 1
  store i32 %1582, ptr %3, align 4
  br label %1592

1583:                                             ; preds = %652
  %1584 = landingpad { ptr, i32 }
          cleanup
  %1585 = extractvalue { ptr, i32 } %1584, 0
  store ptr %1585, ptr %2, align 8
  %1586 = extractvalue { ptr, i32 } %1584, 1
  store i32 %1586, ptr %3, align 4
  br label %1591

1587:                                             ; preds = %653
  %1588 = landingpad { ptr, i32 }
          cleanup
  %1589 = extractvalue { ptr, i32 } %1588, 0
  store ptr %1589, ptr %2, align 8
  %1590 = extractvalue { ptr, i32 } %1588, 1
  store i32 %1590, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %179) #0
  br label %1591

1591:                                             ; preds = %1587, %1583
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %180) #0
  br label %1592

1592:                                             ; preds = %1591, %1579
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %187) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %187) #0
  %1593 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %182, i32 0, i32 0
  %1594 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1593, i64 2
  br label %1595

1595:                                             ; preds = %1595, %1592
  %1596 = phi ptr [ %1594, %1592 ], [ %1597, %1595 ]
  %1597 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1596, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1597) #0
  %1598 = icmp eq ptr %1597, %1593
  br i1 %1598, label %1599, label %1595

1599:                                             ; preds = %1595
  br label %1600

1600:                                             ; preds = %1599, %1575
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %185) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %185) #0
  br label %1601

1601:                                             ; preds = %1600, %1571
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %184) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %184) #0
  %1602 = load i1, ptr %186, align 1
  br i1 %1602, label %1603, label %1611

1603:                                             ; preds = %1601
  %1604 = load ptr, ptr %183, align 8
  %1605 = icmp eq ptr %182, %1604
  br i1 %1605, label %1610, label %1606

1606:                                             ; preds = %1606, %1603
  %1607 = phi ptr [ %1604, %1603 ], [ %1608, %1606 ]
  %1608 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1607, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1608) #0
  %1609 = icmp eq ptr %1608, %182
  br i1 %1609, label %1610, label %1606

1610:                                             ; preds = %1606, %1603
  br label %1611

1611:                                             ; preds = %1610, %1601
  call void @llvm.lifetime.end.p0(i64 64, ptr %182) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %180) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %179) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %171) #0
  br label %1612

1612:                                             ; preds = %1611, %1567
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %172) #0
  br label %1613

1613:                                             ; preds = %1612, %1563
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %178) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %178) #0
  %1614 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %174, i32 0, i32 0
  %1615 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1614, i64 1
  br label %1616

1616:                                             ; preds = %1616, %1613
  %1617 = phi ptr [ %1615, %1613 ], [ %1618, %1616 ]
  %1618 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1617, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1618) #0
  %1619 = icmp eq ptr %1618, %1614
  br i1 %1619, label %1620, label %1616

1620:                                             ; preds = %1616
  br label %1621

1621:                                             ; preds = %1620, %1559
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %176) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %176) #0
  %1622 = load i1, ptr %177, align 1
  br i1 %1622, label %1623, label %1631

1623:                                             ; preds = %1621
  %1624 = load ptr, ptr %175, align 8
  %1625 = icmp eq ptr %174, %1624
  br i1 %1625, label %1630, label %1626

1626:                                             ; preds = %1626, %1623
  %1627 = phi ptr [ %1624, %1623 ], [ %1628, %1626 ]
  %1628 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1627, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1628) #0
  %1629 = icmp eq ptr %1628, %174
  br i1 %1629, label %1630, label %1626

1630:                                             ; preds = %1626, %1623
  br label %1631

1631:                                             ; preds = %1630, %1621
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %172) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %171) #0
  br label %1999

1632:                                             ; preds = %668
  %1633 = landingpad { ptr, i32 }
          cleanup
  %1634 = extractvalue { ptr, i32 } %1633, 0
  store ptr %1634, ptr %2, align 8
  %1635 = extractvalue { ptr, i32 } %1633, 1
  store i32 %1635, ptr %3, align 4
  br label %1694

1636:                                             ; preds = %669
  %1637 = landingpad { ptr, i32 }
          cleanup
  %1638 = extractvalue { ptr, i32 } %1637, 0
  store ptr %1638, ptr %2, align 8
  %1639 = extractvalue { ptr, i32 } %1637, 1
  store i32 %1639, ptr %3, align 4
  br label %1686

1640:                                             ; preds = %676
  %1641 = landingpad { ptr, i32 }
          cleanup
  %1642 = extractvalue { ptr, i32 } %1641, 0
  store ptr %1642, ptr %2, align 8
  %1643 = extractvalue { ptr, i32 } %1641, 1
  store i32 %1643, ptr %3, align 4
  br label %1685

1644:                                             ; preds = %677
  %1645 = landingpad { ptr, i32 }
          cleanup
  %1646 = extractvalue { ptr, i32 } %1645, 0
  store ptr %1646, ptr %2, align 8
  %1647 = extractvalue { ptr, i32 } %1645, 1
  store i32 %1647, ptr %3, align 4
  br label %1674

1648:                                             ; preds = %678
  %1649 = landingpad { ptr, i32 }
          cleanup
  %1650 = extractvalue { ptr, i32 } %1649, 0
  store ptr %1650, ptr %2, align 8
  %1651 = extractvalue { ptr, i32 } %1649, 1
  store i32 %1651, ptr %3, align 4
  br label %1673

1652:                                             ; preds = %680
  %1653 = landingpad { ptr, i32 }
          cleanup
  %1654 = extractvalue { ptr, i32 } %1653, 0
  store ptr %1654, ptr %2, align 8
  %1655 = extractvalue { ptr, i32 } %1653, 1
  store i32 %1655, ptr %3, align 4
  br label %1665

1656:                                             ; preds = %687
  %1657 = landingpad { ptr, i32 }
          cleanup
  %1658 = extractvalue { ptr, i32 } %1657, 0
  store ptr %1658, ptr %2, align 8
  %1659 = extractvalue { ptr, i32 } %1657, 1
  store i32 %1659, ptr %3, align 4
  br label %1664

1660:                                             ; preds = %688
  %1661 = landingpad { ptr, i32 }
          cleanup
  %1662 = extractvalue { ptr, i32 } %1661, 0
  store ptr %1662, ptr %2, align 8
  %1663 = extractvalue { ptr, i32 } %1661, 1
  store i32 %1663, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %196) #0
  br label %1664

1664:                                             ; preds = %1660, %1656
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %197) #0
  br label %1665

1665:                                             ; preds = %1664, %1652
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %204) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %204) #0
  %1666 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %199, i32 0, i32 0
  %1667 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1666, i64 2
  br label %1668

1668:                                             ; preds = %1668, %1665
  %1669 = phi ptr [ %1667, %1665 ], [ %1670, %1668 ]
  %1670 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1669, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1670) #0
  %1671 = icmp eq ptr %1670, %1666
  br i1 %1671, label %1672, label %1668

1672:                                             ; preds = %1668
  br label %1673

1673:                                             ; preds = %1672, %1648
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %202) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %202) #0
  br label %1674

1674:                                             ; preds = %1673, %1644
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %201) #0
  %1675 = load i1, ptr %203, align 1
  br i1 %1675, label %1676, label %1684

1676:                                             ; preds = %1674
  %1677 = load ptr, ptr %200, align 8
  %1678 = icmp eq ptr %199, %1677
  br i1 %1678, label %1683, label %1679

1679:                                             ; preds = %1679, %1676
  %1680 = phi ptr [ %1677, %1676 ], [ %1681, %1679 ]
  %1681 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1680, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1681) #0
  %1682 = icmp eq ptr %1681, %199
  br i1 %1682, label %1683, label %1679

1683:                                             ; preds = %1679, %1676
  br label %1684

1684:                                             ; preds = %1683, %1674
  call void @llvm.lifetime.end.p0(i64 64, ptr %199) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %197) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %196) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %188) #0
  br label %1685

1685:                                             ; preds = %1684, %1640
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %189) #0
  br label %1686

1686:                                             ; preds = %1685, %1636
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %195) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %195) #0
  %1687 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %191, i32 0, i32 0
  %1688 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1687, i64 1
  br label %1689

1689:                                             ; preds = %1689, %1686
  %1690 = phi ptr [ %1688, %1686 ], [ %1691, %1689 ]
  %1691 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1690, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1691) #0
  %1692 = icmp eq ptr %1691, %1687
  br i1 %1692, label %1693, label %1689

1693:                                             ; preds = %1689
  br label %1694

1694:                                             ; preds = %1693, %1632
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #0
  %1695 = load i1, ptr %194, align 1
  br i1 %1695, label %1696, label %1704

1696:                                             ; preds = %1694
  %1697 = load ptr, ptr %192, align 8
  %1698 = icmp eq ptr %191, %1697
  br i1 %1698, label %1703, label %1699

1699:                                             ; preds = %1699, %1696
  %1700 = phi ptr [ %1697, %1696 ], [ %1701, %1699 ]
  %1701 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1700, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1701) #0
  %1702 = icmp eq ptr %1701, %191
  br i1 %1702, label %1703, label %1699

1703:                                             ; preds = %1699, %1696
  br label %1704

1704:                                             ; preds = %1703, %1694
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %189) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %188) #0
  br label %1999

1705:                                             ; preds = %703
  %1706 = landingpad { ptr, i32 }
          cleanup
  %1707 = extractvalue { ptr, i32 } %1706, 0
  store ptr %1707, ptr %2, align 8
  %1708 = extractvalue { ptr, i32 } %1706, 1
  store i32 %1708, ptr %3, align 4
  br label %1767

1709:                                             ; preds = %704
  %1710 = landingpad { ptr, i32 }
          cleanup
  %1711 = extractvalue { ptr, i32 } %1710, 0
  store ptr %1711, ptr %2, align 8
  %1712 = extractvalue { ptr, i32 } %1710, 1
  store i32 %1712, ptr %3, align 4
  br label %1759

1713:                                             ; preds = %711
  %1714 = landingpad { ptr, i32 }
          cleanup
  %1715 = extractvalue { ptr, i32 } %1714, 0
  store ptr %1715, ptr %2, align 8
  %1716 = extractvalue { ptr, i32 } %1714, 1
  store i32 %1716, ptr %3, align 4
  br label %1758

1717:                                             ; preds = %712
  %1718 = landingpad { ptr, i32 }
          cleanup
  %1719 = extractvalue { ptr, i32 } %1718, 0
  store ptr %1719, ptr %2, align 8
  %1720 = extractvalue { ptr, i32 } %1718, 1
  store i32 %1720, ptr %3, align 4
  br label %1747

1721:                                             ; preds = %713
  %1722 = landingpad { ptr, i32 }
          cleanup
  %1723 = extractvalue { ptr, i32 } %1722, 0
  store ptr %1723, ptr %2, align 8
  %1724 = extractvalue { ptr, i32 } %1722, 1
  store i32 %1724, ptr %3, align 4
  br label %1746

1725:                                             ; preds = %715
  %1726 = landingpad { ptr, i32 }
          cleanup
  %1727 = extractvalue { ptr, i32 } %1726, 0
  store ptr %1727, ptr %2, align 8
  %1728 = extractvalue { ptr, i32 } %1726, 1
  store i32 %1728, ptr %3, align 4
  br label %1738

1729:                                             ; preds = %722
  %1730 = landingpad { ptr, i32 }
          cleanup
  %1731 = extractvalue { ptr, i32 } %1730, 0
  store ptr %1731, ptr %2, align 8
  %1732 = extractvalue { ptr, i32 } %1730, 1
  store i32 %1732, ptr %3, align 4
  br label %1737

1733:                                             ; preds = %723
  %1734 = landingpad { ptr, i32 }
          cleanup
  %1735 = extractvalue { ptr, i32 } %1734, 0
  store ptr %1735, ptr %2, align 8
  %1736 = extractvalue { ptr, i32 } %1734, 1
  store i32 %1736, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %213) #0
  br label %1737

1737:                                             ; preds = %1733, %1729
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %214) #0
  br label %1738

1738:                                             ; preds = %1737, %1725
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %221) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %221) #0
  %1739 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %216, i32 0, i32 0
  %1740 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1739, i64 2
  br label %1741

1741:                                             ; preds = %1741, %1738
  %1742 = phi ptr [ %1740, %1738 ], [ %1743, %1741 ]
  %1743 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1742, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1743) #0
  %1744 = icmp eq ptr %1743, %1739
  br i1 %1744, label %1745, label %1741

1745:                                             ; preds = %1741
  br label %1746

1746:                                             ; preds = %1745, %1721
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %219) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %219) #0
  br label %1747

1747:                                             ; preds = %1746, %1717
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %218) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %218) #0
  %1748 = load i1, ptr %220, align 1
  br i1 %1748, label %1749, label %1757

1749:                                             ; preds = %1747
  %1750 = load ptr, ptr %217, align 8
  %1751 = icmp eq ptr %216, %1750
  br i1 %1751, label %1756, label %1752

1752:                                             ; preds = %1752, %1749
  %1753 = phi ptr [ %1750, %1749 ], [ %1754, %1752 ]
  %1754 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1753, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1754) #0
  %1755 = icmp eq ptr %1754, %216
  br i1 %1755, label %1756, label %1752

1756:                                             ; preds = %1752, %1749
  br label %1757

1757:                                             ; preds = %1756, %1747
  call void @llvm.lifetime.end.p0(i64 64, ptr %216) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %214) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %213) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %205) #0
  br label %1758

1758:                                             ; preds = %1757, %1713
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %206) #0
  br label %1759

1759:                                             ; preds = %1758, %1709
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %212) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %212) #0
  %1760 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %208, i32 0, i32 0
  %1761 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1760, i64 1
  br label %1762

1762:                                             ; preds = %1762, %1759
  %1763 = phi ptr [ %1761, %1759 ], [ %1764, %1762 ]
  %1764 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1763, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1764) #0
  %1765 = icmp eq ptr %1764, %1760
  br i1 %1765, label %1766, label %1762

1766:                                             ; preds = %1762
  br label %1767

1767:                                             ; preds = %1766, %1705
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %210) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #0
  %1768 = load i1, ptr %211, align 1
  br i1 %1768, label %1769, label %1777

1769:                                             ; preds = %1767
  %1770 = load ptr, ptr %209, align 8
  %1771 = icmp eq ptr %208, %1770
  br i1 %1771, label %1776, label %1772

1772:                                             ; preds = %1772, %1769
  %1773 = phi ptr [ %1770, %1769 ], [ %1774, %1772 ]
  %1774 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1773, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1774) #0
  %1775 = icmp eq ptr %1774, %208
  br i1 %1775, label %1776, label %1772

1776:                                             ; preds = %1772, %1769
  br label %1777

1777:                                             ; preds = %1776, %1767
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %206) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %205) #0
  br label %1999

1778:                                             ; preds = %738
  %1779 = landingpad { ptr, i32 }
          cleanup
  %1780 = extractvalue { ptr, i32 } %1779, 0
  store ptr %1780, ptr %2, align 8
  %1781 = extractvalue { ptr, i32 } %1779, 1
  store i32 %1781, ptr %3, align 4
  br label %1840

1782:                                             ; preds = %739
  %1783 = landingpad { ptr, i32 }
          cleanup
  %1784 = extractvalue { ptr, i32 } %1783, 0
  store ptr %1784, ptr %2, align 8
  %1785 = extractvalue { ptr, i32 } %1783, 1
  store i32 %1785, ptr %3, align 4
  br label %1832

1786:                                             ; preds = %746
  %1787 = landingpad { ptr, i32 }
          cleanup
  %1788 = extractvalue { ptr, i32 } %1787, 0
  store ptr %1788, ptr %2, align 8
  %1789 = extractvalue { ptr, i32 } %1787, 1
  store i32 %1789, ptr %3, align 4
  br label %1831

1790:                                             ; preds = %747
  %1791 = landingpad { ptr, i32 }
          cleanup
  %1792 = extractvalue { ptr, i32 } %1791, 0
  store ptr %1792, ptr %2, align 8
  %1793 = extractvalue { ptr, i32 } %1791, 1
  store i32 %1793, ptr %3, align 4
  br label %1820

1794:                                             ; preds = %748
  %1795 = landingpad { ptr, i32 }
          cleanup
  %1796 = extractvalue { ptr, i32 } %1795, 0
  store ptr %1796, ptr %2, align 8
  %1797 = extractvalue { ptr, i32 } %1795, 1
  store i32 %1797, ptr %3, align 4
  br label %1819

1798:                                             ; preds = %750
  %1799 = landingpad { ptr, i32 }
          cleanup
  %1800 = extractvalue { ptr, i32 } %1799, 0
  store ptr %1800, ptr %2, align 8
  %1801 = extractvalue { ptr, i32 } %1799, 1
  store i32 %1801, ptr %3, align 4
  br label %1811

1802:                                             ; preds = %757
  %1803 = landingpad { ptr, i32 }
          cleanup
  %1804 = extractvalue { ptr, i32 } %1803, 0
  store ptr %1804, ptr %2, align 8
  %1805 = extractvalue { ptr, i32 } %1803, 1
  store i32 %1805, ptr %3, align 4
  br label %1810

1806:                                             ; preds = %758
  %1807 = landingpad { ptr, i32 }
          cleanup
  %1808 = extractvalue { ptr, i32 } %1807, 0
  store ptr %1808, ptr %2, align 8
  %1809 = extractvalue { ptr, i32 } %1807, 1
  store i32 %1809, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %230) #0
  br label %1810

1810:                                             ; preds = %1806, %1802
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %231) #0
  br label %1811

1811:                                             ; preds = %1810, %1798
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %238) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %238) #0
  %1812 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %233, i32 0, i32 0
  %1813 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1812, i64 2
  br label %1814

1814:                                             ; preds = %1814, %1811
  %1815 = phi ptr [ %1813, %1811 ], [ %1816, %1814 ]
  %1816 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1815, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1816) #0
  %1817 = icmp eq ptr %1816, %1812
  br i1 %1817, label %1818, label %1814

1818:                                             ; preds = %1814
  br label %1819

1819:                                             ; preds = %1818, %1794
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %236) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %236) #0
  br label %1820

1820:                                             ; preds = %1819, %1790
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %235) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %235) #0
  %1821 = load i1, ptr %237, align 1
  br i1 %1821, label %1822, label %1830

1822:                                             ; preds = %1820
  %1823 = load ptr, ptr %234, align 8
  %1824 = icmp eq ptr %233, %1823
  br i1 %1824, label %1829, label %1825

1825:                                             ; preds = %1825, %1822
  %1826 = phi ptr [ %1823, %1822 ], [ %1827, %1825 ]
  %1827 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1826, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1827) #0
  %1828 = icmp eq ptr %1827, %233
  br i1 %1828, label %1829, label %1825

1829:                                             ; preds = %1825, %1822
  br label %1830

1830:                                             ; preds = %1829, %1820
  call void @llvm.lifetime.end.p0(i64 64, ptr %233) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %231) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %230) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %222) #0
  br label %1831

1831:                                             ; preds = %1830, %1786
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %223) #0
  br label %1832

1832:                                             ; preds = %1831, %1782
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %229) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %229) #0
  %1833 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %225, i32 0, i32 0
  %1834 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1833, i64 1
  br label %1835

1835:                                             ; preds = %1835, %1832
  %1836 = phi ptr [ %1834, %1832 ], [ %1837, %1835 ]
  %1837 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1836, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1837) #0
  %1838 = icmp eq ptr %1837, %1833
  br i1 %1838, label %1839, label %1835

1839:                                             ; preds = %1835
  br label %1840

1840:                                             ; preds = %1839, %1778
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %227) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %227) #0
  %1841 = load i1, ptr %228, align 1
  br i1 %1841, label %1842, label %1850

1842:                                             ; preds = %1840
  %1843 = load ptr, ptr %226, align 8
  %1844 = icmp eq ptr %225, %1843
  br i1 %1844, label %1849, label %1845

1845:                                             ; preds = %1845, %1842
  %1846 = phi ptr [ %1843, %1842 ], [ %1847, %1845 ]
  %1847 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1846, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1847) #0
  %1848 = icmp eq ptr %1847, %225
  br i1 %1848, label %1849, label %1845

1849:                                             ; preds = %1845, %1842
  br label %1850

1850:                                             ; preds = %1849, %1840
  call void @llvm.lifetime.end.p0(i64 32, ptr %225) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %223) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %222) #0
  br label %1999

1851:                                             ; preds = %773
  %1852 = landingpad { ptr, i32 }
          cleanup
  %1853 = extractvalue { ptr, i32 } %1852, 0
  store ptr %1853, ptr %2, align 8
  %1854 = extractvalue { ptr, i32 } %1852, 1
  store i32 %1854, ptr %3, align 4
  br label %1913

1855:                                             ; preds = %774
  %1856 = landingpad { ptr, i32 }
          cleanup
  %1857 = extractvalue { ptr, i32 } %1856, 0
  store ptr %1857, ptr %2, align 8
  %1858 = extractvalue { ptr, i32 } %1856, 1
  store i32 %1858, ptr %3, align 4
  br label %1905

1859:                                             ; preds = %781
  %1860 = landingpad { ptr, i32 }
          cleanup
  %1861 = extractvalue { ptr, i32 } %1860, 0
  store ptr %1861, ptr %2, align 8
  %1862 = extractvalue { ptr, i32 } %1860, 1
  store i32 %1862, ptr %3, align 4
  br label %1904

1863:                                             ; preds = %782
  %1864 = landingpad { ptr, i32 }
          cleanup
  %1865 = extractvalue { ptr, i32 } %1864, 0
  store ptr %1865, ptr %2, align 8
  %1866 = extractvalue { ptr, i32 } %1864, 1
  store i32 %1866, ptr %3, align 4
  br label %1893

1867:                                             ; preds = %783
  %1868 = landingpad { ptr, i32 }
          cleanup
  %1869 = extractvalue { ptr, i32 } %1868, 0
  store ptr %1869, ptr %2, align 8
  %1870 = extractvalue { ptr, i32 } %1868, 1
  store i32 %1870, ptr %3, align 4
  br label %1892

1871:                                             ; preds = %785
  %1872 = landingpad { ptr, i32 }
          cleanup
  %1873 = extractvalue { ptr, i32 } %1872, 0
  store ptr %1873, ptr %2, align 8
  %1874 = extractvalue { ptr, i32 } %1872, 1
  store i32 %1874, ptr %3, align 4
  br label %1884

1875:                                             ; preds = %792
  %1876 = landingpad { ptr, i32 }
          cleanup
  %1877 = extractvalue { ptr, i32 } %1876, 0
  store ptr %1877, ptr %2, align 8
  %1878 = extractvalue { ptr, i32 } %1876, 1
  store i32 %1878, ptr %3, align 4
  br label %1883

1879:                                             ; preds = %793
  %1880 = landingpad { ptr, i32 }
          cleanup
  %1881 = extractvalue { ptr, i32 } %1880, 0
  store ptr %1881, ptr %2, align 8
  %1882 = extractvalue { ptr, i32 } %1880, 1
  store i32 %1882, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %247) #0
  br label %1883

1883:                                             ; preds = %1879, %1875
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %248) #0
  br label %1884

1884:                                             ; preds = %1883, %1871
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %255) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %255) #0
  %1885 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %250, i32 0, i32 0
  %1886 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1885, i64 2
  br label %1887

1887:                                             ; preds = %1887, %1884
  %1888 = phi ptr [ %1886, %1884 ], [ %1889, %1887 ]
  %1889 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1888, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1889) #0
  %1890 = icmp eq ptr %1889, %1885
  br i1 %1890, label %1891, label %1887

1891:                                             ; preds = %1887
  br label %1892

1892:                                             ; preds = %1891, %1867
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %253) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %253) #0
  br label %1893

1893:                                             ; preds = %1892, %1863
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %252) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %252) #0
  %1894 = load i1, ptr %254, align 1
  br i1 %1894, label %1895, label %1903

1895:                                             ; preds = %1893
  %1896 = load ptr, ptr %251, align 8
  %1897 = icmp eq ptr %250, %1896
  br i1 %1897, label %1902, label %1898

1898:                                             ; preds = %1898, %1895
  %1899 = phi ptr [ %1896, %1895 ], [ %1900, %1898 ]
  %1900 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1899, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1900) #0
  %1901 = icmp eq ptr %1900, %250
  br i1 %1901, label %1902, label %1898

1902:                                             ; preds = %1898, %1895
  br label %1903

1903:                                             ; preds = %1902, %1893
  call void @llvm.lifetime.end.p0(i64 64, ptr %250) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %248) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %247) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %239) #0
  br label %1904

1904:                                             ; preds = %1903, %1859
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %240) #0
  br label %1905

1905:                                             ; preds = %1904, %1855
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %246) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %246) #0
  %1906 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %242, i32 0, i32 0
  %1907 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1906, i64 1
  br label %1908

1908:                                             ; preds = %1908, %1905
  %1909 = phi ptr [ %1907, %1905 ], [ %1910, %1908 ]
  %1910 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1909, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1910) #0
  %1911 = icmp eq ptr %1910, %1906
  br i1 %1911, label %1912, label %1908

1912:                                             ; preds = %1908
  br label %1913

1913:                                             ; preds = %1912, %1851
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %244) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %244) #0
  %1914 = load i1, ptr %245, align 1
  br i1 %1914, label %1915, label %1923

1915:                                             ; preds = %1913
  %1916 = load ptr, ptr %243, align 8
  %1917 = icmp eq ptr %242, %1916
  br i1 %1917, label %1922, label %1918

1918:                                             ; preds = %1918, %1915
  %1919 = phi ptr [ %1916, %1915 ], [ %1920, %1918 ]
  %1920 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1919, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1920) #0
  %1921 = icmp eq ptr %1920, %242
  br i1 %1921, label %1922, label %1918

1922:                                             ; preds = %1918, %1915
  br label %1923

1923:                                             ; preds = %1922, %1913
  call void @llvm.lifetime.end.p0(i64 32, ptr %242) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %240) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %239) #0
  br label %1999

1924:                                             ; preds = %808
  %1925 = landingpad { ptr, i32 }
          cleanup
  %1926 = extractvalue { ptr, i32 } %1925, 0
  store ptr %1926, ptr %2, align 8
  %1927 = extractvalue { ptr, i32 } %1925, 1
  store i32 %1927, ptr %3, align 4
  br label %1986

1928:                                             ; preds = %809
  %1929 = landingpad { ptr, i32 }
          cleanup
  %1930 = extractvalue { ptr, i32 } %1929, 0
  store ptr %1930, ptr %2, align 8
  %1931 = extractvalue { ptr, i32 } %1929, 1
  store i32 %1931, ptr %3, align 4
  br label %1978

1932:                                             ; preds = %816
  %1933 = landingpad { ptr, i32 }
          cleanup
  %1934 = extractvalue { ptr, i32 } %1933, 0
  store ptr %1934, ptr %2, align 8
  %1935 = extractvalue { ptr, i32 } %1933, 1
  store i32 %1935, ptr %3, align 4
  br label %1977

1936:                                             ; preds = %817
  %1937 = landingpad { ptr, i32 }
          cleanup
  %1938 = extractvalue { ptr, i32 } %1937, 0
  store ptr %1938, ptr %2, align 8
  %1939 = extractvalue { ptr, i32 } %1937, 1
  store i32 %1939, ptr %3, align 4
  br label %1966

1940:                                             ; preds = %818
  %1941 = landingpad { ptr, i32 }
          cleanup
  %1942 = extractvalue { ptr, i32 } %1941, 0
  store ptr %1942, ptr %2, align 8
  %1943 = extractvalue { ptr, i32 } %1941, 1
  store i32 %1943, ptr %3, align 4
  br label %1965

1944:                                             ; preds = %820
  %1945 = landingpad { ptr, i32 }
          cleanup
  %1946 = extractvalue { ptr, i32 } %1945, 0
  store ptr %1946, ptr %2, align 8
  %1947 = extractvalue { ptr, i32 } %1945, 1
  store i32 %1947, ptr %3, align 4
  br label %1957

1948:                                             ; preds = %827
  %1949 = landingpad { ptr, i32 }
          cleanup
  %1950 = extractvalue { ptr, i32 } %1949, 0
  store ptr %1950, ptr %2, align 8
  %1951 = extractvalue { ptr, i32 } %1949, 1
  store i32 %1951, ptr %3, align 4
  br label %1956

1952:                                             ; preds = %828
  %1953 = landingpad { ptr, i32 }
          cleanup
  %1954 = extractvalue { ptr, i32 } %1953, 0
  store ptr %1954, ptr %2, align 8
  %1955 = extractvalue { ptr, i32 } %1953, 1
  store i32 %1955, ptr %3, align 4
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %264) #0
  br label %1956

1956:                                             ; preds = %1952, %1948
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %265) #0
  br label %1957

1957:                                             ; preds = %1956, %1944
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %272) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %272) #0
  %1958 = getelementptr inbounds [2 x %"class.std::__cxx11::basic_string"], ptr %267, i32 0, i32 0
  %1959 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1958, i64 2
  br label %1960

1960:                                             ; preds = %1960, %1957
  %1961 = phi ptr [ %1959, %1957 ], [ %1962, %1960 ]
  %1962 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1961, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1962) #0
  %1963 = icmp eq ptr %1962, %1958
  br i1 %1963, label %1964, label %1960

1964:                                             ; preds = %1960
  br label %1965

1965:                                             ; preds = %1964, %1940
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %270) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %270) #0
  br label %1966

1966:                                             ; preds = %1965, %1936
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %269) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %269) #0
  %1967 = load i1, ptr %271, align 1
  br i1 %1967, label %1968, label %1976

1968:                                             ; preds = %1966
  %1969 = load ptr, ptr %268, align 8
  %1970 = icmp eq ptr %267, %1969
  br i1 %1970, label %1975, label %1971

1971:                                             ; preds = %1971, %1968
  %1972 = phi ptr [ %1969, %1968 ], [ %1973, %1971 ]
  %1973 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1972, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1973) #0
  %1974 = icmp eq ptr %1973, %267
  br i1 %1974, label %1975, label %1971

1975:                                             ; preds = %1971, %1968
  br label %1976

1976:                                             ; preds = %1975, %1966
  call void @llvm.lifetime.end.p0(i64 64, ptr %267) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %265) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %264) #0
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %256) #0
  br label %1977

1977:                                             ; preds = %1976, %1932
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %257) #0
  br label %1978

1978:                                             ; preds = %1977, %1928
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %263) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %263) #0
  %1979 = getelementptr inbounds [1 x %"class.std::__cxx11::basic_string"], ptr %259, i32 0, i32 0
  %1980 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1979, i64 1
  br label %1981

1981:                                             ; preds = %1981, %1978
  %1982 = phi ptr [ %1980, %1978 ], [ %1983, %1981 ]
  %1983 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1982, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1983) #0
  %1984 = icmp eq ptr %1983, %1979
  br i1 %1984, label %1985, label %1981

1985:                                             ; preds = %1981
  br label %1986

1986:                                             ; preds = %1985, %1924
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %261) #0
  call void @llvm.lifetime.end.p0(i64 1, ptr %261) #0
  %1987 = load i1, ptr %262, align 1
  br i1 %1987, label %1988, label %1996

1988:                                             ; preds = %1986
  %1989 = load ptr, ptr %260, align 8
  %1990 = icmp eq ptr %259, %1989
  br i1 %1990, label %1995, label %1991

1991:                                             ; preds = %1991, %1988
  %1992 = phi ptr [ %1989, %1988 ], [ %1993, %1991 ]
  %1993 = getelementptr inbounds %"class.std::__cxx11::basic_string", ptr %1992, i64 -1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1993) #0
  %1994 = icmp eq ptr %1993, %259
  br i1 %1994, label %1995, label %1991

1995:                                             ; preds = %1991, %1988
  br label %1996

1996:                                             ; preds = %1995, %1986
  call void @llvm.lifetime.end.p0(i64 32, ptr %259) #0
  call void @llvm.lifetime.end.p0(i64 24, ptr %257) #0
  call void @llvm.lifetime.end.p0(i64 16, ptr %256) #0
  br label %1999

1997:                                             ; preds = %843, %284
  %1998 = load ptr, ptr %1, align 8
  ret ptr %1998

1999:                                             ; preds = %1996, %1923, %1850, %1777, %1704, %1631, %1558, %1485, %1412, %1339, %1266, %1193, %1125, %1052, %979, %911, %285
  %2000 = load ptr, ptr %2, align 8
  %2001 = load i32, ptr %3, align 4
  %2002 = insertvalue { ptr, i32 } poison, ptr %2000, 0
  %2003 = insertvalue { ptr, i32 } %2002, i32 %2001, 1
  resume { ptr, i32 } %2003
}

; Function Attrs: nounwind
declare i32 @__cxa_guard_acquire(ptr) #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_EC2Ev(ptr noundef nonnull align 8 dereferenceable(200)) unnamed_addr #5 align 2

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

; Function Attrs: nounwind
declare void @__cxa_guard_abort(ptr) #0

; Function Attrs: nounwind
declare void @__cxa_guard_release(ptr) #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #5 align 2

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

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

!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 = !{!"branch_weights", i32 1, i32 1048575}
!6 = !{!7, !7, i64 0}
!7 = !{!"bool", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{i8 0, i8 2}
!11 = !{}
!12 = !{!13, !14, i64 0}
!13 = !{!"_ZTSSt16initializer_listINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE", !14, i64 0, !15, i64 8}
!14 = !{!"any pointer", !8, i64 0}
!15 = !{!"long", !8, i64 0}
!16 = !{!13, !15, i64 8}


; 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"

%"struct.langcc::Map" = type { %"struct.langcc::enable_rc_from_this.43", %"class.std::unordered_map", %"struct.langcc::Vec.19", %"struct.langcc::Vec.44" }
%"struct.langcc::enable_rc_from_this.43" = type { ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"struct.langcc::Vec.19" = type { %"struct.langcc::enable_rc_from_this.20", ptr, ptr, i64, i64, i64, i64 }
%"struct.langcc::enable_rc_from_this.20" = type { ptr, ptr }
%"struct.langcc::Vec.44" = type { %"struct.langcc::enable_rc_from_this.45", ptr, ptr, i64, i64, i64, i64 }
%"struct.langcc::enable_rc_from_this.45" = type { ptr, ptr }
%"struct.langcc::rc_ptr.0" = type { ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%"class.std::allocator.73" = type { i8 }

@__dso_handle = external hidden global i8
@_ZZN6langcc12builtins_cppB5cxx11EvE5_init = external hidden local_unnamed_addr global i8, align 1
@_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11 = external hidden global %"struct.langcc::Map", align 8
@_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11 = external hidden global i64, align 8
@.str.17 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [9 x i8], align 1

; Function Attrs: nofree nounwind
declare i32 @__cxa_atexit(ptr, ptr, ptr) local_unnamed_addr #0

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 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 #3 align 2

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

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

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

; Function Attrs: alwaysinline mustprogress nounwind uwtable
declare dso_local void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #4 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind noalias writable sret(%"struct.langcc::rc_ptr.0") align 8, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef nonnull align 8 dereferenceable(200) ptr @_ZN6langcc12builtins_cppB5cxx11Ev() local_unnamed_addr #3 personality ptr @__gxx_personality_v0 {
  %1 = alloca %"struct.langcc::rc_ptr.0", align 8
  %2 = alloca %"class.std::vector", align 8
  %3 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %4 = alloca %"class.std::allocator", align 1
  %5 = alloca %"class.std::allocator.73", align 1
  %6 = alloca %"struct.langcc::rc_ptr.0", align 8
  %7 = alloca %"class.std::vector", align 8
  %8 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca %"class.std::allocator.73", align 1
  %11 = alloca %"struct.langcc::rc_ptr.0", align 8
  %12 = alloca %"class.std::vector", align 8
  %13 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.std::allocator.73", align 1
  %16 = alloca %"struct.langcc::rc_ptr.0", align 8
  %17 = alloca %"class.std::vector", align 8
  %18 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::allocator.73", align 1
  %21 = alloca %"struct.langcc::rc_ptr.0", align 8
  %22 = alloca %"class.std::vector", align 8
  %23 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %24 = alloca %"class.std::allocator", align 1
  %25 = alloca %"class.std::allocator.73", align 1
  %26 = alloca %"struct.langcc::rc_ptr.0", align 8
  %27 = alloca %"class.std::vector", align 8
  %28 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca %"class.std::allocator", align 1
  %31 = alloca %"class.std::allocator.73", align 1
  %32 = alloca %"struct.langcc::rc_ptr.0", align 8
  %33 = alloca %"class.std::vector", align 8
  %34 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %35 = alloca %"class.std::allocator", align 1
  %36 = alloca %"class.std::allocator.73", align 1
  %37 = alloca %"struct.langcc::rc_ptr.0", align 8
  %38 = alloca %"class.std::vector", align 8
  %39 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %40 = alloca %"class.std::allocator", align 1
  %41 = alloca %"class.std::allocator", align 1
  %42 = alloca %"class.std::allocator.73", align 1
  %43 = alloca %"struct.langcc::rc_ptr.0", align 8
  %44 = alloca %"class.std::vector", align 8
  %45 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %46 = alloca %"class.std::allocator", align 1
  %47 = alloca %"class.std::allocator.73", align 1
  %48 = alloca %"struct.langcc::rc_ptr.0", align 8
  %49 = alloca %"class.std::vector", align 8
  %50 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %51 = alloca %"class.std::allocator", align 1
  %52 = alloca %"class.std::allocator.73", align 1
  %53 = alloca %"struct.langcc::rc_ptr.0", align 8
  %54 = alloca %"class.std::vector", align 8
  %55 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %56 = alloca %"class.std::allocator", align 1
  %57 = alloca %"class.std::allocator.73", align 1
  %58 = alloca %"struct.langcc::rc_ptr.0", align 8
  %59 = alloca %"class.std::vector", align 8
  %60 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %61 = alloca %"class.std::allocator", align 1
  %62 = alloca %"class.std::allocator", align 1
  %63 = alloca %"class.std::allocator.73", align 1
  %64 = alloca %"struct.langcc::rc_ptr.0", align 8
  %65 = alloca %"class.std::vector", align 8
  %66 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %67 = alloca %"class.std::allocator", align 1
  %68 = alloca %"class.std::allocator.73", align 1
  %69 = alloca %"struct.langcc::rc_ptr.0", align 8
  %70 = alloca %"class.std::vector", align 8
  %71 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %72 = alloca %"class.std::allocator", align 1
  %73 = alloca %"class.std::allocator", align 1
  %74 = alloca %"class.std::allocator.73", align 1
  %75 = alloca %"struct.langcc::rc_ptr.0", align 8
  %76 = alloca %"class.std::vector", align 8
  %77 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %78 = alloca %"class.std::allocator", align 1
  %79 = alloca %"class.std::allocator.73", align 1
  %80 = alloca %"struct.langcc::rc_ptr.0", align 8
  %81 = alloca %"class.std::vector", align 8
  %82 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %83 = alloca %"class.std::allocator", align 1
  %84 = alloca %"class.std::allocator", align 1
  %85 = alloca %"class.std::allocator.73", align 1
  %86 = alloca %"struct.langcc::rc_ptr.0", align 8
  %87 = alloca %"class.std::vector", align 8
  %88 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %89 = alloca %"class.std::allocator", align 1
  %90 = alloca %"class.std::allocator.73", align 1
  %91 = alloca %"struct.langcc::rc_ptr.0", align 8
  %92 = alloca %"class.std::vector", align 8
  %93 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %94 = alloca %"class.std::allocator", align 1
  %95 = alloca %"class.std::allocator", align 1
  %96 = alloca %"class.std::allocator.73", align 1
  %97 = alloca %"struct.langcc::rc_ptr.0", align 8
  %98 = alloca %"class.std::vector", align 8
  %99 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %100 = alloca %"class.std::allocator", align 1
  %101 = alloca %"class.std::allocator.73", align 1
  %102 = alloca %"struct.langcc::rc_ptr.0", align 8
  %103 = alloca %"class.std::vector", align 8
  %104 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %105 = alloca %"class.std::allocator", align 1
  %106 = alloca %"class.std::allocator", align 1
  %107 = alloca %"class.std::allocator.73", align 1
  %108 = alloca %"struct.langcc::rc_ptr.0", align 8
  %109 = alloca %"class.std::vector", align 8
  %110 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %111 = alloca %"class.std::allocator", align 1
  %112 = alloca %"class.std::allocator.73", align 1
  %113 = alloca %"struct.langcc::rc_ptr.0", align 8
  %114 = alloca %"class.std::vector", align 8
  %115 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.std::allocator", align 1
  %118 = alloca %"class.std::allocator.73", align 1
  %119 = alloca %"struct.langcc::rc_ptr.0", align 8
  %120 = alloca %"class.std::vector", align 8
  %121 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %122 = alloca %"class.std::allocator", align 1
  %123 = alloca %"class.std::allocator.73", align 1
  %124 = alloca %"struct.langcc::rc_ptr.0", align 8
  %125 = alloca %"class.std::vector", align 8
  %126 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %127 = alloca %"class.std::allocator", align 1
  %128 = alloca %"class.std::allocator", align 1
  %129 = alloca %"class.std::allocator.73", align 1
  %130 = alloca %"struct.langcc::rc_ptr.0", align 8
  %131 = alloca %"class.std::vector", align 8
  %132 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %133 = alloca %"class.std::allocator", align 1
  %134 = alloca %"class.std::allocator.73", align 1
  %135 = alloca %"struct.langcc::rc_ptr.0", align 8
  %136 = alloca %"class.std::vector", align 8
  %137 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %138 = alloca %"class.std::allocator", align 1
  %139 = alloca %"class.std::allocator", align 1
  %140 = alloca %"class.std::allocator.73", align 1
  %141 = alloca %"struct.langcc::rc_ptr.0", align 8
  %142 = alloca %"class.std::vector", align 8
  %143 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %144 = alloca %"class.std::allocator", align 1
  %145 = alloca %"class.std::allocator.73", align 1
  %146 = alloca %"struct.langcc::rc_ptr.0", align 8
  %147 = alloca %"class.std::vector", align 8
  %148 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %149 = alloca %"class.std::allocator", align 1
  %150 = alloca %"class.std::allocator", align 1
  %151 = alloca %"class.std::allocator.73", align 1
  %152 = alloca %"struct.langcc::rc_ptr.0", align 8
  %153 = alloca %"class.std::vector", align 8
  %154 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %155 = alloca %"class.std::allocator", align 1
  %156 = alloca %"class.std::allocator.73", align 1
  %157 = alloca %"struct.langcc::rc_ptr.0", align 8
  %158 = alloca %"class.std::vector", align 8
  %159 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %160 = alloca %"class.std::allocator", align 1
  %161 = alloca %"class.std::allocator", align 1
  %162 = alloca %"class.std::allocator.73", align 1
  %163 = alloca %"struct.langcc::rc_ptr.0", align 8
  %164 = alloca %"class.std::vector", align 8
  %165 = alloca [1 x %"class.std::__cxx11::basic_string"], align 8
  %166 = alloca %"class.std::allocator", align 1
  %167 = alloca %"class.std::allocator.73", align 1
  %168 = alloca %"struct.langcc::rc_ptr.0", align 8
  %169 = alloca %"class.std::vector", align 8
  %170 = alloca [2 x %"class.std::__cxx11::basic_string"], align 8
  %171 = alloca %"class.std::allocator", align 1
  %172 = alloca %"class.std::allocator", align 1
  %173 = alloca %"class.std::allocator.73", align 1
  %174 = load atomic i8, ptr @_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11 acquire, align 8
  %175 = icmp eq i8 %174, 0
  br i1 %175, label %176, label %181, !prof !5

176:                                              ; preds = %0
  %177 = tail call i32 @__cxa_guard_acquire(ptr nonnull @_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11) #7
  %.not = icmp eq i32 %177, 0
  br i1 %.not, label %181, label %178

178:                                              ; preds = %176
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_EC2Ev(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11)
          to label %179 unwind label %184

179:                                              ; preds = %178
  %180 = tail call i32 @__cxa_atexit(ptr nonnull @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_ED2Ev, ptr nonnull @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr nonnull @__dso_handle) #7
  tail call void @__cxa_guard_release(ptr nonnull @_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11) #7
  br label %181

181:                                              ; preds = %179, %176, %0
  %182 = load i8, ptr @_ZZN6langcc12builtins_cppB5cxx11EvE5_init, align 1, !tbaa !6, !range !10, !noundef !11
  %183 = trunc nuw i8 %182 to i1
  br i1 %183, label %633, label %186

184:                                              ; preds = %178
  %185 = landingpad { ptr, i32 }
          cleanup
  tail call void @__cxa_guard_abort(ptr nonnull @_ZGVZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11) #7
  br label %634

186:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %1) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %2) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %187 unwind label %338

187:                                              ; preds = %186
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %2, ptr nonnull %3, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %188 unwind label %340

188:                                              ; preds = %187
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %1, ptr noundef nonnull align 8 dereferenceable(24) %2)
          to label %189 unwind label %342

189:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %190 unwind label %344

190:                                              ; preds = %189
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %7, ptr nonnull %8, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %191 unwind label %346

191:                                              ; preds = %190
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %6, ptr noundef nonnull align 8 dereferenceable(24) %7)
          to label %192 unwind label %348

192:                                              ; preds = %191
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %1, ptr noundef nonnull align 8 dereferenceable(16) %6)
          to label %193 unwind label %350

193:                                              ; preds = %192
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %6) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %1) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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 nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %194 unwind label %354

194:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr nonnull %13, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %195 unwind label %356

195:                                              ; preds = %194
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %11, ptr noundef nonnull align 8 dereferenceable(24) %12)
          to label %196 unwind label %358

196:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %197 unwind label %360

197:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr nonnull %18, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %198 unwind label %362

198:                                              ; preds = %197
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %16, ptr noundef nonnull align 8 dereferenceable(24) %17)
          to label %199 unwind label %364

199:                                              ; preds = %198
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef nonnull align 8 dereferenceable(16) %16)
          to label %200 unwind label %366

200:                                              ; preds = %199
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #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 nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %201 unwind label %370

201:                                              ; preds = %200
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr nonnull %23, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %202 unwind label %372

202:                                              ; preds = %201
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %21, ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %203 unwind label %374

203:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %204 unwind label %.thread

204:                                              ; preds = %203
  %205 = getelementptr inbounds i8, ptr %28, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %30) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %205, ptr noundef nonnull @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %30)
          to label %206 unwind label %377

206:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr nonnull %28, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %207 unwind label %379

207:                                              ; preds = %206
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %26, ptr noundef nonnull align 8 dereferenceable(24) %27)
          to label %208 unwind label %381

208:                                              ; preds = %207
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %21, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %209 unwind label %383

209:                                              ; preds = %208
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  %210 = getelementptr inbounds i8, ptr %28, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %210) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %211 unwind label %389

211:                                              ; preds = %209
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %33, ptr nonnull %34, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %212 unwind label %391

212:                                              ; preds = %211
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %32, ptr noundef nonnull align 8 dereferenceable(24) %33)
          to label %213 unwind label %393

213:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %214 unwind label %.thread553

214:                                              ; preds = %213
  %215 = getelementptr inbounds i8, ptr %39, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %215, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %216 unwind label %396

216:                                              ; preds = %214
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %38, ptr nonnull %39, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %217 unwind label %398

217:                                              ; preds = %216
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %37, ptr noundef nonnull align 8 dereferenceable(24) %38)
          to label %218 unwind label %400

218:                                              ; preds = %217
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %32, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %219 unwind label %402

219:                                              ; preds = %218
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #7
  %220 = getelementptr inbounds i8, ptr %39, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  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 nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %46) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %221 unwind label %408

221:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr nonnull %45, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %222 unwind label %410

222:                                              ; preds = %221
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %43, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %223 unwind label %412

223:                                              ; preds = %222
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %51) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull @.str.22, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %224 unwind label %414

224:                                              ; preds = %223
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %49, ptr nonnull %50, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %52)
          to label %225 unwind label %416

225:                                              ; preds = %224
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %48, ptr noundef nonnull align 8 dereferenceable(24) %49)
          to label %226 unwind label %418

226:                                              ; preds = %225
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %43, ptr noundef nonnull align 8 dereferenceable(16) %48)
          to label %227 unwind label %420

227:                                              ; preds = %226
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.23, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %228 unwind label %424

228:                                              ; preds = %227
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %57) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr nonnull %55, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %57)
          to label %229 unwind label %426

229:                                              ; preds = %228
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %53, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %230 unwind label %428

230:                                              ; preds = %229
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %60) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %61) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef nonnull @.str.24, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %231 unwind label %.thread559

231:                                              ; preds = %230
  %232 = getelementptr inbounds i8, ptr %60, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %62) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %232, ptr noundef nonnull @.str.25, ptr noundef nonnull align 1 dereferenceable(1) %62)
          to label %233 unwind label %431

233:                                              ; preds = %231
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %63) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %59, ptr nonnull %60, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %234 unwind label %433

234:                                              ; preds = %233
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %58, ptr noundef nonnull align 8 dereferenceable(24) %59)
          to label %235 unwind label %435

235:                                              ; preds = %234
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %53, ptr noundef nonnull align 8 dereferenceable(16) %58)
          to label %236 unwind label %437

236:                                              ; preds = %235
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #7
  %237 = getelementptr inbounds i8, ptr %60, i64 32
  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) %60) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %58) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %67) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %67)
          to label %238 unwind label %443

238:                                              ; preds = %236
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr nonnull %66, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %239 unwind label %445

239:                                              ; preds = %238
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %64, ptr noundef nonnull align 8 dereferenceable(24) %65)
          to label %240 unwind label %447

240:                                              ; preds = %239
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %69) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %70) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %71) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %241 unwind label %.thread565

241:                                              ; preds = %240
  %242 = getelementptr inbounds i8, ptr %71, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %73) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %242, ptr noundef nonnull @.str.26, ptr noundef nonnull align 1 dereferenceable(1) %73)
          to label %243 unwind label %450

243:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %74) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %70, ptr nonnull %71, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %244 unwind label %452

244:                                              ; preds = %243
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %69, ptr noundef nonnull align 8 dereferenceable(24) %70)
          to label %245 unwind label %454

245:                                              ; preds = %244
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %64, ptr noundef nonnull align 8 dereferenceable(16) %69)
          to label %246 unwind label %456

246:                                              ; preds = %245
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #7
  %247 = getelementptr inbounds i8, ptr %71, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %247) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %75) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %76) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %78) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef nonnull @.str.27, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %248 unwind label %462

248:                                              ; preds = %246
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %76, ptr nonnull %77, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %79)
          to label %249 unwind label %464

249:                                              ; preds = %248
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %75, ptr noundef nonnull align 8 dereferenceable(24) %76)
          to label %250 unwind label %466

250:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %80) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %81) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %82) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %83) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %251 unwind label %.thread571

251:                                              ; preds = %250
  %252 = getelementptr inbounds i8, ptr %82, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %252, ptr noundef nonnull @.str.28, ptr noundef nonnull align 1 dereferenceable(1) %84)
          to label %253 unwind label %469

253:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %85) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %81, ptr nonnull %82, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %85)
          to label %254 unwind label %471

254:                                              ; preds = %253
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %80, ptr noundef nonnull align 8 dereferenceable(24) %81)
          to label %255 unwind label %473

255:                                              ; preds = %254
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %75, ptr noundef nonnull align 8 dereferenceable(16) %80)
          to label %256 unwind label %475

256:                                              ; preds = %255
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %80) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %81) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #7
  %257 = getelementptr inbounds i8, ptr %82, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %257) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %82) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %86) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %87) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %88) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %89) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %89)
          to label %258 unwind label %481

258:                                              ; preds = %256
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr nonnull %88, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %259 unwind label %483

259:                                              ; preds = %258
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %86, ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %260 unwind label %485

260:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %91) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %92) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %93) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %94) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %93, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %94)
          to label %261 unwind label %.thread577

261:                                              ; preds = %260
  %262 = getelementptr inbounds i8, ptr %93, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %95) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %262, ptr noundef nonnull @.str.29, ptr noundef nonnull align 1 dereferenceable(1) %95)
          to label %263 unwind label %488

263:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %96) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %92, ptr nonnull %93, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %96)
          to label %264 unwind label %490

264:                                              ; preds = %263
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %91, ptr noundef nonnull align 8 dereferenceable(24) %92)
          to label %265 unwind label %492

265:                                              ; preds = %264
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %86, ptr noundef nonnull align 8 dereferenceable(16) %91)
          to label %266 unwind label %494

266:                                              ; preds = %265
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %91) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #7
  %267 = getelementptr inbounds i8, ptr %93, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %267) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %93) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %92) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %91) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %89) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %86) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %97) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %98) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %100) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %268 unwind label %500

268:                                              ; preds = %266
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %101) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr nonnull %99, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %269 unwind label %502

269:                                              ; preds = %268
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %97, ptr noundef nonnull align 8 dereferenceable(24) %98)
          to label %270 unwind label %504

270:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %102) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %103) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %104) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %105) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %104, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %105)
          to label %271 unwind label %.thread583

271:                                              ; preds = %270
  %272 = getelementptr inbounds i8, ptr %104, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %106) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %272, ptr noundef nonnull @.str.30, ptr noundef nonnull align 1 dereferenceable(1) %106)
          to label %273 unwind label %507

273:                                              ; preds = %271
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %107) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %103, ptr nonnull %104, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %107)
          to label %274 unwind label %509

274:                                              ; preds = %273
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %102, ptr noundef nonnull align 8 dereferenceable(24) %103)
          to label %275 unwind label %511

275:                                              ; preds = %274
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %97, ptr noundef nonnull align 8 dereferenceable(16) %102)
          to label %276 unwind label %513

276:                                              ; preds = %275
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %102) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %103) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #7
  %277 = getelementptr inbounds i8, ptr %104, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %277) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %106) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %104) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %103) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %102) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %98) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %97) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %108) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %109) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %110) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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 nonnull @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %278 unwind label %519

278:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %112) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %109, ptr nonnull %110, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %112)
          to label %279 unwind label %521

279:                                              ; preds = %278
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %108, ptr noundef nonnull align 8 dereferenceable(24) %109)
          to label %280 unwind label %523

280:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %113) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %114) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %115) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %116) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %281 unwind label %.thread589

281:                                              ; preds = %280
  %282 = getelementptr inbounds i8, ptr %115, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %117) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %282, ptr noundef nonnull @.str.31, ptr noundef nonnull align 1 dereferenceable(1) %117)
          to label %283 unwind label %526

283:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %118) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %114, ptr nonnull %115, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %284 unwind label %528

284:                                              ; preds = %283
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %113, ptr noundef nonnull align 8 dereferenceable(24) %114)
          to label %285 unwind label %530

285:                                              ; preds = %284
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %108, ptr noundef nonnull align 8 dereferenceable(16) %113)
          to label %286 unwind label %532

286:                                              ; preds = %285
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %113) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %118) #7
  %287 = getelementptr inbounds i8, ptr %115, i64 32
  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) %115) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %115) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %113) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %108) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %112) #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 nonnull %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %108) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %119) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %120) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %122) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %121, ptr noundef nonnull @.str.32, ptr noundef nonnull align 1 dereferenceable(1) %122)
          to label %288 unwind label %538

288:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %123) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %120, ptr nonnull %121, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %123)
          to label %289 unwind label %540

289:                                              ; preds = %288
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %119, ptr noundef nonnull align 8 dereferenceable(24) %120)
          to label %290 unwind label %542

290:                                              ; preds = %289
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %124) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %125) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %126) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %127) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %126, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %127)
          to label %291 unwind label %.thread595

291:                                              ; preds = %290
  %292 = getelementptr inbounds i8, ptr %126, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %128) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %292, ptr noundef nonnull @.str.33, ptr noundef nonnull align 1 dereferenceable(1) %128)
          to label %293 unwind label %545

293:                                              ; preds = %291
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %129) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %125, ptr nonnull %126, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %129)
          to label %294 unwind label %547

294:                                              ; preds = %293
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %124, ptr noundef nonnull align 8 dereferenceable(24) %125)
          to label %295 unwind label %549

295:                                              ; preds = %294
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %119, ptr noundef nonnull align 8 dereferenceable(16) %124)
          to label %296 unwind label %551

296:                                              ; preds = %295
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %124) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %125) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %129) #7
  %297 = getelementptr inbounds i8, ptr %126, i64 32
  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) %126) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %128) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %127) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %126) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %125) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %124) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %119) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %123) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %122) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %120) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %119) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %130) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %131) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %133) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull @.str.34, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %298 unwind label %557

298:                                              ; preds = %296
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %134) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %131, ptr nonnull %132, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %134)
          to label %299 unwind label %559

299:                                              ; preds = %298
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %130, ptr noundef nonnull align 8 dereferenceable(24) %131)
          to label %300 unwind label %561

300:                                              ; preds = %299
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %135) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %136) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %137) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %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 nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %138)
          to label %301 unwind label %.thread601

301:                                              ; preds = %300
  %302 = getelementptr inbounds i8, ptr %137, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %139) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %302, ptr noundef nonnull @.str.35, ptr noundef nonnull align 1 dereferenceable(1) %139)
          to label %303 unwind label %564

303:                                              ; preds = %301
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %140) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %136, ptr nonnull %137, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %140)
          to label %304 unwind label %566

304:                                              ; preds = %303
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %135, ptr noundef nonnull align 8 dereferenceable(24) %136)
          to label %305 unwind label %568

305:                                              ; preds = %304
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %130, ptr noundef nonnull align 8 dereferenceable(16) %135)
          to label %306 unwind label %570

306:                                              ; preds = %305
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %135) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %136) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %140) #7
  %307 = getelementptr inbounds i8, ptr %137, i64 32
  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) %137) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %139) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %138) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %137) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %136) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %135) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %130) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %134) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %130) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %141) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %142) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %143) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %144) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %143, ptr noundef nonnull @.str.36, ptr noundef nonnull align 1 dereferenceable(1) %144)
          to label %308 unwind label %576

308:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %145) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %142, ptr nonnull %143, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %145)
          to label %309 unwind label %578

309:                                              ; preds = %308
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %141, ptr noundef nonnull align 8 dereferenceable(24) %142)
          to label %310 unwind label %580

310:                                              ; preds = %309
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %146) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %147) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %148) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %149) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %148, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %149)
          to label %311 unwind label %.thread607

311:                                              ; preds = %310
  %312 = getelementptr inbounds i8, ptr %148, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %150) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %312, ptr noundef nonnull @.str.37, ptr noundef nonnull align 1 dereferenceable(1) %150)
          to label %313 unwind label %583

313:                                              ; preds = %311
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %151) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %147, ptr nonnull %148, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %151)
          to label %314 unwind label %585

314:                                              ; preds = %313
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %146, ptr noundef nonnull align 8 dereferenceable(24) %147)
          to label %315 unwind label %587

315:                                              ; preds = %314
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %141, ptr noundef nonnull align 8 dereferenceable(16) %146)
          to label %316 unwind label %589

316:                                              ; preds = %315
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %147) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %151) #7
  %317 = getelementptr inbounds i8, ptr %148, i64 32
  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) %148) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %150) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %149) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %148) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %147) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %146) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %141) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %142) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %145) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %144) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %142) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %141) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %152) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %153) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %154) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %155) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %154, ptr noundef nonnull @.str.38, ptr noundef nonnull align 1 dereferenceable(1) %155)
          to label %318 unwind label %595

318:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %156) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %153, ptr nonnull %154, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %156)
          to label %319 unwind label %597

319:                                              ; preds = %318
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %152, ptr noundef nonnull align 8 dereferenceable(24) %153)
          to label %320 unwind label %599

320:                                              ; preds = %319
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %157) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %158) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %159) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %160) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %159, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %160)
          to label %321 unwind label %.thread613

321:                                              ; preds = %320
  %322 = getelementptr inbounds i8, ptr %159, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %161) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %322, ptr noundef nonnull @.str.39, ptr noundef nonnull align 1 dereferenceable(1) %161)
          to label %323 unwind label %602

323:                                              ; preds = %321
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %162) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %162) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %158, ptr nonnull %159, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %162)
          to label %324 unwind label %604

324:                                              ; preds = %323
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %157, ptr noundef nonnull align 8 dereferenceable(24) %158)
          to label %325 unwind label %606

325:                                              ; preds = %324
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %152, ptr noundef nonnull align 8 dereferenceable(16) %157)
          to label %326 unwind label %608

326:                                              ; preds = %325
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %157) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %158) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %162) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %162) #7
  %327 = getelementptr inbounds i8, ptr %159, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %327) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %161) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %160) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %159) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %158) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %157) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %153) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %156) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %155) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %153) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %152) #7
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %163) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %164) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %165) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %166) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %165, ptr noundef nonnull @.str.40, ptr noundef nonnull align 1 dereferenceable(1) %166)
          to label %328 unwind label %614

328:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %167) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %164, ptr nonnull %165, i64 1, ptr noundef nonnull align 1 dereferenceable(1) %167)
          to label %329 unwind label %616

329:                                              ; preds = %328
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %163, ptr noundef nonnull align 8 dereferenceable(24) %164)
          to label %330 unwind label %618

330:                                              ; preds = %329
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %168) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %169) #7
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %170) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %171) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %171)
          to label %331 unwind label %.thread619

331:                                              ; preds = %330
  %332 = getelementptr inbounds i8, ptr %170, i64 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %172) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %332, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(1) %172)
          to label %333 unwind label %621

333:                                              ; preds = %331
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %173) #7
  call void @_ZNSaINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2ESt16initializer_listIS5_ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %169, ptr nonnull %170, i64 2, ptr noundef nonnull align 1 dereferenceable(1) %173)
          to label %334 unwind label %623

334:                                              ; preds = %333
  invoke void @_ZN6langcc8name_litERKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS6_EE(ptr dead_on_unwind nonnull writable sret(%"struct.langcc::rc_ptr.0") align 8 %168, ptr noundef nonnull align 8 dereferenceable(24) %169)
          to label %335 unwind label %625

335:                                              ; preds = %334
  invoke void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200) @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11, ptr noundef nonnull align 8 dereferenceable(16) %163, ptr noundef nonnull align 8 dereferenceable(16) %168)
          to label %336 unwind label %627

336:                                              ; preds = %335
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %168) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %173) #7
  %337 = getelementptr inbounds i8, ptr %170, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %337) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %172) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %171) #7
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %170) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %169) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %168) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %163) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %167) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %166) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %164) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %163) #7
  store i8 1, ptr @_ZZN6langcc12builtins_cppB5cxx11EvE5_init, align 1, !tbaa !6
  br label %633

338:                                              ; preds = %186
  %339 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit679

340:                                              ; preds = %187
  %341 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit679.loopexit

342:                                              ; preds = %188
  %343 = landingpad { ptr, i32 }
          cleanup
  br label %353

344:                                              ; preds = %189
  %345 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit680

346:                                              ; preds = %190
  %347 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit680.loopexit

348:                                              ; preds = %191
  %349 = landingpad { ptr, i32 }
          cleanup
  br label %352

350:                                              ; preds = %192
  %351 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %6) #7
  br label %352

352:                                              ; preds = %350, %348
  %.pn = phi { ptr, i32 } [ %351, %350 ], [ %349, %348 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #7
  br label %.loopexit680.loopexit

.loopexit680.loopexit:                            ; preds = %352, %346
  %.pn.pn = phi { ptr, i32 } [ %.pn, %352 ], [ %347, %346 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %.loopexit680

.loopexit680:                                     ; preds = %.loopexit680.loopexit, %344
  %.pn.pn.pn = phi { ptr, i32 } [ %345, %344 ], [ %.pn.pn, %.loopexit680.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %1) #7
  br label %353

353:                                              ; preds = %.loopexit680, %342
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %.loopexit680 ], [ %343, %342 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %2) #7
  br label %.loopexit679.loopexit

.loopexit679.loopexit:                            ; preds = %353, %340
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %353 ], [ %341, %340 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #7
  br label %.loopexit679

.loopexit679:                                     ; preds = %.loopexit679.loopexit, %338
  %.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %339, %338 ], [ %.pn.pn.pn.pn.pn, %.loopexit679.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %2) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %1) #7
  br label %634

354:                                              ; preds = %193
  %355 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit677

356:                                              ; preds = %194
  %357 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit677.loopexit

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

360:                                              ; preds = %196
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit678

362:                                              ; preds = %197
  %363 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit678.loopexit

364:                                              ; preds = %198
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %368

366:                                              ; preds = %199
  %367 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %16) #7
  br label %368

368:                                              ; preds = %366, %364
  %.pn429 = phi { ptr, i32 } [ %367, %366 ], [ %365, %364 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #7
  br label %.loopexit678.loopexit

.loopexit678.loopexit:                            ; preds = %368, %362
  %.pn429.pn = phi { ptr, i32 } [ %.pn429, %368 ], [ %363, %362 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %.loopexit678

.loopexit678:                                     ; preds = %.loopexit678.loopexit, %360
  %.pn429.pn.pn = phi { ptr, i32 } [ %361, %360 ], [ %.pn429.pn, %.loopexit678.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #7
  br label %369

369:                                              ; preds = %.loopexit678, %358
  %.pn429.pn.pn.pn = phi { ptr, i32 } [ %.pn429.pn.pn, %.loopexit678 ], [ %359, %358 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  br label %.loopexit677.loopexit

.loopexit677.loopexit:                            ; preds = %369, %356
  %.pn429.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn429.pn.pn.pn, %369 ], [ %357, %356 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %.loopexit677

.loopexit677:                                     ; preds = %.loopexit677.loopexit, %354
  %.pn429.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %355, %354 ], [ %.pn429.pn.pn.pn.pn, %.loopexit677.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %11) #7
  br label %634

370:                                              ; preds = %200
  %371 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit673

372:                                              ; preds = %201
  %373 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit673.loopexit

374:                                              ; preds = %202
  %375 = landingpad { ptr, i32 }
          cleanup
  br label %388

.thread:                                          ; preds = %203
  %376 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #7
  br label %.loopexit675

377:                                              ; preds = %204
  %378 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit676

379:                                              ; preds = %206
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit676.loopexit

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

383:                                              ; preds = %208
  %384 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %26) #7
  br label %385

385:                                              ; preds = %383, %381
  %.pn436 = phi { ptr, i32 } [ %384, %383 ], [ %382, %381 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  br label %.loopexit676.loopexit

.loopexit676.loopexit:                            ; preds = %385, %379
  %.pn436.pn = phi { ptr, i32 } [ %.pn436, %385 ], [ %380, %379 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #7
  %386 = getelementptr inbounds i8, ptr %28, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %386) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %.loopexit676

.loopexit676:                                     ; preds = %.loopexit676.loopexit, %377
  %387 = phi i1 [ false, %377 ], [ true, %.loopexit676.loopexit ]
  %.pn436.pn.pn = phi { ptr, i32 } [ %378, %377 ], [ %.pn436.pn, %.loopexit676.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %30) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %30) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #7
  br i1 %387, label %.loopexit675, label %.preheader674.preheader

.preheader674.preheader:                          ; preds = %.loopexit676
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %.loopexit675

.loopexit675:                                     ; preds = %.preheader674.preheader, %.thread, %.loopexit676
  %.pn436.pn.pn.pn552 = phi { ptr, i32 } [ %376, %.thread ], [ %.pn436.pn.pn, %.loopexit676 ], [ %.pn436.pn.pn, %.preheader674.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %21) #7
  br label %388

388:                                              ; preds = %.loopexit675, %374
  %.pn436.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn436.pn.pn.pn552, %.loopexit675 ], [ %375, %374 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  br label %.loopexit673.loopexit

.loopexit673.loopexit:                            ; preds = %388, %372
  %.pn436.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn436.pn.pn.pn.pn, %388 ], [ %373, %372 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %.loopexit673

.loopexit673:                                     ; preds = %.loopexit673.loopexit, %370
  %.pn436.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %371, %370 ], [ %.pn436.pn.pn.pn.pn.pn, %.loopexit673.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #7
  br label %634

389:                                              ; preds = %209
  %390 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit669

391:                                              ; preds = %211
  %392 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit669.loopexit

393:                                              ; preds = %212
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %407

.thread553:                                       ; preds = %213
  %395 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br label %.loopexit671

396:                                              ; preds = %214
  %397 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit672

398:                                              ; preds = %216
  %399 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit672.loopexit

400:                                              ; preds = %217
  %401 = landingpad { ptr, i32 }
          cleanup
  br label %404

402:                                              ; preds = %218
  %403 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %37) #7
  br label %404

404:                                              ; preds = %402, %400
  %.pn444 = phi { ptr, i32 } [ %403, %402 ], [ %401, %400 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #7
  br label %.loopexit672.loopexit

.loopexit672.loopexit:                            ; preds = %404, %398
  %.pn444.pn = phi { ptr, i32 } [ %.pn444, %404 ], [ %399, %398 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #7
  %405 = getelementptr inbounds i8, ptr %39, i64 32
  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) %39) #7
  br label %.loopexit672

.loopexit672:                                     ; preds = %.loopexit672.loopexit, %396
  %406 = phi i1 [ false, %396 ], [ true, %.loopexit672.loopexit ]
  %.pn444.pn.pn = phi { ptr, i32 } [ %397, %396 ], [ %.pn444.pn, %.loopexit672.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br i1 %406, label %.loopexit671, label %.preheader670.preheader

.preheader670.preheader:                          ; preds = %.loopexit672
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %.loopexit671

.loopexit671:                                     ; preds = %.preheader670.preheader, %.thread553, %.loopexit672
  %.pn444.pn.pn.pn558 = phi { ptr, i32 } [ %395, %.thread553 ], [ %.pn444.pn.pn, %.loopexit672 ], [ %.pn444.pn.pn, %.preheader670.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %32) #7
  br label %407

407:                                              ; preds = %.loopexit671, %393
  %.pn444.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn444.pn.pn.pn558, %.loopexit671 ], [ %394, %393 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  br label %.loopexit669.loopexit

.loopexit669.loopexit:                            ; preds = %407, %391
  %.pn444.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn444.pn.pn.pn.pn, %407 ], [ %392, %391 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %.loopexit669

.loopexit669:                                     ; preds = %.loopexit669.loopexit, %389
  %.pn444.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %390, %389 ], [ %.pn444.pn.pn.pn.pn.pn, %.loopexit669.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #7
  br label %634

408:                                              ; preds = %219
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit667

410:                                              ; preds = %221
  %411 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit667.loopexit

412:                                              ; preds = %222
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %423

414:                                              ; preds = %223
  %415 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit668

416:                                              ; preds = %224
  %417 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit668.loopexit

418:                                              ; preds = %225
  %419 = landingpad { ptr, i32 }
          cleanup
  br label %422

420:                                              ; preds = %226
  %421 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %48) #7
  br label %422

422:                                              ; preds = %420, %418
  %.pn452 = phi { ptr, i32 } [ %421, %420 ], [ %419, %418 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %49) #7
  br label %.loopexit668.loopexit

.loopexit668.loopexit:                            ; preds = %422, %416
  %.pn452.pn = phi { ptr, i32 } [ %.pn452, %422 ], [ %417, %416 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %.loopexit668

.loopexit668:                                     ; preds = %.loopexit668.loopexit, %414
  %.pn452.pn.pn = phi { ptr, i32 } [ %415, %414 ], [ %.pn452.pn, %.loopexit668.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %48) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %43) #7
  br label %423

423:                                              ; preds = %.loopexit668, %412
  %.pn452.pn.pn.pn = phi { ptr, i32 } [ %.pn452.pn.pn, %.loopexit668 ], [ %413, %412 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  br label %.loopexit667.loopexit

.loopexit667.loopexit:                            ; preds = %423, %410
  %.pn452.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn452.pn.pn.pn, %423 ], [ %411, %410 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %.loopexit667

.loopexit667:                                     ; preds = %.loopexit667.loopexit, %408
  %.pn452.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %409, %408 ], [ %.pn452.pn.pn.pn.pn, %.loopexit667.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %43) #7
  br label %634

424:                                              ; preds = %227
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit663

426:                                              ; preds = %228
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit663.loopexit

428:                                              ; preds = %229
  %429 = landingpad { ptr, i32 }
          cleanup
  br label %442

.thread559:                                       ; preds = %230
  %430 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #7
  br label %.loopexit665

431:                                              ; preds = %231
  %432 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit666

433:                                              ; preds = %233
  %434 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit666.loopexit

435:                                              ; preds = %234
  %436 = landingpad { ptr, i32 }
          cleanup
  br label %439

437:                                              ; preds = %235
  %438 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %58) #7
  br label %439

439:                                              ; preds = %437, %435
  %.pn459 = phi { ptr, i32 } [ %438, %437 ], [ %436, %435 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %59) #7
  br label %.loopexit666.loopexit

.loopexit666.loopexit:                            ; preds = %439, %433
  %.pn459.pn = phi { ptr, i32 } [ %.pn459, %439 ], [ %434, %433 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %63) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #7
  %440 = getelementptr inbounds i8, ptr %60, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %440) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %.loopexit666

.loopexit666:                                     ; preds = %.loopexit666.loopexit, %431
  %441 = phi i1 [ false, %431 ], [ true, %.loopexit666.loopexit ]
  %.pn459.pn.pn = phi { ptr, i32 } [ %432, %431 ], [ %.pn459.pn, %.loopexit666.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %62) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %62) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %61) #7
  br i1 %441, label %.loopexit665, label %.preheader664.preheader

.preheader664.preheader:                          ; preds = %.loopexit666
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  br label %.loopexit665

.loopexit665:                                     ; preds = %.preheader664.preheader, %.thread559, %.loopexit666
  %.pn459.pn.pn.pn564 = phi { ptr, i32 } [ %430, %.thread559 ], [ %.pn459.pn.pn, %.loopexit666 ], [ %.pn459.pn.pn, %.preheader664.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %58) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %53) #7
  br label %442

442:                                              ; preds = %.loopexit665, %428
  %.pn459.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn564, %.loopexit665 ], [ %429, %428 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #7
  br label %.loopexit663.loopexit

.loopexit663.loopexit:                            ; preds = %442, %426
  %.pn459.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn459.pn.pn.pn.pn, %442 ], [ %427, %426 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %57) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %57) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %.loopexit663

.loopexit663:                                     ; preds = %.loopexit663.loopexit, %424
  %.pn459.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %425, %424 ], [ %.pn459.pn.pn.pn.pn.pn, %.loopexit663.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #7
  br label %634

443:                                              ; preds = %236
  %444 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit659

445:                                              ; preds = %238
  %446 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit659.loopexit

447:                                              ; preds = %239
  %448 = landingpad { ptr, i32 }
          cleanup
  br label %461

.thread565:                                       ; preds = %240
  %449 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  br label %.loopexit661

450:                                              ; preds = %241
  %451 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit662

452:                                              ; preds = %243
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit662.loopexit

454:                                              ; preds = %244
  %455 = landingpad { ptr, i32 }
          cleanup
  br label %458

456:                                              ; preds = %245
  %457 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %69) #7
  br label %458

458:                                              ; preds = %456, %454
  %.pn467 = phi { ptr, i32 } [ %457, %456 ], [ %455, %454 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %70) #7
  br label %.loopexit662.loopexit

.loopexit662.loopexit:                            ; preds = %458, %452
  %.pn467.pn = phi { ptr, i32 } [ %.pn467, %458 ], [ %453, %452 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #7
  %459 = getelementptr inbounds i8, ptr %71, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %459) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %.loopexit662

.loopexit662:                                     ; preds = %.loopexit662.loopexit, %450
  %460 = phi i1 [ false, %450 ], [ true, %.loopexit662.loopexit ]
  %.pn467.pn.pn = phi { ptr, i32 } [ %451, %450 ], [ %.pn467.pn, %.loopexit662.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %73) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #7
  br i1 %460, label %.loopexit661, label %.preheader660.preheader

.preheader660.preheader:                          ; preds = %.loopexit662
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %.loopexit661

.loopexit661:                                     ; preds = %.preheader660.preheader, %.thread565, %.loopexit662
  %.pn467.pn.pn.pn570 = phi { ptr, i32 } [ %449, %.thread565 ], [ %.pn467.pn.pn, %.loopexit662 ], [ %.pn467.pn.pn, %.preheader660.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %70) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %69) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %64) #7
  br label %461

461:                                              ; preds = %.loopexit661, %447
  %.pn467.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn467.pn.pn.pn570, %.loopexit661 ], [ %448, %447 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %65) #7
  br label %.loopexit659.loopexit

.loopexit659.loopexit:                            ; preds = %461, %445
  %.pn467.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn467.pn.pn.pn.pn, %461 ], [ %446, %445 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #7
  br label %.loopexit659

.loopexit659:                                     ; preds = %.loopexit659.loopexit, %443
  %.pn467.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %444, %443 ], [ %.pn467.pn.pn.pn.pn.pn, %.loopexit659.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %67) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %64) #7
  br label %634

462:                                              ; preds = %246
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit655

464:                                              ; preds = %248
  %465 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit655.loopexit

466:                                              ; preds = %249
  %467 = landingpad { ptr, i32 }
          cleanup
  br label %480

.thread571:                                       ; preds = %250
  %468 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #7
  br label %.loopexit657

469:                                              ; preds = %251
  %470 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit658

471:                                              ; preds = %253
  %472 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit658.loopexit

473:                                              ; preds = %254
  %474 = landingpad { ptr, i32 }
          cleanup
  br label %477

475:                                              ; preds = %255
  %476 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %80) #7
  br label %477

477:                                              ; preds = %475, %473
  %.pn475 = phi { ptr, i32 } [ %476, %475 ], [ %474, %473 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %81) #7
  br label %.loopexit658.loopexit

.loopexit658.loopexit:                            ; preds = %477, %471
  %.pn475.pn = phi { ptr, i32 } [ %.pn475, %477 ], [ %472, %471 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #7
  %478 = getelementptr inbounds i8, ptr %82, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %478) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  br label %.loopexit658

.loopexit658:                                     ; preds = %.loopexit658.loopexit, %469
  %479 = phi i1 [ false, %469 ], [ true, %.loopexit658.loopexit ]
  %.pn475.pn.pn = phi { ptr, i32 } [ %470, %469 ], [ %.pn475.pn, %.loopexit658.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %84) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %83) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #7
  br i1 %479, label %.loopexit657, label %.preheader656.preheader

.preheader656.preheader:                          ; preds = %.loopexit658
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #7
  br label %.loopexit657

.loopexit657:                                     ; preds = %.preheader656.preheader, %.thread571, %.loopexit658
  %.pn475.pn.pn.pn576 = phi { ptr, i32 } [ %468, %.thread571 ], [ %.pn475.pn.pn, %.loopexit658 ], [ %.pn475.pn.pn, %.preheader656.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %82) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %81) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #7
  br label %480

480:                                              ; preds = %.loopexit657, %466
  %.pn475.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn475.pn.pn.pn576, %.loopexit657 ], [ %467, %466 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %76) #7
  br label %.loopexit655.loopexit

.loopexit655.loopexit:                            ; preds = %480, %464
  %.pn475.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn475.pn.pn.pn.pn, %480 ], [ %465, %464 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %79) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %.loopexit655

.loopexit655:                                     ; preds = %.loopexit655.loopexit, %462
  %.pn475.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %463, %462 ], [ %.pn475.pn.pn.pn.pn.pn, %.loopexit655.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %76) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #7
  br label %634

481:                                              ; preds = %256
  %482 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit651

483:                                              ; preds = %258
  %484 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit651.loopexit

485:                                              ; preds = %259
  %486 = landingpad { ptr, i32 }
          cleanup
  br label %499

.thread577:                                       ; preds = %260
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #7
  br label %.loopexit653

488:                                              ; preds = %261
  %489 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit654

490:                                              ; preds = %263
  %491 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit654.loopexit

492:                                              ; preds = %264
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %496

494:                                              ; preds = %265
  %495 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %91) #7
  br label %496

496:                                              ; preds = %494, %492
  %.pn483 = phi { ptr, i32 } [ %495, %494 ], [ %493, %492 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #7
  br label %.loopexit654.loopexit

.loopexit654.loopexit:                            ; preds = %496, %490
  %.pn483.pn = phi { ptr, i32 } [ %.pn483, %496 ], [ %491, %490 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %96) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %96) #7
  %497 = getelementptr inbounds i8, ptr %93, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %497) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %.loopexit654

.loopexit654:                                     ; preds = %.loopexit654.loopexit, %488
  %498 = phi i1 [ false, %488 ], [ true, %.loopexit654.loopexit ]
  %.pn483.pn.pn = phi { ptr, i32 } [ %489, %488 ], [ %.pn483.pn, %.loopexit654.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %95) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %95) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %94) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %94) #7
  br i1 %498, label %.loopexit653, label %.preheader652.preheader

.preheader652.preheader:                          ; preds = %.loopexit654
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #7
  br label %.loopexit653

.loopexit653:                                     ; preds = %.preheader652.preheader, %.thread577, %.loopexit654
  %.pn483.pn.pn.pn582 = phi { ptr, i32 } [ %487, %.thread577 ], [ %.pn483.pn.pn, %.loopexit654 ], [ %.pn483.pn.pn, %.preheader652.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %93) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %92) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %91) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %86) #7
  br label %499

499:                                              ; preds = %.loopexit653, %485
  %.pn483.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn582, %.loopexit653 ], [ %486, %485 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #7
  br label %.loopexit651.loopexit

.loopexit651.loopexit:                            ; preds = %499, %483
  %.pn483.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn483.pn.pn.pn.pn, %499 ], [ %484, %483 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #7
  br label %.loopexit651

.loopexit651:                                     ; preds = %.loopexit651.loopexit, %481
  %.pn483.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %482, %481 ], [ %.pn483.pn.pn.pn.pn.pn, %.loopexit651.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %89) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %89) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %88) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %87) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %86) #7
  br label %634

500:                                              ; preds = %266
  %501 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit647

502:                                              ; preds = %268
  %503 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit647.loopexit

504:                                              ; preds = %269
  %505 = landingpad { ptr, i32 }
          cleanup
  br label %518

.thread583:                                       ; preds = %270
  %506 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #7
  br label %.loopexit649

507:                                              ; preds = %271
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit650

509:                                              ; preds = %273
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit650.loopexit

511:                                              ; preds = %274
  %512 = landingpad { ptr, i32 }
          cleanup
  br label %515

513:                                              ; preds = %275
  %514 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %102) #7
  br label %515

515:                                              ; preds = %513, %511
  %.pn491 = phi { ptr, i32 } [ %514, %513 ], [ %512, %511 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %103) #7
  br label %.loopexit650.loopexit

.loopexit650.loopexit:                            ; preds = %515, %509
  %.pn491.pn = phi { ptr, i32 } [ %.pn491, %515 ], [ %510, %509 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %107) #7
  %516 = getelementptr inbounds i8, ptr %104, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %516) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  br label %.loopexit650

.loopexit650:                                     ; preds = %.loopexit650.loopexit, %507
  %517 = phi i1 [ false, %507 ], [ true, %.loopexit650.loopexit ]
  %.pn491.pn.pn = phi { ptr, i32 } [ %508, %507 ], [ %.pn491.pn, %.loopexit650.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %106) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %106) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %105) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %105) #7
  br i1 %517, label %.loopexit649, label %.preheader648.preheader

.preheader648.preheader:                          ; preds = %.loopexit650
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #7
  br label %.loopexit649

.loopexit649:                                     ; preds = %.preheader648.preheader, %.thread583, %.loopexit650
  %.pn491.pn.pn.pn588 = phi { ptr, i32 } [ %506, %.thread583 ], [ %.pn491.pn.pn, %.loopexit650 ], [ %.pn491.pn.pn, %.preheader648.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %104) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %103) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %102) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %97) #7
  br label %518

518:                                              ; preds = %.loopexit649, %504
  %.pn491.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn491.pn.pn.pn588, %.loopexit649 ], [ %505, %504 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  br label %.loopexit647.loopexit

.loopexit647.loopexit:                            ; preds = %518, %502
  %.pn491.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn491.pn.pn.pn.pn, %518 ], [ %503, %502 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %101) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %101) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #7
  br label %.loopexit647

.loopexit647:                                     ; preds = %.loopexit647.loopexit, %500
  %.pn491.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %501, %500 ], [ %.pn491.pn.pn.pn.pn.pn, %.loopexit647.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %100) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %98) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %97) #7
  br label %634

519:                                              ; preds = %276
  %520 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit643

521:                                              ; preds = %278
  %522 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit643.loopexit

523:                                              ; preds = %279
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %537

.thread589:                                       ; preds = %280
  %525 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #7
  br label %.loopexit645

526:                                              ; preds = %281
  %527 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit646

528:                                              ; preds = %283
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit646.loopexit

530:                                              ; preds = %284
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %534

532:                                              ; preds = %285
  %533 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %113) #7
  br label %534

534:                                              ; preds = %532, %530
  %.pn499 = phi { ptr, i32 } [ %533, %532 ], [ %531, %530 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %114) #7
  br label %.loopexit646.loopexit

.loopexit646.loopexit:                            ; preds = %534, %528
  %.pn499.pn = phi { ptr, i32 } [ %.pn499, %534 ], [ %529, %528 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %118) #7
  %535 = getelementptr inbounds i8, ptr %115, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %535) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  br label %.loopexit646

.loopexit646:                                     ; preds = %.loopexit646.loopexit, %526
  %536 = phi i1 [ false, %526 ], [ true, %.loopexit646.loopexit ]
  %.pn499.pn.pn = phi { ptr, i32 } [ %527, %526 ], [ %.pn499.pn, %.loopexit646.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %117) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %117) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #7
  br i1 %536, label %.loopexit645, label %.preheader644.preheader

.preheader644.preheader:                          ; preds = %.loopexit646
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  br label %.loopexit645

.loopexit645:                                     ; preds = %.preheader644.preheader, %.thread589, %.loopexit646
  %.pn499.pn.pn.pn594 = phi { ptr, i32 } [ %525, %.thread589 ], [ %.pn499.pn.pn, %.loopexit646 ], [ %.pn499.pn.pn, %.preheader644.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %115) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %114) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %113) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %108) #7
  br label %537

537:                                              ; preds = %.loopexit645, %523
  %.pn499.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn499.pn.pn.pn594, %.loopexit645 ], [ %524, %523 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %109) #7
  br label %.loopexit643.loopexit

.loopexit643.loopexit:                            ; preds = %537, %521
  %.pn499.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn499.pn.pn.pn.pn, %537 ], [ %522, %521 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %112) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %112) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %.loopexit643

.loopexit643:                                     ; preds = %.loopexit643.loopexit, %519
  %.pn499.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %520, %519 ], [ %.pn499.pn.pn.pn.pn.pn, %.loopexit643.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %109) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %108) #7
  br label %634

538:                                              ; preds = %286
  %539 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit639

540:                                              ; preds = %288
  %541 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit639.loopexit

542:                                              ; preds = %289
  %543 = landingpad { ptr, i32 }
          cleanup
  br label %556

.thread595:                                       ; preds = %290
  %544 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %127) #7
  br label %.loopexit641

545:                                              ; preds = %291
  %546 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit642

547:                                              ; preds = %293
  %548 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit642.loopexit

549:                                              ; preds = %294
  %550 = landingpad { ptr, i32 }
          cleanup
  br label %553

551:                                              ; preds = %295
  %552 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %124) #7
  br label %553

553:                                              ; preds = %551, %549
  %.pn507 = phi { ptr, i32 } [ %552, %551 ], [ %550, %549 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %125) #7
  br label %.loopexit642.loopexit

.loopexit642.loopexit:                            ; preds = %553, %547
  %.pn507.pn = phi { ptr, i32 } [ %.pn507, %553 ], [ %548, %547 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %129) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %129) #7
  %554 = getelementptr inbounds i8, ptr %126, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %554) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  br label %.loopexit642

.loopexit642:                                     ; preds = %.loopexit642.loopexit, %545
  %555 = phi i1 [ false, %545 ], [ true, %.loopexit642.loopexit ]
  %.pn507.pn.pn = phi { ptr, i32 } [ %546, %545 ], [ %.pn507.pn, %.loopexit642.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %128) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %128) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %127) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %127) #7
  br i1 %555, label %.loopexit641, label %.preheader640.preheader

.preheader640.preheader:                          ; preds = %.loopexit642
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #7
  br label %.loopexit641

.loopexit641:                                     ; preds = %.preheader640.preheader, %.thread595, %.loopexit642
  %.pn507.pn.pn.pn600 = phi { ptr, i32 } [ %544, %.thread595 ], [ %.pn507.pn.pn, %.loopexit642 ], [ %.pn507.pn.pn, %.preheader640.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %126) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %125) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %124) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %119) #7
  br label %556

556:                                              ; preds = %.loopexit641, %542
  %.pn507.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn507.pn.pn.pn600, %.loopexit641 ], [ %543, %542 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %120) #7
  br label %.loopexit639.loopexit

.loopexit639.loopexit:                            ; preds = %556, %540
  %.pn507.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn507.pn.pn.pn.pn, %556 ], [ %541, %540 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %123) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %123) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #7
  br label %.loopexit639

.loopexit639:                                     ; preds = %.loopexit639.loopexit, %538
  %.pn507.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %539, %538 ], [ %.pn507.pn.pn.pn.pn.pn, %.loopexit639.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %122) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %122) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %120) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %119) #7
  br label %634

557:                                              ; preds = %296
  %558 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit635

559:                                              ; preds = %298
  %560 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit635.loopexit

561:                                              ; preds = %299
  %562 = landingpad { ptr, i32 }
          cleanup
  br label %575

.thread601:                                       ; preds = %300
  %563 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %138) #7
  br label %.loopexit637

564:                                              ; preds = %301
  %565 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit638

566:                                              ; preds = %303
  %567 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit638.loopexit

568:                                              ; preds = %304
  %569 = landingpad { ptr, i32 }
          cleanup
  br label %572

570:                                              ; preds = %305
  %571 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %135) #7
  br label %572

572:                                              ; preds = %570, %568
  %.pn515 = phi { ptr, i32 } [ %571, %570 ], [ %569, %568 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %136) #7
  br label %.loopexit638.loopexit

.loopexit638.loopexit:                            ; preds = %572, %566
  %.pn515.pn = phi { ptr, i32 } [ %.pn515, %572 ], [ %567, %566 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %140) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %140) #7
  %573 = getelementptr inbounds i8, ptr %137, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %573) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #7
  br label %.loopexit638

.loopexit638:                                     ; preds = %.loopexit638.loopexit, %564
  %574 = phi i1 [ false, %564 ], [ true, %.loopexit638.loopexit ]
  %.pn515.pn.pn = phi { ptr, i32 } [ %565, %564 ], [ %.pn515.pn, %.loopexit638.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %139) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %138) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %138) #7
  br i1 %574, label %.loopexit637, label %.preheader636.preheader

.preheader636.preheader:                          ; preds = %.loopexit638
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #7
  br label %.loopexit637

.loopexit637:                                     ; preds = %.preheader636.preheader, %.thread601, %.loopexit638
  %.pn515.pn.pn.pn606 = phi { ptr, i32 } [ %563, %.thread601 ], [ %.pn515.pn.pn, %.loopexit638 ], [ %.pn515.pn.pn, %.preheader636.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %137) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %136) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %135) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %130) #7
  br label %575

575:                                              ; preds = %.loopexit637, %561
  %.pn515.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn515.pn.pn.pn606, %.loopexit637 ], [ %562, %561 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %131) #7
  br label %.loopexit635.loopexit

.loopexit635.loopexit:                            ; preds = %575, %559
  %.pn515.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn515.pn.pn.pn.pn, %575 ], [ %560, %559 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %134) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %134) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #7
  br label %.loopexit635

.loopexit635:                                     ; preds = %.loopexit635.loopexit, %557
  %.pn515.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %558, %557 ], [ %.pn515.pn.pn.pn.pn.pn, %.loopexit635.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %131) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %130) #7
  br label %634

576:                                              ; preds = %306
  %577 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit631

578:                                              ; preds = %308
  %579 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit631.loopexit

580:                                              ; preds = %309
  %581 = landingpad { ptr, i32 }
          cleanup
  br label %594

.thread607:                                       ; preds = %310
  %582 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %149) #7
  br label %.loopexit633

583:                                              ; preds = %311
  %584 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit634

585:                                              ; preds = %313
  %586 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit634.loopexit

587:                                              ; preds = %314
  %588 = landingpad { ptr, i32 }
          cleanup
  br label %591

589:                                              ; preds = %315
  %590 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #7
  br label %591

591:                                              ; preds = %589, %587
  %.pn523 = phi { ptr, i32 } [ %590, %589 ], [ %588, %587 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %147) #7
  br label %.loopexit634.loopexit

.loopexit634.loopexit:                            ; preds = %591, %585
  %.pn523.pn = phi { ptr, i32 } [ %.pn523, %591 ], [ %586, %585 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %151) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %151) #7
  %592 = getelementptr inbounds i8, ptr %148, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %592) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %.loopexit634

.loopexit634:                                     ; preds = %.loopexit634.loopexit, %583
  %593 = phi i1 [ false, %583 ], [ true, %.loopexit634.loopexit ]
  %.pn523.pn.pn = phi { ptr, i32 } [ %584, %583 ], [ %.pn523.pn, %.loopexit634.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %150) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %150) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %149) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %149) #7
  br i1 %593, label %.loopexit633, label %.preheader632.preheader

.preheader632.preheader:                          ; preds = %.loopexit634
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #7
  br label %.loopexit633

.loopexit633:                                     ; preds = %.preheader632.preheader, %.thread607, %.loopexit634
  %.pn523.pn.pn.pn612 = phi { ptr, i32 } [ %582, %.thread607 ], [ %.pn523.pn.pn, %.loopexit634 ], [ %.pn523.pn.pn, %.preheader632.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %148) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %147) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %146) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %141) #7
  br label %594

594:                                              ; preds = %.loopexit633, %580
  %.pn523.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn523.pn.pn.pn612, %.loopexit633 ], [ %581, %580 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %142) #7
  br label %.loopexit631.loopexit

.loopexit631.loopexit:                            ; preds = %594, %578
  %.pn523.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn523.pn.pn.pn.pn, %594 ], [ %579, %578 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %145) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %145) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #7
  br label %.loopexit631

.loopexit631:                                     ; preds = %.loopexit631.loopexit, %576
  %.pn523.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %577, %576 ], [ %.pn523.pn.pn.pn.pn.pn, %.loopexit631.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %144) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %144) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %143) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %142) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %141) #7
  br label %634

595:                                              ; preds = %316
  %596 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit627

597:                                              ; preds = %318
  %598 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit627.loopexit

599:                                              ; preds = %319
  %600 = landingpad { ptr, i32 }
          cleanup
  br label %613

.thread613:                                       ; preds = %320
  %601 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %160) #7
  br label %.loopexit629

602:                                              ; preds = %321
  %603 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit630

604:                                              ; preds = %323
  %605 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit630.loopexit

606:                                              ; preds = %324
  %607 = landingpad { ptr, i32 }
          cleanup
  br label %610

608:                                              ; preds = %325
  %609 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %157) #7
  br label %610

610:                                              ; preds = %608, %606
  %.pn531 = phi { ptr, i32 } [ %609, %608 ], [ %607, %606 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %158) #7
  br label %.loopexit630.loopexit

.loopexit630.loopexit:                            ; preds = %610, %604
  %.pn531.pn = phi { ptr, i32 } [ %.pn531, %610 ], [ %605, %604 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %162) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %162) #7
  %611 = getelementptr inbounds i8, ptr %159, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %611) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #7
  br label %.loopexit630

.loopexit630:                                     ; preds = %.loopexit630.loopexit, %602
  %612 = phi i1 [ false, %602 ], [ true, %.loopexit630.loopexit ]
  %.pn531.pn.pn = phi { ptr, i32 } [ %603, %602 ], [ %.pn531.pn, %.loopexit630.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %161) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %160) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %160) #7
  br i1 %612, label %.loopexit629, label %.preheader628.preheader

.preheader628.preheader:                          ; preds = %.loopexit630
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #7
  br label %.loopexit629

.loopexit629:                                     ; preds = %.preheader628.preheader, %.thread613, %.loopexit630
  %.pn531.pn.pn.pn618 = phi { ptr, i32 } [ %601, %.thread613 ], [ %.pn531.pn.pn, %.loopexit630 ], [ %.pn531.pn.pn, %.preheader628.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %159) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %158) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %157) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #7
  br label %613

613:                                              ; preds = %.loopexit629, %599
  %.pn531.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn531.pn.pn.pn618, %.loopexit629 ], [ %600, %599 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %153) #7
  br label %.loopexit627.loopexit

.loopexit627.loopexit:                            ; preds = %613, %597
  %.pn531.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn531.pn.pn.pn.pn, %613 ], [ %598, %597 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %156) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %156) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #7
  br label %.loopexit627

.loopexit627:                                     ; preds = %.loopexit627.loopexit, %595
  %.pn531.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %596, %595 ], [ %.pn531.pn.pn.pn.pn.pn, %.loopexit627.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %155) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %155) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %153) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %152) #7
  br label %634

614:                                              ; preds = %326
  %615 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit

616:                                              ; preds = %328
  %617 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.loopexit

618:                                              ; preds = %329
  %619 = landingpad { ptr, i32 }
          cleanup
  br label %632

.thread619:                                       ; preds = %330
  %620 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %171) #7
  br label %.loopexit625

621:                                              ; preds = %331
  %622 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit626

623:                                              ; preds = %333
  %624 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit626.loopexit

625:                                              ; preds = %334
  %626 = landingpad { ptr, i32 }
          cleanup
  br label %629

627:                                              ; preds = %335
  %628 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %168) #7
  br label %629

629:                                              ; preds = %627, %625
  %.pn539 = phi { ptr, i32 } [ %628, %627 ], [ %626, %625 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %169) #7
  br label %.loopexit626.loopexit

.loopexit626.loopexit:                            ; preds = %629, %623
  %.pn539.pn = phi { ptr, i32 } [ %.pn539, %629 ], [ %624, %623 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %173) #7
  %630 = getelementptr inbounds i8, ptr %170, i64 32
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %630) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #7
  br label %.loopexit626

.loopexit626:                                     ; preds = %.loopexit626.loopexit, %621
  %.pn539.pn.pn = phi { ptr, i32 } [ %622, %621 ], [ %.pn539.pn, %.loopexit626.loopexit ]
  %631 = phi i1 [ false, %621 ], [ true, %.loopexit626.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %172) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %172) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %171) #7
  br i1 %631, label %.loopexit625, label %.preheader.preheader

.preheader.preheader:                             ; preds = %.loopexit626
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #7
  br label %.loopexit625

.loopexit625:                                     ; preds = %.preheader.preheader, %.thread619, %.loopexit626
  %.pn539.pn.pn.pn624 = phi { ptr, i32 } [ %620, %.thread619 ], [ %.pn539.pn.pn, %.loopexit626 ], [ %.pn539.pn.pn, %.preheader.preheader ]
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %170) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %169) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %168) #7
  call void @_ZN6langcc6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %163) #7
  br label %632

632:                                              ; preds = %.loopexit625, %618
  %.pn539.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn539.pn.pn.pn624, %.loopexit625 ], [ %619, %618 ]
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %164) #7
  br label %.loopexit.loopexit

.loopexit.loopexit:                               ; preds = %632, %616
  %.pn539.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn539.pn.pn.pn.pn, %632 ], [ %617, %616 ]
  call void @_ZNSt15__new_allocatorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %167) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %167) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #7
  br label %.loopexit

.loopexit:                                        ; preds = %.loopexit.loopexit, %614
  %.pn539.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %615, %614 ], [ %.pn539.pn.pn.pn.pn.pn, %.loopexit.loopexit ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %166) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %166) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %164) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %163) #7
  br label %634

633:                                              ; preds = %181, %336
  ret ptr @_ZZN6langcc12builtins_cppB5cxx11EvE3retB5cxx11

634:                                              ; preds = %.loopexit, %.loopexit627, %.loopexit631, %.loopexit635, %.loopexit639, %.loopexit643, %.loopexit647, %.loopexit651, %.loopexit655, %.loopexit659, %.loopexit663, %.loopexit667, %.loopexit669, %.loopexit673, %.loopexit677, %.loopexit679, %184
  %.pn539.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn539.pn.pn.pn.pn.pn.pn, %.loopexit ], [ %.pn531.pn.pn.pn.pn.pn.pn, %.loopexit627 ], [ %.pn523.pn.pn.pn.pn.pn.pn, %.loopexit631 ], [ %.pn515.pn.pn.pn.pn.pn.pn, %.loopexit635 ], [ %.pn507.pn.pn.pn.pn.pn.pn, %.loopexit639 ], [ %.pn499.pn.pn.pn.pn.pn.pn, %.loopexit643 ], [ %.pn491.pn.pn.pn.pn.pn.pn, %.loopexit647 ], [ %.pn483.pn.pn.pn.pn.pn.pn, %.loopexit651 ], [ %.pn475.pn.pn.pn.pn.pn.pn, %.loopexit655 ], [ %.pn467.pn.pn.pn.pn.pn.pn, %.loopexit659 ], [ %.pn459.pn.pn.pn.pn.pn.pn, %.loopexit663 ], [ %.pn452.pn.pn.pn.pn.pn, %.loopexit667 ], [ %.pn444.pn.pn.pn.pn.pn.pn, %.loopexit669 ], [ %.pn436.pn.pn.pn.pn.pn.pn, %.loopexit673 ], [ %.pn429.pn.pn.pn.pn.pn, %.loopexit677 ], [ %.pn.pn.pn.pn.pn.pn, %.loopexit679 ], [ %185, %184 ]
  resume { ptr, i32 } %.pn539.pn.pn.pn.pn.pn.pn.pn
}

; Function Attrs: nofree nounwind
declare i32 @__cxa_guard_acquire(ptr) local_unnamed_addr #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_EC2Ev(ptr noundef nonnull align 8 dereferenceable(200)) unnamed_addr #5 align 2

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

; Function Attrs: nofree nounwind
declare void @__cxa_guard_abort(ptr) local_unnamed_addr #0

; Function Attrs: nofree nounwind
declare void @__cxa_guard_release(ptr) local_unnamed_addr #0

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN6langcc3MapINS_6rc_ptrINS_3VecINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEEEESA_E6insertERKSA_SD_(ptr noundef nonnull align 8 dereferenceable(200), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

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

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

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

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


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopSimplifyPass,SROAPass,SimplifyCFGPass,TailCallElimPass