; LLVM IR from fritzsedlazeck/SURVIVOR :: src/merge_vcf (combine_svs)

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

%"class.std::__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] }
%"struct.std::pair.15" = type { i8, i8 }
%"struct.std::pair" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%class.Parameter = type <{ %"class.std::__cxx11::basic_string", double, i32, i8, i8, i8, i8, i32, float, i32, [4 x i8] }>
%class.SVS_Node = type <{ i16, [6 x i8], %struct.breakpoint_str, %struct.breakpoint_str, %"class.std::vector", %"class.std::__cxx11::basic_string", %"struct.std::pair.13", %"struct.std::pair.15", [6 x i8], %"class.std::__cxx11::basic_string", [5 x i8], [4 x i8], [7 x i8] }>
%struct.breakpoint_str = type <{ %"class.std::__cxx11::basic_string", i32, [4 x i8] }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<Support_Node *, std::allocator<Support_Node *>>::_Vector_impl" }
%"struct.std::_Vector_base<Support_Node *, std::allocator<Support_Node *>>::_Vector_impl" = type { %"struct.std::_Vector_base<Support_Node *, std::allocator<Support_Node *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<Support_Node *, std::allocator<Support_Node *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::pair.13" = type { i32, i32 }
%class.Support_Node = type { i32, i32, %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"struct.std::pair.13", %"struct.std::pair.15", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"struct.std::pair", %"class.std::__cxx11::basic_string" }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [41 x i8], align 1

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

; 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 noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #0 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: mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z16is_valid_allelesSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E(ptr noundef) #2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN9Parameter8InstanceEv() #2 align 2

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #4

declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #5

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z13print_strandsB5cxx11St4pairIbbE(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i16) #2

; Function Attrs: mustprogress uwtable
define dso_local void @_Z9print_GTsRNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEEP8SVS_Node(ptr noundef nonnull align 8 dereferenceable(112) %0, ptr noundef %1) #2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca i64, align 8
  %7 = alloca i32, align 4
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"struct.std::pair.15", align 1
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca i64, align 8
  %13 = alloca i64, align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca i64, align 8
  %16 = alloca %"struct.std::pair", align 8
  %17 = alloca i64, align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %20 = load ptr, ptr %3, align 8, !tbaa !5
  %21 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef @.str.46)
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #7
  store i32 0, ptr %5, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #7
  store i64 0, ptr %6, align 8, !tbaa !11
  br label %22

22:                                               ; preds = %500, %2
  %23 = load i64, ptr %6, align 8, !tbaa !11
  %24 = call noundef ptr @_ZN9Parameter8InstanceEv()
  %25 = getelementptr inbounds %class.Parameter, ptr %24, i32 0, i32 2
  %26 = load i32, ptr %25, align 8, !tbaa !13
  %27 = sext i32 %26 to i64
  %28 = icmp ult i64 %23, %27
  br i1 %28, label %30, label %29

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

30:                                               ; preds = %22
  %31 = load ptr, ptr %3, align 8, !tbaa !5
  %32 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef @.str.47)
  %33 = load i32, ptr %5, align 4, !tbaa !9
  %34 = sext i32 %33 to i64
  %35 = load ptr, ptr %4, align 8, !tbaa !5
  %36 = getelementptr inbounds %class.SVS_Node, ptr %35, i32 0, i32 4
  %37 = call noundef i64 @_ZNKSt6vectorIP12Support_NodeSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %36) #7
  %38 = icmp ult i64 %34, %37
  br i1 %38, label %39, label %496

39:                                               ; preds = %30
  %40 = load i64, ptr %6, align 8, !tbaa !11
  %41 = load ptr, ptr %4, align 8, !tbaa !5
  %42 = getelementptr inbounds %class.SVS_Node, ptr %41, i32 0, i32 4
  %43 = load i32, ptr %5, align 4, !tbaa !9
  %44 = sext i32 %43 to i64
  %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %44) #7
  %46 = load ptr, ptr %45, align 8, !tbaa !5
  %47 = getelementptr inbounds %class.Support_Node, ptr %46, i32 0, i32 0
  %48 = load i32, ptr %47, align 8, !tbaa !20
  %49 = sext i32 %48 to i64
  %50 = icmp eq i64 %40, %49
  br i1 %50, label %51, label %496

51:                                               ; preds = %39
  %52 = load ptr, ptr %3, align 8, !tbaa !5
  %53 = load ptr, ptr %4, align 8, !tbaa !5
  %54 = getelementptr inbounds %class.SVS_Node, ptr %53, i32 0, i32 4
  %55 = load i32, ptr %5, align 4, !tbaa !9
  %56 = sext i32 %55 to i64
  %57 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %56) #7
  %58 = load ptr, ptr %57, align 8, !tbaa !5
  %59 = getelementptr inbounds %class.Support_Node, ptr %58, i32 0, i32 9
  %60 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %52, ptr noundef nonnull align 8 dereferenceable(32) %59)
  %61 = load ptr, ptr %3, align 8, !tbaa !5
  %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef @.str.48)
  %63 = load ptr, ptr %4, align 8, !tbaa !5
  %64 = getelementptr inbounds %class.SVS_Node, ptr %63, i32 0, i32 4
  %65 = load i32, ptr %5, align 4, !tbaa !9
  %66 = sext i32 %65 to i64
  %67 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %64, i64 noundef %66) #7
  %68 = load ptr, ptr %67, align 8, !tbaa !5
  %69 = getelementptr inbounds %class.Support_Node, ptr %68, i32 0, i32 10
  %70 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %69) #7
  br i1 %70, label %81, label %71

71:                                               ; preds = %51
  %72 = load ptr, ptr %3, align 8, !tbaa !5
  %73 = load ptr, ptr %4, align 8, !tbaa !5
  %74 = getelementptr inbounds %class.SVS_Node, ptr %73, i32 0, i32 4
  %75 = load i32, ptr %5, align 4, !tbaa !9
  %76 = sext i32 %75 to i64
  %77 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %74, i64 noundef %76) #7
  %78 = load ptr, ptr %77, align 8, !tbaa !5
  %79 = getelementptr inbounds %class.Support_Node, ptr %78, i32 0, i32 10
  %80 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 8 dereferenceable(32) %79)
  br label %84

81:                                               ; preds = %51
  %82 = load ptr, ptr %3, align 8, !tbaa !5
  %83 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef @.str.49)
  br label %84

84:                                               ; preds = %81, %71
  %85 = load ptr, ptr %3, align 8, !tbaa !5
  %86 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %85, ptr noundef @.str.48)
  %87 = load ptr, ptr %3, align 8, !tbaa !5
  %88 = load ptr, ptr %4, align 8, !tbaa !5
  %89 = getelementptr inbounds %class.SVS_Node, ptr %88, i32 0, i32 4
  %90 = load i32, ptr %5, align 4, !tbaa !9
  %91 = sext i32 %90 to i64
  %92 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %91) #7
  %93 = load ptr, ptr %92, align 8, !tbaa !5
  %94 = getelementptr inbounds %class.Support_Node, ptr %93, i32 0, i32 1
  %95 = load i32, ptr %94, align 4, !tbaa !33
  %96 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %87, i32 noundef %95)
  %97 = load ptr, ptr %3, align 8, !tbaa !5
  %98 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %97, ptr noundef @.str.48)
  %99 = load ptr, ptr %3, align 8, !tbaa !5
  %100 = load ptr, ptr %4, align 8, !tbaa !5
  %101 = getelementptr inbounds %class.SVS_Node, ptr %100, i32 0, i32 4
  %102 = load i32, ptr %5, align 4, !tbaa !9
  %103 = sext i32 %102 to i64
  %104 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %101, i64 noundef %103) #7
  %105 = load ptr, ptr %104, align 8, !tbaa !5
  %106 = getelementptr inbounds %class.Support_Node, ptr %105, i32 0, i32 7
  %107 = getelementptr inbounds %"struct.std::pair.13", ptr %106, i32 0, i32 0
  %108 = load i32, ptr %107, align 8, !tbaa !34
  %109 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %99, i32 noundef %108)
  %110 = load ptr, ptr %3, align 8, !tbaa !5
  %111 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %110, ptr noundef @.str.50)
  %112 = load ptr, ptr %3, align 8, !tbaa !5
  %113 = load ptr, ptr %4, align 8, !tbaa !5
  %114 = getelementptr inbounds %class.SVS_Node, ptr %113, i32 0, i32 4
  %115 = load i32, ptr %5, align 4, !tbaa !9
  %116 = sext i32 %115 to i64
  %117 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %114, i64 noundef %116) #7
  %118 = load ptr, ptr %117, align 8, !tbaa !5
  %119 = getelementptr inbounds %class.Support_Node, ptr %118, i32 0, i32 7
  %120 = getelementptr inbounds %"struct.std::pair.13", ptr %119, i32 0, i32 1
  %121 = load i32, ptr %120, align 4, !tbaa !35
  %122 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %112, i32 noundef %121)
  %123 = load ptr, ptr %3, align 8, !tbaa !5
  %124 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef @.str.48)
  %125 = load ptr, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #7
  %126 = load ptr, ptr %4, align 8, !tbaa !5
  %127 = getelementptr inbounds %class.SVS_Node, ptr %126, i32 0, i32 4
  %128 = load i32, ptr %5, align 4, !tbaa !9
  %129 = sext i32 %128 to i64
  %130 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %127, i64 noundef %129) #7
  %131 = load ptr, ptr %130, align 8, !tbaa !5
  %132 = getelementptr inbounds %class.Support_Node, ptr %131, i32 0, i32 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 8 %132, i64 2, i1 false)
  %133 = load i16, ptr %9, align 1
  call void @_Z13print_strandsB5cxx11St4pairIbbE(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %8, i16 %133)
  %134 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %125, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %135 unwind label %150

135:                                              ; preds = %84
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #7
  %136 = load ptr, ptr %3, align 8, !tbaa !5
  %137 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %136, ptr noundef @.str.48)
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #7
  store i64 0, ptr %12, align 8, !tbaa !11
  br label %138

138:                                              ; preds = %189, %135
  %139 = load i64, ptr %12, align 8, !tbaa !11
  %140 = load ptr, ptr %4, align 8, !tbaa !5
  %141 = getelementptr inbounds %class.SVS_Node, ptr %140, i32 0, i32 4
  %142 = load i32, ptr %5, align 4, !tbaa !9
  %143 = sext i32 %142 to i64
  %144 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %141, i64 noundef %143) #7
  %145 = load ptr, ptr %144, align 8, !tbaa !5
  %146 = getelementptr inbounds %class.Support_Node, ptr %145, i32 0, i32 2
  %147 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %146) #7
  %148 = icmp ult i64 %139, %147
  br i1 %148, label %154, label %149

149:                                              ; preds = %138
  store i32 5, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #7
  br label %192

150:                                              ; preds = %84
  %151 = landingpad { ptr, i32 }
          cleanup
  %152 = extractvalue { ptr, i32 } %151, 0
  store ptr %152, ptr %10, align 8
  %153 = extractvalue { ptr, i32 } %151, 1
  store i32 %153, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #7
  br label %503

154:                                              ; preds = %138
  %155 = load i64, ptr %12, align 8, !tbaa !11
  %156 = icmp ugt i64 %155, 0
  br i1 %156, label %157, label %160

157:                                              ; preds = %154
  %158 = load ptr, ptr %3, align 8, !tbaa !5
  %159 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %158, ptr noundef @.str.50)
  br label %160

160:                                              ; preds = %157, %154
  %161 = load ptr, ptr %4, align 8, !tbaa !5
  %162 = getelementptr inbounds %class.SVS_Node, ptr %161, i32 0, i32 4
  %163 = load i32, ptr %5, align 4, !tbaa !9
  %164 = sext i32 %163 to i64
  %165 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %162, i64 noundef %164) #7
  %166 = load ptr, ptr %165, align 8, !tbaa !5
  %167 = getelementptr inbounds %class.Support_Node, ptr %166, i32 0, i32 2
  %168 = load i64, ptr %12, align 8, !tbaa !11
  %169 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %167, i64 noundef %168) #7
  %170 = load i32, ptr %169, align 4, !tbaa !9
  %171 = icmp ne i32 %170, -1
  br i1 %171, label %172, label %185

172:                                              ; preds = %160
  %173 = load ptr, ptr %3, align 8, !tbaa !5
  %174 = load ptr, ptr %4, align 8, !tbaa !5
  %175 = getelementptr inbounds %class.SVS_Node, ptr %174, i32 0, i32 4
  %176 = load i32, ptr %5, align 4, !tbaa !9
  %177 = sext i32 %176 to i64
  %178 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %175, i64 noundef %177) #7
  %179 = load ptr, ptr %178, align 8, !tbaa !5
  %180 = getelementptr inbounds %class.Support_Node, ptr %179, i32 0, i32 2
  %181 = load i64, ptr %12, align 8, !tbaa !11
  %182 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %180, i64 noundef %181) #7
  %183 = load i32, ptr %182, align 4, !tbaa !9
  %184 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %173, i32 noundef %183)
  br label %188

185:                                              ; preds = %160
  %186 = load ptr, ptr %3, align 8, !tbaa !5
  %187 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef @.str.51)
  br label %188

188:                                              ; preds = %185, %172
  br label %189

189:                                              ; preds = %188
  %190 = load i64, ptr %12, align 8, !tbaa !11
  %191 = add i64 %190, 1
  store i64 %191, ptr %12, align 8, !tbaa !11
  br label %138, !llvm.loop !36

192:                                              ; preds = %149
  %193 = load ptr, ptr %3, align 8, !tbaa !5
  %194 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %193, ptr noundef @.str.48)
  %195 = load ptr, ptr %4, align 8, !tbaa !5
  %196 = getelementptr inbounds %class.SVS_Node, ptr %195, i32 0, i32 4
  %197 = load i32, ptr %5, align 4, !tbaa !9
  %198 = sext i32 %197 to i64
  %199 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %196, i64 noundef %198) #7
  %200 = load ptr, ptr %199, align 8, !tbaa !5
  %201 = getelementptr inbounds %class.Support_Node, ptr %200, i32 0, i32 3
  %202 = call noundef zeroext i1 @_ZNKSt6vectorIsSaIsEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %201) #7
  br i1 %202, label %203, label %206

203:                                              ; preds = %192
  %204 = load ptr, ptr %3, align 8, !tbaa !5
  %205 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %204, ptr noundef @.str.52)
  br label %247

206:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #7
  store i64 0, ptr %13, align 8, !tbaa !11
  br label %207

207:                                              ; preds = %239, %206
  %208 = load i64, ptr %13, align 8, !tbaa !11
  %209 = load ptr, ptr %4, align 8, !tbaa !5
  %210 = getelementptr inbounds %class.SVS_Node, ptr %209, i32 0, i32 4
  %211 = load i32, ptr %5, align 4, !tbaa !9
  %212 = sext i32 %211 to i64
  %213 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %210, i64 noundef %212) #7
  %214 = load ptr, ptr %213, align 8, !tbaa !5
  %215 = getelementptr inbounds %class.Support_Node, ptr %214, i32 0, i32 3
  %216 = call noundef i64 @_ZNKSt6vectorIsSaIsEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %215) #7
  %217 = icmp ult i64 %208, %216
  br i1 %217, label %219, label %218

218:                                              ; preds = %207
  store i32 8, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  br label %246

219:                                              ; preds = %207
  %220 = load i64, ptr %13, align 8, !tbaa !11
  %221 = icmp ugt i64 %220, 0
  br i1 %221, label %222, label %225

222:                                              ; preds = %219
  %223 = load ptr, ptr %3, align 8, !tbaa !5
  %224 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %223, ptr noundef @.str.50)
  br label %225

225:                                              ; preds = %222, %219
  %226 = load ptr, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #7
  %227 = load ptr, ptr %4, align 8, !tbaa !5
  %228 = getelementptr inbounds %class.SVS_Node, ptr %227, i32 0, i32 4
  %229 = load i32, ptr %5, align 4, !tbaa !9
  %230 = sext i32 %229 to i64
  %231 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %228, i64 noundef %230) #7
  %232 = load ptr, ptr %231, align 8, !tbaa !5
  %233 = getelementptr inbounds %class.Support_Node, ptr %232, i32 0, i32 3
  %234 = load i64, ptr %13, align 8, !tbaa !11
  %235 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %233, i64 noundef %234) #7
  %236 = load i16, ptr %235, align 2, !tbaa !38
  call void @_Z10trans_typeB5cxx11s(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, i16 noundef signext %236)
  %237 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %226, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %238 unwind label %242

238:                                              ; preds = %225
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %239

239:                                              ; preds = %238
  %240 = load i64, ptr %13, align 8, !tbaa !11
  %241 = add i64 %240, 1
  store i64 %241, ptr %13, align 8, !tbaa !11
  br label %207, !llvm.loop !40

242:                                              ; preds = %225
  %243 = landingpad { ptr, i32 }
          cleanup
  %244 = extractvalue { ptr, i32 } %243, 0
  store ptr %244, ptr %10, align 8
  %245 = extractvalue { ptr, i32 } %243, 1
  store i32 %245, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #7
  br label %503

246:                                              ; preds = %218
  br label %247

247:                                              ; preds = %246, %203
  %248 = load ptr, ptr %3, align 8, !tbaa !5
  %249 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %248, ptr noundef @.str.48)
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #7
  store i64 0, ptr %15, align 8, !tbaa !11
  br label %250

250:                                              ; preds = %292, %247
  %251 = load i64, ptr %15, align 8, !tbaa !11
  %252 = load ptr, ptr %4, align 8, !tbaa !5
  %253 = getelementptr inbounds %class.SVS_Node, ptr %252, i32 0, i32 4
  %254 = load i32, ptr %5, align 4, !tbaa !9
  %255 = sext i32 %254 to i64
  %256 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %253, i64 noundef %255) #7
  %257 = load ptr, ptr %256, align 8, !tbaa !5
  %258 = getelementptr inbounds %class.Support_Node, ptr %257, i32 0, i32 12
  %259 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %258) #7
  %260 = icmp ult i64 %251, %259
  br i1 %260, label %262, label %261

261:                                              ; preds = %250
  store i32 11, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #7
  br label %295

262:                                              ; preds = %250
  %263 = load ptr, ptr %4, align 8, !tbaa !5
  %264 = getelementptr inbounds %class.SVS_Node, ptr %263, i32 0, i32 4
  %265 = load i32, ptr %5, align 4, !tbaa !9
  %266 = sext i32 %265 to i64
  %267 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %264, i64 noundef %266) #7
  %268 = load ptr, ptr %267, align 8, !tbaa !5
  %269 = getelementptr inbounds %class.Support_Node, ptr %268, i32 0, i32 12
  %270 = load i64, ptr %15, align 8, !tbaa !11
  %271 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %269, i64 noundef %270)
  %272 = load i8, ptr %271, align 1, !tbaa !41
  %273 = sext i8 %272 to i32
  %274 = icmp ne i32 %273, 58
  br i1 %274, label %275, label %288

275:                                              ; preds = %262
  %276 = load ptr, ptr %3, align 8, !tbaa !5
  %277 = load ptr, ptr %4, align 8, !tbaa !5
  %278 = getelementptr inbounds %class.SVS_Node, ptr %277, i32 0, i32 4
  %279 = load i32, ptr %5, align 4, !tbaa !9
  %280 = sext i32 %279 to i64
  %281 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %278, i64 noundef %280) #7
  %282 = load ptr, ptr %281, align 8, !tbaa !5
  %283 = getelementptr inbounds %class.Support_Node, ptr %282, i32 0, i32 12
  %284 = load i64, ptr %15, align 8, !tbaa !11
  %285 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %283, i64 noundef %284)
  %286 = load i8, ptr %285, align 1, !tbaa !41
  %287 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %276, i8 noundef signext %286)
  br label %291

288:                                              ; preds = %262
  %289 = load ptr, ptr %3, align 8, !tbaa !5
  %290 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %289, ptr noundef @.str.1)
  br label %291

291:                                              ; preds = %288, %275
  br label %292

292:                                              ; preds = %291
  %293 = load i64, ptr %15, align 8, !tbaa !11
  %294 = add i64 %293, 1
  store i64 %294, ptr %15, align 8, !tbaa !11
  br label %250, !llvm.loop !42

295:                                              ; preds = %261
  %296 = load ptr, ptr %4, align 8, !tbaa !5
  %297 = getelementptr inbounds %class.SVS_Node, ptr %296, i32 0, i32 4
  %298 = load i32, ptr %5, align 4, !tbaa !9
  %299 = sext i32 %298 to i64
  %300 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %297, i64 noundef %299) #7
  %301 = load ptr, ptr %300, align 8, !tbaa !5
  %302 = getelementptr inbounds %class.Support_Node, ptr %301, i32 0, i32 11
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(64) %16, ptr noundef nonnull align 8 dereferenceable(64) %302)
  %303 = invoke noundef zeroext i1 @_Z16is_valid_allelesSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E(ptr noundef %16)
          to label %304 unwind label %330

304:                                              ; preds = %295
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(64) %16) #7
  br i1 %303, label %305, label %334

305:                                              ; preds = %304
  %306 = load ptr, ptr %3, align 8, !tbaa !5
  %307 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %306, ptr noundef @.str.48)
  %308 = load ptr, ptr %3, align 8, !tbaa !5
  %309 = load ptr, ptr %4, align 8, !tbaa !5
  %310 = getelementptr inbounds %class.SVS_Node, ptr %309, i32 0, i32 4
  %311 = load i32, ptr %5, align 4, !tbaa !9
  %312 = sext i32 %311 to i64
  %313 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %310, i64 noundef %312) #7
  %314 = load ptr, ptr %313, align 8, !tbaa !5
  %315 = getelementptr inbounds %class.Support_Node, ptr %314, i32 0, i32 11
  %316 = getelementptr inbounds %"struct.std::pair", ptr %315, i32 0, i32 0
  %317 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %308, ptr noundef nonnull align 8 dereferenceable(32) %316)
  %318 = load ptr, ptr %3, align 8, !tbaa !5
  %319 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %318, ptr noundef @.str.48)
  %320 = load ptr, ptr %3, align 8, !tbaa !5
  %321 = load ptr, ptr %4, align 8, !tbaa !5
  %322 = getelementptr inbounds %class.SVS_Node, ptr %321, i32 0, i32 4
  %323 = load i32, ptr %5, align 4, !tbaa !9
  %324 = sext i32 %323 to i64
  %325 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %322, i64 noundef %324) #7
  %326 = load ptr, ptr %325, align 8, !tbaa !5
  %327 = getelementptr inbounds %class.Support_Node, ptr %326, i32 0, i32 11
  %328 = getelementptr inbounds %"struct.std::pair", ptr %327, i32 0, i32 1
  %329 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %320, ptr noundef nonnull align 8 dereferenceable(32) %328)
  br label %343

330:                                              ; preds = %295
  %331 = landingpad { ptr, i32 }
          cleanup
  %332 = extractvalue { ptr, i32 } %331, 0
  store ptr %332, ptr %10, align 8
  %333 = extractvalue { ptr, i32 } %331, 1
  store i32 %333, ptr %11, align 4
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(64) %16) #7
  br label %503

334:                                              ; preds = %304
  %335 = load ptr, ptr %3, align 8, !tbaa !5
  %336 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %335, ptr noundef @.str.48)
  %337 = load ptr, ptr %3, align 8, !tbaa !5
  %338 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %337, ptr noundef @.str.49)
  %339 = load ptr, ptr %3, align 8, !tbaa !5
  %340 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %339, ptr noundef @.str.48)
  %341 = load ptr, ptr %3, align 8, !tbaa !5
  %342 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %341, ptr noundef @.str.49)
  br label %343

343:                                              ; preds = %334, %305
  %344 = load ptr, ptr %3, align 8, !tbaa !5
  %345 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef @.str.48)
  %346 = load ptr, ptr %4, align 8, !tbaa !5
  %347 = getelementptr inbounds %class.SVS_Node, ptr %346, i32 0, i32 4
  %348 = load i32, ptr %5, align 4, !tbaa !9
  %349 = sext i32 %348 to i64
  %350 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %347, i64 noundef %349) #7
  %351 = load ptr, ptr %350, align 8, !tbaa !5
  %352 = getelementptr inbounds %class.Support_Node, ptr %351, i32 0, i32 5
  %353 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %352) #7
  br i1 %353, label %354, label %357

354:                                              ; preds = %343
  %355 = load ptr, ptr %3, align 8, !tbaa !5
  %356 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %355, ptr noundef @.str.52)
  br label %357

357:                                              ; preds = %354, %343
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #7
  store i64 0, ptr %17, align 8, !tbaa !11
  br label %358

358:                                              ; preds = %490, %357
  %359 = load i64, ptr %17, align 8, !tbaa !11
  %360 = load ptr, ptr %4, align 8, !tbaa !5
  %361 = getelementptr inbounds %class.SVS_Node, ptr %360, i32 0, i32 4
  %362 = load i32, ptr %5, align 4, !tbaa !9
  %363 = sext i32 %362 to i64
  %364 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %361, i64 noundef %363) #7
  %365 = load ptr, ptr %364, align 8, !tbaa !5
  %366 = getelementptr inbounds %class.Support_Node, ptr %365, i32 0, i32 5
  %367 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %366) #7
  %368 = icmp ult i64 %359, %367
  br i1 %368, label %370, label %369

369:                                              ; preds = %358
  store i32 14, ptr %7, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #7
  br label %493

370:                                              ; preds = %358
  %371 = load i64, ptr %17, align 8, !tbaa !11
  %372 = icmp ugt i64 %371, 0
  br i1 %372, label %373, label %376

373:                                              ; preds = %370
  %374 = load ptr, ptr %3, align 8, !tbaa !5
  %375 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %374, ptr noundef @.str.50)
  br label %376

376:                                              ; preds = %373, %370
  %377 = load ptr, ptr %3, align 8, !tbaa !5
  %378 = load ptr, ptr %4, align 8, !tbaa !5
  %379 = getelementptr inbounds %class.SVS_Node, ptr %378, i32 0, i32 2
  %380 = getelementptr inbounds %struct.breakpoint_str, ptr %379, i32 0, i32 0
  %381 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %377, ptr noundef nonnull align 8 dereferenceable(32) %380)
  %382 = load ptr, ptr %3, align 8, !tbaa !5
  %383 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %382, ptr noundef @.str.1)
  %384 = load ptr, ptr %4, align 8, !tbaa !5
  %385 = getelementptr inbounds %class.SVS_Node, ptr %384, i32 0, i32 4
  %386 = load i32, ptr %5, align 4, !tbaa !9
  %387 = sext i32 %386 to i64
  %388 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %385, i64 noundef %387) #7
  %389 = load ptr, ptr %388, align 8, !tbaa !5
  %390 = getelementptr inbounds %class.Support_Node, ptr %389, i32 0, i32 5
  %391 = load i64, ptr %17, align 8, !tbaa !11
  %392 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %390, i64 noundef %391) #7
  %393 = load i32, ptr %392, align 4, !tbaa !9
  %394 = icmp ne i32 %393, 0
  br i1 %394, label %395, label %408

395:                                              ; preds = %376
  %396 = load ptr, ptr %3, align 8, !tbaa !5
  %397 = load ptr, ptr %4, align 8, !tbaa !5
  %398 = getelementptr inbounds %class.SVS_Node, ptr %397, i32 0, i32 4
  %399 = load i32, ptr %5, align 4, !tbaa !9
  %400 = sext i32 %399 to i64
  %401 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %398, i64 noundef %400) #7
  %402 = load ptr, ptr %401, align 8, !tbaa !5
  %403 = getelementptr inbounds %class.Support_Node, ptr %402, i32 0, i32 5
  %404 = load i64, ptr %17, align 8, !tbaa !11
  %405 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %403, i64 noundef %404) #7
  %406 = load i32, ptr %405, align 4, !tbaa !9
  %407 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %396, i32 noundef %406)
  br label %411

408:                                              ; preds = %376
  %409 = load ptr, ptr %3, align 8, !tbaa !5
  %410 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %409, ptr noundef @.str.53)
  br label %411

411:                                              ; preds = %408, %395
  %412 = load ptr, ptr %3, align 8, !tbaa !5
  %413 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %412, ptr noundef @.str.45)
  %414 = load ptr, ptr %3, align 8, !tbaa !5
  %415 = load ptr, ptr %4, align 8, !tbaa !5
  %416 = getelementptr inbounds %class.SVS_Node, ptr %415, i32 0, i32 3
  %417 = getelementptr inbounds %struct.breakpoint_str, ptr %416, i32 0, i32 0
  %418 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %414, ptr noundef nonnull align 8 dereferenceable(32) %417)
  %419 = load ptr, ptr %3, align 8, !tbaa !5
  %420 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %419, ptr noundef @.str.1)
  %421 = load ptr, ptr %4, align 8, !tbaa !5
  %422 = getelementptr inbounds %class.SVS_Node, ptr %421, i32 0, i32 4
  %423 = load i32, ptr %5, align 4, !tbaa !9
  %424 = sext i32 %423 to i64
  %425 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %422, i64 noundef %424) #7
  %426 = load ptr, ptr %425, align 8, !tbaa !5
  %427 = getelementptr inbounds %class.Support_Node, ptr %426, i32 0, i32 5
  %428 = load i64, ptr %17, align 8, !tbaa !11
  %429 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %427, i64 noundef %428) #7
  %430 = load i32, ptr %429, align 4, !tbaa !9
  %431 = icmp ne i32 %430, 0
  br i1 %431, label %432, label %486

432:                                              ; preds = %411
  %433 = load ptr, ptr %4, align 8, !tbaa !5
  %434 = getelementptr inbounds %class.SVS_Node, ptr %433, i32 0, i32 4
  %435 = load i32, ptr %5, align 4, !tbaa !9
  %436 = sext i32 %435 to i64
  %437 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %434, i64 noundef %436) #7
  %438 = load ptr, ptr %437, align 8, !tbaa !5
  %439 = getelementptr inbounds %class.Support_Node, ptr %438, i32 0, i32 3
  %440 = load i64, ptr %17, align 8, !tbaa !11
  %441 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %439, i64 noundef %440) #7
  %442 = load i16, ptr %441, align 2, !tbaa !38
  %443 = sext i16 %442 to i32
  %444 = icmp eq i32 %443, 4
  br i1 %444, label %445, label %472

445:                                              ; preds = %432
  %446 = load ptr, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #7
  %447 = load ptr, ptr %4, align 8, !tbaa !5
  %448 = getelementptr inbounds %class.SVS_Node, ptr %447, i32 0, i32 4
  %449 = load i32, ptr %5, align 4, !tbaa !9
  %450 = sext i32 %449 to i64
  %451 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %448, i64 noundef %450) #7
  %452 = load ptr, ptr %451, align 8, !tbaa !5
  %453 = getelementptr inbounds %class.Support_Node, ptr %452, i32 0, i32 6
  %454 = load i64, ptr %17, align 8, !tbaa !11
  %455 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %453, i64 noundef %454) #7
  %456 = load i32, ptr %455, align 4, !tbaa !9
  %457 = load ptr, ptr %4, align 8, !tbaa !5
  %458 = getelementptr inbounds %class.SVS_Node, ptr %457, i32 0, i32 4
  %459 = load i32, ptr %5, align 4, !tbaa !9
  %460 = sext i32 %459 to i64
  %461 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %458, i64 noundef %460) #7
  %462 = load ptr, ptr %461, align 8, !tbaa !5
  %463 = getelementptr inbounds %class.Support_Node, ptr %462, i32 0, i32 4
  %464 = load i64, ptr %17, align 8, !tbaa !11
  %465 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %463, i64 noundef %464) #7
  %466 = load i16, ptr %465, align 2, !tbaa !38
  %467 = sext i16 %466 to i32
  %468 = sub nsw i32 %456, %467
  store i32 %468, ptr %18, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #7
  store i32 1, ptr %19, align 4, !tbaa !9
  %469 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19)
  %470 = load i32, ptr %469, align 4, !tbaa !9
  %471 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %446, i32 noundef %470)
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #7
  br label %485

472:                                              ; preds = %432
  %473 = load ptr, ptr %3, align 8, !tbaa !5
  %474 = load ptr, ptr %4, align 8, !tbaa !5
  %475 = getelementptr inbounds %class.SVS_Node, ptr %474, i32 0, i32 4
  %476 = load i32, ptr %5, align 4, !tbaa !9
  %477 = sext i32 %476 to i64
  %478 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %475, i64 noundef %477) #7
  %479 = load ptr, ptr %478, align 8, !tbaa !5
  %480 = getelementptr inbounds %class.Support_Node, ptr %479, i32 0, i32 6
  %481 = load i64, ptr %17, align 8, !tbaa !11
  %482 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %480, i64 noundef %481) #7
  %483 = load i32, ptr %482, align 4, !tbaa !9
  %484 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %473, i32 noundef %483)
  br label %485

485:                                              ; preds = %472, %445
  br label %489

486:                                              ; preds = %411
  %487 = load ptr, ptr %3, align 8, !tbaa !5
  %488 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %487, ptr noundef @.str.53)
  br label %489

489:                                              ; preds = %486, %485
  br label %490

490:                                              ; preds = %489
  %491 = load i64, ptr %17, align 8, !tbaa !11
  %492 = add i64 %491, 1
  store i64 %492, ptr %17, align 8, !tbaa !11
  br label %358, !llvm.loop !43

493:                                              ; preds = %369
  %494 = load i32, ptr %5, align 4, !tbaa !9
  %495 = add nsw i32 %494, 1
  store i32 %495, ptr %5, align 4, !tbaa !9
  br label %499

496:                                              ; preds = %39, %30
  %497 = load ptr, ptr %3, align 8, !tbaa !5
  %498 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %497, ptr noundef @.str.54)
  br label %499

499:                                              ; preds = %496, %493
  br label %500

500:                                              ; preds = %499
  %501 = load i64, ptr %6, align 8, !tbaa !11
  %502 = add i64 %501, 1
  store i64 %502, ptr %6, align 8, !tbaa !11
  br label %22, !llvm.loop !44

503:                                              ; preds = %330, %242, %150
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #7
  br label %505

504:                                              ; preds = %29
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #7
  ret void

505:                                              ; preds = %503
  %506 = load ptr, ptr %10, align 8
  %507 = load i32, ptr %11, align 4
  %508 = insertvalue { ptr, i32 } poison, ptr %506, 0
  %509 = insertvalue { ptr, i32 } %508, i32 %507, 1
  resume { ptr, i32 } %509
}

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

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

declare void @_Z10trans_typeB5cxx11s(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i16 noundef signext) #5

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8), i8 noundef signext) #4

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !10, i64 40}
!14 = !{!"_ZTS9Parameter", !15, i64 0, !17, i64 32, !10, i64 40, !18, i64 44, !18, i64 45, !18, i64 46, !10, i64 48, !19, i64 52, !10, i64 56}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !12, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!17 = !{!"double", !7, i64 0}
!18 = !{!"bool", !7, i64 0}
!19 = !{!"float", !7, i64 0}
!20 = !{!21, !10, i64 0}
!21 = !{!"_ZTS12Support_Node", !10, i64 0, !10, i64 4, !22, i64 8, !26, i64 32, !26, i64 56, !22, i64 80, !22, i64 104, !30, i64 128, !31, i64 136, !15, i64 144, !15, i64 176, !32, i64 208, !15, i64 272}
!22 = !{!"_ZTSSt6vectorIiSaIiEE", !23, i64 0}
!23 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!26 = !{!"_ZTSSt6vectorIsSaIsEE", !27, i64 0}
!27 = !{!"_ZTSSt12_Vector_baseIsSaIsEE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE12_Vector_implE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!30 = !{!"_ZTSSt4pairIiiE", !10, i64 0, !10, i64 4}
!31 = !{!"_ZTSSt4pairIbbE", !18, i64 0, !18, i64 1}
!32 = !{!"_ZTSSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E", !15, i64 0, !15, i64 32}
!33 = !{!21, !10, i64 4}
!34 = !{!21, !10, i64 128}
!35 = !{!21, !10, i64 132}
!36 = distinct !{!36, !37}
!37 = !{!"llvm.loop.mustprogress"}
!38 = !{!39, !39, i64 0}
!39 = !{!"short", !7, i64 0}
!40 = distinct !{!40, !37}
!41 = !{!7, !7, i64 0}
!42 = distinct !{!42, !37}
!43 = distinct !{!43, !37}
!44 = distinct !{!44, !37}


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

%"class.std::__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] }
%"struct.std::pair" = type { %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }

@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [41 x i8], align 1

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

; 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 noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #0 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: mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z16is_valid_allelesSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E(ptr noundef) local_unnamed_addr #2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN9Parameter8InstanceEv() local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIP12Support_NodeSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0 align 2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #3

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0 align 2

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_Z13print_strandsB5cxx11St4pairIbbE(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i16) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
define dso_local void @_Z9print_GTsRNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEEP8SVS_Node(ptr noundef nonnull align 8 dereferenceable(112) %0, ptr noundef %1) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"struct.std::pair", align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.46)
  %9 = tail call noundef ptr @_ZN9Parameter8InstanceEv()
  %10 = getelementptr inbounds i8, ptr %9, i64 40
  %11 = load i32, ptr %10, align 8, !tbaa !5
  %.not169 = icmp eq i32 %11, 0
  br i1 %.not169, label %._crit_edge168, label %.lr.ph167

.lr.ph167:                                        ; preds = %2
  %12 = getelementptr inbounds i8, ptr %1, i64 88
  %13 = getelementptr inbounds i8, ptr %1, i64 8
  %14 = getelementptr inbounds i8, ptr %1, i64 48
  br label %15

._crit_edge168:                                   ; preds = %347, %2
  ret void

15:                                               ; preds = %.lr.ph167, %347
  %.0142165 = phi i32 [ 0, %.lr.ph167 ], [ %.1, %347 ]
  %.0143163 = phi i64 [ 0, %.lr.ph167 ], [ %348, %347 ]
  %16 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.47)
  %17 = sext i32 %.0142165 to i64
  %18 = call noundef i64 @_ZNKSt6vectorIP12Support_NodeSaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %12) #6
  %19 = icmp ugt i64 %18, %17
  br i1 %19, label %20, label %345

20:                                               ; preds = %15
  %21 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %22 = load ptr, ptr %21, align 8, !tbaa !17
  %23 = load i32, ptr %22, align 8, !tbaa !18
  %24 = sext i32 %23 to i64
  %25 = icmp eq i64 %.0143163, %24
  br i1 %25, label %26, label %345

26:                                               ; preds = %20
  %27 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %28 = load ptr, ptr %27, align 8, !tbaa !17
  %29 = getelementptr inbounds i8, ptr %28, i64 144
  %30 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %29)
  %31 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %32 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %33 = load ptr, ptr %32, align 8, !tbaa !17
  %34 = getelementptr inbounds i8, ptr %33, i64 176
  %35 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %34) #6
  br i1 %35, label %41, label %36

36:                                               ; preds = %26
  %37 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %38 = load ptr, ptr %37, align 8, !tbaa !17
  %39 = getelementptr inbounds i8, ptr %38, i64 176
  %40 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %39)
  br label %43

41:                                               ; preds = %26
  %42 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.49)
  br label %43

43:                                               ; preds = %41, %36
  %44 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %45 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %46 = load ptr, ptr %45, align 8, !tbaa !17
  %47 = getelementptr inbounds i8, ptr %46, i64 4
  %48 = load i32, ptr %47, align 4, !tbaa !31
  %49 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %48)
  %50 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %51 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %52 = load ptr, ptr %51, align 8, !tbaa !17
  %53 = getelementptr inbounds i8, ptr %52, i64 128
  %54 = load i32, ptr %53, align 8, !tbaa !32
  %55 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %54)
  %56 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.50)
  %57 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %58 = load ptr, ptr %57, align 8, !tbaa !17
  %59 = getelementptr inbounds i8, ptr %58, i64 132
  %60 = load i32, ptr %59, align 4, !tbaa !33
  %61 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %60)
  %62 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #6
  %63 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %64 = load ptr, ptr %63, align 8, !tbaa !17
  %65 = getelementptr inbounds i8, ptr %64, i64 136
  %.sroa.0.0.copyload = load i16, ptr %65, align 8
  call void @_Z13print_strandsB5cxx11St4pairIbbE(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %3, i16 %.sroa.0.0.copyload)
  %66 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %67 unwind label %114

67:                                               ; preds = %43
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #6
  %68 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %69 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %70 = load ptr, ptr %69, align 8, !tbaa !17
  %71 = getelementptr inbounds i8, ptr %70, i64 8
  %72 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %71) #6
  %.not170 = icmp eq i64 %72, 0
  br i1 %.not170, label %._crit_edge, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %67
  %73 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %74 = load ptr, ptr %73, align 8, !tbaa !17
  %75 = getelementptr inbounds i8, ptr %74, i64 8
  %76 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %75, i64 noundef 0) #6
  %77 = load i32, ptr %76, align 4, !tbaa !34
  %.not151.peel = icmp eq i32 %77, -1
  br i1 %.not151.peel, label %85, label %78

78:                                               ; preds = %.lr.ph.preheader
  %79 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %80 = load ptr, ptr %79, align 8, !tbaa !17
  %81 = getelementptr inbounds i8, ptr %80, i64 8
  %82 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %81, i64 noundef 0) #6
  %83 = load i32, ptr %82, align 4, !tbaa !34
  %84 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %83)
  br label %87

85:                                               ; preds = %.lr.ph.preheader
  %86 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.51)
  br label %87

87:                                               ; preds = %85, %78
  %88 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %89 = load ptr, ptr %88, align 8, !tbaa !17
  %90 = getelementptr inbounds i8, ptr %89, i64 8
  %91 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %90) #6
  %92 = icmp ugt i64 %91, 1
  br i1 %92, label %.lr.ph.peel.next, label %._crit_edge

._crit_edge:                                      ; preds = %131, %87, %67
  %93 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %94 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %95 = load ptr, ptr %94, align 8, !tbaa !17
  %96 = getelementptr inbounds i8, ptr %95, i64 32
  %97 = call noundef zeroext i1 @_ZNKSt6vectorIsSaIsEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %96) #6
  br i1 %97, label %138, label %.preheader

.preheader:                                       ; preds = %._crit_edge
  %98 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %99 = load ptr, ptr %98, align 8, !tbaa !17
  %100 = getelementptr inbounds i8, ptr %99, i64 32
  %101 = call noundef i64 @_ZNKSt6vectorIsSaIsEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %100) #6
  %.not171 = icmp eq i64 %101, 0
  br i1 %.not171, label %.loopexit, label %.lr.ph154.preheader

.lr.ph154.preheader:                              ; preds = %.preheader
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #6
  %102 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %103 = load ptr, ptr %102, align 8, !tbaa !17
  %104 = getelementptr inbounds i8, ptr %103, i64 32
  %105 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef 0) #6
  %106 = load i16, ptr %105, align 2, !tbaa !35
  call void @_Z10trans_typeB5cxx11s(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, i16 noundef signext %106)
  %107 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %108 unwind label %.loopexit.split-lp

108:                                              ; preds = %.lr.ph154.preheader
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  %109 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %110 = load ptr, ptr %109, align 8, !tbaa !17
  %111 = getelementptr inbounds i8, ptr %110, i64 32
  %112 = call noundef i64 @_ZNKSt6vectorIsSaIsEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %111) #6
  %113 = icmp ugt i64 %112, 1
  br i1 %113, label %.lr.ph154.peel.next, label %.loopexit

114:                                              ; preds = %43
  %115 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #6
  br label %354

.lr.ph.peel.next:                                 ; preds = %87, %131
  %.0139152 = phi i64 [ %132, %131 ], [ 1, %87 ]
  %116 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.50)
  %117 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %118 = load ptr, ptr %117, align 8, !tbaa !17
  %119 = getelementptr inbounds i8, ptr %118, i64 8
  %120 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %119, i64 noundef %.0139152) #6
  %121 = load i32, ptr %120, align 4, !tbaa !34
  %.not151 = icmp eq i32 %121, -1
  br i1 %.not151, label %129, label %122

122:                                              ; preds = %.lr.ph.peel.next
  %123 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %124 = load ptr, ptr %123, align 8, !tbaa !17
  %125 = getelementptr inbounds i8, ptr %124, i64 8
  %126 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %125, i64 noundef %.0139152) #6
  %127 = load i32, ptr %126, align 4, !tbaa !34
  %128 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %127)
  br label %131

129:                                              ; preds = %.lr.ph.peel.next
  %130 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.51)
  br label %131

131:                                              ; preds = %122, %129
  %132 = add nuw i64 %.0139152, 1
  %133 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %134 = load ptr, ptr %133, align 8, !tbaa !17
  %135 = getelementptr inbounds i8, ptr %134, i64 8
  %136 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %135) #6
  %137 = icmp ult i64 %132, %136
  br i1 %137, label %.lr.ph.peel.next, label %._crit_edge, !llvm.loop !37

138:                                              ; preds = %._crit_edge
  %139 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.52)
  br label %.loopexit

.lr.ph154.peel.next:                              ; preds = %108, %147
  %.0138153 = phi i64 [ %148, %147 ], [ 1, %108 ]
  %140 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.50)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #6
  %141 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %142 = load ptr, ptr %141, align 8, !tbaa !17
  %143 = getelementptr inbounds i8, ptr %142, i64 32
  %144 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %143, i64 noundef %.0138153) #6
  %145 = load i16, ptr %144, align 2, !tbaa !35
  call void @_Z10trans_typeB5cxx11s(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %4, i16 noundef signext %145)
  %146 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %147 unwind label %.loopexit176

147:                                              ; preds = %.lr.ph154.peel.next
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  %148 = add nuw i64 %.0138153, 1
  %149 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %150 = load ptr, ptr %149, align 8, !tbaa !17
  %151 = getelementptr inbounds i8, ptr %150, i64 32
  %152 = call noundef i64 @_ZNKSt6vectorIsSaIsEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %151) #6
  %153 = icmp ult i64 %148, %152
  br i1 %153, label %.lr.ph154.peel.next, label %.loopexit, !llvm.loop !40

.loopexit176:                                     ; preds = %.lr.ph154.peel.next
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %154

.loopexit.split-lp:                               ; preds = %.lr.ph154.preheader
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %154

154:                                              ; preds = %.loopexit.split-lp, %.loopexit176
  %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit176 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  br label %354

.loopexit:                                        ; preds = %147, %108, %.preheader, %138
  %155 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %156 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %157 = load ptr, ptr %156, align 8, !tbaa !17
  %158 = getelementptr inbounds i8, ptr %157, i64 272
  %159 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %158) #6
  %.not172 = icmp eq i64 %159, 0
  br i1 %.not172, label %._crit_edge158, label %.lr.ph157

._crit_edge158:                                   ; preds = %178, %.loopexit
  %160 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %161 = load ptr, ptr %160, align 8, !tbaa !17
  %162 = getelementptr inbounds i8, ptr %161, i64 208
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_EC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(64) %5, ptr noundef nonnull align 8 dereferenceable(64) %162)
  %163 = invoke noundef zeroext i1 @_Z16is_valid_allelesSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E(ptr noundef nonnull %5)
          to label %185 unwind label %197

.lr.ph157:                                        ; preds = %.loopexit, %178
  %.0137155 = phi i64 [ %179, %178 ], [ 0, %.loopexit ]
  %164 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %165 = load ptr, ptr %164, align 8, !tbaa !17
  %166 = getelementptr inbounds i8, ptr %165, i64 272
  %167 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %166, i64 noundef %.0137155)
  %168 = load i8, ptr %167, align 1, !tbaa !41
  %.not149 = icmp eq i8 %168, 58
  br i1 %.not149, label %176, label %169

169:                                              ; preds = %.lr.ph157
  %170 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %171 = load ptr, ptr %170, align 8, !tbaa !17
  %172 = getelementptr inbounds i8, ptr %171, i64 272
  %173 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %172, i64 noundef %.0137155)
  %174 = load i8, ptr %173, align 1, !tbaa !41
  %175 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8) %0, i8 noundef signext %174)
  br label %178

176:                                              ; preds = %.lr.ph157
  %177 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.1)
  br label %178

178:                                              ; preds = %169, %176
  %179 = add nuw i64 %.0137155, 1
  %180 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %181 = load ptr, ptr %180, align 8, !tbaa !17
  %182 = getelementptr inbounds i8, ptr %181, i64 272
  %183 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %182) #6
  %184 = icmp ult i64 %179, %183
  br i1 %184, label %.lr.ph157, label %._crit_edge158, !llvm.loop !42

185:                                              ; preds = %._crit_edge158
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(64) %5) #6
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  br i1 %163, label %187, label %199

187:                                              ; preds = %185
  %188 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %189 = load ptr, ptr %188, align 8, !tbaa !17
  %190 = getelementptr inbounds i8, ptr %189, i64 208
  %191 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %190)
  %192 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %193 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %194 = load ptr, ptr %193, align 8, !tbaa !17
  %195 = getelementptr inbounds i8, ptr %194, i64 240
  %196 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %195)
  br label %203

197:                                              ; preds = %._crit_edge158
  %198 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ED2Ev(ptr noundef nonnull align 8 dereferenceable(64) %5) #6
  br label %354

199:                                              ; preds = %185
  %200 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.49)
  %201 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %202 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.49)
  br label %203

203:                                              ; preds = %199, %187
  %204 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.48)
  %205 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %206 = load ptr, ptr %205, align 8, !tbaa !17
  %207 = getelementptr inbounds i8, ptr %206, i64 80
  %208 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %207) #6
  br i1 %208, label %209, label %211

209:                                              ; preds = %203
  %210 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.52)
  br label %211

211:                                              ; preds = %209, %203
  %212 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %213 = load ptr, ptr %212, align 8, !tbaa !17
  %214 = getelementptr inbounds i8, ptr %213, i64 80
  %215 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %214) #6
  %.not173 = icmp eq i64 %215, 0
  br i1 %.not173, label %._crit_edge162, label %.lr.ph161.preheader

.lr.ph161.preheader:                              ; preds = %211
  %216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %13)
  %217 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.1)
  %218 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %219 = load ptr, ptr %218, align 8, !tbaa !17
  %220 = getelementptr inbounds i8, ptr %219, i64 80
  %221 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %220, i64 noundef 0) #6
  %222 = load i32, ptr %221, align 4, !tbaa !34
  %.not147.peel = icmp eq i32 %222, 0
  br i1 %.not147.peel, label %230, label %223

223:                                              ; preds = %.lr.ph161.preheader
  %224 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %225 = load ptr, ptr %224, align 8, !tbaa !17
  %226 = getelementptr inbounds i8, ptr %225, i64 80
  %227 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %226, i64 noundef 0) #6
  %228 = load i32, ptr %227, align 4, !tbaa !34
  %229 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %228)
  br label %232

230:                                              ; preds = %.lr.ph161.preheader
  %231 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.53)
  br label %232

232:                                              ; preds = %230, %223
  %233 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.45)
  %234 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %14)
  %235 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.1)
  %236 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %237 = load ptr, ptr %236, align 8, !tbaa !17
  %238 = getelementptr inbounds i8, ptr %237, i64 80
  %239 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %238, i64 noundef 0) #6
  %240 = load i32, ptr %239, align 4, !tbaa !34
  %.not148.peel = icmp eq i32 %240, 0
  br i1 %.not148.peel, label %271, label %241

241:                                              ; preds = %232
  %242 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %243 = load ptr, ptr %242, align 8, !tbaa !17
  %244 = getelementptr inbounds i8, ptr %243, i64 32
  %245 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %244, i64 noundef 0) #6
  %246 = load i16, ptr %245, align 2, !tbaa !35
  %247 = icmp eq i16 %246, 4
  br i1 %247, label %255, label %248

248:                                              ; preds = %241
  %249 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %250 = load ptr, ptr %249, align 8, !tbaa !17
  %251 = getelementptr inbounds i8, ptr %250, i64 104
  %252 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %251, i64 noundef 0) #6
  %253 = load i32, ptr %252, align 4, !tbaa !34
  %254 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %253)
  br label %273

255:                                              ; preds = %241
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #6
  %256 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %257 = load ptr, ptr %256, align 8, !tbaa !17
  %258 = getelementptr inbounds i8, ptr %257, i64 104
  %259 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %258, i64 noundef 0) #6
  %260 = load i32, ptr %259, align 4, !tbaa !34
  %261 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %262 = load ptr, ptr %261, align 8, !tbaa !17
  %263 = getelementptr inbounds i8, ptr %262, i64 56
  %264 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %263, i64 noundef 0) #6
  %265 = load i16, ptr %264, align 2, !tbaa !35
  %266 = sext i16 %265 to i32
  %267 = sub nsw i32 %260, %266
  store i32 %267, ptr %6, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #6
  store i32 1, ptr %7, align 4, !tbaa !34
  %268 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 4 dereferenceable(4) %7)
  %269 = load i32, ptr %268, align 4, !tbaa !34
  %270 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %269)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #6
  br label %273

271:                                              ; preds = %232
  %272 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.53)
  br label %273

273:                                              ; preds = %271, %255, %248
  %274 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %275 = load ptr, ptr %274, align 8, !tbaa !17
  %276 = getelementptr inbounds i8, ptr %275, i64 80
  %277 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %276) #6
  %278 = icmp ugt i64 %277, 1
  br i1 %278, label %.lr.ph161.peel.next, label %._crit_edge162

._crit_edge162:                                   ; preds = %338, %273, %211
  %279 = add nsw i32 %.0142165, 1
  br label %347

.lr.ph161.peel.next:                              ; preds = %273, %338
  %.0159 = phi i64 [ %339, %338 ], [ 1, %273 ]
  %280 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.50)
  %281 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %13)
  %282 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.1)
  %283 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %284 = load ptr, ptr %283, align 8, !tbaa !17
  %285 = getelementptr inbounds i8, ptr %284, i64 80
  %286 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %285, i64 noundef %.0159) #6
  %287 = load i32, ptr %286, align 4, !tbaa !34
  %.not147 = icmp eq i32 %287, 0
  br i1 %.not147, label %295, label %288

288:                                              ; preds = %.lr.ph161.peel.next
  %289 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %290 = load ptr, ptr %289, align 8, !tbaa !17
  %291 = getelementptr inbounds i8, ptr %290, i64 80
  %292 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %291, i64 noundef %.0159) #6
  %293 = load i32, ptr %292, align 4, !tbaa !34
  %294 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %293)
  br label %297

295:                                              ; preds = %.lr.ph161.peel.next
  %296 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.53)
  br label %297

297:                                              ; preds = %295, %288
  %298 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.45)
  %299 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(32) %14)
  %300 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.1)
  %301 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %302 = load ptr, ptr %301, align 8, !tbaa !17
  %303 = getelementptr inbounds i8, ptr %302, i64 80
  %304 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %303, i64 noundef %.0159) #6
  %305 = load i32, ptr %304, align 4, !tbaa !34
  %.not148 = icmp eq i32 %305, 0
  br i1 %.not148, label %336, label %306

306:                                              ; preds = %297
  %307 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %308 = load ptr, ptr %307, align 8, !tbaa !17
  %309 = getelementptr inbounds i8, ptr %308, i64 32
  %310 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %309, i64 noundef %.0159) #6
  %311 = load i16, ptr %310, align 2, !tbaa !35
  %312 = icmp eq i16 %311, 4
  br i1 %312, label %313, label %329

313:                                              ; preds = %306
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #6
  %314 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %315 = load ptr, ptr %314, align 8, !tbaa !17
  %316 = getelementptr inbounds i8, ptr %315, i64 104
  %317 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %.0159) #6
  %318 = load i32, ptr %317, align 4, !tbaa !34
  %319 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %320 = load ptr, ptr %319, align 8, !tbaa !17
  %321 = getelementptr inbounds i8, ptr %320, i64 56
  %322 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorIsSaIsEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %321, i64 noundef %.0159) #6
  %323 = load i16, ptr %322, align 2, !tbaa !35
  %324 = sext i16 %323 to i32
  %325 = sub nsw i32 %318, %324
  store i32 %325, ptr %6, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #6
  store i32 1, ptr %7, align 4, !tbaa !34
  %326 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 4 dereferenceable(4) %7)
  %327 = load i32, ptr %326, align 4, !tbaa !34
  %328 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %327)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #6
  br label %338

329:                                              ; preds = %306
  %330 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %331 = load ptr, ptr %330, align 8, !tbaa !17
  %332 = getelementptr inbounds i8, ptr %331, i64 104
  %333 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %332, i64 noundef %.0159) #6
  %334 = load i32, ptr %333, align 4, !tbaa !34
  %335 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEi(ptr noundef nonnull align 8 dereferenceable(8) %0, i32 noundef %334)
  br label %338

336:                                              ; preds = %297
  %337 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.53)
  br label %338

338:                                              ; preds = %336, %329, %313
  %339 = add nuw i64 %.0159, 1
  %340 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIP12Support_NodeSaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %17) #6
  %341 = load ptr, ptr %340, align 8, !tbaa !17
  %342 = getelementptr inbounds i8, ptr %341, i64 80
  %343 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %342) #6
  %344 = icmp ult i64 %339, %343
  br i1 %344, label %.lr.ph161.peel.next, label %._crit_edge162, !llvm.loop !43

345:                                              ; preds = %20, %15
  %346 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull @.str.54)
  br label %347

347:                                              ; preds = %._crit_edge162, %345
  %.1 = phi i32 [ %279, %._crit_edge162 ], [ %.0142165, %345 ]
  %348 = add nuw i64 %.0143163, 1
  %349 = call noundef ptr @_ZN9Parameter8InstanceEv()
  %350 = getelementptr inbounds i8, ptr %349, i64 40
  %351 = load i32, ptr %350, align 8, !tbaa !5
  %352 = sext i32 %351 to i64
  %353 = icmp ult i64 %348, %352
  br i1 %353, label %15, label %._crit_edge168, !llvm.loop !44

354:                                              ; preds = %197, %154, %114
  %.pn = phi { ptr, i32 } [ %198, %197 ], [ %lpad.phi, %154 ], [ %115, %114 ]
  resume { ptr, i32 } %.pn
}

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt6vectorIsSaIsEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIsSaIsEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0 align 2

declare void @_Z10trans_typeB5cxx11s(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, i16 noundef signext) local_unnamed_addr #4

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_c(ptr noundef nonnull align 8 dereferenceable(8), i8 noundef signext) local_unnamed_addr #3

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #0 align 2

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !14, i64 40}
!6 = !{!"_ZTS9Parameter", !7, i64 0, !13, i64 32, !14, i64 40, !15, i64 44, !15, i64 45, !15, i64 46, !14, i64 48, !16, i64 52, !14, i64 56}
!7 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !8, i64 0, !12, i64 8, !10, i64 16}
!8 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"long", !10, i64 0}
!13 = !{!"double", !10, i64 0}
!14 = !{!"int", !10, i64 0}
!15 = !{!"bool", !10, i64 0}
!16 = !{!"float", !10, i64 0}
!17 = !{!9, !9, i64 0}
!18 = !{!19, !14, i64 0}
!19 = !{!"_ZTS12Support_Node", !14, i64 0, !14, i64 4, !20, i64 8, !24, i64 32, !24, i64 56, !20, i64 80, !20, i64 104, !28, i64 128, !29, i64 136, !7, i64 144, !7, i64 176, !30, i64 208, !7, i64 272}
!20 = !{!"_ZTSSt6vectorIiSaIiEE", !21, i64 0}
!21 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!24 = !{!"_ZTSSt6vectorIsSaIsEE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIsSaIsEE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!28 = !{!"_ZTSSt4pairIiiE", !14, i64 0, !14, i64 4}
!29 = !{!"_ZTSSt4pairIbbE", !15, i64 0, !15, i64 1}
!30 = !{!"_ZTSSt4pairINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_E", !7, i64 0, !7, i64 32}
!31 = !{!19, !14, i64 4}
!32 = !{!19, !14, i64 128}
!33 = !{!19, !14, i64 132}
!34 = !{!14, !14, i64 0}
!35 = !{!36, !36, i64 0}
!36 = !{!"short", !10, i64 0}
!37 = distinct !{!37, !38, !39}
!38 = !{!"llvm.loop.mustprogress"}
!39 = !{!"llvm.loop.peeled.count", i32 1}
!40 = distinct !{!40, !38, !39}
!41 = !{!10, !10, i64 0}
!42 = distinct !{!42, !38}
!43 = distinct !{!43, !38, !39}
!44 = distinct !{!44, !38}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopFullUnrollPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass