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

; 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.68 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.119 = 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 = %498, %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 %503

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

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.68)
          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.69)
          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 %502

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

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

94:                                               ; preds = %455, %453, %451, %449, %444, %441, %439, %436, %431, %428, %426, %423, %418, %415, %413, %410, %405, %402, %400, %397, %392, %389, %387, %384, %379, %376, %374, %371, %366, %363, %361, %358, %353, %350, %348, %345, %340, %337, %335, %332, %327, %324, %322, %319, %314, %311, %309, %306, %301, %298, %296, %293, %288, %285, %283, %280, %275, %272, %270, %267, %262, %259, %257, %254, %249, %246, %244, %241, %236, %233, %231, %228, %224, %222, %220, %218, %215, %204, %202, %200, %198, %195, %189, %186, %184, %181, %179, %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 %481

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.70)
          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.71)
          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.72)
          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 %480

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.73)
          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.74)
          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.75)
          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 %479

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.76)
          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.77)
          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.78)
          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 %478

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.79)
          to label %172 unwind label %94

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

173:                                              ; preds = %172
  %174 = load i32, ptr %51, align 4, !tbaa !5
  %175 = icmp ne i32 %174, 0
  br i1 %175, label %176, label %184

176:                                              ; preds = %173
  %177 = load i32, ptr %51, align 4, !tbaa !5
  %178 = icmp ne i32 %177, 1
  br i1 %178, label %179, label %184

179:                                              ; preds = %176
  %180 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.80)
          to label %181 unwind label %94

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

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

184:                                              ; preds = %176, %173
  %185 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.81)
          to label %186 unwind label %94

186:                                              ; preds = %184
  %187 = load i32, ptr %51, align 4, !tbaa !5
  %188 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %185, i32 noundef %187)
          to label %189 unwind label %94

189:                                              ; preds = %186
  %190 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %188, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %191 unwind label %94

191:                                              ; preds = %189
  %192 = load i32, ptr %51, align 4, !tbaa !5
  %193 = load ptr, ptr %24, align 8, !tbaa !9
  %194 = getelementptr inbounds %class.Config, ptr %193, i32 0, i32 0
  store i32 %192, ptr %194, align 4, !tbaa !29
  br label %477

195:                                              ; preds = %172
  %196 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.69)
          to label %197 unwind label %94

197:                                              ; preds = %195
  br i1 %196, label %198, label %215

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

200:                                              ; preds = %198
  %201 = 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) %199, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %202 unwind label %94

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

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

205:                                              ; preds = %204
  %206 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %52)
          to label %207 unwind label %211

207:                                              ; preds = %205
  %208 = load ptr, ptr %24, align 8, !tbaa !9
  %209 = getelementptr inbounds %class.Config, ptr %208, i32 0, i32 5
  %210 = getelementptr inbounds %class.ASNetworkConfig, ptr %209, i32 0, i32 0
  store i32 %206, ptr %210, align 4, !tbaa !30
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %476

211:                                              ; preds = %205
  %212 = landingpad { ptr, i32 }
          cleanup
  %213 = extractvalue { ptr, i32 } %212, 0
  store ptr %213, ptr %46, align 8
  %214 = extractvalue { ptr, i32 } %212, 1
  store i32 %214, ptr %47, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %481

215:                                              ; preds = %197
  %216 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.68)
          to label %217 unwind label %94

217:                                              ; preds = %215
  br i1 %216, label %218, label %228

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

220:                                              ; preds = %218
  %221 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %219, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %222 unwind label %94

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

224:                                              ; preds = %222
  %225 = load ptr, ptr %25, align 8, !tbaa !9
  %226 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %225, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %227 unwind label %94

227:                                              ; preds = %224
  br label %475

228:                                              ; preds = %217
  %229 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.84)
          to label %230 unwind label %94

230:                                              ; preds = %228
  br i1 %229, label %231, label %241

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

233:                                              ; preds = %231
  %234 = load i32, ptr %51, align 4, !tbaa !5
  %235 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %232, i32 noundef %234)
          to label %236 unwind label %94

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

238:                                              ; preds = %236
  %239 = load i32, ptr %51, align 4, !tbaa !5
  %240 = load ptr, ptr %26, align 8, !tbaa !9
  store i32 %239, ptr %240, align 4, !tbaa !5
  br label %474

241:                                              ; preds = %230
  %242 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.86)
          to label %243 unwind label %94

243:                                              ; preds = %241
  br i1 %242, label %244, label %254

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

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

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

251:                                              ; preds = %249
  %252 = load i32, ptr %51, align 4, !tbaa !5
  %253 = load ptr, ptr %27, align 8, !tbaa !9
  store i32 %252, ptr %253, align 4, !tbaa !5
  br label %473

254:                                              ; preds = %243
  %255 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.88)
          to label %256 unwind label %94

256:                                              ; preds = %254
  br i1 %255, label %257, label %267

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

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

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

264:                                              ; preds = %262
  %265 = load i32, ptr %51, align 4, !tbaa !5
  %266 = load ptr, ptr %28, align 8, !tbaa !9
  store i32 %265, ptr %266, align 4, !tbaa !5
  br label %472

267:                                              ; preds = %256
  %268 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.90)
          to label %269 unwind label %94

269:                                              ; preds = %267
  br i1 %268, label %270, label %280

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

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

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

277:                                              ; preds = %275
  %278 = load i32, ptr %51, align 4, !tbaa !5
  %279 = load ptr, ptr %29, align 8, !tbaa !9
  store i32 %278, ptr %279, align 4, !tbaa !5
  br label %471

280:                                              ; preds = %269
  %281 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.92)
          to label %282 unwind label %94

282:                                              ; preds = %280
  br i1 %281, label %283, label %293

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

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

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

290:                                              ; preds = %288
  %291 = load i32, ptr %51, align 4, !tbaa !5
  %292 = load ptr, ptr %30, align 8, !tbaa !9
  store i32 %291, ptr %292, align 4, !tbaa !5
  br label %470

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

295:                                              ; preds = %293
  br i1 %294, label %296, label %306

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

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

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

303:                                              ; preds = %301
  %304 = load i32, ptr %51, align 4, !tbaa !5
  %305 = load ptr, ptr %31, align 8, !tbaa !9
  store i32 %304, ptr %305, align 4, !tbaa !5
  br label %469

306:                                              ; preds = %295
  %307 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.96)
          to label %308 unwind label %94

308:                                              ; preds = %306
  br i1 %307, label %309, label %319

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

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

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

316:                                              ; preds = %314
  %317 = load i32, ptr %51, align 4, !tbaa !5
  %318 = load ptr, ptr %32, align 8, !tbaa !9
  store i32 %317, ptr %318, align 4, !tbaa !5
  br label %468

319:                                              ; preds = %308
  %320 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.98)
          to label %321 unwind label %94

321:                                              ; preds = %319
  br i1 %320, label %322, label %332

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

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

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

329:                                              ; preds = %327
  %330 = load i32, ptr %51, align 4, !tbaa !5
  %331 = load ptr, ptr %33, align 8, !tbaa !9
  store i32 %330, ptr %331, align 4, !tbaa !5
  br label %467

332:                                              ; preds = %321
  %333 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.100)
          to label %334 unwind label %94

334:                                              ; preds = %332
  br i1 %333, label %335, label %345

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

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

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

342:                                              ; preds = %340
  %343 = load i32, ptr %51, align 4, !tbaa !5
  %344 = load ptr, ptr %34, align 8, !tbaa !9
  store i32 %343, ptr %344, align 4, !tbaa !5
  br label %466

345:                                              ; preds = %334
  %346 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.102)
          to label %347 unwind label %94

347:                                              ; preds = %345
  br i1 %346, label %348, label %358

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

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

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

355:                                              ; preds = %353
  %356 = load i32, ptr %51, align 4, !tbaa !5
  %357 = load ptr, ptr %35, align 8, !tbaa !9
  store i32 %356, ptr %357, align 4, !tbaa !5
  br label %465

358:                                              ; preds = %347
  %359 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.104)
          to label %360 unwind label %94

360:                                              ; preds = %358
  br i1 %359, label %361, label %371

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

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

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

368:                                              ; preds = %366
  %369 = load i32, ptr %51, align 4, !tbaa !5
  %370 = load ptr, ptr %36, align 8, !tbaa !9
  store i32 %369, ptr %370, align 4, !tbaa !5
  br label %464

371:                                              ; preds = %360
  %372 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.106)
          to label %373 unwind label %94

373:                                              ; preds = %371
  br i1 %372, label %374, label %384

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

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

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

381:                                              ; preds = %379
  %382 = load i32, ptr %51, align 4, !tbaa !5
  %383 = load ptr, ptr %37, align 8, !tbaa !9
  store i32 %382, ptr %383, align 4, !tbaa !5
  br label %463

384:                                              ; preds = %373
  %385 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.108)
          to label %386 unwind label %94

386:                                              ; preds = %384
  br i1 %385, label %387, label %397

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

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

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

394:                                              ; preds = %392
  %395 = load i32, ptr %51, align 4, !tbaa !5
  %396 = load ptr, ptr %38, align 8, !tbaa !9
  store i32 %395, ptr %396, align 4, !tbaa !5
  br label %462

397:                                              ; preds = %386
  %398 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.110)
          to label %399 unwind label %94

399:                                              ; preds = %397
  br i1 %398, label %400, label %410

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

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

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

407:                                              ; preds = %405
  %408 = load i32, ptr %51, align 4, !tbaa !5
  %409 = load ptr, ptr %39, align 8, !tbaa !9
  store i32 %408, ptr %409, align 4, !tbaa !5
  br label %461

410:                                              ; preds = %399
  %411 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef @.str.112)
          to label %412 unwind label %94

412:                                              ; preds = %410
  br i1 %411, label %413, label %423

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

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

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

420:                                              ; preds = %418
  %421 = load i32, ptr %51, align 4, !tbaa !5
  %422 = load ptr, ptr %40, align 8, !tbaa !9
  store i32 %421, ptr %422, align 4, !tbaa !5
  br label %460

423:                                              ; preds = %412
  %424 = 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 %425 unwind label %94

425:                                              ; preds = %423
  br i1 %424, label %426, label %436

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

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

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

433:                                              ; preds = %431
  %434 = load i32, ptr %51, align 4, !tbaa !5
  %435 = load ptr, ptr %41, align 8, !tbaa !9
  store i32 %434, ptr %435, align 4, !tbaa !5
  br label %459

436:                                              ; preds = %425
  %437 = 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 %438 unwind label %94

438:                                              ; preds = %436
  br i1 %437, label %439, label %449

439:                                              ; preds = %438
  %440 = 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 %441 unwind label %94

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

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

446:                                              ; preds = %444
  %447 = load i32, ptr %51, align 4, !tbaa !5
  %448 = load ptr, ptr %42, align 8, !tbaa !9
  store i32 %447, ptr %448, align 4, !tbaa !5
  br label %458

449:                                              ; preds = %438
  %450 = 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 %451 unwind label %94

451:                                              ; preds = %449
  %452 = 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) %450, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %453 unwind label %94

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

455:                                              ; preds = %453
  %456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %454, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %457 unwind label %94

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

458:                                              ; preds = %446
  br label %459

459:                                              ; preds = %458, %433
  br label %460

460:                                              ; preds = %459, %420
  br label %461

461:                                              ; preds = %460, %407
  br label %462

462:                                              ; preds = %461, %394
  br label %463

463:                                              ; preds = %462, %381
  br label %464

464:                                              ; preds = %463, %368
  br label %465

465:                                              ; preds = %464, %355
  br label %466

466:                                              ; preds = %465, %342
  br label %467

467:                                              ; preds = %466, %329
  br label %468

468:                                              ; preds = %467, %316
  br label %469

469:                                              ; preds = %468, %303
  br label %470

470:                                              ; preds = %469, %290
  br label %471

471:                                              ; preds = %470, %277
  br label %472

472:                                              ; preds = %471, %264
  br label %473

473:                                              ; preds = %472, %251
  br label %474

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

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

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

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

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

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

480:                                              ; preds = %479, %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 %497

481:                                              ; preds = %211, %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 %482

482:                                              ; preds = %481, %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 %483

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

484:                                              ; preds = %64
  %485 = 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 %486 unwind label %493

486:                                              ; preds = %484
  %487 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %485, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %488 unwind label %493

488:                                              ; preds = %486
  %489 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %487, ptr noundef @.str.119)
          to label %490 unwind label %493

490:                                              ; preds = %488
  %491 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %489, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %492 unwind label %493

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

493:                                              ; preds = %490, %488, %486, %484
  %494 = landingpad { ptr, i32 }
          cleanup
  %495 = extractvalue { ptr, i32 } %494, 0
  store ptr %495, ptr %46, align 8
  %496 = extractvalue { ptr, i32 } %494, 1
  store i32 %496, ptr %47, align 4
  br label %501

497:                                              ; preds = %480
  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 %498

498:                                              ; preds = %497
  %499 = load i32, ptr %43, align 4, !tbaa !5
  %500 = add nsw i32 %499, 1
  store i32 %500, ptr %43, align 4, !tbaa !5
  br label %53, !llvm.loop !31

501:                                              ; preds = %493, %483
  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 %502

502:                                              ; preds = %501, %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 %504

503:                                              ; preds = %57
  ret void

504:                                              ; preds = %502
  %505 = load ptr, ptr %46, align 8
  %506 = load i32, ptr %47, align 4
  %507 = insertvalue { ptr, i32 } poison, ptr %505, 0
  %508 = insertvalue { ptr, i32 } %507, i32 %506, 1
  resume { ptr, i32 } %508
}

; 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 0}
!30 = !{!14, !21, i64 64}
!31 = distinct !{!31, !32}
!32 = !{!"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.68 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.119 = 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 116
  %30 = getelementptr inbounds i8, ptr %2, i64 112
  %31 = getelementptr inbounds i8, ptr %2, i64 28
  %wide.trip.count = zext nneg i32 %0 to i64
  br label %32

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

32:                                               ; preds = %.lr.ph, %304
  %indvars.iv = phi i64 [ 2, %.lr.ph ], [ %indvars.iv.next, %304 ]
  %.095 = phi i32 [ undef, %.lr.ph ], [ %.1, %304 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #8
  %33 = getelementptr inbounds ptr, ptr %1, i64 %indvars.iv
  %34 = load ptr, ptr %33, 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 %34, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %35 unwind label %46

35:                                               ; preds = %32
  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
  %36 = 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 %36, -1
  br i1 %.not, label %308, label %37

37:                                               ; preds = %35
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  %38 = add nuw i64 %36, 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 %38, i64 noundef -1)
          to label %39 unwind label %48

39:                                               ; preds = %37
  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 %36)
          to label %40 unwind label %50

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

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

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

46:                                               ; preds = %32
  %47 = 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 %320

48:                                               ; preds = %37
  %49 = landingpad { ptr, i32 }
          cleanup
  br label %307

50:                                               ; preds = %39
  %51 = landingpad { ptr, i32 }
          cleanup
  br label %306

.loopexit:                                        ; preds = %44, %54, %62, %64, %66, %71, %79, %81, %83, %88, %96, %98, %100, %111, %113, %115, %120, %122, %124, %126, %134, %136, %138, %140, %144, %146, %148, %153, %155, %157, %162, %164, %166, %171, %173, %175, %180, %182, %184, %189, %191, %193, %198, %200, %202, %207, %209, %211, %216, %218, %220, %225, %227, %229, %234, %236, %238, %243, %245, %247, %252, %254, %256, %261, %263, %265, %270, %272, %274, %279, %281, %283, %288, %290, %292
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %305

.loopexit.split-lp:                               ; preds = %57, %59, %74, %76, %91, %93, %106, %108, %295, %297, %299, %301
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %305

52:                                               ; preds = %44, %42, %40
  %.1 = phi i32 [ %.095, %42 ], [ %.095, %40 ], [ %45, %44 ]
  %53 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.70)
  br i1 %53, label %54, label %69

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

56:                                               ; preds = %54
  br i1 %55, label %62, label %57

57:                                               ; preds = %56
  %58 = 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.71)
          to label %59 unwind label %.loopexit.split-lp

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

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

62:                                               ; preds = %56
  %63 = 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.72)
          to label %64 unwind label %.loopexit

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

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

68:                                               ; preds = %66
  store i32 %.1, ptr %31, align 4, !tbaa !9
  br label %304

69:                                               ; preds = %52
  %70 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.73)
  br i1 %70, label %71, label %86

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

73:                                               ; preds = %71
  br i1 %72, label %79, label %74

74:                                               ; preds = %73
  %75 = 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.74)
          to label %76 unwind label %.loopexit.split-lp

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

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

79:                                               ; preds = %73
  %80 = 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.75)
          to label %81 unwind label %.loopexit

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

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

85:                                               ; preds = %83
  store i32 %.1, ptr %30, align 4, !tbaa !24
  br label %304

86:                                               ; preds = %69
  %87 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.76)
  br i1 %87, label %88, label %103

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

90:                                               ; preds = %88
  br i1 %89, label %96, label %91

91:                                               ; preds = %90
  %92 = 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.77)
          to label %93 unwind label %.loopexit.split-lp

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

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

96:                                               ; preds = %90
  %97 = 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.78)
          to label %98 unwind label %.loopexit

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

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

102:                                              ; preds = %100
  store i32 %.1, ptr %29, align 4, !tbaa !25
  br label %304

103:                                              ; preds = %86
  %104 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.79)
  br i1 %104, label %105, label %118

105:                                              ; preds = %103
  %or.cond = icmp ugt i32 %.1, 1
  br i1 %or.cond, label %106, label %111

106:                                              ; preds = %105
  %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.80)
          to label %108 unwind label %.loopexit.split-lp

108:                                              ; preds = %106
  %109 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %107, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
          to label %110 unwind label %.loopexit.split-lp

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

111:                                              ; preds = %105
  %112 = 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.81)
          to label %113 unwind label %.loopexit

113:                                              ; preds = %111
  %114 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %112, i32 noundef %.1)
          to label %115 unwind label %.loopexit

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

117:                                              ; preds = %115
  store i32 %.1, ptr %2, align 4, !tbaa !26
  br label %304

118:                                              ; preds = %103
  %119 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.69)
  br i1 %119, label %120, label %132

120:                                              ; preds = %118
  %121 = 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.82)
          to label %122 unwind label %.loopexit

122:                                              ; preds = %120
  %123 = 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) %121, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %124 unwind label %.loopexit

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

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

127:                                              ; preds = %126
  %128 = invoke noundef i32 @_Z28get_type_reduce_network_typeNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull %26)
          to label %129 unwind label %130

129:                                              ; preds = %127
  store i32 %128, ptr %28, align 4, !tbaa !27
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %304

130:                                              ; preds = %127
  %131 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  br label %305

132:                                              ; preds = %118
  %133 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.68)
  br i1 %133, label %134, label %142

134:                                              ; preds = %132
  %135 = 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.83)
          to label %136 unwind label %.loopexit

136:                                              ; preds = %134
  %137 = 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) %135, ptr noundef nonnull align 8 dereferenceable(32) %24)
          to label %138 unwind label %.loopexit

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

140:                                              ; preds = %138
  %141 = 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 %304 unwind label %.loopexit

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

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.85)
          to label %146 unwind label %.loopexit

146:                                              ; preds = %144
  %147 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEj(ptr noundef nonnull align 8 dereferenceable(8) %145, i32 noundef %.1)
          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
  store i32 %.1, ptr %4, align 4, !tbaa !28
  br label %304

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

153:                                              ; preds = %151
  %154 = 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.87)
          to label %155 unwind label %.loopexit

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

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

159:                                              ; preds = %157
  store i32 %.1, ptr %5, align 4, !tbaa !28
  br label %304

160:                                              ; preds = %151
  %161 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.88)
  br i1 %161, label %162, label %169

162:                                              ; preds = %160
  %163 = 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.89)
          to label %164 unwind label %.loopexit

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

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

168:                                              ; preds = %166
  store i32 %.1, ptr %6, align 4, !tbaa !28
  br label %304

169:                                              ; preds = %160
  %170 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.90)
  br i1 %170, label %171, label %178

171:                                              ; preds = %169
  %172 = 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.91)
          to label %173 unwind label %.loopexit

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

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

177:                                              ; preds = %175
  store i32 %.1, ptr %7, align 4, !tbaa !28
  br label %304

178:                                              ; preds = %169
  %179 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.92)
  br i1 %179, label %180, label %187

180:                                              ; preds = %178
  %181 = 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.93)
          to label %182 unwind label %.loopexit

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

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

186:                                              ; preds = %184
  store i32 %.1, ptr %8, align 4, !tbaa !28
  br label %304

187:                                              ; preds = %178
  %188 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.94)
  br i1 %188, label %189, label %196

189:                                              ; preds = %187
  %190 = 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.95)
          to label %191 unwind label %.loopexit

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

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

195:                                              ; preds = %193
  store i32 %.1, ptr %9, align 4, !tbaa !28
  br label %304

196:                                              ; preds = %187
  %197 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.96)
  br i1 %197, label %198, label %205

198:                                              ; preds = %196
  %199 = 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.97)
          to label %200 unwind label %.loopexit

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

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

204:                                              ; preds = %202
  store i32 %.1, ptr %10, align 4, !tbaa !28
  br label %304

205:                                              ; preds = %196
  %206 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.98)
  br i1 %206, label %207, label %214

207:                                              ; preds = %205
  %208 = 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.99)
          to label %209 unwind label %.loopexit

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

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

213:                                              ; preds = %211
  store i32 %.1, ptr %11, align 4, !tbaa !28
  br label %304

214:                                              ; preds = %205
  %215 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.100)
  br i1 %215, label %216, label %223

216:                                              ; preds = %214
  %217 = 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.101)
          to label %218 unwind label %.loopexit

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

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

222:                                              ; preds = %220
  store i32 %.1, ptr %12, align 4, !tbaa !28
  br label %304

223:                                              ; preds = %214
  %224 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.102)
  br i1 %224, label %225, label %232

225:                                              ; preds = %223
  %226 = 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.103)
          to label %227 unwind label %.loopexit

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

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

231:                                              ; preds = %229
  store i32 %.1, ptr %13, align 4, !tbaa !28
  br label %304

232:                                              ; preds = %223
  %233 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.104)
  br i1 %233, label %234, label %241

234:                                              ; preds = %232
  %235 = 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.105)
          to label %236 unwind label %.loopexit

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

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

240:                                              ; preds = %238
  store i32 %.1, ptr %14, align 4, !tbaa !28
  br label %304

241:                                              ; preds = %232
  %242 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.106)
  br i1 %242, label %243, label %250

243:                                              ; preds = %241
  %244 = 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.107)
          to label %245 unwind label %.loopexit

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

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

249:                                              ; preds = %247
  store i32 %.1, ptr %15, align 4, !tbaa !28
  br label %304

250:                                              ; preds = %241
  %251 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.108)
  br i1 %251, label %252, label %259

252:                                              ; preds = %250
  %253 = 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.109)
          to label %254 unwind label %.loopexit

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

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

258:                                              ; preds = %256
  store i32 %.1, ptr %16, align 4, !tbaa !28
  br label %304

259:                                              ; preds = %250
  %260 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.110)
  br i1 %260, label %261, label %268

261:                                              ; preds = %259
  %262 = 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.111)
          to label %263 unwind label %.loopexit

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

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

267:                                              ; preds = %265
  store i32 %.1, ptr %17, align 4, !tbaa !28
  br label %304

268:                                              ; preds = %259
  %269 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.112)
  br i1 %269, label %270, label %277

270:                                              ; preds = %268
  %271 = 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.113)
          to label %272 unwind label %.loopexit

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

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

276:                                              ; preds = %274
  store i32 %.1, ptr %18, align 4, !tbaa !28
  br label %304

277:                                              ; preds = %268
  %278 = 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 %278, label %279, label %286

279:                                              ; preds = %277
  %280 = 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.115)
          to label %281 unwind label %.loopexit

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

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

285:                                              ; preds = %283
  store i32 %.1, ptr %19, align 4, !tbaa !28
  br label %304

286:                                              ; preds = %277
  %287 = 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 %287, label %288, label %295

288:                                              ; preds = %286
  %289 = 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 %290 unwind label %.loopexit

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

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

294:                                              ; preds = %292
  store i32 %.1, ptr %20, align 4, !tbaa !28
  br label %304

295:                                              ; preds = %286
  %296 = 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 %297 unwind label %.loopexit.split-lp

297:                                              ; preds = %295
  %298 = 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) %296, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %299 unwind label %.loopexit.split-lp

299:                                              ; preds = %297
  %300 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %298, ptr noundef nonnull @.str.119)
          to label %301 unwind label %.loopexit.split-lp

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

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

304:                                              ; preds = %85, %117, %140, %159, %177, %195, %213, %231, %249, %267, %285, %294, %276, %258, %240, %222, %204, %186, %168, %150, %129, %102, %68
  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 %32, !llvm.loop !29

305:                                              ; preds = %.loopexit, %.loopexit.split-lp, %130
  %.pn = phi { ptr, i32 } [ %131, %130 ], [ %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 %306

306:                                              ; preds = %305, %50
  %.pn.pn = phi { ptr, i32 } [ %.pn, %305 ], [ %51, %50 ]
  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 %307

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

308:                                              ; preds = %35
  %309 = 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 %310 unwind label %317

310:                                              ; preds = %308
  %311 = 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) %309, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %312 unwind label %317

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

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

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

317:                                              ; preds = %314, %312, %310, %308
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %319

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

320:                                              ; preds = %319, %46
  %.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn.pn, %319 ], [ %47, %46 ]
  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 0}
!27 = !{!10, !18, i64 64}
!28 = !{!11, !11, i64 0}
!29 = distinct !{!29, !30}
!30 = !{!"llvm.loop.mustprogress"}


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