; LLVM IR from stonne-simulator/omega :: omega-code/stonne/src (main)

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

%"class.std::basic_ostream" = type { ptr, %"class.std::basic_ios" }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%"class.std::locale" = type { ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%class.Config = type { i32, %class.DSNetworkConfig, %class.DSwitchConfig, %class.MSNetworkConfig, %class.MSwitchConfig, %class.ASNetworkConfig, %class.ASwitchConfig, %class.LookUpTableConfig, %class.SDMemoryConfig }
%class.DSNetworkConfig = type { i32 }
%class.DSwitchConfig = type { i32, i32, i32, i32 }
%class.MSNetworkConfig = type { i32, i32, i32, i32 }
%class.MSwitchConfig = type { i32, i32, i32, i32, i32, i32 }
%class.ASNetworkConfig = type { i32, i32 }
%class.ASwitchConfig = type { i32, i32, i32, i32, i32, i32 }
%class.LookUpTableConfig = type { i32, i32 }
%class.SDMemoryConfig = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.114 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [16 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #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) #4

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z20configConvParametersiPPcR6ConfigRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(i32 noundef %0, ptr noundef %1, ptr noundef nonnull align 4 dereferenceable(160) %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 4 dereferenceable(4) %7, ptr noundef nonnull align 4 dereferenceable(4) %8, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %11, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %14, ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 4 dereferenceable(4) %20) #2 personality ptr @__gxx_personality_v0 {
  %22 = alloca i32, align 4
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca ptr, align 8
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca i32, align 4
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca ptr, align 8
  %47 = alloca i32, align 4
  %48 = alloca i64, align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca i32, align 4
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  store i32 %0, ptr %22, align 4, !tbaa !5
  store ptr %1, ptr %23, align 8, !tbaa !9
  store ptr %2, ptr %24, align 8, !tbaa !9
  store ptr %3, ptr %25, align 8, !tbaa !9
  store ptr %4, ptr %26, align 8, !tbaa !9
  store ptr %5, ptr %27, align 8, !tbaa !9
  store ptr %6, ptr %28, align 8, !tbaa !9
  store ptr %7, ptr %29, align 8, !tbaa !9
  store ptr %8, ptr %30, align 8, !tbaa !9
  store ptr %9, ptr %31, align 8, !tbaa !9
  store ptr %10, ptr %32, align 8, !tbaa !9
  store ptr %11, ptr %33, align 8, !tbaa !9
  store ptr %12, ptr %34, align 8, !tbaa !9
  store ptr %13, ptr %35, align 8, !tbaa !9
  store ptr %14, ptr %36, align 8, !tbaa !9
  store ptr %15, ptr %37, align 8, !tbaa !9
  store ptr %16, ptr %38, align 8, !tbaa !9
  store ptr %17, ptr %39, align 8, !tbaa !9
  store ptr %18, ptr %40, align 8, !tbaa !9
  store ptr %19, ptr %41, align 8, !tbaa !9
  store ptr %20, ptr %42, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #8
  store i32 2, ptr %43, align 4, !tbaa !5
  br label %53

53:                                               ; preds = %514, %21
  %54 = load i32, ptr %43, align 4, !tbaa !5
  %55 = load i32, ptr %22, align 4, !tbaa !5
  %56 = icmp slt i32 %54, %55
  br i1 %56, label %58, label %57

57:                                               ; preds = %53
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  br label %519

58:                                               ; preds = %53
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  %59 = load ptr, ptr %23, align 8, !tbaa !9
  %60 = load i32, ptr %43, align 4, !tbaa !5
  %61 = sext i32 %60 to i64
  %62 = getelementptr inbounds ptr, ptr %59, i64 %61
  %63 = load ptr, ptr %62, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef %63, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %64 unwind label %82

64:                                               ; preds = %58
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #8
  %65 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm(ptr noundef nonnull align 8 dereferenceable(32) %44, i8 noundef signext 61, i64 noundef 0) #8
  store i64 %65, ptr %48, align 8, !tbaa !11
  %66 = load i64, ptr %48, align 8, !tbaa !11
  %67 = icmp ne i64 -1, %66
  br i1 %67, label %68, label %500

68:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #8
  %69 = load i64, ptr %48, align 8, !tbaa !11
  %70 = add i64 %69, 1
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(32) %44, i64 noundef %70, i64 noundef -1)
          to label %71 unwind label %86

71:                                               ; preds = %68
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #8
  %72 = load i64, ptr %48, align 8, !tbaa !11
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %44, i64 noundef 0, i64 noundef %72)
          to label %73 unwind label %90

73:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #8
  %74 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.114)
          to label %75 unwind label %94

75:                                               ; preds = %73
  br i1 %74, label %76, label %98

76:                                               ; preds = %75
  %77 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.115)
          to label %78 unwind label %94

78:                                               ; preds = %76
  br i1 %77, label %79, label %98

79:                                               ; preds = %78
  %80 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef null, i32 noundef 10)
          to label %81 unwind label %94

81:                                               ; preds = %79
  store i32 %80, ptr %51, align 4, !tbaa !5
  br label %98

82:                                               ; preds = %58
  %83 = landingpad { ptr, i32 }
          cleanup
  %84 = extractvalue { ptr, i32 } %83, 0
  store ptr %84, ptr %46, align 8
  %85 = extractvalue { ptr, i32 } %83, 1
  store i32 %85, ptr %47, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #8
  br label %518

86:                                               ; preds = %68
  %87 = landingpad { ptr, i32 }
          cleanup
  %88 = extractvalue { ptr, i32 } %87, 0
  store ptr %88, ptr %46, align 8
  %89 = extractvalue { ptr, i32 } %87, 1
  store i32 %89, ptr %47, align 4
  br label %499

90:                                               ; preds = %71
  %91 = landingpad { ptr, i32 }
          cleanup
  %92 = extractvalue { ptr, i32 } %91, 0
  store ptr %92, ptr %46, align 8
  %93 = extractvalue { ptr, i32 } %91, 1
  store i32 %93, ptr %47, align 4
  br label %498

94:                                               ; preds = %470, %468, %466, %464, %459, %456, %454, %451, %446, %443, %441, %438, %433, %430, %428, %425, %420, %417, %415, %412, %407, %404, %402, %399, %394, %391, %389, %386, %381, %378, %376, %373, %368, %365, %363, %360, %355, %352, %350, %347, %342, %339, %337, %334, %329, %326, %324, %321, %316, %313, %311, %308, %303, %300, %298, %295, %290, %287, %285, %282, %277, %274, %272, %269, %264, %261, %259, %256, %251, %248, %246, %243, %239, %237, %235, %233, %230, %219, %217, %215, %213, %210, %204, %201, %199, %196, %194, %185, %178, %175, %173, %170, %163, %160, %158, %155, %153, %149, %146, %139, %136, %134, %131, %129, %125, %122, %115, %112, %110, %107, %105, %101, %98, %79, %76, %73
  %95 = landingpad { ptr, i32 }
          cleanup
  %96 = extractvalue { ptr, i32 } %95, 0
  store ptr %96, ptr %46, align 8
  %97 = extractvalue { ptr, i32 } %95, 1
  store i32 %97, ptr %47, align 4
  br label %497

98:                                               ; preds = %81, %78, %75
  %99 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.116)
          to label %100 unwind label %94

100:                                              ; preds = %98
  br i1 %99, label %101, label %122

101:                                              ; preds = %100
  %102 = load i32, ptr %51, align 4, !tbaa !5
  %103 = invoke noundef zeroext i1 @_Z10ispowerof2j(i32 noundef %102)
          to label %104 unwind label %94

104:                                              ; preds = %101
  br i1 %103, label %110, label %105

105:                                              ; preds = %104
  %106 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.117)
          to label %107 unwind label %94

107:                                              ; preds = %105
  %108 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %106, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %109 unwind label %94

109:                                              ; preds = %107
  call void @exit(i32 noundef 1) #9
  unreachable

110:                                              ; preds = %104
  %111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.118)
          to label %112 unwind label %94

112:                                              ; preds = %110
  %113 = load i32, ptr %51, align 4, !tbaa !5
  %114 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %111, i32 noundef %113)
          to label %115 unwind label %94

115:                                              ; preds = %112
  %116 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %114, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %117 unwind label %94

117:                                              ; preds = %115
  %118 = load i32, ptr %51, align 4, !tbaa !5
  %119 = load ptr, ptr %24, align 8, !tbaa !9
  %120 = getelementptr inbounds %class.Config, ptr %119, i32 0, i32 3
  %121 = getelementptr inbounds %class.MSNetworkConfig, ptr %120, i32 0, i32 1
  store i32 %118, ptr %121, align 4, !tbaa !13
  br label %496

122:                                              ; preds = %100
  %123 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.119)
          to label %124 unwind label %94

124:                                              ; preds = %122
  br i1 %123, label %125, label %146

125:                                              ; preds = %124
  %126 = load i32, ptr %51, align 4, !tbaa !5
  %127 = invoke noundef zeroext i1 @_Z10ispowerof2j(i32 noundef %126)
          to label %128 unwind label %94

128:                                              ; preds = %125
  br i1 %127, label %134, label %129

129:                                              ; preds = %128
  %130 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.120)
          to label %131 unwind label %94

131:                                              ; preds = %129
  %132 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %130, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %133 unwind label %94

133:                                              ; preds = %131
  call void @exit(i32 noundef 1) #9
  unreachable

134:                                              ; preds = %128
  %135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.121)
          to label %136 unwind label %94

136:                                              ; preds = %134
  %137 = load i32, ptr %51, align 4, !tbaa !5
  %138 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %135, i32 noundef %137)
          to label %139 unwind label %94

139:                                              ; preds = %136
  %140 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %138, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %141 unwind label %94

141:                                              ; preds = %139
  %142 = load i32, ptr %51, align 4, !tbaa !5
  %143 = load ptr, ptr %24, align 8, !tbaa !9
  %144 = getelementptr inbounds %class.Config, ptr %143, i32 0, i32 8
  %145 = getelementptr inbounds %class.SDMemoryConfig, ptr %144, i32 0, i32 2
  store i32 %142, ptr %145, align 4, !tbaa !27
  br label %495

146:                                              ; preds = %124
  %147 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.122)
          to label %148 unwind label %94

148:                                              ; preds = %146
  br i1 %147, label %149, label %170

149:                                              ; preds = %148
  %150 = load i32, ptr %51, align 4, !tbaa !5
  %151 = invoke noundef zeroext i1 @_Z10ispowerof2j(i32 noundef %150)
          to label %152 unwind label %94

152:                                              ; preds = %149
  br i1 %151, label %158, label %153

153:                                              ; preds = %152
  %154 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.123)
          to label %155 unwind label %94

155:                                              ; preds = %153
  %156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %157 unwind label %94

157:                                              ; preds = %155
  call void @exit(i32 noundef 1) #9
  unreachable

158:                                              ; preds = %152
  %159 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.124)
          to label %160 unwind label %94

160:                                              ; preds = %158
  %161 = load i32, ptr %51, align 4, !tbaa !5
  %162 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %159, i32 noundef %161)
          to label %163 unwind label %94

163:                                              ; preds = %160
  %164 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %165 unwind label %94

165:                                              ; preds = %163
  %166 = load i32, ptr %51, align 4, !tbaa !5
  %167 = load ptr, ptr %24, align 8, !tbaa !9
  %168 = getelementptr inbounds %class.Config, ptr %167, i32 0, i32 8
  %169 = getelementptr inbounds %class.SDMemoryConfig, ptr %168, i32 0, i32 3
  store i32 %166, ptr %169, align 4, !tbaa !28
  br label %494

170:                                              ; preds = %148
  %171 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.125)
          to label %172 unwind label %94

172:                                              ; preds = %170
  br i1 %171, label %173, label %185

173:                                              ; preds = %172
  %174 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.126)
          to label %175 unwind label %94

175:                                              ; preds = %173
  %176 = load i32, ptr %51, align 4, !tbaa !5
  %177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %174, i32 noundef %176)
          to label %178 unwind label %94

178:                                              ; preds = %175
  %179 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %177, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %180 unwind label %94

180:                                              ; preds = %178
  %181 = load i32, ptr %51, align 4, !tbaa !5
  %182 = load ptr, ptr %24, align 8, !tbaa !9
  %183 = getelementptr inbounds %class.Config, ptr %182, i32 0, i32 5
  %184 = getelementptr inbounds %class.ASNetworkConfig, ptr %183, i32 0, i32 1
  store i32 %181, ptr %184, align 4, !tbaa !29
  br label %493

185:                                              ; preds = %172
  %186 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.127)
          to label %187 unwind label %94

187:                                              ; preds = %185
  br i1 %186, label %188, label %210

188:                                              ; preds = %187
  %189 = load i32, ptr %51, align 4, !tbaa !5
  %190 = icmp ne i32 %189, 0
  br i1 %190, label %191, label %199

191:                                              ; preds = %188
  %192 = load i32, ptr %51, align 4, !tbaa !5
  %193 = icmp ne i32 %192, 1
  br i1 %193, label %194, label %199

194:                                              ; preds = %191
  %195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.128)
          to label %196 unwind label %94

196:                                              ; preds = %194
  %197 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %195, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %198 unwind label %94

198:                                              ; preds = %196
  call void @exit(i32 noundef 1) #9
  unreachable

199:                                              ; preds = %191, %188
  %200 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.129)
          to label %201 unwind label %94

201:                                              ; preds = %199
  %202 = load i32, ptr %51, align 4, !tbaa !5
  %203 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %200, i32 noundef %202)
          to label %204 unwind label %94

204:                                              ; preds = %201
  %205 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %203, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %206 unwind label %94

206:                                              ; preds = %204
  %207 = load i32, ptr %51, align 4, !tbaa !5
  %208 = load ptr, ptr %24, align 8, !tbaa !9
  %209 = getelementptr inbounds %class.Config, ptr %208, i32 0, i32 0
  store i32 %207, ptr %209, align 4, !tbaa !30
  br label %492

210:                                              ; preds = %187
  %211 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.115)
          to label %212 unwind label %94

212:                                              ; preds = %210
  br i1 %211, label %213, label %230

213:                                              ; preds = %212
  %214 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.130)
          to label %215 unwind label %94

215:                                              ; preds = %213
  %216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %214, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %217 unwind label %94

217:                                              ; preds = %215
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %216, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %219 unwind label %94

219:                                              ; preds = %217
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %220 unwind label %94

220:                                              ; preds = %219
  %221 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %52)
          to label %222 unwind label %226

222:                                              ; preds = %220
  %223 = load ptr, ptr %24, align 8, !tbaa !9
  %224 = getelementptr inbounds %class.Config, ptr %223, i32 0, i32 5
  %225 = getelementptr inbounds %class.ASNetworkConfig, ptr %224, i32 0, i32 0
  store i32 %221, ptr %225, align 4, !tbaa !31
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %491

226:                                              ; preds = %220
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %46, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %47, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %497

230:                                              ; preds = %212
  %231 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.114)
          to label %232 unwind label %94

232:                                              ; preds = %230
  br i1 %231, label %233, label %243

233:                                              ; preds = %232
  %234 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.131)
          to label %235 unwind label %94

235:                                              ; preds = %233
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %234, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %237 unwind label %94

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

239:                                              ; preds = %237
  %240 = load ptr, ptr %25, align 8, !tbaa !9
  %241 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %240, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %242 unwind label %94

242:                                              ; preds = %239
  br label %490

243:                                              ; preds = %232
  %244 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.132)
          to label %245 unwind label %94

245:                                              ; preds = %243
  br i1 %244, label %246, label %256

246:                                              ; preds = %245
  %247 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.133)
          to label %248 unwind label %94

248:                                              ; preds = %246
  %249 = load i32, ptr %51, align 4, !tbaa !5
  %250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %247, i32 noundef %249)
          to label %251 unwind label %94

251:                                              ; preds = %248
  %252 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %250, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %253 unwind label %94

253:                                              ; preds = %251
  %254 = load i32, ptr %51, align 4, !tbaa !5
  %255 = load ptr, ptr %26, align 8, !tbaa !9
  store i32 %254, ptr %255, align 4, !tbaa !5
  br label %489

256:                                              ; preds = %245
  %257 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.134)
          to label %258 unwind label %94

258:                                              ; preds = %256
  br i1 %257, label %259, label %269

259:                                              ; preds = %258
  %260 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.135)
          to label %261 unwind label %94

261:                                              ; preds = %259
  %262 = load i32, ptr %51, align 4, !tbaa !5
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %260, i32 noundef %262)
          to label %264 unwind label %94

264:                                              ; preds = %261
  %265 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %263, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %266 unwind label %94

266:                                              ; preds = %264
  %267 = load i32, ptr %51, align 4, !tbaa !5
  %268 = load ptr, ptr %27, align 8, !tbaa !9
  store i32 %267, ptr %268, align 4, !tbaa !5
  br label %488

269:                                              ; preds = %258
  %270 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.136)
          to label %271 unwind label %94

271:                                              ; preds = %269
  br i1 %270, label %272, label %282

272:                                              ; preds = %271
  %273 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.137)
          to label %274 unwind label %94

274:                                              ; preds = %272
  %275 = load i32, ptr %51, align 4, !tbaa !5
  %276 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %273, i32 noundef %275)
          to label %277 unwind label %94

277:                                              ; preds = %274
  %278 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %276, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %279 unwind label %94

279:                                              ; preds = %277
  %280 = load i32, ptr %51, align 4, !tbaa !5
  %281 = load ptr, ptr %28, align 8, !tbaa !9
  store i32 %280, ptr %281, align 4, !tbaa !5
  br label %487

282:                                              ; preds = %271
  %283 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.138)
          to label %284 unwind label %94

284:                                              ; preds = %282
  br i1 %283, label %285, label %295

285:                                              ; preds = %284
  %286 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.139)
          to label %287 unwind label %94

287:                                              ; preds = %285
  %288 = load i32, ptr %51, align 4, !tbaa !5
  %289 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %286, i32 noundef %288)
          to label %290 unwind label %94

290:                                              ; preds = %287
  %291 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %289, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %292 unwind label %94

292:                                              ; preds = %290
  %293 = load i32, ptr %51, align 4, !tbaa !5
  %294 = load ptr, ptr %29, align 8, !tbaa !9
  store i32 %293, ptr %294, align 4, !tbaa !5
  br label %486

295:                                              ; preds = %284
  %296 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.140)
          to label %297 unwind label %94

297:                                              ; preds = %295
  br i1 %296, label %298, label %308

298:                                              ; preds = %297
  %299 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.141)
          to label %300 unwind label %94

300:                                              ; preds = %298
  %301 = load i32, ptr %51, align 4, !tbaa !5
  %302 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %299, i32 noundef %301)
          to label %303 unwind label %94

303:                                              ; preds = %300
  %304 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %302, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %305 unwind label %94

305:                                              ; preds = %303
  %306 = load i32, ptr %51, align 4, !tbaa !5
  %307 = load ptr, ptr %30, align 8, !tbaa !9
  store i32 %306, ptr %307, align 4, !tbaa !5
  br label %485

308:                                              ; preds = %297
  %309 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.142)
          to label %310 unwind label %94

310:                                              ; preds = %308
  br i1 %309, label %311, label %321

311:                                              ; preds = %310
  %312 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.143)
          to label %313 unwind label %94

313:                                              ; preds = %311
  %314 = load i32, ptr %51, align 4, !tbaa !5
  %315 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %312, i32 noundef %314)
          to label %316 unwind label %94

316:                                              ; preds = %313
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %315, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %318 unwind label %94

318:                                              ; preds = %316
  %319 = load i32, ptr %51, align 4, !tbaa !5
  %320 = load ptr, ptr %31, align 8, !tbaa !9
  store i32 %319, ptr %320, align 4, !tbaa !5
  br label %484

321:                                              ; preds = %310
  %322 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.144)
          to label %323 unwind label %94

323:                                              ; preds = %321
  br i1 %322, label %324, label %334

324:                                              ; preds = %323
  %325 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.145)
          to label %326 unwind label %94

326:                                              ; preds = %324
  %327 = load i32, ptr %51, align 4, !tbaa !5
  %328 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %325, i32 noundef %327)
          to label %329 unwind label %94

329:                                              ; preds = %326
  %330 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %328, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %331 unwind label %94

331:                                              ; preds = %329
  %332 = load i32, ptr %51, align 4, !tbaa !5
  %333 = load ptr, ptr %32, align 8, !tbaa !9
  store i32 %332, ptr %333, align 4, !tbaa !5
  br label %483

334:                                              ; preds = %323
  %335 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.146)
          to label %336 unwind label %94

336:                                              ; preds = %334
  br i1 %335, label %337, label %347

337:                                              ; preds = %336
  %338 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.147)
          to label %339 unwind label %94

339:                                              ; preds = %337
  %340 = load i32, ptr %51, align 4, !tbaa !5
  %341 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %338, i32 noundef %340)
          to label %342 unwind label %94

342:                                              ; preds = %339
  %343 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %341, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %344 unwind label %94

344:                                              ; preds = %342
  %345 = load i32, ptr %51, align 4, !tbaa !5
  %346 = load ptr, ptr %33, align 8, !tbaa !9
  store i32 %345, ptr %346, align 4, !tbaa !5
  br label %482

347:                                              ; preds = %336
  %348 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.148)
          to label %349 unwind label %94

349:                                              ; preds = %347
  br i1 %348, label %350, label %360

350:                                              ; preds = %349
  %351 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.149)
          to label %352 unwind label %94

352:                                              ; preds = %350
  %353 = load i32, ptr %51, align 4, !tbaa !5
  %354 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %351, i32 noundef %353)
          to label %355 unwind label %94

355:                                              ; preds = %352
  %356 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %354, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %357 unwind label %94

357:                                              ; preds = %355
  %358 = load i32, ptr %51, align 4, !tbaa !5
  %359 = load ptr, ptr %34, align 8, !tbaa !9
  store i32 %358, ptr %359, align 4, !tbaa !5
  br label %481

360:                                              ; preds = %349
  %361 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.150)
          to label %362 unwind label %94

362:                                              ; preds = %360
  br i1 %361, label %363, label %373

363:                                              ; preds = %362
  %364 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.151)
          to label %365 unwind label %94

365:                                              ; preds = %363
  %366 = load i32, ptr %51, align 4, !tbaa !5
  %367 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %364, i32 noundef %366)
          to label %368 unwind label %94

368:                                              ; preds = %365
  %369 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %367, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %370 unwind label %94

370:                                              ; preds = %368
  %371 = load i32, ptr %51, align 4, !tbaa !5
  %372 = load ptr, ptr %35, align 8, !tbaa !9
  store i32 %371, ptr %372, align 4, !tbaa !5
  br label %480

373:                                              ; preds = %362
  %374 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.152)
          to label %375 unwind label %94

375:                                              ; preds = %373
  br i1 %374, label %376, label %386

376:                                              ; preds = %375
  %377 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.153)
          to label %378 unwind label %94

378:                                              ; preds = %376
  %379 = load i32, ptr %51, align 4, !tbaa !5
  %380 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %377, i32 noundef %379)
          to label %381 unwind label %94

381:                                              ; preds = %378
  %382 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %380, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %383 unwind label %94

383:                                              ; preds = %381
  %384 = load i32, ptr %51, align 4, !tbaa !5
  %385 = load ptr, ptr %36, align 8, !tbaa !9
  store i32 %384, ptr %385, align 4, !tbaa !5
  br label %479

386:                                              ; preds = %375
  %387 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.154)
          to label %388 unwind label %94

388:                                              ; preds = %386
  br i1 %387, label %389, label %399

389:                                              ; preds = %388
  %390 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.155)
          to label %391 unwind label %94

391:                                              ; preds = %389
  %392 = load i32, ptr %51, align 4, !tbaa !5
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %390, i32 noundef %392)
          to label %394 unwind label %94

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

396:                                              ; preds = %394
  %397 = load i32, ptr %51, align 4, !tbaa !5
  %398 = load ptr, ptr %37, align 8, !tbaa !9
  store i32 %397, ptr %398, align 4, !tbaa !5
  br label %478

399:                                              ; preds = %388
  %400 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.156)
          to label %401 unwind label %94

401:                                              ; preds = %399
  br i1 %400, label %402, label %412

402:                                              ; preds = %401
  %403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.157)
          to label %404 unwind label %94

404:                                              ; preds = %402
  %405 = load i32, ptr %51, align 4, !tbaa !5
  %406 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %403, i32 noundef %405)
          to label %407 unwind label %94

407:                                              ; preds = %404
  %408 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %406, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %409 unwind label %94

409:                                              ; preds = %407
  %410 = load i32, ptr %51, align 4, !tbaa !5
  %411 = load ptr, ptr %38, align 8, !tbaa !9
  store i32 %410, ptr %411, align 4, !tbaa !5
  br label %477

412:                                              ; preds = %401
  %413 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.158)
          to label %414 unwind label %94

414:                                              ; preds = %412
  br i1 %413, label %415, label %425

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

417:                                              ; preds = %415
  %418 = load i32, ptr %51, align 4, !tbaa !5
  %419 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %416, i32 noundef %418)
          to label %420 unwind label %94

420:                                              ; preds = %417
  %421 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %419, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %422 unwind label %94

422:                                              ; preds = %420
  %423 = load i32, ptr %51, align 4, !tbaa !5
  %424 = load ptr, ptr %39, align 8, !tbaa !9
  store i32 %423, ptr %424, align 4, !tbaa !5
  br label %476

425:                                              ; preds = %414
  %426 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.160)
          to label %427 unwind label %94

427:                                              ; preds = %425
  br i1 %426, label %428, label %438

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

430:                                              ; preds = %428
  %431 = load i32, ptr %51, align 4, !tbaa !5
  %432 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %429, i32 noundef %431)
          to label %433 unwind label %94

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

435:                                              ; preds = %433
  %436 = load i32, ptr %51, align 4, !tbaa !5
  %437 = load ptr, ptr %40, align 8, !tbaa !9
  store i32 %436, ptr %437, align 4, !tbaa !5
  br label %475

438:                                              ; preds = %427
  %439 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.162)
          to label %440 unwind label %94

440:                                              ; preds = %438
  br i1 %439, label %441, label %451

441:                                              ; preds = %440
  %442 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.163)
          to label %443 unwind label %94

443:                                              ; preds = %441
  %444 = load i32, ptr %51, align 4, !tbaa !5
  %445 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %442, i32 noundef %444)
          to label %446 unwind label %94

446:                                              ; preds = %443
  %447 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %445, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %448 unwind label %94

448:                                              ; preds = %446
  %449 = load i32, ptr %51, align 4, !tbaa !5
  %450 = load ptr, ptr %41, align 8, !tbaa !9
  store i32 %449, ptr %450, align 4, !tbaa !5
  br label %474

451:                                              ; preds = %440
  %452 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.164)
          to label %453 unwind label %94

453:                                              ; preds = %451
  br i1 %452, label %454, label %464

454:                                              ; preds = %453
  %455 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.165)
          to label %456 unwind label %94

456:                                              ; preds = %454
  %457 = load i32, ptr %51, align 4, !tbaa !5
  %458 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %455, i32 noundef %457)
          to label %459 unwind label %94

459:                                              ; preds = %456
  %460 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %458, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %461 unwind label %94

461:                                              ; preds = %459
  %462 = load i32, ptr %51, align 4, !tbaa !5
  %463 = load ptr, ptr %42, align 8, !tbaa !9
  store i32 %462, ptr %463, align 4, !tbaa !5
  br label %473

464:                                              ; preds = %453
  %465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.166)
          to label %466 unwind label %94

466:                                              ; preds = %464
  %467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %465, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %468 unwind label %94

468:                                              ; preds = %466
  %469 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %467, ptr noundef @.str.167)
          to label %470 unwind label %94

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

472:                                              ; preds = %470
  call void @exit(i32 noundef 1) #9
  unreachable

473:                                              ; preds = %461
  br label %474

474:                                              ; preds = %473, %448
  br label %475

475:                                              ; preds = %474, %435
  br label %476

476:                                              ; preds = %475, %422
  br label %477

477:                                              ; preds = %476, %409
  br label %478

478:                                              ; preds = %477, %396
  br label %479

479:                                              ; preds = %478, %383
  br label %480

480:                                              ; preds = %479, %370
  br label %481

481:                                              ; preds = %480, %357
  br label %482

482:                                              ; preds = %481, %344
  br label %483

483:                                              ; preds = %482, %331
  br label %484

484:                                              ; preds = %483, %318
  br label %485

485:                                              ; preds = %484, %305
  br label %486

486:                                              ; preds = %485, %292
  br label %487

487:                                              ; preds = %486, %279
  br label %488

488:                                              ; preds = %487, %266
  br label %489

489:                                              ; preds = %488, %253
  br label %490

490:                                              ; preds = %489, %242
  br label %491

491:                                              ; preds = %490, %222
  br label %492

492:                                              ; preds = %491, %206
  br label %493

493:                                              ; preds = %492, %180
  br label %494

494:                                              ; preds = %493, %165
  br label %495

495:                                              ; preds = %494, %141
  br label %496

496:                                              ; preds = %495, %117
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  br label %513

497:                                              ; preds = %226, %94
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %498

498:                                              ; preds = %497, %90
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %499

499:                                              ; preds = %498, %86
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  br label %517

500:                                              ; preds = %64
  %501 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.166)
          to label %502 unwind label %509

502:                                              ; preds = %500
  %503 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %501, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %504 unwind label %509

504:                                              ; preds = %502
  %505 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %503, ptr noundef @.str.167)
          to label %506 unwind label %509

506:                                              ; preds = %504
  %507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %505, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %508 unwind label %509

508:                                              ; preds = %506
  call void @exit(i32 noundef 1) #9
  unreachable

509:                                              ; preds = %506, %504, %502, %500
  %510 = landingpad { ptr, i32 }
          cleanup
  %511 = extractvalue { ptr, i32 } %510, 0
  store ptr %511, ptr %46, align 8
  %512 = extractvalue { ptr, i32 } %510, 1
  store i32 %512, ptr %47, align 4
  br label %517

513:                                              ; preds = %496
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  br label %514

514:                                              ; preds = %513
  %515 = load i32, ptr %43, align 4, !tbaa !5
  %516 = add nsw i32 %515, 1
  store i32 %516, ptr %43, align 4, !tbaa !5
  br label %53, !llvm.loop !32

517:                                              ; preds = %509, %499
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %518

518:                                              ; preds = %517, %82
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  br label %520

519:                                              ; preds = %57
  ret void

520:                                              ; preds = %518
  %521 = load ptr, ptr %46, align 8
  %522 = load i32, ptr %47, align 4
  %523 = insertvalue { ptr, i32 } poison, ptr %521, 0
  %524 = insertvalue { ptr, i32 } %523, i32 %522, 1
  resume { ptr, i32 } %524
}

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

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #5

; Function Attrs: nounwind
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext, i64 noundef) #6

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

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

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

declare noundef zeroext i1 @_Z10ispowerof2j(i32 noundef) #7

; 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

declare noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) #7

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !6, i64 28}
!14 = !{!"_ZTS6Config", !6, i64 0, !15, i64 4, !16, i64 8, !17, i64 24, !19, i64 40, !20, i64 64, !22, i64 72, !23, i64 96, !24, i64 104}
!15 = !{!"_ZTS15DSNetworkConfig", !6, i64 0}
!16 = !{!"_ZTS13DSwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12}
!17 = !{!"_ZTS15MSNetworkConfig", !18, i64 0, !6, i64 4, !6, i64 8, !6, i64 12}
!18 = !{!"_ZTS19MultiplierNetwork_t", !7, i64 0}
!19 = !{!"_ZTS13MSwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20}
!20 = !{!"_ZTS15ASNetworkConfig", !21, i64 0, !6, i64 4}
!21 = !{!"_ZTS15ReduceNetwork_t", !7, i64 0}
!22 = !{!"_ZTS13ASwitchConfig", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20}
!23 = !{!"_ZTS17LookUpTableConfig", !6, i64 0, !6, i64 4}
!24 = !{!"_ZTS14SDMemoryConfig", !25, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !26, i64 28, !6, i64 32, !6, i64 36, !6, i64 40, !6, i64 44, !6, i64 48, !6, i64 52}
!25 = !{!"_ZTS18MemoryController_t", !7, i64 0}
!26 = !{!"_ZTS17MemoryHierarchy_t", !7, i64 0}
!27 = !{!14, !6, i64 112}
!28 = !{!14, !6, i64 116}
!29 = !{!14, !6, i64 68}
!30 = !{!14, !6, i64 0}
!31 = !{!14, !21, i64 64}
!32 = distinct !{!32, !33}
!33 = !{!"llvm.loop.mustprogress"}


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

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

@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.114 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [16 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) 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 #4

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_Z20configConvParametersiPPcR6ConfigRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERjSA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_SA_(i32 noundef %0, ptr nocapture noundef readonly %1, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(160) %2, ptr noundef nonnull align 8 dereferenceable(32) %3, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %4, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %5, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %6, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %7, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %8, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %9, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %10, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %11, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %12, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %13, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %14, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %15, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %16, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %17, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %18, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %19, ptr nocapture noundef nonnull writeonly align 4 dereferenceable(4) %20) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator", align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = icmp sgt i32 %0, 2
  br i1 %27, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %21
  %28 = getelementptr inbounds i8, ptr %2, i64 64
  %29 = getelementptr inbounds i8, ptr %2, i64 68
  %30 = getelementptr inbounds i8, ptr %2, i64 116
  %31 = getelementptr inbounds i8, ptr %2, i64 112
  %32 = getelementptr inbounds i8, ptr %2, i64 28
  %wide.trip.count = zext nneg i32 %0 to i64
  br label %33

._crit_edge:                                      ; preds = %314, %21
  ret void

33:                                               ; preds = %.lr.ph, %314
  %indvars.iv = phi i64 [ 2, %.lr.ph ], [ %indvars.iv.next, %314 ]
  %.098 = phi i32 [ undef, %.lr.ph ], [ %.1, %314 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  %34 = getelementptr inbounds ptr, ptr %1, i64 %indvars.iv
  %35 = load ptr, ptr %34, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %35, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %36 unwind label %47

36:                                               ; preds = %33
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #8
  %37 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm(ptr noundef nonnull align 8 dereferenceable(32) %22, i8 noundef signext 61, i64 noundef 0) #8
  %.not = icmp eq i64 %37, -1
  br i1 %.not, label %318, label %38

38:                                               ; preds = %36
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  %39 = add nuw i64 %37, 1
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %22, i64 noundef %39, i64 noundef -1)
          to label %40 unwind label %49

40:                                               ; preds = %38
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %22, i64 noundef 0, i64 noundef %37)
          to label %41 unwind label %51

41:                                               ; preds = %40
  %42 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.114)
  br i1 %42, label %43, label %53

43:                                               ; preds = %41
  %44 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.115)
  br i1 %44, label %45, label %53

45:                                               ; preds = %43
  %46 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef null, i32 noundef 10)
          to label %53 unwind label %.loopexit

47:                                               ; preds = %33
  %48 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #8
  br label %330

49:                                               ; preds = %38
  %50 = landingpad { ptr, i32 }
          cleanup
  br label %317

51:                                               ; preds = %40
  %52 = landingpad { ptr, i32 }
          cleanup
  br label %316

.loopexit:                                        ; preds = %45, %55, %63, %65, %67, %72, %80, %82, %84, %89, %97, %99, %101, %106, %108, %110, %121, %123, %125, %130, %132, %134, %136, %144, %146, %148, %150, %154, %156, %158, %163, %165, %167, %172, %174, %176, %181, %183, %185, %190, %192, %194, %199, %201, %203, %208, %210, %212, %217, %219, %221, %226, %228, %230, %235, %237, %239, %244, %246, %248, %253, %255, %257, %262, %264, %266, %271, %273, %275, %280, %282, %284, %289, %291, %293, %298, %300, %302
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %315

.loopexit.split-lp:                               ; preds = %58, %60, %75, %77, %92, %94, %116, %118, %305, %307, %309, %311
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %315

53:                                               ; preds = %45, %43, %41
  %.1 = phi i32 [ %.098, %43 ], [ %.098, %41 ], [ %46, %45 ]
  %54 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.116)
  br i1 %54, label %55, label %70

55:                                               ; preds = %53
  %56 = invoke noundef zeroext i1 @_Z10ispowerof2j(i32 noundef %.1)
          to label %57 unwind label %.loopexit

57:                                               ; preds = %55
  br i1 %56, label %63, label %58

58:                                               ; preds = %57
  %59 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.117)
          to label %60 unwind label %.loopexit.split-lp

60:                                               ; preds = %58
  %61 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %62 unwind label %.loopexit.split-lp

62:                                               ; preds = %60
  call void @exit(i32 noundef 1) #9
  unreachable

63:                                               ; preds = %57
  %64 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.118)
          to label %65 unwind label %.loopexit

65:                                               ; preds = %63
  %66 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %64, i32 noundef %.1)
          to label %67 unwind label %.loopexit

67:                                               ; preds = %65
  %68 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %69 unwind label %.loopexit

69:                                               ; preds = %67
  store i32 %.1, ptr %32, align 4, !tbaa !9
  br label %314

70:                                               ; preds = %53
  %71 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.119)
  br i1 %71, label %72, label %87

72:                                               ; preds = %70
  %73 = invoke noundef zeroext i1 @_Z10ispowerof2j(i32 noundef %.1)
          to label %74 unwind label %.loopexit

74:                                               ; preds = %72
  br i1 %73, label %80, label %75

75:                                               ; preds = %74
  %76 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.120)
          to label %77 unwind label %.loopexit.split-lp

77:                                               ; preds = %75
  %78 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %79 unwind label %.loopexit.split-lp

79:                                               ; preds = %77
  call void @exit(i32 noundef 1) #9
  unreachable

80:                                               ; preds = %74
  %81 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.121)
          to label %82 unwind label %.loopexit

82:                                               ; preds = %80
  %83 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %81, i32 noundef %.1)
          to label %84 unwind label %.loopexit

84:                                               ; preds = %82
  %85 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %83, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %86 unwind label %.loopexit

86:                                               ; preds = %84
  store i32 %.1, ptr %31, align 4, !tbaa !24
  br label %314

87:                                               ; preds = %70
  %88 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.122)
  br i1 %88, label %89, label %104

89:                                               ; preds = %87
  %90 = invoke noundef zeroext i1 @_Z10ispowerof2j(i32 noundef %.1)
          to label %91 unwind label %.loopexit

91:                                               ; preds = %89
  br i1 %90, label %97, label %92

92:                                               ; preds = %91
  %93 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.123)
          to label %94 unwind label %.loopexit.split-lp

94:                                               ; preds = %92
  %95 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %96 unwind label %.loopexit.split-lp

96:                                               ; preds = %94
  call void @exit(i32 noundef 1) #9
  unreachable

97:                                               ; preds = %91
  %98 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.124)
          to label %99 unwind label %.loopexit

99:                                               ; preds = %97
  %100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %98, i32 noundef %.1)
          to label %101 unwind label %.loopexit

101:                                              ; preds = %99
  %102 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %103 unwind label %.loopexit

103:                                              ; preds = %101
  store i32 %.1, ptr %30, align 4, !tbaa !25
  br label %314

104:                                              ; preds = %87
  %105 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.125)
  br i1 %105, label %106, label %113

106:                                              ; preds = %104
  %107 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.126)
          to label %108 unwind label %.loopexit

108:                                              ; preds = %106
  %109 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %107, i32 noundef %.1)
          to label %110 unwind label %.loopexit

110:                                              ; preds = %108
  %111 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %112 unwind label %.loopexit

112:                                              ; preds = %110
  store i32 %.1, ptr %29, align 4, !tbaa !26
  br label %314

113:                                              ; preds = %104
  %114 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.127)
  br i1 %114, label %115, label %128

115:                                              ; preds = %113
  %or.cond = icmp ugt i32 %.1, 1
  br i1 %or.cond, label %116, label %121

116:                                              ; preds = %115
  %117 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.128)
          to label %118 unwind label %.loopexit.split-lp

118:                                              ; preds = %116
  %119 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %117, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %120 unwind label %.loopexit.split-lp

120:                                              ; preds = %118
  call void @exit(i32 noundef 1) #9
  unreachable

121:                                              ; preds = %115
  %122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.129)
          to label %123 unwind label %.loopexit

123:                                              ; preds = %121
  %124 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %122, i32 noundef %.1)
          to label %125 unwind label %.loopexit

125:                                              ; preds = %123
  %126 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %127 unwind label %.loopexit

127:                                              ; preds = %125
  store i32 %.1, ptr %2, align 4, !tbaa !27
  br label %314

128:                                              ; preds = %113
  %129 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.115)
  br i1 %129, label %130, label %142

130:                                              ; preds = %128
  %131 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.130)
          to label %132 unwind label %.loopexit

132:                                              ; preds = %130
  %133 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %131, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %134 unwind label %.loopexit

134:                                              ; preds = %132
  %135 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %136 unwind label %.loopexit

136:                                              ; preds = %134
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %137 unwind label %.loopexit

137:                                              ; preds = %136
  %138 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %26)
          to label %139 unwind label %140

139:                                              ; preds = %137
  store i32 %138, ptr %28, align 4, !tbaa !28
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %314

140:                                              ; preds = %137
  %141 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %315

142:                                              ; preds = %128
  %143 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.114)
  br i1 %143, label %144, label %152

144:                                              ; preds = %142
  %145 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.131)
          to label %146 unwind label %.loopexit

146:                                              ; preds = %144
  %147 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %148 unwind label %.loopexit

148:                                              ; preds = %146
  %149 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %147, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %150 unwind label %.loopexit

150:                                              ; preds = %148
  %151 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %314 unwind label %.loopexit

152:                                              ; preds = %142
  %153 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.132)
  br i1 %153, label %154, label %161

154:                                              ; preds = %152
  %155 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.133)
          to label %156 unwind label %.loopexit

156:                                              ; preds = %154
  %157 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %155, i32 noundef %.1)
          to label %158 unwind label %.loopexit

158:                                              ; preds = %156
  %159 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %160 unwind label %.loopexit

160:                                              ; preds = %158
  store i32 %.1, ptr %4, align 4, !tbaa !29
  br label %314

161:                                              ; preds = %152
  %162 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.134)
  br i1 %162, label %163, label %170

163:                                              ; preds = %161
  %164 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.135)
          to label %165 unwind label %.loopexit

165:                                              ; preds = %163
  %166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %164, i32 noundef %.1)
          to label %167 unwind label %.loopexit

167:                                              ; preds = %165
  %168 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %166, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %169 unwind label %.loopexit

169:                                              ; preds = %167
  store i32 %.1, ptr %5, align 4, !tbaa !29
  br label %314

170:                                              ; preds = %161
  %171 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.136)
  br i1 %171, label %172, label %179

172:                                              ; preds = %170
  %173 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.137)
          to label %174 unwind label %.loopexit

174:                                              ; preds = %172
  %175 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %173, i32 noundef %.1)
          to label %176 unwind label %.loopexit

176:                                              ; preds = %174
  %177 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %175, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %178 unwind label %.loopexit

178:                                              ; preds = %176
  store i32 %.1, ptr %6, align 4, !tbaa !29
  br label %314

179:                                              ; preds = %170
  %180 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.138)
  br i1 %180, label %181, label %188

181:                                              ; preds = %179
  %182 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.139)
          to label %183 unwind label %.loopexit

183:                                              ; preds = %181
  %184 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %182, i32 noundef %.1)
          to label %185 unwind label %.loopexit

185:                                              ; preds = %183
  %186 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %184, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %187 unwind label %.loopexit

187:                                              ; preds = %185
  store i32 %.1, ptr %7, align 4, !tbaa !29
  br label %314

188:                                              ; preds = %179
  %189 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.140)
  br i1 %189, label %190, label %197

190:                                              ; preds = %188
  %191 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.141)
          to label %192 unwind label %.loopexit

192:                                              ; preds = %190
  %193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %191, i32 noundef %.1)
          to label %194 unwind label %.loopexit

194:                                              ; preds = %192
  %195 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %193, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %196 unwind label %.loopexit

196:                                              ; preds = %194
  store i32 %.1, ptr %8, align 4, !tbaa !29
  br label %314

197:                                              ; preds = %188
  %198 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.142)
  br i1 %198, label %199, label %206

199:                                              ; preds = %197
  %200 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.143)
          to label %201 unwind label %.loopexit

201:                                              ; preds = %199
  %202 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %200, i32 noundef %.1)
          to label %203 unwind label %.loopexit

203:                                              ; preds = %201
  %204 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %205 unwind label %.loopexit

205:                                              ; preds = %203
  store i32 %.1, ptr %9, align 4, !tbaa !29
  br label %314

206:                                              ; preds = %197
  %207 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.144)
  br i1 %207, label %208, label %215

208:                                              ; preds = %206
  %209 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.145)
          to label %210 unwind label %.loopexit

210:                                              ; preds = %208
  %211 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %209, i32 noundef %.1)
          to label %212 unwind label %.loopexit

212:                                              ; preds = %210
  %213 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %214 unwind label %.loopexit

214:                                              ; preds = %212
  store i32 %.1, ptr %10, align 4, !tbaa !29
  br label %314

215:                                              ; preds = %206
  %216 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.146)
  br i1 %216, label %217, label %224

217:                                              ; preds = %215
  %218 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.147)
          to label %219 unwind label %.loopexit

219:                                              ; preds = %217
  %220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %218, i32 noundef %.1)
          to label %221 unwind label %.loopexit

221:                                              ; preds = %219
  %222 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %220, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %223 unwind label %.loopexit

223:                                              ; preds = %221
  store i32 %.1, ptr %11, align 4, !tbaa !29
  br label %314

224:                                              ; preds = %215
  %225 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.148)
  br i1 %225, label %226, label %233

226:                                              ; preds = %224
  %227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.149)
          to label %228 unwind label %.loopexit

228:                                              ; preds = %226
  %229 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %227, i32 noundef %.1)
          to label %230 unwind label %.loopexit

230:                                              ; preds = %228
  %231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %229, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %232 unwind label %.loopexit

232:                                              ; preds = %230
  store i32 %.1, ptr %12, align 4, !tbaa !29
  br label %314

233:                                              ; preds = %224
  %234 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.150)
  br i1 %234, label %235, label %242

235:                                              ; preds = %233
  %236 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.151)
          to label %237 unwind label %.loopexit

237:                                              ; preds = %235
  %238 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %236, i32 noundef %.1)
          to label %239 unwind label %.loopexit

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

241:                                              ; preds = %239
  store i32 %.1, ptr %13, align 4, !tbaa !29
  br label %314

242:                                              ; preds = %233
  %243 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.152)
  br i1 %243, label %244, label %251

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

246:                                              ; preds = %244
  %247 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %245, i32 noundef %.1)
          to label %248 unwind label %.loopexit

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

250:                                              ; preds = %248
  store i32 %.1, ptr %14, align 4, !tbaa !29
  br label %314

251:                                              ; preds = %242
  %252 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.154)
  br i1 %252, label %253, label %260

253:                                              ; preds = %251
  %254 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.155)
          to label %255 unwind label %.loopexit

255:                                              ; preds = %253
  %256 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %254, i32 noundef %.1)
          to label %257 unwind label %.loopexit

257:                                              ; preds = %255
  %258 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %256, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %259 unwind label %.loopexit

259:                                              ; preds = %257
  store i32 %.1, ptr %15, align 4, !tbaa !29
  br label %314

260:                                              ; preds = %251
  %261 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.156)
  br i1 %261, label %262, label %269

262:                                              ; preds = %260
  %263 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.157)
          to label %264 unwind label %.loopexit

264:                                              ; preds = %262
  %265 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %263, i32 noundef %.1)
          to label %266 unwind label %.loopexit

266:                                              ; preds = %264
  %267 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %265, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %268 unwind label %.loopexit

268:                                              ; preds = %266
  store i32 %.1, ptr %16, align 4, !tbaa !29
  br label %314

269:                                              ; preds = %260
  %270 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.158)
  br i1 %270, label %271, label %278

271:                                              ; preds = %269
  %272 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.159)
          to label %273 unwind label %.loopexit

273:                                              ; preds = %271
  %274 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %272, i32 noundef %.1)
          to label %275 unwind label %.loopexit

275:                                              ; preds = %273
  %276 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %274, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %277 unwind label %.loopexit

277:                                              ; preds = %275
  store i32 %.1, ptr %17, align 4, !tbaa !29
  br label %314

278:                                              ; preds = %269
  %279 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.160)
  br i1 %279, label %280, label %287

280:                                              ; preds = %278
  %281 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.161)
          to label %282 unwind label %.loopexit

282:                                              ; preds = %280
  %283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %281, i32 noundef %.1)
          to label %284 unwind label %.loopexit

284:                                              ; preds = %282
  %285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %283, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %286 unwind label %.loopexit

286:                                              ; preds = %284
  store i32 %.1, ptr %18, align 4, !tbaa !29
  br label %314

287:                                              ; preds = %278
  %288 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.162)
  br i1 %288, label %289, label %296

289:                                              ; preds = %287
  %290 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.163)
          to label %291 unwind label %.loopexit

291:                                              ; preds = %289
  %292 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %290, i32 noundef %.1)
          to label %293 unwind label %.loopexit

293:                                              ; preds = %291
  %294 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %292, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %295 unwind label %.loopexit

295:                                              ; preds = %293
  store i32 %.1, ptr %19, align 4, !tbaa !29
  br label %314

296:                                              ; preds = %287
  %297 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.164)
  br i1 %297, label %298, label %305

298:                                              ; preds = %296
  %299 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.165)
          to label %300 unwind label %.loopexit

300:                                              ; preds = %298
  %301 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %299, i32 noundef %.1)
          to label %302 unwind label %.loopexit

302:                                              ; preds = %300
  %303 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %301, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %304 unwind label %.loopexit

304:                                              ; preds = %302
  store i32 %.1, ptr %20, align 4, !tbaa !29
  br label %314

305:                                              ; preds = %296
  %306 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.166)
          to label %307 unwind label %.loopexit.split-lp

307:                                              ; preds = %305
  %308 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %306, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %309 unwind label %.loopexit.split-lp

309:                                              ; preds = %307
  %310 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %308, ptr noundef nonnull @.str.167)
          to label %311 unwind label %.loopexit.split-lp

311:                                              ; preds = %309
  %312 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %310, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %313 unwind label %.loopexit.split-lp

313:                                              ; preds = %311
  call void @exit(i32 noundef 1) #9
  unreachable

314:                                              ; preds = %86, %112, %139, %160, %178, %196, %214, %232, %250, %268, %286, %304, %295, %277, %259, %241, %223, %205, %187, %169, %150, %127, %103, %69
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %33, !llvm.loop !30

315:                                              ; preds = %.loopexit, %.loopexit.split-lp, %140
  %.pn = phi { ptr, i32 } [ %141, %140 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  br label %316

316:                                              ; preds = %315, %51
  %.pn.pn = phi { ptr, i32 } [ %.pn, %315 ], [ %52, %51 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  br label %317

317:                                              ; preds = %316, %49
  %.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %316 ], [ %50, %49 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  br label %329

318:                                              ; preds = %36
  %319 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.166)
          to label %320 unwind label %327

320:                                              ; preds = %318
  %321 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %319, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %322 unwind label %327

322:                                              ; preds = %320
  %323 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %321, ptr noundef nonnull @.str.167)
          to label %324 unwind label %327

324:                                              ; preds = %322
  %325 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %323, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %326 unwind label %327

326:                                              ; preds = %324
  call void @exit(i32 noundef 1) #9
  unreachable

327:                                              ; preds = %324, %322, %320, %318
  %328 = landingpad { ptr, i32 }
          cleanup
  br label %329

329:                                              ; preds = %327, %317
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %317 ], [ %328, %327 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #8
  br label %330

330:                                              ; preds = %329, %47
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %329 ], [ %48, %47 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #8
  resume { ptr, i32 } %.pn.pn.pn.pn.pn
}

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

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #5

; Function Attrs: nounwind
declare noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4findEcm(ptr noundef nonnull align 8 dereferenceable(32), i8 noundef signext, i64 noundef) local_unnamed_addr #6

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

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

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

declare noundef zeroext i1 @_Z10ispowerof2j(i32 noundef) local_unnamed_addr #7

; 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 #4

declare noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef) local_unnamed_addr #7

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #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 nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "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 = { "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 #8 = { nounwind }
attributes #9 = { noreturn 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, !11, i64 28}
!10 = !{!"_ZTS6Config", !11, i64 0, !12, i64 4, !13, i64 8, !14, i64 24, !16, i64 40, !17, i64 64, !19, i64 72, !20, i64 96, !21, i64 104}
!11 = !{!"int", !7, i64 0}
!12 = !{!"_ZTS15DSNetworkConfig", !11, i64 0}
!13 = !{!"_ZTS13DSwitchConfig", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12}
!14 = !{!"_ZTS15MSNetworkConfig", !15, i64 0, !11, i64 4, !11, i64 8, !11, i64 12}
!15 = !{!"_ZTS19MultiplierNetwork_t", !7, i64 0}
!16 = !{!"_ZTS13MSwitchConfig", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !11, i64 16, !11, i64 20}
!17 = !{!"_ZTS15ASNetworkConfig", !18, i64 0, !11, i64 4}
!18 = !{!"_ZTS15ReduceNetwork_t", !7, i64 0}
!19 = !{!"_ZTS13ASwitchConfig", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !11, i64 16, !11, i64 20}
!20 = !{!"_ZTS17LookUpTableConfig", !11, i64 0, !11, i64 4}
!21 = !{!"_ZTS14SDMemoryConfig", !22, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !11, i64 16, !11, i64 20, !11, i64 24, !23, i64 28, !11, i64 32, !11, i64 36, !11, i64 40, !11, i64 44, !11, i64 48, !11, i64 52}
!22 = !{!"_ZTS18MemoryController_t", !7, i64 0}
!23 = !{!"_ZTS17MemoryHierarchy_t", !7, i64 0}
!24 = !{!10, !11, i64 112}
!25 = !{!10, !11, i64 116}
!26 = !{!10, !11, i64 68}
!27 = !{!10, !11, i64 0}
!28 = !{!10, !18, i64 64}
!29 = !{!11, !11, i64 0}
!30 = distinct !{!30, !31}
!31 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass