; LLVM IR from facebookresearch/StarSpace :: src/utils/args.ll (ZN9starspace4Args9parseArgsEiPPc)

; 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.starspace::Args" = type <{ %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i8, [7 x i8], double, double, double, double, double, double, double, double, double, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }>

@.str = external hidden unnamed_addr constant [9 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.6 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [59 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.13 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [49 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543), ptr noundef) #1 align 2

; 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) #2

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN9starspace4Args9parseArgsEiPPc(ptr noundef nonnull align 8 dereferenceable(543) %0, i32 noundef %1, ptr noundef %2) #1 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator", align 1
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::allocator", align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %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::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator", align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator", align 1
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator", align 1
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::allocator", align 1
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::allocator", align 1
  store ptr %0, ptr %4, align 8, !tbaa !5
  store i32 %1, ptr %5, align 4, !tbaa !9
  store ptr %2, ptr %6, align 8, !tbaa !5
  %54 = load ptr, ptr %4, align 8
  %55 = load i32, ptr %5, align 4, !tbaa !9
  %56 = icmp sle i32 %55, 1
  br i1 %56, label %57, label %59

57:                                               ; preds = %3
  %58 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.6)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %54)
  call void @exit(i32 noundef 1) #8
  unreachable

59:                                               ; preds = %3
  %60 = load ptr, ptr %6, align 8, !tbaa !5
  %61 = getelementptr inbounds ptr, ptr %60, i64 1
  %62 = load ptr, ptr %61, align 8, !tbaa !5
  %63 = call i32 @strcmp(ptr noundef %62, ptr noundef @.str.7) #9
  %64 = icmp eq i32 %63, 0
  br i1 %64, label %65, label %67

65:                                               ; preds = %59
  %66 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 42
  store i8 1, ptr %66, align 1, !tbaa !11
  br label %93

67:                                               ; preds = %59
  %68 = load ptr, ptr %6, align 8, !tbaa !5
  %69 = getelementptr inbounds ptr, ptr %68, i64 1
  %70 = load ptr, ptr %69, align 8, !tbaa !5
  %71 = call i32 @strcmp(ptr noundef %70, ptr noundef @.str.8) #9
  %72 = icmp eq i32 %71, 0
  br i1 %72, label %73, label %75

73:                                               ; preds = %67
  %74 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 42
  store i8 0, ptr %74, align 1, !tbaa !11
  br label %92

75:                                               ; preds = %67
  %76 = load ptr, ptr %6, align 8, !tbaa !5
  %77 = getelementptr inbounds ptr, ptr %76, i64 1
  %78 = load ptr, ptr %77, align 8, !tbaa !5
  %79 = call i32 @strcmp(ptr noundef %78, ptr noundef @.str.9) #9
  %80 = icmp eq i32 %79, 0
  br i1 %80, label %87, label %81

81:                                               ; preds = %75
  %82 = load ptr, ptr %6, align 8, !tbaa !5
  %83 = getelementptr inbounds ptr, ptr %82, i64 1
  %84 = load ptr, ptr %83, align 8, !tbaa !5
  %85 = call i32 @strcmp(ptr noundef %84, ptr noundef @.str.10) #9
  %86 = icmp eq i32 %85, 0
  br i1 %86, label %87, label %90

87:                                               ; preds = %81, %75
  %88 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.11)
  %89 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %54)
  call void @exit(i32 noundef 1) #8
  unreachable

90:                                               ; preds = %81
  %91 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.12)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %54)
  call void @exit(i32 noundef 1) #8
  unreachable

92:                                               ; preds = %73
  br label %93

93:                                               ; preds = %92, %65
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  store i32 2, ptr %7, align 4, !tbaa !9
  br label %94

94:                                               ; preds = %1214, %93
  %95 = load i32, ptr %7, align 4, !tbaa !9
  %96 = load i32, ptr %5, align 4, !tbaa !9
  %97 = icmp slt i32 %95, %96
  br i1 %97, label %98, label %1217

98:                                               ; preds = %94
  %99 = load ptr, ptr %6, align 8, !tbaa !5
  %100 = load i32, ptr %7, align 4, !tbaa !9
  %101 = sext i32 %100 to i64
  %102 = getelementptr inbounds ptr, ptr %99, i64 %101
  %103 = load ptr, ptr %102, align 8, !tbaa !5
  %104 = getelementptr inbounds i8, ptr %103, i64 0
  %105 = load i8, ptr %104, align 1, !tbaa !18
  %106 = sext i8 %105 to i32
  %107 = icmp ne i32 %106, 45
  br i1 %107, label %108, label %111

108:                                              ; preds = %98
  %109 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef @.str.13)
  %110 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %54)
  call void @exit(i32 noundef 1) #8
  unreachable

111:                                              ; preds = %98
  %112 = load ptr, ptr %6, align 8, !tbaa !5
  %113 = load i32, ptr %7, align 4, !tbaa !9
  %114 = sext i32 %113 to i64
  %115 = getelementptr inbounds ptr, ptr %112, i64 %114
  %116 = load ptr, ptr %115, align 8, !tbaa !5
  %117 = call i64 @strlen(ptr noundef %116) #9
  %118 = icmp uge i64 %117, 2
  br i1 %118, label %119, label %140

119:                                              ; preds = %111
  %120 = load ptr, ptr %6, align 8, !tbaa !5
  %121 = load i32, ptr %7, align 4, !tbaa !9
  %122 = sext i32 %121 to i64
  %123 = getelementptr inbounds ptr, ptr %120, i64 %122
  %124 = load ptr, ptr %123, align 8, !tbaa !5
  %125 = getelementptr inbounds i8, ptr %124, i64 1
  %126 = load i8, ptr %125, align 1, !tbaa !18
  %127 = sext i8 %126 to i32
  %128 = icmp eq i32 %127, 45
  br i1 %128, label %129, label %140

129:                                              ; preds = %119
  %130 = load ptr, ptr %6, align 8, !tbaa !5
  %131 = load i32, ptr %7, align 4, !tbaa !9
  %132 = sext i32 %131 to i64
  %133 = getelementptr inbounds ptr, ptr %130, i64 %132
  %134 = load ptr, ptr %133, align 8, !tbaa !5
  %135 = getelementptr inbounds i8, ptr %134, i64 1
  %136 = load ptr, ptr %6, align 8, !tbaa !5
  %137 = load i32, ptr %7, align 4, !tbaa !9
  %138 = sext i32 %137 to i64
  %139 = getelementptr inbounds ptr, ptr %136, i64 %138
  store ptr %135, ptr %139, align 8, !tbaa !5
  br label %140

140:                                              ; preds = %129, %119, %111
  %141 = load ptr, ptr %6, align 8, !tbaa !5
  %142 = load i32, ptr %7, align 4, !tbaa !9
  %143 = sext i32 %142 to i64
  %144 = getelementptr inbounds ptr, ptr %141, i64 %143
  %145 = load ptr, ptr %144, align 8, !tbaa !5
  %146 = call i32 @strcmp(ptr noundef %145, ptr noundef @.str.9) #9
  %147 = icmp eq i32 %146, 0
  br i1 %147, label %156, label %148

148:                                              ; preds = %140
  %149 = load ptr, ptr %6, align 8, !tbaa !5
  %150 = load i32, ptr %7, align 4, !tbaa !9
  %151 = sext i32 %150 to i64
  %152 = getelementptr inbounds ptr, ptr %149, i64 %151
  %153 = load ptr, ptr %152, align 8, !tbaa !5
  %154 = call i32 @strcmp(ptr noundef %153, ptr noundef @.str.10) #9
  %155 = icmp eq i32 %154, 0
  br i1 %155, label %156, label %159

156:                                              ; preds = %148, %140
  %157 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.11)
  %158 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %54)
  call void @exit(i32 noundef 1) #8
  unreachable

159:                                              ; preds = %148
  %160 = load ptr, ptr %6, align 8, !tbaa !5
  %161 = load i32, ptr %7, align 4, !tbaa !9
  %162 = sext i32 %161 to i64
  %163 = getelementptr inbounds ptr, ptr %160, i64 %162
  %164 = load ptr, ptr %163, align 8, !tbaa !5
  %165 = call i32 @strcmp(ptr noundef %164, ptr noundef @.str.14) #9
  %166 = icmp eq i32 %165, 0
  br i1 %166, label %167, label %181

167:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #10
  %168 = load ptr, ptr %6, align 8, !tbaa !5
  %169 = load i32, ptr %7, align 4, !tbaa !9
  %170 = add nsw i32 %169, 1
  %171 = sext i32 %170 to i64
  %172 = getelementptr inbounds ptr, ptr %168, i64 %171
  %173 = load ptr, ptr %172, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef %173, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %174 unwind label %177

174:                                              ; preds = %167
  %175 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 0
  %176 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %175, ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #10
  br label %1213

177:                                              ; preds = %167
  %178 = landingpad { ptr, i32 }
          cleanup
  %179 = extractvalue { ptr, i32 } %178, 0
  store ptr %179, ptr %10, align 8
  %180 = extractvalue { ptr, i32 } %178, 1
  store i32 %180, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #10
  br label %1293

181:                                              ; preds = %159
  %182 = load ptr, ptr %6, align 8, !tbaa !5
  %183 = load i32, ptr %7, align 4, !tbaa !9
  %184 = sext i32 %183 to i64
  %185 = getelementptr inbounds ptr, ptr %182, i64 %184
  %186 = load ptr, ptr %185, align 8, !tbaa !5
  %187 = call i32 @strcmp(ptr noundef %186, ptr noundef @.str.15) #9
  %188 = icmp eq i32 %187, 0
  br i1 %188, label %189, label %203

189:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #10
  %190 = load ptr, ptr %6, align 8, !tbaa !5
  %191 = load i32, ptr %7, align 4, !tbaa !9
  %192 = add nsw i32 %191, 1
  %193 = sext i32 %192 to i64
  %194 = getelementptr inbounds ptr, ptr %190, i64 %193
  %195 = load ptr, ptr %194, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef %195, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %196 unwind label %199

196:                                              ; preds = %189
  %197 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 1
  %198 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %197, ptr noundef nonnull align 8 dereferenceable(32) %12) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #10
  br label %1212

199:                                              ; preds = %189
  %200 = landingpad { ptr, i32 }
          cleanup
  %201 = extractvalue { ptr, i32 } %200, 0
  store ptr %201, ptr %10, align 8
  %202 = extractvalue { ptr, i32 } %200, 1
  store i32 %202, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #10
  br label %1293

203:                                              ; preds = %181
  %204 = load ptr, ptr %6, align 8, !tbaa !5
  %205 = load i32, ptr %7, align 4, !tbaa !9
  %206 = sext i32 %205 to i64
  %207 = getelementptr inbounds ptr, ptr %204, i64 %206
  %208 = load ptr, ptr %207, align 8, !tbaa !5
  %209 = call i32 @strcmp(ptr noundef %208, ptr noundef @.str.16) #9
  %210 = icmp eq i32 %209, 0
  br i1 %210, label %211, label %225

211:                                              ; preds = %203
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #10
  %212 = load ptr, ptr %6, align 8, !tbaa !5
  %213 = load i32, ptr %7, align 4, !tbaa !9
  %214 = add nsw i32 %213, 1
  %215 = sext i32 %214 to i64
  %216 = getelementptr inbounds ptr, ptr %212, i64 %215
  %217 = load ptr, ptr %216, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef %217, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %218 unwind label %221

218:                                              ; preds = %211
  %219 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 2
  %220 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %219, ptr noundef nonnull align 8 dereferenceable(32) %14) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #10
  br label %1211

221:                                              ; preds = %211
  %222 = landingpad { ptr, i32 }
          cleanup
  %223 = extractvalue { ptr, i32 } %222, 0
  store ptr %223, ptr %10, align 8
  %224 = extractvalue { ptr, i32 } %222, 1
  store i32 %224, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #10
  br label %1293

225:                                              ; preds = %203
  %226 = load ptr, ptr %6, align 8, !tbaa !5
  %227 = load i32, ptr %7, align 4, !tbaa !9
  %228 = sext i32 %227 to i64
  %229 = getelementptr inbounds ptr, ptr %226, i64 %228
  %230 = load ptr, ptr %229, align 8, !tbaa !5
  %231 = call i32 @strcmp(ptr noundef %230, ptr noundef @.str.17) #9
  %232 = icmp eq i32 %231, 0
  br i1 %232, label %233, label %247

233:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #10
  %234 = load ptr, ptr %6, align 8, !tbaa !5
  %235 = load i32, ptr %7, align 4, !tbaa !9
  %236 = add nsw i32 %235, 1
  %237 = sext i32 %236 to i64
  %238 = getelementptr inbounds ptr, ptr %234, i64 %237
  %239 = load ptr, ptr %238, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef %239, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %240 unwind label %243

240:                                              ; preds = %233
  %241 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 3
  %242 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %241, ptr noundef nonnull align 8 dereferenceable(32) %16) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #10
  br label %1210

243:                                              ; preds = %233
  %244 = landingpad { ptr, i32 }
          cleanup
  %245 = extractvalue { ptr, i32 } %244, 0
  store ptr %245, ptr %10, align 8
  %246 = extractvalue { ptr, i32 } %244, 1
  store i32 %246, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #10
  br label %1293

247:                                              ; preds = %225
  %248 = load ptr, ptr %6, align 8, !tbaa !5
  %249 = load i32, ptr %7, align 4, !tbaa !9
  %250 = sext i32 %249 to i64
  %251 = getelementptr inbounds ptr, ptr %248, i64 %250
  %252 = load ptr, ptr %251, align 8, !tbaa !5
  %253 = call i32 @strcmp(ptr noundef %252, ptr noundef @.str.18) #9
  %254 = icmp eq i32 %253, 0
  br i1 %254, label %255, label %269

255:                                              ; preds = %247
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #10
  %256 = load ptr, ptr %6, align 8, !tbaa !5
  %257 = load i32, ptr %7, align 4, !tbaa !9
  %258 = add nsw i32 %257, 1
  %259 = sext i32 %258 to i64
  %260 = getelementptr inbounds ptr, ptr %256, i64 %259
  %261 = load ptr, ptr %260, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef %261, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %262 unwind label %265

262:                                              ; preds = %255
  %263 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 9
  %264 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %263, ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #10
  br label %1209

265:                                              ; preds = %255
  %266 = landingpad { ptr, i32 }
          cleanup
  %267 = extractvalue { ptr, i32 } %266, 0
  store ptr %267, ptr %10, align 8
  %268 = extractvalue { ptr, i32 } %266, 1
  store i32 %268, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #10
  br label %1293

269:                                              ; preds = %247
  %270 = load ptr, ptr %6, align 8, !tbaa !5
  %271 = load i32, ptr %7, align 4, !tbaa !9
  %272 = sext i32 %271 to i64
  %273 = getelementptr inbounds ptr, ptr %270, i64 %272
  %274 = load ptr, ptr %273, align 8, !tbaa !5
  %275 = call i32 @strcmp(ptr noundef %274, ptr noundef @.str.19) #9
  %276 = icmp eq i32 %275, 0
  br i1 %276, label %277, label %291

277:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #10
  %278 = load ptr, ptr %6, align 8, !tbaa !5
  %279 = load i32, ptr %7, align 4, !tbaa !9
  %280 = add nsw i32 %279, 1
  %281 = sext i32 %280 to i64
  %282 = getelementptr inbounds ptr, ptr %278, i64 %281
  %283 = load ptr, ptr %282, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %283, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %284 unwind label %287

284:                                              ; preds = %277
  %285 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 4
  %286 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %285, ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #10
  br label %1208

287:                                              ; preds = %277
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %10, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #10
  br label %1293

291:                                              ; preds = %269
  %292 = load ptr, ptr %6, align 8, !tbaa !5
  %293 = load i32, ptr %7, align 4, !tbaa !9
  %294 = sext i32 %293 to i64
  %295 = getelementptr inbounds ptr, ptr %292, i64 %294
  %296 = load ptr, ptr %295, align 8, !tbaa !5
  %297 = call i32 @strcmp(ptr noundef %296, ptr noundef @.str.20) #9
  %298 = icmp eq i32 %297, 0
  br i1 %298, label %299, label %313

299:                                              ; preds = %291
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #10
  %300 = load ptr, ptr %6, align 8, !tbaa !5
  %301 = load i32, ptr %7, align 4, !tbaa !9
  %302 = add nsw i32 %301, 1
  %303 = sext i32 %302 to i64
  %304 = getelementptr inbounds ptr, ptr %300, i64 %303
  %305 = load ptr, ptr %304, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %305, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %306 unwind label %309

306:                                              ; preds = %299
  %307 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 5
  %308 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %307, ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #10
  br label %1207

309:                                              ; preds = %299
  %310 = landingpad { ptr, i32 }
          cleanup
  %311 = extractvalue { ptr, i32 } %310, 0
  store ptr %311, ptr %10, align 8
  %312 = extractvalue { ptr, i32 } %310, 1
  store i32 %312, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #10
  br label %1293

313:                                              ; preds = %291
  %314 = load ptr, ptr %6, align 8, !tbaa !5
  %315 = load i32, ptr %7, align 4, !tbaa !9
  %316 = sext i32 %315 to i64
  %317 = getelementptr inbounds ptr, ptr %314, i64 %316
  %318 = load ptr, ptr %317, align 8, !tbaa !5
  %319 = call i32 @strcmp(ptr noundef %318, ptr noundef @.str.21) #9
  %320 = icmp eq i32 %319, 0
  br i1 %320, label %321, label %335

321:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #10
  %322 = load ptr, ptr %6, align 8, !tbaa !5
  %323 = load i32, ptr %7, align 4, !tbaa !9
  %324 = add nsw i32 %323, 1
  %325 = sext i32 %324 to i64
  %326 = getelementptr inbounds ptr, ptr %322, i64 %325
  %327 = load ptr, ptr %326, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef %327, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %328 unwind label %331

328:                                              ; preds = %321
  %329 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 6
  %330 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %329, ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #10
  br label %1206

331:                                              ; preds = %321
  %332 = landingpad { ptr, i32 }
          cleanup
  %333 = extractvalue { ptr, i32 } %332, 0
  store ptr %333, ptr %10, align 8
  %334 = extractvalue { ptr, i32 } %332, 1
  store i32 %334, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #10
  br label %1293

335:                                              ; preds = %313
  %336 = load ptr, ptr %6, align 8, !tbaa !5
  %337 = load i32, ptr %7, align 4, !tbaa !9
  %338 = sext i32 %337 to i64
  %339 = getelementptr inbounds ptr, ptr %336, i64 %338
  %340 = load ptr, ptr %339, align 8, !tbaa !5
  %341 = call i32 @strcmp(ptr noundef %340, ptr noundef @.str.22) #9
  %342 = icmp eq i32 %341, 0
  br i1 %342, label %343, label %357

343:                                              ; preds = %335
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #10
  %344 = load ptr, ptr %6, align 8, !tbaa !5
  %345 = load i32, ptr %7, align 4, !tbaa !9
  %346 = add nsw i32 %345, 1
  %347 = sext i32 %346 to i64
  %348 = getelementptr inbounds ptr, ptr %344, i64 %347
  %349 = load ptr, ptr %348, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef %349, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %350 unwind label %353

350:                                              ; preds = %343
  %351 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 7
  %352 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %351, ptr noundef nonnull align 8 dereferenceable(32) %26) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #10
  br label %1205

353:                                              ; preds = %343
  %354 = landingpad { ptr, i32 }
          cleanup
  %355 = extractvalue { ptr, i32 } %354, 0
  store ptr %355, ptr %10, align 8
  %356 = extractvalue { ptr, i32 } %354, 1
  store i32 %356, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #10
  br label %1293

357:                                              ; preds = %335
  %358 = load ptr, ptr %6, align 8, !tbaa !5
  %359 = load i32, ptr %7, align 4, !tbaa !9
  %360 = sext i32 %359 to i64
  %361 = getelementptr inbounds ptr, ptr %358, i64 %360
  %362 = load ptr, ptr %361, align 8, !tbaa !5
  %363 = call i32 @strcmp(ptr noundef %362, ptr noundef @.str.23) #9
  %364 = icmp eq i32 %363, 0
  br i1 %364, label %365, label %374

365:                                              ; preds = %357
  %366 = load ptr, ptr %6, align 8, !tbaa !5
  %367 = load i32, ptr %7, align 4, !tbaa !9
  %368 = add nsw i32 %367, 1
  %369 = sext i32 %368 to i64
  %370 = getelementptr inbounds ptr, ptr %366, i64 %369
  %371 = load ptr, ptr %370, align 8, !tbaa !5
  %372 = call i32 @atoi(ptr noundef %371) #9
  %373 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 38
  store i32 %372, ptr %373, align 8, !tbaa !19
  br label %1204

374:                                              ; preds = %357
  %375 = load ptr, ptr %6, align 8, !tbaa !5
  %376 = load i32, ptr %7, align 4, !tbaa !9
  %377 = sext i32 %376 to i64
  %378 = getelementptr inbounds ptr, ptr %375, i64 %377
  %379 = load ptr, ptr %378, align 8, !tbaa !5
  %380 = call i32 @strcmp(ptr noundef %379, ptr noundef @.str.24) #9
  %381 = icmp eq i32 %380, 0
  br i1 %381, label %382, label %396

382:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #10
  %383 = load ptr, ptr %6, align 8, !tbaa !5
  %384 = load i32, ptr %7, align 4, !tbaa !9
  %385 = add nsw i32 %384, 1
  %386 = sext i32 %385 to i64
  %387 = getelementptr inbounds ptr, ptr %383, i64 %386
  %388 = load ptr, ptr %387, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %29) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef %388, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %389 unwind label %392

389:                                              ; preds = %382
  %390 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 8
  %391 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %390, ptr noundef nonnull align 8 dereferenceable(32) %28) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #10
  br label %1203

392:                                              ; preds = %382
  %393 = landingpad { ptr, i32 }
          cleanup
  %394 = extractvalue { ptr, i32 } %393, 0
  store ptr %394, ptr %10, align 8
  %395 = extractvalue { ptr, i32 } %393, 1
  store i32 %395, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #10
  br label %1293

396:                                              ; preds = %374
  %397 = load ptr, ptr %6, align 8, !tbaa !5
  %398 = load i32, ptr %7, align 4, !tbaa !9
  %399 = sext i32 %398 to i64
  %400 = getelementptr inbounds ptr, ptr %397, i64 %399
  %401 = load ptr, ptr %400, align 8, !tbaa !5
  %402 = call i32 @strcmp(ptr noundef %401, ptr noundef @.str.25) #9
  %403 = icmp eq i32 %402, 0
  br i1 %403, label %404, label %414

404:                                              ; preds = %396
  %405 = load ptr, ptr %6, align 8, !tbaa !5
  %406 = load i32, ptr %7, align 4, !tbaa !9
  %407 = add nsw i32 %406, 1
  %408 = sext i32 %407 to i64
  %409 = getelementptr inbounds ptr, ptr %405, i64 %408
  %410 = load ptr, ptr %409, align 8, !tbaa !5
  %411 = getelementptr inbounds i8, ptr %410, i64 0
  %412 = load i8, ptr %411, align 1, !tbaa !18
  %413 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 12
  store i8 %412, ptr %413, align 8, !tbaa !20
  br label %1202

414:                                              ; preds = %396
  %415 = load ptr, ptr %6, align 8, !tbaa !5
  %416 = load i32, ptr %7, align 4, !tbaa !9
  %417 = sext i32 %416 to i64
  %418 = getelementptr inbounds ptr, ptr %415, i64 %417
  %419 = load ptr, ptr %418, align 8, !tbaa !5
  %420 = call i32 @strcmp(ptr noundef %419, ptr noundef @.str.26) #9
  %421 = icmp eq i32 %420, 0
  br i1 %421, label %422, label %436

422:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #10
  %423 = load ptr, ptr %6, align 8, !tbaa !5
  %424 = load i32, ptr %7, align 4, !tbaa !9
  %425 = add nsw i32 %424, 1
  %426 = sext i32 %425 to i64
  %427 = getelementptr inbounds ptr, ptr %423, i64 %426
  %428 = load ptr, ptr %427, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef %428, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %429 unwind label %432

429:                                              ; preds = %422
  %430 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 10
  %431 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %430, ptr noundef nonnull align 8 dereferenceable(32) %30) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #10
  br label %1201

432:                                              ; preds = %422
  %433 = landingpad { ptr, i32 }
          cleanup
  %434 = extractvalue { ptr, i32 } %433, 0
  store ptr %434, ptr %10, align 8
  %435 = extractvalue { ptr, i32 } %433, 1
  store i32 %435, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #10
  br label %1293

436:                                              ; preds = %414
  %437 = load ptr, ptr %6, align 8, !tbaa !5
  %438 = load i32, ptr %7, align 4, !tbaa !9
  %439 = sext i32 %438 to i64
  %440 = getelementptr inbounds ptr, ptr %437, i64 %439
  %441 = load ptr, ptr %440, align 8, !tbaa !5
  %442 = call i32 @strcmp(ptr noundef %441, ptr noundef @.str.27) #9
  %443 = icmp eq i32 %442, 0
  br i1 %443, label %444, label %458

444:                                              ; preds = %436
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #10
  %445 = load ptr, ptr %6, align 8, !tbaa !5
  %446 = load i32, ptr %7, align 4, !tbaa !9
  %447 = add nsw i32 %446, 1
  %448 = sext i32 %447 to i64
  %449 = getelementptr inbounds ptr, ptr %445, i64 %448
  %450 = load ptr, ptr %449, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %450, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %451 unwind label %454

451:                                              ; preds = %444
  %452 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 11
  %453 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %452, ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #10
  br label %1200

454:                                              ; preds = %444
  %455 = landingpad { ptr, i32 }
          cleanup
  %456 = extractvalue { ptr, i32 } %455, 0
  store ptr %456, ptr %10, align 8
  %457 = extractvalue { ptr, i32 } %455, 1
  store i32 %457, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #10
  br label %1293

458:                                              ; preds = %436
  %459 = load ptr, ptr %6, align 8, !tbaa !5
  %460 = load i32, ptr %7, align 4, !tbaa !9
  %461 = sext i32 %460 to i64
  %462 = getelementptr inbounds ptr, ptr %459, i64 %461
  %463 = load ptr, ptr %462, align 8, !tbaa !5
  %464 = call i32 @strcmp(ptr noundef %463, ptr noundef @.str.28) #9
  %465 = icmp eq i32 %464, 0
  br i1 %465, label %466, label %475

466:                                              ; preds = %458
  %467 = load ptr, ptr %6, align 8, !tbaa !5
  %468 = load i32, ptr %7, align 4, !tbaa !9
  %469 = add nsw i32 %468, 1
  %470 = sext i32 %469 to i64
  %471 = getelementptr inbounds ptr, ptr %467, i64 %470
  %472 = load ptr, ptr %471, align 8, !tbaa !5
  %473 = call double @atof(ptr noundef %472) #9
  %474 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 14
  store double %473, ptr %474, align 8, !tbaa !21
  br label %1199

475:                                              ; preds = %458
  %476 = load ptr, ptr %6, align 8, !tbaa !5
  %477 = load i32, ptr %7, align 4, !tbaa !9
  %478 = sext i32 %477 to i64
  %479 = getelementptr inbounds ptr, ptr %476, i64 %478
  %480 = load ptr, ptr %479, align 8, !tbaa !5
  %481 = call i32 @strcmp(ptr noundef %480, ptr noundef @.str.29) #9
  %482 = icmp eq i32 %481, 0
  br i1 %482, label %483, label %492

483:                                              ; preds = %475
  %484 = load ptr, ptr %6, align 8, !tbaa !5
  %485 = load i32, ptr %7, align 4, !tbaa !9
  %486 = add nsw i32 %485, 1
  %487 = sext i32 %486 to i64
  %488 = getelementptr inbounds ptr, ptr %484, i64 %487
  %489 = load ptr, ptr %488, align 8, !tbaa !5
  %490 = call double @atof(ptr noundef %489) #9
  %491 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 19
  store double %490, ptr %491, align 8, !tbaa !22
  br label %1198

492:                                              ; preds = %475
  %493 = load ptr, ptr %6, align 8, !tbaa !5
  %494 = load i32, ptr %7, align 4, !tbaa !9
  %495 = sext i32 %494 to i64
  %496 = getelementptr inbounds ptr, ptr %493, i64 %495
  %497 = load ptr, ptr %496, align 8, !tbaa !5
  %498 = call i32 @strcmp(ptr noundef %497, ptr noundef @.str.30) #9
  %499 = icmp eq i32 %498, 0
  br i1 %499, label %500, label %509

500:                                              ; preds = %492
  %501 = load ptr, ptr %6, align 8, !tbaa !5
  %502 = load i32, ptr %7, align 4, !tbaa !9
  %503 = add nsw i32 %502, 1
  %504 = sext i32 %503 to i64
  %505 = getelementptr inbounds ptr, ptr %501, i64 %504
  %506 = load ptr, ptr %505, align 8, !tbaa !5
  %507 = call double @atof(ptr noundef %506) #9
  %508 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 15
  store double %507, ptr %508, align 8, !tbaa !23
  br label %1197

509:                                              ; preds = %492
  %510 = load ptr, ptr %6, align 8, !tbaa !5
  %511 = load i32, ptr %7, align 4, !tbaa !9
  %512 = sext i32 %511 to i64
  %513 = getelementptr inbounds ptr, ptr %510, i64 %512
  %514 = load ptr, ptr %513, align 8, !tbaa !5
  %515 = call i32 @strcmp(ptr noundef %514, ptr noundef @.str.31) #9
  %516 = icmp eq i32 %515, 0
  br i1 %516, label %517, label %526

517:                                              ; preds = %509
  %518 = load ptr, ptr %6, align 8, !tbaa !5
  %519 = load i32, ptr %7, align 4, !tbaa !9
  %520 = add nsw i32 %519, 1
  %521 = sext i32 %520 to i64
  %522 = getelementptr inbounds ptr, ptr %518, i64 %521
  %523 = load ptr, ptr %522, align 8, !tbaa !5
  %524 = call double @atof(ptr noundef %523) #9
  %525 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 16
  store double %524, ptr %525, align 8, !tbaa !24
  br label %1196

526:                                              ; preds = %509
  %527 = load ptr, ptr %6, align 8, !tbaa !5
  %528 = load i32, ptr %7, align 4, !tbaa !9
  %529 = sext i32 %528 to i64
  %530 = getelementptr inbounds ptr, ptr %527, i64 %529
  %531 = load ptr, ptr %530, align 8, !tbaa !5
  %532 = call i32 @strcmp(ptr noundef %531, ptr noundef @.str.32) #9
  %533 = icmp eq i32 %532, 0
  br i1 %533, label %534, label %543

534:                                              ; preds = %526
  %535 = load ptr, ptr %6, align 8, !tbaa !5
  %536 = load i32, ptr %7, align 4, !tbaa !9
  %537 = add nsw i32 %536, 1
  %538 = sext i32 %537 to i64
  %539 = getelementptr inbounds ptr, ptr %535, i64 %538
  %540 = load ptr, ptr %539, align 8, !tbaa !5
  %541 = call double @atof(ptr noundef %540) #9
  %542 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 17
  store double %541, ptr %542, align 8, !tbaa !25
  br label %1195

543:                                              ; preds = %526
  %544 = load ptr, ptr %6, align 8, !tbaa !5
  %545 = load i32, ptr %7, align 4, !tbaa !9
  %546 = sext i32 %545 to i64
  %547 = getelementptr inbounds ptr, ptr %544, i64 %546
  %548 = load ptr, ptr %547, align 8, !tbaa !5
  %549 = call i32 @strcmp(ptr noundef %548, ptr noundef @.str.33) #9
  %550 = icmp eq i32 %549, 0
  br i1 %550, label %551, label %560

551:                                              ; preds = %543
  %552 = load ptr, ptr %6, align 8, !tbaa !5
  %553 = load i32, ptr %7, align 4, !tbaa !9
  %554 = add nsw i32 %553, 1
  %555 = sext i32 %554 to i64
  %556 = getelementptr inbounds ptr, ptr %552, i64 %555
  %557 = load ptr, ptr %556, align 8, !tbaa !5
  %558 = call double @atof(ptr noundef %557) #9
  %559 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 18
  store double %558, ptr %559, align 8, !tbaa !26
  br label %1194

560:                                              ; preds = %543
  %561 = load ptr, ptr %6, align 8, !tbaa !5
  %562 = load i32, ptr %7, align 4, !tbaa !9
  %563 = sext i32 %562 to i64
  %564 = getelementptr inbounds ptr, ptr %561, i64 %563
  %565 = load ptr, ptr %564, align 8, !tbaa !5
  %566 = call i32 @strcmp(ptr noundef %565, ptr noundef @.str.34) #9
  %567 = icmp eq i32 %566, 0
  br i1 %567, label %568, label %577

568:                                              ; preds = %560
  %569 = load ptr, ptr %6, align 8, !tbaa !5
  %570 = load i32, ptr %7, align 4, !tbaa !9
  %571 = add nsw i32 %570, 1
  %572 = sext i32 %571 to i64
  %573 = getelementptr inbounds ptr, ptr %569, i64 %572
  %574 = load ptr, ptr %573, align 8, !tbaa !5
  %575 = call double @atof(ptr noundef %574) #9
  %576 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 20
  store double %575, ptr %576, align 8, !tbaa !27
  br label %1193

577:                                              ; preds = %560
  %578 = load ptr, ptr %6, align 8, !tbaa !5
  %579 = load i32, ptr %7, align 4, !tbaa !9
  %580 = sext i32 %579 to i64
  %581 = getelementptr inbounds ptr, ptr %578, i64 %580
  %582 = load ptr, ptr %581, align 8, !tbaa !5
  %583 = call i32 @strcmp(ptr noundef %582, ptr noundef @.str.35) #9
  %584 = icmp eq i32 %583, 0
  br i1 %584, label %585, label %594

585:                                              ; preds = %577
  %586 = load ptr, ptr %6, align 8, !tbaa !5
  %587 = load i32, ptr %7, align 4, !tbaa !9
  %588 = add nsw i32 %587, 1
  %589 = sext i32 %588 to i64
  %590 = getelementptr inbounds ptr, ptr %586, i64 %589
  %591 = load ptr, ptr %590, align 8, !tbaa !5
  %592 = call double @atof(ptr noundef %591) #9
  %593 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 21
  store double %592, ptr %593, align 8, !tbaa !28
  br label %1192

594:                                              ; preds = %577
  %595 = load ptr, ptr %6, align 8, !tbaa !5
  %596 = load i32, ptr %7, align 4, !tbaa !9
  %597 = sext i32 %596 to i64
  %598 = getelementptr inbounds ptr, ptr %595, i64 %597
  %599 = load ptr, ptr %598, align 8, !tbaa !5
  %600 = call i32 @strcmp(ptr noundef %599, ptr noundef @.str.36) #9
  %601 = icmp eq i32 %600, 0
  br i1 %601, label %602, label %611

602:                                              ; preds = %594
  %603 = load ptr, ptr %6, align 8, !tbaa !5
  %604 = load i32, ptr %7, align 4, !tbaa !9
  %605 = add nsw i32 %604, 1
  %606 = sext i32 %605 to i64
  %607 = getelementptr inbounds ptr, ptr %603, i64 %606
  %608 = load ptr, ptr %607, align 8, !tbaa !5
  %609 = call double @atof(ptr noundef %608) #9
  %610 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 22
  store double %609, ptr %610, align 8, !tbaa !29
  br label %1191

611:                                              ; preds = %594
  %612 = load ptr, ptr %6, align 8, !tbaa !5
  %613 = load i32, ptr %7, align 4, !tbaa !9
  %614 = sext i32 %613 to i64
  %615 = getelementptr inbounds ptr, ptr %612, i64 %614
  %616 = load ptr, ptr %615, align 8, !tbaa !5
  %617 = call i32 @strcmp(ptr noundef %616, ptr noundef @.str.37) #9
  %618 = icmp eq i32 %617, 0
  br i1 %618, label %619, label %629

619:                                              ; preds = %611
  %620 = load ptr, ptr %6, align 8, !tbaa !5
  %621 = load i32, ptr %7, align 4, !tbaa !9
  %622 = add nsw i32 %621, 1
  %623 = sext i32 %622 to i64
  %624 = getelementptr inbounds ptr, ptr %620, i64 %623
  %625 = load ptr, ptr %624, align 8, !tbaa !5
  %626 = call i32 @atoi(ptr noundef %625) #9
  %627 = sext i32 %626 to i64
  %628 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 23
  store i64 %627, ptr %628, align 8, !tbaa !30
  br label %1190

629:                                              ; preds = %611
  %630 = load ptr, ptr %6, align 8, !tbaa !5
  %631 = load i32, ptr %7, align 4, !tbaa !9
  %632 = sext i32 %631 to i64
  %633 = getelementptr inbounds ptr, ptr %630, i64 %632
  %634 = load ptr, ptr %633, align 8, !tbaa !5
  %635 = call i32 @strcmp(ptr noundef %634, ptr noundef @.str.38) #9
  %636 = icmp eq i32 %635, 0
  br i1 %636, label %637, label %646

637:                                              ; preds = %629
  %638 = load ptr, ptr %6, align 8, !tbaa !5
  %639 = load i32, ptr %7, align 4, !tbaa !9
  %640 = add nsw i32 %639, 1
  %641 = sext i32 %640 to i64
  %642 = getelementptr inbounds ptr, ptr %638, i64 %641
  %643 = load ptr, ptr %642, align 8, !tbaa !5
  %644 = call i32 @atoi(ptr noundef %643) #9
  %645 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 24
  store i32 %644, ptr %645, align 8, !tbaa !31
  br label %1189

646:                                              ; preds = %629
  %647 = load ptr, ptr %6, align 8, !tbaa !5
  %648 = load i32, ptr %7, align 4, !tbaa !9
  %649 = sext i32 %648 to i64
  %650 = getelementptr inbounds ptr, ptr %647, i64 %649
  %651 = load ptr, ptr %650, align 8, !tbaa !5
  %652 = call i32 @strcmp(ptr noundef %651, ptr noundef @.str.39) #9
  %653 = icmp eq i32 %652, 0
  br i1 %653, label %654, label %663

654:                                              ; preds = %646
  %655 = load ptr, ptr %6, align 8, !tbaa !5
  %656 = load i32, ptr %7, align 4, !tbaa !9
  %657 = add nsw i32 %656, 1
  %658 = sext i32 %657 to i64
  %659 = getelementptr inbounds ptr, ptr %655, i64 %658
  %660 = load ptr, ptr %659, align 8, !tbaa !5
  %661 = call i32 @atoi(ptr noundef %660) #9
  %662 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 25
  store i32 %661, ptr %662, align 4, !tbaa !32
  br label %1188

663:                                              ; preds = %646
  %664 = load ptr, ptr %6, align 8, !tbaa !5
  %665 = load i32, ptr %7, align 4, !tbaa !9
  %666 = sext i32 %665 to i64
  %667 = getelementptr inbounds ptr, ptr %664, i64 %666
  %668 = load ptr, ptr %667, align 8, !tbaa !5
  %669 = call i32 @strcmp(ptr noundef %668, ptr noundef @.str.40) #9
  %670 = icmp eq i32 %669, 0
  br i1 %670, label %671, label %680

671:                                              ; preds = %663
  %672 = load ptr, ptr %6, align 8, !tbaa !5
  %673 = load i32, ptr %7, align 4, !tbaa !9
  %674 = add nsw i32 %673, 1
  %675 = sext i32 %674 to i64
  %676 = getelementptr inbounds ptr, ptr %672, i64 %675
  %677 = load ptr, ptr %676, align 8, !tbaa !5
  %678 = call i32 @atoi(ptr noundef %677) #9
  %679 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 26
  store i32 %678, ptr %679, align 8, !tbaa !33
  br label %1187

680:                                              ; preds = %663
  %681 = load ptr, ptr %6, align 8, !tbaa !5
  %682 = load i32, ptr %7, align 4, !tbaa !9
  %683 = sext i32 %682 to i64
  %684 = getelementptr inbounds ptr, ptr %681, i64 %683
  %685 = load ptr, ptr %684, align 8, !tbaa !5
  %686 = call i32 @strcmp(ptr noundef %685, ptr noundef @.str.41) #9
  %687 = icmp eq i32 %686, 0
  br i1 %687, label %688, label %697

688:                                              ; preds = %680
  %689 = load ptr, ptr %6, align 8, !tbaa !5
  %690 = load i32, ptr %7, align 4, !tbaa !9
  %691 = add nsw i32 %690, 1
  %692 = sext i32 %691 to i64
  %693 = getelementptr inbounds ptr, ptr %689, i64 %692
  %694 = load ptr, ptr %693, align 8, !tbaa !5
  %695 = call i32 @atoi(ptr noundef %694) #9
  %696 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 27
  store i32 %695, ptr %696, align 4, !tbaa !34
  br label %1186

697:                                              ; preds = %680
  %698 = load ptr, ptr %6, align 8, !tbaa !5
  %699 = load i32, ptr %7, align 4, !tbaa !9
  %700 = sext i32 %699 to i64
  %701 = getelementptr inbounds ptr, ptr %698, i64 %700
  %702 = load ptr, ptr %701, align 8, !tbaa !5
  %703 = call i32 @strcmp(ptr noundef %702, ptr noundef @.str.42) #9
  %704 = icmp eq i32 %703, 0
  br i1 %704, label %705, label %714

705:                                              ; preds = %697
  %706 = load ptr, ptr %6, align 8, !tbaa !5
  %707 = load i32, ptr %7, align 4, !tbaa !9
  %708 = add nsw i32 %707, 1
  %709 = sext i32 %708 to i64
  %710 = getelementptr inbounds ptr, ptr %706, i64 %709
  %711 = load ptr, ptr %710, align 8, !tbaa !5
  %712 = call i32 @atoi(ptr noundef %711) #9
  %713 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 28
  store i32 %712, ptr %713, align 8, !tbaa !35
  br label %1185

714:                                              ; preds = %697
  %715 = load ptr, ptr %6, align 8, !tbaa !5
  %716 = load i32, ptr %7, align 4, !tbaa !9
  %717 = sext i32 %716 to i64
  %718 = getelementptr inbounds ptr, ptr %715, i64 %717
  %719 = load ptr, ptr %718, align 8, !tbaa !5
  %720 = call i32 @strcmp(ptr noundef %719, ptr noundef @.str.43) #9
  %721 = icmp eq i32 %720, 0
  br i1 %721, label %722, label %731

722:                                              ; preds = %714
  %723 = load ptr, ptr %6, align 8, !tbaa !5
  %724 = load i32, ptr %7, align 4, !tbaa !9
  %725 = add nsw i32 %724, 1
  %726 = sext i32 %725 to i64
  %727 = getelementptr inbounds ptr, ptr %723, i64 %726
  %728 = load ptr, ptr %727, align 8, !tbaa !5
  %729 = call i32 @atoi(ptr noundef %728) #9
  %730 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 29
  store i32 %729, ptr %730, align 4, !tbaa !36
  br label %1184

731:                                              ; preds = %714
  %732 = load ptr, ptr %6, align 8, !tbaa !5
  %733 = load i32, ptr %7, align 4, !tbaa !9
  %734 = sext i32 %733 to i64
  %735 = getelementptr inbounds ptr, ptr %732, i64 %734
  %736 = load ptr, ptr %735, align 8, !tbaa !5
  %737 = call i32 @strcmp(ptr noundef %736, ptr noundef @.str.44) #9
  %738 = icmp eq i32 %737, 0
  br i1 %738, label %739, label %748

739:                                              ; preds = %731
  %740 = load ptr, ptr %6, align 8, !tbaa !5
  %741 = load i32, ptr %7, align 4, !tbaa !9
  %742 = add nsw i32 %741, 1
  %743 = sext i32 %742 to i64
  %744 = getelementptr inbounds ptr, ptr %740, i64 %743
  %745 = load ptr, ptr %744, align 8, !tbaa !5
  %746 = call i32 @atoi(ptr noundef %745) #9
  %747 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 30
  store i32 %746, ptr %747, align 8, !tbaa !37
  br label %1183

748:                                              ; preds = %731
  %749 = load ptr, ptr %6, align 8, !tbaa !5
  %750 = load i32, ptr %7, align 4, !tbaa !9
  %751 = sext i32 %750 to i64
  %752 = getelementptr inbounds ptr, ptr %749, i64 %751
  %753 = load ptr, ptr %752, align 8, !tbaa !5
  %754 = call i32 @strcmp(ptr noundef %753, ptr noundef @.str.45) #9
  %755 = icmp eq i32 %754, 0
  br i1 %755, label %756, label %765

756:                                              ; preds = %748
  %757 = load ptr, ptr %6, align 8, !tbaa !5
  %758 = load i32, ptr %7, align 4, !tbaa !9
  %759 = add nsw i32 %758, 1
  %760 = sext i32 %759 to i64
  %761 = getelementptr inbounds ptr, ptr %757, i64 %760
  %762 = load ptr, ptr %761, align 8, !tbaa !5
  %763 = call i32 @atoi(ptr noundef %762) #9
  %764 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 31
  store i32 %763, ptr %764, align 4, !tbaa !38
  br label %1182

765:                                              ; preds = %748
  %766 = load ptr, ptr %6, align 8, !tbaa !5
  %767 = load i32, ptr %7, align 4, !tbaa !9
  %768 = sext i32 %767 to i64
  %769 = getelementptr inbounds ptr, ptr %766, i64 %768
  %770 = load ptr, ptr %769, align 8, !tbaa !5
  %771 = call i32 @strcmp(ptr noundef %770, ptr noundef @.str.46) #9
  %772 = icmp eq i32 %771, 0
  br i1 %772, label %773, label %782

773:                                              ; preds = %765
  %774 = load ptr, ptr %6, align 8, !tbaa !5
  %775 = load i32, ptr %7, align 4, !tbaa !9
  %776 = add nsw i32 %775, 1
  %777 = sext i32 %776 to i64
  %778 = getelementptr inbounds ptr, ptr %774, i64 %777
  %779 = load ptr, ptr %778, align 8, !tbaa !5
  %780 = call i32 @atoi(ptr noundef %779) #9
  %781 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 32
  store i32 %780, ptr %781, align 8, !tbaa !39
  br label %1181

782:                                              ; preds = %765
  %783 = load ptr, ptr %6, align 8, !tbaa !5
  %784 = load i32, ptr %7, align 4, !tbaa !9
  %785 = sext i32 %784 to i64
  %786 = getelementptr inbounds ptr, ptr %783, i64 %785
  %787 = load ptr, ptr %786, align 8, !tbaa !5
  %788 = call i32 @strcmp(ptr noundef %787, ptr noundef @.str.47) #9
  %789 = icmp eq i32 %788, 0
  br i1 %789, label %790, label %799

790:                                              ; preds = %782
  %791 = load ptr, ptr %6, align 8, !tbaa !5
  %792 = load i32, ptr %7, align 4, !tbaa !9
  %793 = add nsw i32 %792, 1
  %794 = sext i32 %793 to i64
  %795 = getelementptr inbounds ptr, ptr %791, i64 %794
  %796 = load ptr, ptr %795, align 8, !tbaa !5
  %797 = call i32 @atoi(ptr noundef %796) #9
  %798 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 33
  store i32 %797, ptr %798, align 4, !tbaa !40
  br label %1180

799:                                              ; preds = %782
  %800 = load ptr, ptr %6, align 8, !tbaa !5
  %801 = load i32, ptr %7, align 4, !tbaa !9
  %802 = sext i32 %801 to i64
  %803 = getelementptr inbounds ptr, ptr %800, i64 %802
  %804 = load ptr, ptr %803, align 8, !tbaa !5
  %805 = call i32 @strcmp(ptr noundef %804, ptr noundef @.str.48) #9
  %806 = icmp eq i32 %805, 0
  br i1 %806, label %807, label %816

807:                                              ; preds = %799
  %808 = load ptr, ptr %6, align 8, !tbaa !5
  %809 = load i32, ptr %7, align 4, !tbaa !9
  %810 = add nsw i32 %809, 1
  %811 = sext i32 %810 to i64
  %812 = getelementptr inbounds ptr, ptr %808, i64 %811
  %813 = load ptr, ptr %812, align 8, !tbaa !5
  %814 = call i32 @atoi(ptr noundef %813) #9
  %815 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 34
  store i32 %814, ptr %815, align 8, !tbaa !41
  br label %1179

816:                                              ; preds = %799
  %817 = load ptr, ptr %6, align 8, !tbaa !5
  %818 = load i32, ptr %7, align 4, !tbaa !9
  %819 = sext i32 %818 to i64
  %820 = getelementptr inbounds ptr, ptr %817, i64 %819
  %821 = load ptr, ptr %820, align 8, !tbaa !5
  %822 = call i32 @strcmp(ptr noundef %821, ptr noundef @.str.49) #9
  %823 = icmp eq i32 %822, 0
  br i1 %823, label %824, label %833

824:                                              ; preds = %816
  %825 = load ptr, ptr %6, align 8, !tbaa !5
  %826 = load i32, ptr %7, align 4, !tbaa !9
  %827 = add nsw i32 %826, 1
  %828 = sext i32 %827 to i64
  %829 = getelementptr inbounds ptr, ptr %825, i64 %828
  %830 = load ptr, ptr %829, align 8, !tbaa !5
  %831 = call i32 @atoi(ptr noundef %830) #9
  %832 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 36
  store i32 %831, ptr %832, align 8, !tbaa !42
  br label %1178

833:                                              ; preds = %816
  %834 = load ptr, ptr %6, align 8, !tbaa !5
  %835 = load i32, ptr %7, align 4, !tbaa !9
  %836 = sext i32 %835 to i64
  %837 = getelementptr inbounds ptr, ptr %834, i64 %836
  %838 = load ptr, ptr %837, align 8, !tbaa !5
  %839 = call i32 @strcmp(ptr noundef %838, ptr noundef @.str.50) #9
  %840 = icmp eq i32 %839, 0
  br i1 %840, label %841, label %850

841:                                              ; preds = %833
  %842 = load ptr, ptr %6, align 8, !tbaa !5
  %843 = load i32, ptr %7, align 4, !tbaa !9
  %844 = add nsw i32 %843, 1
  %845 = sext i32 %844 to i64
  %846 = getelementptr inbounds ptr, ptr %842, i64 %845
  %847 = load ptr, ptr %846, align 8, !tbaa !5
  %848 = call i32 @atoi(ptr noundef %847) #9
  %849 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 37
  store i32 %848, ptr %849, align 4, !tbaa !43
  br label %1177

850:                                              ; preds = %833
  %851 = load ptr, ptr %6, align 8, !tbaa !5
  %852 = load i32, ptr %7, align 4, !tbaa !9
  %853 = sext i32 %852 to i64
  %854 = getelementptr inbounds ptr, ptr %851, i64 %853
  %855 = load ptr, ptr %854, align 8, !tbaa !5
  %856 = call i32 @strcmp(ptr noundef %855, ptr noundef @.str.51) #9
  %857 = icmp eq i32 %856, 0
  br i1 %857, label %858, label %867

858:                                              ; preds = %850
  %859 = load ptr, ptr %6, align 8, !tbaa !5
  %860 = load i32, ptr %7, align 4, !tbaa !9
  %861 = add nsw i32 %860, 1
  %862 = sext i32 %861 to i64
  %863 = getelementptr inbounds ptr, ptr %859, i64 %862
  %864 = load ptr, ptr %863, align 8, !tbaa !5
  %865 = call i32 @atoi(ptr noundef %864) #9
  %866 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 35
  store i32 %865, ptr %866, align 4, !tbaa !44
  br label %1176

867:                                              ; preds = %850
  %868 = load ptr, ptr %6, align 8, !tbaa !5
  %869 = load i32, ptr %7, align 4, !tbaa !9
  %870 = sext i32 %869 to i64
  %871 = getelementptr inbounds ptr, ptr %868, i64 %870
  %872 = load ptr, ptr %871, align 8, !tbaa !5
  %873 = call i32 @strcmp(ptr noundef %872, ptr noundef @.str.52) #9
  %874 = icmp eq i32 %873, 0
  br i1 %874, label %875, label %896

875:                                              ; preds = %867
  %876 = load ptr, ptr %6, align 8, !tbaa !5
  %877 = load i32, ptr %7, align 4, !tbaa !9
  %878 = add nsw i32 %877, 1
  %879 = sext i32 %878 to i64
  %880 = getelementptr inbounds ptr, ptr %876, i64 %879
  %881 = load ptr, ptr %880, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef %881, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %882 unwind label %887

882:                                              ; preds = %875
  %883 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %34)
          to label %884 unwind label %891

884:                                              ; preds = %882
  %885 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 39
  %886 = zext i1 %883 to i8
  store i8 %886, ptr %885, align 4, !tbaa !45
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #10
  br label %1175

887:                                              ; preds = %875
  %888 = landingpad { ptr, i32 }
          cleanup
  %889 = extractvalue { ptr, i32 } %888, 0
  store ptr %889, ptr %10, align 8
  %890 = extractvalue { ptr, i32 } %888, 1
  store i32 %890, ptr %11, align 4
  br label %895

891:                                              ; preds = %882
  %892 = landingpad { ptr, i32 }
          cleanup
  %893 = extractvalue { ptr, i32 } %892, 0
  store ptr %893, ptr %10, align 8
  %894 = extractvalue { ptr, i32 } %892, 1
  store i32 %894, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #10
  br label %895

895:                                              ; preds = %891, %887
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #10
  br label %1293

896:                                              ; preds = %867
  %897 = load ptr, ptr %6, align 8, !tbaa !5
  %898 = load i32, ptr %7, align 4, !tbaa !9
  %899 = sext i32 %898 to i64
  %900 = getelementptr inbounds ptr, ptr %897, i64 %899
  %901 = load ptr, ptr %900, align 8, !tbaa !5
  %902 = call i32 @strcmp(ptr noundef %901, ptr noundef @.str.53) #9
  %903 = icmp eq i32 %902, 0
  br i1 %903, label %904, label %925

904:                                              ; preds = %896
  %905 = load ptr, ptr %6, align 8, !tbaa !5
  %906 = load i32, ptr %7, align 4, !tbaa !9
  %907 = add nsw i32 %906, 1
  %908 = sext i32 %907 to i64
  %909 = getelementptr inbounds ptr, ptr %905, i64 %908
  %910 = load ptr, ptr %909, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef %910, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %911 unwind label %916

911:                                              ; preds = %904
  %912 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %36)
          to label %913 unwind label %920

913:                                              ; preds = %911
  %914 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 40
  %915 = zext i1 %912 to i8
  store i8 %915, ptr %914, align 1, !tbaa !46
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #10
  br label %1174

916:                                              ; preds = %904
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %10, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %11, align 4
  br label %924

920:                                              ; preds = %911
  %921 = landingpad { ptr, i32 }
          cleanup
  %922 = extractvalue { ptr, i32 } %921, 0
  store ptr %922, ptr %10, align 8
  %923 = extractvalue { ptr, i32 } %921, 1
  store i32 %923, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #10
  br label %924

924:                                              ; preds = %920, %916
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #10
  br label %1293

925:                                              ; preds = %896
  %926 = load ptr, ptr %6, align 8, !tbaa !5
  %927 = load i32, ptr %7, align 4, !tbaa !9
  %928 = sext i32 %927 to i64
  %929 = getelementptr inbounds ptr, ptr %926, i64 %928
  %930 = load ptr, ptr %929, align 8, !tbaa !5
  %931 = call i32 @strcmp(ptr noundef %930, ptr noundef @.str.54) #9
  %932 = icmp eq i32 %931, 0
  br i1 %932, label %933, label %954

933:                                              ; preds = %925
  %934 = load ptr, ptr %6, align 8, !tbaa !5
  %935 = load i32, ptr %7, align 4, !tbaa !9
  %936 = add nsw i32 %935, 1
  %937 = sext i32 %936 to i64
  %938 = getelementptr inbounds ptr, ptr %934, i64 %937
  %939 = load ptr, ptr %938, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef %939, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %940 unwind label %945

940:                                              ; preds = %933
  %941 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %38)
          to label %942 unwind label %949

942:                                              ; preds = %940
  %943 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 41
  %944 = zext i1 %941 to i8
  store i8 %944, ptr %943, align 2, !tbaa !47
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #10
  br label %1173

945:                                              ; preds = %933
  %946 = landingpad { ptr, i32 }
          cleanup
  %947 = extractvalue { ptr, i32 } %946, 0
  store ptr %947, ptr %10, align 8
  %948 = extractvalue { ptr, i32 } %946, 1
  store i32 %948, ptr %11, align 4
  br label %953

949:                                              ; preds = %940
  %950 = landingpad { ptr, i32 }
          cleanup
  %951 = extractvalue { ptr, i32 } %950, 0
  store ptr %951, ptr %10, align 8
  %952 = extractvalue { ptr, i32 } %950, 1
  store i32 %952, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #10
  br label %953

953:                                              ; preds = %949, %945
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #10
  br label %1293

954:                                              ; preds = %925
  %955 = load ptr, ptr %6, align 8, !tbaa !5
  %956 = load i32, ptr %7, align 4, !tbaa !9
  %957 = sext i32 %956 to i64
  %958 = getelementptr inbounds ptr, ptr %955, i64 %957
  %959 = load ptr, ptr %958, align 8, !tbaa !5
  %960 = call i32 @strcmp(ptr noundef %959, ptr noundef @.str.55) #9
  %961 = icmp eq i32 %960, 0
  br i1 %961, label %962, label %983

962:                                              ; preds = %954
  %963 = load ptr, ptr %6, align 8, !tbaa !5
  %964 = load i32, ptr %7, align 4, !tbaa !9
  %965 = add nsw i32 %964, 1
  %966 = sext i32 %965 to i64
  %967 = getelementptr inbounds ptr, ptr %963, i64 %966
  %968 = load ptr, ptr %967, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef %968, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %969 unwind label %974

969:                                              ; preds = %962
  %970 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %40)
          to label %971 unwind label %978

971:                                              ; preds = %969
  %972 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 46
  %973 = zext i1 %970 to i8
  store i8 %973, ptr %972, align 1, !tbaa !48
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #10
  br label %1172

974:                                              ; preds = %962
  %975 = landingpad { ptr, i32 }
          cleanup
  %976 = extractvalue { ptr, i32 } %975, 0
  store ptr %976, ptr %10, align 8
  %977 = extractvalue { ptr, i32 } %975, 1
  store i32 %977, ptr %11, align 4
  br label %982

978:                                              ; preds = %969
  %979 = landingpad { ptr, i32 }
          cleanup
  %980 = extractvalue { ptr, i32 } %979, 0
  store ptr %980, ptr %10, align 8
  %981 = extractvalue { ptr, i32 } %979, 1
  store i32 %981, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #10
  br label %982

982:                                              ; preds = %978, %974
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #10
  br label %1293

983:                                              ; preds = %954
  %984 = load ptr, ptr %6, align 8, !tbaa !5
  %985 = load i32, ptr %7, align 4, !tbaa !9
  %986 = sext i32 %985 to i64
  %987 = getelementptr inbounds ptr, ptr %984, i64 %986
  %988 = load ptr, ptr %987, align 8, !tbaa !5
  %989 = call i32 @strcmp(ptr noundef %988, ptr noundef @.str.56) #9
  %990 = icmp eq i32 %989, 0
  br i1 %990, label %991, label %1012

991:                                              ; preds = %983
  %992 = load ptr, ptr %6, align 8, !tbaa !5
  %993 = load i32, ptr %7, align 4, !tbaa !9
  %994 = add nsw i32 %993, 1
  %995 = sext i32 %994 to i64
  %996 = getelementptr inbounds ptr, ptr %992, i64 %995
  %997 = load ptr, ptr %996, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef %997, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %998 unwind label %1003

998:                                              ; preds = %991
  %999 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %42)
          to label %1000 unwind label %1007

1000:                                             ; preds = %998
  %1001 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 43
  %1002 = zext i1 %999 to i8
  store i8 %1002, ptr %1001, align 8, !tbaa !49
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #10
  br label %1171

1003:                                             ; preds = %991
  %1004 = landingpad { ptr, i32 }
          cleanup
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %10, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %11, align 4
  br label %1011

1007:                                             ; preds = %998
  %1008 = landingpad { ptr, i32 }
          cleanup
  %1009 = extractvalue { ptr, i32 } %1008, 0
  store ptr %1009, ptr %10, align 8
  %1010 = extractvalue { ptr, i32 } %1008, 1
  store i32 %1010, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #10
  br label %1011

1011:                                             ; preds = %1007, %1003
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #10
  br label %1293

1012:                                             ; preds = %983
  %1013 = load ptr, ptr %6, align 8, !tbaa !5
  %1014 = load i32, ptr %7, align 4, !tbaa !9
  %1015 = sext i32 %1014 to i64
  %1016 = getelementptr inbounds ptr, ptr %1013, i64 %1015
  %1017 = load ptr, ptr %1016, align 8, !tbaa !5
  %1018 = call i32 @strcmp(ptr noundef %1017, ptr noundef @.str.57) #9
  %1019 = icmp eq i32 %1018, 0
  br i1 %1019, label %1020, label %1041

1020:                                             ; preds = %1012
  %1021 = load ptr, ptr %6, align 8, !tbaa !5
  %1022 = load i32, ptr %7, align 4, !tbaa !9
  %1023 = add nsw i32 %1022, 1
  %1024 = sext i32 %1023 to i64
  %1025 = getelementptr inbounds ptr, ptr %1021, i64 %1024
  %1026 = load ptr, ptr %1025, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef %1026, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %1027 unwind label %1032

1027:                                             ; preds = %1020
  %1028 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %44)
          to label %1029 unwind label %1036

1029:                                             ; preds = %1027
  %1030 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 44
  %1031 = zext i1 %1028 to i8
  store i8 %1031, ptr %1030, align 1, !tbaa !50
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #10
  br label %1170

1032:                                             ; preds = %1020
  %1033 = landingpad { ptr, i32 }
          cleanup
  %1034 = extractvalue { ptr, i32 } %1033, 0
  store ptr %1034, ptr %10, align 8
  %1035 = extractvalue { ptr, i32 } %1033, 1
  store i32 %1035, ptr %11, align 4
  br label %1040

1036:                                             ; preds = %1027
  %1037 = landingpad { ptr, i32 }
          cleanup
  %1038 = extractvalue { ptr, i32 } %1037, 0
  store ptr %1038, ptr %10, align 8
  %1039 = extractvalue { ptr, i32 } %1037, 1
  store i32 %1039, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #10
  br label %1040

1040:                                             ; preds = %1036, %1032
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #10
  br label %1293

1041:                                             ; preds = %1012
  %1042 = load ptr, ptr %6, align 8, !tbaa !5
  %1043 = load i32, ptr %7, align 4, !tbaa !9
  %1044 = sext i32 %1043 to i64
  %1045 = getelementptr inbounds ptr, ptr %1042, i64 %1044
  %1046 = load ptr, ptr %1045, align 8, !tbaa !5
  %1047 = call i32 @strcmp(ptr noundef %1046, ptr noundef @.str.58) #9
  %1048 = icmp eq i32 %1047, 0
  br i1 %1048, label %1049, label %1070

1049:                                             ; preds = %1041
  %1050 = load ptr, ptr %6, align 8, !tbaa !5
  %1051 = load i32, ptr %7, align 4, !tbaa !9
  %1052 = add nsw i32 %1051, 1
  %1053 = sext i32 %1052 to i64
  %1054 = getelementptr inbounds ptr, ptr %1050, i64 %1053
  %1055 = load ptr, ptr %1054, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef %1055, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %1056 unwind label %1061

1056:                                             ; preds = %1049
  %1057 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %46)
          to label %1058 unwind label %1065

1058:                                             ; preds = %1056
  %1059 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 45
  %1060 = zext i1 %1057 to i8
  store i8 %1060, ptr %1059, align 2, !tbaa !51
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #10
  br label %1169

1061:                                             ; preds = %1049
  %1062 = landingpad { ptr, i32 }
          cleanup
  %1063 = extractvalue { ptr, i32 } %1062, 0
  store ptr %1063, ptr %10, align 8
  %1064 = extractvalue { ptr, i32 } %1062, 1
  store i32 %1064, ptr %11, align 4
  br label %1069

1065:                                             ; preds = %1056
  %1066 = landingpad { ptr, i32 }
          cleanup
  %1067 = extractvalue { ptr, i32 } %1066, 0
  store ptr %1067, ptr %10, align 8
  %1068 = extractvalue { ptr, i32 } %1066, 1
  store i32 %1068, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #10
  br label %1069

1069:                                             ; preds = %1065, %1061
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #10
  br label %1293

1070:                                             ; preds = %1041
  %1071 = load ptr, ptr %6, align 8, !tbaa !5
  %1072 = load i32, ptr %7, align 4, !tbaa !9
  %1073 = sext i32 %1072 to i64
  %1074 = getelementptr inbounds ptr, ptr %1071, i64 %1073
  %1075 = load ptr, ptr %1074, align 8, !tbaa !5
  %1076 = call i32 @strcmp(ptr noundef %1075, ptr noundef @.str.59) #9
  %1077 = icmp eq i32 %1076, 0
  br i1 %1077, label %1078, label %1099

1078:                                             ; preds = %1070
  %1079 = load ptr, ptr %6, align 8, !tbaa !5
  %1080 = load i32, ptr %7, align 4, !tbaa !9
  %1081 = add nsw i32 %1080, 1
  %1082 = sext i32 %1081 to i64
  %1083 = getelementptr inbounds ptr, ptr %1079, i64 %1082
  %1084 = load ptr, ptr %1083, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef %1084, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %1085 unwind label %1090

1085:                                             ; preds = %1078
  %1086 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %48)
          to label %1087 unwind label %1094

1087:                                             ; preds = %1085
  %1088 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 47
  %1089 = zext i1 %1086 to i8
  store i8 %1089, ptr %1088, align 4, !tbaa !52
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #10
  br label %1168

1090:                                             ; preds = %1078
  %1091 = landingpad { ptr, i32 }
          cleanup
  %1092 = extractvalue { ptr, i32 } %1091, 0
  store ptr %1092, ptr %10, align 8
  %1093 = extractvalue { ptr, i32 } %1091, 1
  store i32 %1093, ptr %11, align 4
  br label %1098

1094:                                             ; preds = %1085
  %1095 = landingpad { ptr, i32 }
          cleanup
  %1096 = extractvalue { ptr, i32 } %1095, 0
  store ptr %1096, ptr %10, align 8
  %1097 = extractvalue { ptr, i32 } %1095, 1
  store i32 %1097, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #10
  br label %1098

1098:                                             ; preds = %1094, %1090
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #10
  br label %1293

1099:                                             ; preds = %1070
  %1100 = load ptr, ptr %6, align 8, !tbaa !5
  %1101 = load i32, ptr %7, align 4, !tbaa !9
  %1102 = sext i32 %1101 to i64
  %1103 = getelementptr inbounds ptr, ptr %1100, i64 %1102
  %1104 = load ptr, ptr %1103, align 8, !tbaa !5
  %1105 = call i32 @strcmp(ptr noundef %1104, ptr noundef @.str.60) #9
  %1106 = icmp eq i32 %1105, 0
  br i1 %1106, label %1107, label %1128

1107:                                             ; preds = %1099
  %1108 = load ptr, ptr %6, align 8, !tbaa !5
  %1109 = load i32, ptr %7, align 4, !tbaa !9
  %1110 = add nsw i32 %1109, 1
  %1111 = sext i32 %1110 to i64
  %1112 = getelementptr inbounds ptr, ptr %1108, i64 %1111
  %1113 = load ptr, ptr %1112, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef %1113, ptr noundef nonnull align 1 dereferenceable(1) %51)
          to label %1114 unwind label %1119

1114:                                             ; preds = %1107
  %1115 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %50)
          to label %1116 unwind label %1123

1116:                                             ; preds = %1114
  %1117 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 48
  %1118 = zext i1 %1115 to i8
  store i8 %1118, ptr %1117, align 1, !tbaa !53
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #10
  br label %1167

1119:                                             ; preds = %1107
  %1120 = landingpad { ptr, i32 }
          cleanup
  %1121 = extractvalue { ptr, i32 } %1120, 0
  store ptr %1121, ptr %10, align 8
  %1122 = extractvalue { ptr, i32 } %1120, 1
  store i32 %1122, ptr %11, align 4
  br label %1127

1123:                                             ; preds = %1114
  %1124 = landingpad { ptr, i32 }
          cleanup
  %1125 = extractvalue { ptr, i32 } %1124, 0
  store ptr %1125, ptr %10, align 8
  %1126 = extractvalue { ptr, i32 } %1124, 1
  store i32 %1126, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #10
  br label %1127

1127:                                             ; preds = %1123, %1119
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %51) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #10
  br label %1293

1128:                                             ; preds = %1099
  %1129 = load ptr, ptr %6, align 8, !tbaa !5
  %1130 = load i32, ptr %7, align 4, !tbaa !9
  %1131 = sext i32 %1130 to i64
  %1132 = getelementptr inbounds ptr, ptr %1129, i64 %1131
  %1133 = load ptr, ptr %1132, align 8, !tbaa !5
  %1134 = call i32 @strcmp(ptr noundef %1133, ptr noundef @.str.61) #9
  %1135 = icmp eq i32 %1134, 0
  br i1 %1135, label %1136, label %1157

1136:                                             ; preds = %1128
  %1137 = load ptr, ptr %6, align 8, !tbaa !5
  %1138 = load i32, ptr %7, align 4, !tbaa !9
  %1139 = add nsw i32 %1138, 1
  %1140 = sext i32 %1139 to i64
  %1141 = getelementptr inbounds ptr, ptr %1137, i64 %1140
  %1142 = load ptr, ptr %1141, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef %1142, ptr noundef nonnull align 1 dereferenceable(1) %53)
          to label %1143 unwind label %1148

1143:                                             ; preds = %1136
  %1144 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %54, ptr noundef %52)
          to label %1145 unwind label %1152

1145:                                             ; preds = %1143
  %1146 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 49
  %1147 = zext i1 %1144 to i8
  store i8 %1147, ptr %1146, align 2, !tbaa !54
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #10
  br label %1166

1148:                                             ; preds = %1136
  %1149 = landingpad { ptr, i32 }
          cleanup
  %1150 = extractvalue { ptr, i32 } %1149, 0
  store ptr %1150, ptr %10, align 8
  %1151 = extractvalue { ptr, i32 } %1149, 1
  store i32 %1151, ptr %11, align 4
  br label %1156

1152:                                             ; preds = %1143
  %1153 = landingpad { ptr, i32 }
          cleanup
  %1154 = extractvalue { ptr, i32 } %1153, 0
  store ptr %1154, ptr %10, align 8
  %1155 = extractvalue { ptr, i32 } %1153, 1
  store i32 %1155, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #10
  br label %1156

1156:                                             ; preds = %1152, %1148
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %53) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #10
  br label %1293

1157:                                             ; preds = %1128
  %1158 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.62)
  %1159 = load ptr, ptr %6, align 8, !tbaa !5
  %1160 = load i32, ptr %7, align 4, !tbaa !9
  %1161 = sext i32 %1160 to i64
  %1162 = getelementptr inbounds ptr, ptr %1159, i64 %1161
  %1163 = load ptr, ptr %1162, align 8, !tbaa !5
  %1164 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1158, ptr noundef %1163)
  %1165 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1164, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %54)
  call void @exit(i32 noundef 1) #8
  unreachable

1166:                                             ; preds = %1145
  br label %1167

1167:                                             ; preds = %1166, %1116
  br label %1168

1168:                                             ; preds = %1167, %1087
  br label %1169

1169:                                             ; preds = %1168, %1058
  br label %1170

1170:                                             ; preds = %1169, %1029
  br label %1171

1171:                                             ; preds = %1170, %1000
  br label %1172

1172:                                             ; preds = %1171, %971
  br label %1173

1173:                                             ; preds = %1172, %942
  br label %1174

1174:                                             ; preds = %1173, %913
  br label %1175

1175:                                             ; preds = %1174, %884
  br label %1176

1176:                                             ; preds = %1175, %858
  br label %1177

1177:                                             ; preds = %1176, %841
  br label %1178

1178:                                             ; preds = %1177, %824
  br label %1179

1179:                                             ; preds = %1178, %807
  br label %1180

1180:                                             ; preds = %1179, %790
  br label %1181

1181:                                             ; preds = %1180, %773
  br label %1182

1182:                                             ; preds = %1181, %756
  br label %1183

1183:                                             ; preds = %1182, %739
  br label %1184

1184:                                             ; preds = %1183, %722
  br label %1185

1185:                                             ; preds = %1184, %705
  br label %1186

1186:                                             ; preds = %1185, %688
  br label %1187

1187:                                             ; preds = %1186, %671
  br label %1188

1188:                                             ; preds = %1187, %654
  br label %1189

1189:                                             ; preds = %1188, %637
  br label %1190

1190:                                             ; preds = %1189, %619
  br label %1191

1191:                                             ; preds = %1190, %602
  br label %1192

1192:                                             ; preds = %1191, %585
  br label %1193

1193:                                             ; preds = %1192, %568
  br label %1194

1194:                                             ; preds = %1193, %551
  br label %1195

1195:                                             ; preds = %1194, %534
  br label %1196

1196:                                             ; preds = %1195, %517
  br label %1197

1197:                                             ; preds = %1196, %500
  br label %1198

1198:                                             ; preds = %1197, %483
  br label %1199

1199:                                             ; preds = %1198, %466
  br label %1200

1200:                                             ; preds = %1199, %451
  br label %1201

1201:                                             ; preds = %1200, %429
  br label %1202

1202:                                             ; preds = %1201, %404
  br label %1203

1203:                                             ; preds = %1202, %389
  br label %1204

1204:                                             ; preds = %1203, %365
  br label %1205

1205:                                             ; preds = %1204, %350
  br label %1206

1206:                                             ; preds = %1205, %328
  br label %1207

1207:                                             ; preds = %1206, %306
  br label %1208

1208:                                             ; preds = %1207, %284
  br label %1209

1209:                                             ; preds = %1208, %262
  br label %1210

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

1211:                                             ; preds = %1210, %218
  br label %1212

1212:                                             ; preds = %1211, %196
  br label %1213

1213:                                             ; preds = %1212, %174
  br label %1214

1214:                                             ; preds = %1213
  %1215 = load i32, ptr %7, align 4, !tbaa !9
  %1216 = add nsw i32 %1215, 2
  store i32 %1216, ptr %7, align 4, !tbaa !9
  br label %94, !llvm.loop !55

1217:                                             ; preds = %94
  %1218 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 42
  %1219 = load i8, ptr %1218, align 1, !tbaa !11, !range !57, !noundef !58
  %1220 = trunc i8 %1219 to i1
  br i1 %1220, label %1221, label %1231

1221:                                             ; preds = %1217
  %1222 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 0
  %1223 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %1222) #10
  br i1 %1223, label %1227, label %1224

1224:                                             ; preds = %1221
  %1225 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 4
  %1226 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %1225) #10
  br i1 %1226, label %1227, label %1230

1227:                                             ; preds = %1224, %1221
  %1228 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.63)
  %1229 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1228, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %54)
  call void @exit(i32 noundef 1) #8
  unreachable

1230:                                             ; preds = %1224
  br label %1241

1231:                                             ; preds = %1217
  %1232 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 2
  %1233 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %1232) #10
  br i1 %1233, label %1237, label %1234

1234:                                             ; preds = %1231
  %1235 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 4
  %1236 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %1235) #10
  br i1 %1236, label %1237, label %1240

1237:                                             ; preds = %1234, %1231
  %1238 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.64)
  %1239 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1238, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %54)
  call void @exit(i32 noundef 1) #8
  unreachable

1240:                                             ; preds = %1234
  br label %1241

1241:                                             ; preds = %1240, %1230
  %1242 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 35
  %1243 = load i32, ptr %1242, align 4, !tbaa !44
  %1244 = icmp slt i32 %1243, 0
  br i1 %1244, label %1249, label %1245

1245:                                             ; preds = %1241
  %1246 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 35
  %1247 = load i32, ptr %1246, align 4, !tbaa !44
  %1248 = icmp sgt i32 %1247, 5
  br i1 %1248, label %1249, label %1257

1249:                                             ; preds = %1245, %1241
  %1250 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.65)
  %1251 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.66)
  %1252 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.67)
  %1253 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.68)
  %1254 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.69)
  %1255 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.70)
  %1256 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.71)
  call void @exit(i32 noundef 1) #8
  unreachable

1257:                                             ; preds = %1245
  %1258 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 10
  %1259 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1258, ptr noundef @.str.2)
  br i1 %1259, label %1268, label %1260

1260:                                             ; preds = %1257
  %1261 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 10
  %1262 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1261, ptr noundef @.str.72)
  br i1 %1262, label %1268, label %1263

1263:                                             ; preds = %1260
  %1264 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.73)
  %1265 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 10
  %1266 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1264, ptr noundef nonnull align 8 dereferenceable(32) %1265)
  %1267 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %1266, ptr noundef @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @exit(i32 noundef 1) #8
  unreachable

1268:                                             ; preds = %1260, %1257
  %1269 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 11
  %1270 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1269, ptr noundef @.str.3)
  br i1 %1270, label %1276, label %1271

1271:                                             ; preds = %1268
  %1272 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 11
  %1273 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1272, ptr noundef @.str.74)
  br i1 %1273, label %1276, label %1274

1274:                                             ; preds = %1271
  %1275 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.75)
  call void @exit(i32 noundef 1) #8
  unreachable

1276:                                             ; preds = %1271, %1268
  %1277 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 6
  %1278 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1277, ptr noundef @.str)
  br i1 %1278, label %1284, label %1279

1279:                                             ; preds = %1276
  %1280 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 6
  %1281 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1280, ptr noundef @.str.76)
  br i1 %1281, label %1284, label %1282

1282:                                             ; preds = %1279
  %1283 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.77)
  call void @exit(i32 noundef 1) #8
  unreachable

1284:                                             ; preds = %1279, %1276
  %1285 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 7
  %1286 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %1285) #10
  br i1 %1286, label %1292, label %1287

1287:                                             ; preds = %1284
  %1288 = getelementptr inbounds %"class.starspace::Args", ptr %54, i32 0, i32 7
  %1289 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %1288, ptr noundef @.str.78)
  br i1 %1289, label %1292, label %1290

1290:                                             ; preds = %1287
  %1291 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef @.str.79)
  call void @exit(i32 noundef 1) #8
  unreachable

1292:                                             ; preds = %1287, %1284
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  ret void

1293:                                             ; preds = %1156, %1127, %1098, %1069, %1040, %1011, %982, %953, %924, %895, %454, %432, %392, %353, %331, %309, %287, %265, %243, %221, %199, %177
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %1294

1294:                                             ; preds = %1293
  %1295 = load ptr, ptr %10, align 8
  %1296 = load i32, ptr %11, align 4
  %1297 = insertvalue { ptr, i32 } poison, ptr %1295, 0
  %1298 = insertvalue { ptr, i32 } %1297, i32 %1296, 1
  resume { ptr, i32 } %1298
}

; 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) #3

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543)) #1 align 2

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

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #5

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #1 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)) #3

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

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #5

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

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

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

; Function Attrs: inlinehint mustprogress nounwind willreturn memory(read) uwtable
declare i32 @atoi(ptr noundef nonnull) #7

; Function Attrs: inlinehint mustprogress nounwind willreturn memory(read) uwtable
declare double @atof(ptr noundef nonnull) #7

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

; Function Attrs: 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)) #3

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !17, i64 535}
!12 = !{!"_ZTSN9starspace4ArgsE", !13, i64 0, !13, i64 32, !13, i64 64, !13, i64 96, !13, i64 128, !13, i64 160, !13, i64 192, !13, i64 224, !13, i64 256, !13, i64 288, !13, i64 320, !13, i64 352, !7, i64 384, !16, i64 392, !16, i64 400, !16, i64 408, !16, i64 416, !16, i64 424, !16, i64 432, !16, i64 440, !16, i64 448, !16, i64 456, !15, i64 464, !10, i64 472, !10, i64 476, !10, i64 480, !10, i64 484, !10, i64 488, !10, i64 492, !10, i64 496, !10, i64 500, !10, i64 504, !10, i64 508, !10, i64 512, !10, i64 516, !10, i64 520, !10, i64 524, !10, i64 528, !17, i64 532, !17, i64 533, !17, i64 534, !17, i64 535, !17, i64 536, !17, i64 537, !17, i64 538, !17, i64 539, !17, i64 540, !17, i64 541, !17, i64 542}
!13 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !14, i64 0, !15, i64 8, !7, i64 16}
!14 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!15 = !{!"long", !7, i64 0}
!16 = !{!"double", !7, i64 0}
!17 = !{!"bool", !7, i64 0}
!18 = !{!7, !7, i64 0}
!19 = !{!12, !10, i64 528}
!20 = !{!12, !7, i64 384}
!21 = !{!12, !16, i64 392}
!22 = !{!12, !16, i64 432}
!23 = !{!12, !16, i64 400}
!24 = !{!12, !16, i64 408}
!25 = !{!12, !16, i64 416}
!26 = !{!12, !16, i64 424}
!27 = !{!12, !16, i64 440}
!28 = !{!12, !16, i64 448}
!29 = !{!12, !16, i64 456}
!30 = !{!12, !15, i64 464}
!31 = !{!12, !10, i64 472}
!32 = !{!12, !10, i64 476}
!33 = !{!12, !10, i64 480}
!34 = !{!12, !10, i64 484}
!35 = !{!12, !10, i64 488}
!36 = !{!12, !10, i64 492}
!37 = !{!12, !10, i64 496}
!38 = !{!12, !10, i64 500}
!39 = !{!12, !10, i64 504}
!40 = !{!12, !10, i64 508}
!41 = !{!12, !10, i64 512}
!42 = !{!12, !10, i64 520}
!43 = !{!12, !10, i64 524}
!44 = !{!12, !10, i64 516}
!45 = !{!12, !17, i64 532}
!46 = !{!12, !17, i64 533}
!47 = !{!12, !17, i64 534}
!48 = !{!12, !17, i64 539}
!49 = !{!12, !17, i64 536}
!50 = !{!12, !17, i64 537}
!51 = !{!12, !17, i64 538}
!52 = !{!12, !17, i64 540}
!53 = !{!12, !17, i64 541}
!54 = !{!12, !17, i64 542}
!55 = distinct !{!55, !56}
!56 = !{!"llvm.loop.mustprogress"}
!57 = !{i8 0, i8 2}
!58 = !{}


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

@.str = external hidden unnamed_addr constant [9 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZSt4cerr = external global %"class.std::basic_ostream", align 8
@.str.6 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [59 x i8], align 1
@_ZSt4cout = external global %"class.std::basic_ostream", align 8
@.str.13 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [124 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [49 x i8], align 1

declare i32 @__gxx_personality_v0(...)

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543), ptr noundef) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN9starspace4Args9parseArgsEiPPc(ptr noundef nonnull align 8 dereferenceable(543) %0, i32 noundef %1, ptr noundef %2) local_unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::allocator", align 1
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::allocator", align 1
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::allocator", align 1
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator", align 1
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::allocator", align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::allocator", align 1
  %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::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator", align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::allocator", align 1
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator", align 1
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator", align 1
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator", align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::allocator", align 1
  %48 = icmp slt i32 %1, 2
  br i1 %48, label %49, label %51

49:                                               ; preds = %3
  %50 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.6)
  tail call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %0)
  tail call void @exit(i32 noundef 1) #8
  unreachable

51:                                               ; preds = %3
  %52 = getelementptr inbounds i8, ptr %2, i64 8
  %53 = load ptr, ptr %52, align 8, !tbaa !5
  %54 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %53, ptr noundef nonnull dereferenceable(1) @.str.7) #9
  %55 = icmp eq i32 %54, 0
  br i1 %55, label %70, label %56

56:                                               ; preds = %51
  %57 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %53, ptr noundef nonnull dereferenceable(1) @.str.8) #9
  %58 = icmp eq i32 %57, 0
  br i1 %58, label %70, label %59

59:                                               ; preds = %56
  %60 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %53, ptr noundef nonnull dereferenceable(1) @.str.9) #9
  %61 = icmp eq i32 %60, 0
  br i1 %61, label %65, label %62

62:                                               ; preds = %59
  %63 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %53, ptr noundef nonnull dereferenceable(1) @.str.10) #9
  %64 = icmp eq i32 %63, 0
  br i1 %64, label %65, label %68

65:                                               ; preds = %62, %59
  %66 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.11)
  %67 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  tail call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %0)
  tail call void @exit(i32 noundef 1) #8
  unreachable

68:                                               ; preds = %62
  %69 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.12)
  tail call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %0)
  tail call void @exit(i32 noundef 1) #8
  unreachable

70:                                               ; preds = %56, %51
  %.sink = phi i8 [ 1, %51 ], [ 0, %56 ]
  %71 = getelementptr inbounds i8, ptr %0, i64 535
  store i8 %.sink, ptr %71, align 1, !tbaa !9
  %.not288 = icmp eq i32 %1, 2
  br i1 %.not288, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %70
  %72 = getelementptr inbounds i8, ptr %0, i64 542
  %73 = getelementptr inbounds i8, ptr %0, i64 541
  %74 = getelementptr inbounds i8, ptr %0, i64 540
  %75 = getelementptr inbounds i8, ptr %0, i64 538
  %76 = getelementptr inbounds i8, ptr %0, i64 537
  %77 = getelementptr inbounds i8, ptr %0, i64 536
  %78 = getelementptr inbounds i8, ptr %0, i64 539
  %79 = getelementptr inbounds i8, ptr %0, i64 534
  %80 = getelementptr inbounds i8, ptr %0, i64 533
  %81 = getelementptr inbounds i8, ptr %0, i64 532
  %82 = getelementptr inbounds i8, ptr %0, i64 516
  %83 = getelementptr inbounds i8, ptr %0, i64 524
  %84 = getelementptr inbounds i8, ptr %0, i64 520
  %85 = getelementptr inbounds i8, ptr %0, i64 512
  %86 = getelementptr inbounds i8, ptr %0, i64 508
  %87 = getelementptr inbounds i8, ptr %0, i64 504
  %88 = getelementptr inbounds i8, ptr %0, i64 500
  %89 = getelementptr inbounds i8, ptr %0, i64 496
  %90 = getelementptr inbounds i8, ptr %0, i64 492
  %91 = getelementptr inbounds i8, ptr %0, i64 488
  %92 = getelementptr inbounds i8, ptr %0, i64 484
  %93 = getelementptr inbounds i8, ptr %0, i64 480
  %94 = getelementptr inbounds i8, ptr %0, i64 476
  %95 = getelementptr inbounds i8, ptr %0, i64 472
  %96 = getelementptr inbounds i8, ptr %0, i64 464
  %97 = getelementptr inbounds i8, ptr %0, i64 456
  %98 = getelementptr inbounds i8, ptr %0, i64 448
  %99 = getelementptr inbounds i8, ptr %0, i64 440
  %100 = getelementptr inbounds i8, ptr %0, i64 424
  %101 = getelementptr inbounds i8, ptr %0, i64 416
  %102 = getelementptr inbounds i8, ptr %0, i64 408
  %103 = getelementptr inbounds i8, ptr %0, i64 400
  %104 = getelementptr inbounds i8, ptr %0, i64 432
  %105 = getelementptr inbounds i8, ptr %0, i64 392
  %106 = getelementptr inbounds i8, ptr %0, i64 352
  %107 = getelementptr inbounds i8, ptr %0, i64 320
  %108 = getelementptr inbounds i8, ptr %0, i64 384
  %109 = getelementptr inbounds i8, ptr %0, i64 256
  %110 = getelementptr inbounds i8, ptr %0, i64 528
  %111 = getelementptr inbounds i8, ptr %0, i64 224
  %112 = getelementptr inbounds i8, ptr %0, i64 192
  %113 = getelementptr inbounds i8, ptr %0, i64 160
  %114 = getelementptr inbounds i8, ptr %0, i64 128
  %115 = getelementptr inbounds i8, ptr %0, i64 288
  %116 = getelementptr inbounds i8, ptr %0, i64 96
  %117 = getelementptr inbounds i8, ptr %0, i64 64
  %118 = getelementptr inbounds i8, ptr %0, i64 32
  br label %119

119:                                              ; preds = %.lr.ph, %650
  %indvars.iv = phi i64 [ 2, %.lr.ph ], [ %indvars.iv.next, %650 ]
  %120 = getelementptr inbounds ptr, ptr %2, i64 %indvars.iv
  %121 = load ptr, ptr %120, align 8, !tbaa !5
  %122 = load i8, ptr %121, align 1, !tbaa !17
  %.not = icmp eq i8 %122, 45
  br i1 %.not, label %126, label %123

123:                                              ; preds = %119
  %124 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cout, ptr noundef nonnull @.str.13)
  %125 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %124, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %0)
  call void @exit(i32 noundef 1) #8
  unreachable

126:                                              ; preds = %119
  %127 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %121) #9
  %128 = icmp ugt i64 %127, 1
  br i1 %128, label %129, label %134

129:                                              ; preds = %126
  %130 = getelementptr inbounds i8, ptr %121, i64 1
  %131 = load i8, ptr %130, align 1, !tbaa !17
  %132 = icmp eq i8 %131, 45
  br i1 %132, label %133, label %134

133:                                              ; preds = %129
  store ptr %130, ptr %120, align 8, !tbaa !5
  br label %134

134:                                              ; preds = %133, %129, %126
  %135 = phi ptr [ %130, %133 ], [ %121, %129 ], [ %121, %126 ]
  %136 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.9) #9
  %137 = icmp eq i32 %136, 0
  br i1 %137, label %141, label %138

138:                                              ; preds = %134
  %139 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.10) #9
  %140 = icmp eq i32 %139, 0
  br i1 %140, label %141, label %144

141:                                              ; preds = %138, %134
  %142 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.11)
  %143 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %0)
  call void @exit(i32 noundef 1) #8
  unreachable

144:                                              ; preds = %138
  %145 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.14) #9
  %146 = icmp eq i32 %145, 0
  br i1 %146, label %147, label %155

147:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #10
  %148 = or disjoint i64 %indvars.iv, 1
  %149 = getelementptr inbounds ptr, ptr %2, i64 %148
  %150 = load ptr, ptr %149, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef %150, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %151 unwind label %153

151:                                              ; preds = %147
  %152 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #10
  br label %650

153:                                              ; preds = %147
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #10
  br label %714

155:                                              ; preds = %144
  %156 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.15) #9
  %157 = icmp eq i32 %156, 0
  br i1 %157, label %158, label %166

158:                                              ; preds = %155
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #10
  %159 = or disjoint i64 %indvars.iv, 1
  %160 = getelementptr inbounds ptr, ptr %2, i64 %159
  %161 = load ptr, ptr %160, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef %161, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %162 unwind label %164

162:                                              ; preds = %158
  %163 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %118, ptr noundef nonnull align 8 dereferenceable(32) %6) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #10
  br label %650

164:                                              ; preds = %158
  %165 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #10
  br label %714

166:                                              ; preds = %155
  %167 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.16) #9
  %168 = icmp eq i32 %167, 0
  br i1 %168, label %169, label %177

169:                                              ; preds = %166
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #10
  %170 = or disjoint i64 %indvars.iv, 1
  %171 = getelementptr inbounds ptr, ptr %2, i64 %170
  %172 = load ptr, ptr %171, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef %172, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %173 unwind label %175

173:                                              ; preds = %169
  %174 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #10
  br label %650

175:                                              ; preds = %169
  %176 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #10
  br label %714

177:                                              ; preds = %166
  %178 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.17) #9
  %179 = icmp eq i32 %178, 0
  br i1 %179, label %180, label %188

180:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #10
  %181 = or disjoint i64 %indvars.iv, 1
  %182 = getelementptr inbounds ptr, ptr %2, i64 %181
  %183 = load ptr, ptr %182, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef %183, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %184 unwind label %186

184:                                              ; preds = %180
  %185 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %10) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #10
  br label %650

186:                                              ; preds = %180
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #10
  br label %714

188:                                              ; preds = %177
  %189 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.18) #9
  %190 = icmp eq i32 %189, 0
  br i1 %190, label %191, label %199

191:                                              ; preds = %188
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #10
  %192 = or disjoint i64 %indvars.iv, 1
  %193 = getelementptr inbounds ptr, ptr %2, i64 %192
  %194 = load ptr, ptr %193, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef %194, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %195 unwind label %197

195:                                              ; preds = %191
  %196 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull align 8 dereferenceable(32) %12) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #10
  br label %650

197:                                              ; preds = %191
  %198 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #10
  br label %714

199:                                              ; preds = %188
  %200 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.19) #9
  %201 = icmp eq i32 %200, 0
  br i1 %201, label %202, label %210

202:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #10
  %203 = or disjoint i64 %indvars.iv, 1
  %204 = getelementptr inbounds ptr, ptr %2, i64 %203
  %205 = load ptr, ptr %204, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef %205, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %206 unwind label %208

206:                                              ; preds = %202
  %207 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef nonnull align 8 dereferenceable(32) %14) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #10
  br label %650

208:                                              ; preds = %202
  %209 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #10
  br label %714

210:                                              ; preds = %199
  %211 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.20) #9
  %212 = icmp eq i32 %211, 0
  br i1 %212, label %213, label %221

213:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #10
  %214 = or disjoint i64 %indvars.iv, 1
  %215 = getelementptr inbounds ptr, ptr %2, i64 %214
  %216 = load ptr, ptr %215, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef %216, ptr noundef nonnull align 1 dereferenceable(1) %17)
          to label %217 unwind label %219

217:                                              ; preds = %213
  %218 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull align 8 dereferenceable(32) %16) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #10
  br label %650

219:                                              ; preds = %213
  %220 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %17) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #10
  br label %714

221:                                              ; preds = %210
  %222 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.21) #9
  %223 = icmp eq i32 %222, 0
  br i1 %223, label %224, label %232

224:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #10
  %225 = or disjoint i64 %indvars.iv, 1
  %226 = getelementptr inbounds ptr, ptr %2, i64 %225
  %227 = load ptr, ptr %226, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %19) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef %227, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %228 unwind label %230

228:                                              ; preds = %224
  %229 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %112, ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #10
  br label %650

230:                                              ; preds = %224
  %231 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %19) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #10
  br label %714

232:                                              ; preds = %221
  %233 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.22) #9
  %234 = icmp eq i32 %233, 0
  br i1 %234, label %235, label %243

235:                                              ; preds = %232
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #10
  %236 = or disjoint i64 %indvars.iv, 1
  %237 = getelementptr inbounds ptr, ptr %2, i64 %236
  %238 = load ptr, ptr %237, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %238, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %239 unwind label %241

239:                                              ; preds = %235
  %240 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %111, ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #10
  br label %650

241:                                              ; preds = %235
  %242 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #10
  br label %714

243:                                              ; preds = %232
  %244 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.23) #9
  %245 = icmp eq i32 %244, 0
  br i1 %245, label %246, label %251

246:                                              ; preds = %243
  %247 = or disjoint i64 %indvars.iv, 1
  %248 = getelementptr inbounds ptr, ptr %2, i64 %247
  %249 = load ptr, ptr %248, align 8, !tbaa !5
  %250 = call i32 @atoi(ptr nocapture noundef %249) #9
  store i32 %250, ptr %110, align 8, !tbaa !18
  br label %650

251:                                              ; preds = %243
  %252 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.24) #9
  %253 = icmp eq i32 %252, 0
  br i1 %253, label %254, label %262

254:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #10
  %255 = or disjoint i64 %indvars.iv, 1
  %256 = getelementptr inbounds ptr, ptr %2, i64 %255
  %257 = load ptr, ptr %256, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef %257, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %258 unwind label %260

258:                                              ; preds = %254
  %259 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #10
  br label %650

260:                                              ; preds = %254
  %261 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #10
  br label %714

262:                                              ; preds = %251
  %263 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.25) #9
  %264 = icmp eq i32 %263, 0
  br i1 %264, label %265, label %270

265:                                              ; preds = %262
  %266 = or disjoint i64 %indvars.iv, 1
  %267 = getelementptr inbounds ptr, ptr %2, i64 %266
  %268 = load ptr, ptr %267, align 8, !tbaa !5
  %269 = load i8, ptr %268, align 1, !tbaa !17
  store i8 %269, ptr %108, align 8, !tbaa !19
  br label %650

270:                                              ; preds = %262
  %271 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.26) #9
  %272 = icmp eq i32 %271, 0
  br i1 %272, label %273, label %281

273:                                              ; preds = %270
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #10
  %274 = or disjoint i64 %indvars.iv, 1
  %275 = getelementptr inbounds ptr, ptr %2, i64 %274
  %276 = load ptr, ptr %275, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef %276, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %277 unwind label %279

277:                                              ; preds = %273
  %278 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #10
  br label %650

279:                                              ; preds = %273
  %280 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #10
  br label %714

281:                                              ; preds = %270
  %282 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.27) #9
  %283 = icmp eq i32 %282, 0
  br i1 %283, label %284, label %292

284:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #10
  %285 = or disjoint i64 %indvars.iv, 1
  %286 = getelementptr inbounds ptr, ptr %2, i64 %285
  %287 = load ptr, ptr %286, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef %287, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %288 unwind label %290

288:                                              ; preds = %284
  %289 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef nonnull align 8 dereferenceable(32) %26) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #10
  br label %650

290:                                              ; preds = %284
  %291 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #10
  br label %714

292:                                              ; preds = %281
  %293 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.28) #9
  %294 = icmp eq i32 %293, 0
  br i1 %294, label %295, label %300

295:                                              ; preds = %292
  %296 = or disjoint i64 %indvars.iv, 1
  %297 = getelementptr inbounds ptr, ptr %2, i64 %296
  %298 = load ptr, ptr %297, align 8, !tbaa !5
  %299 = call double @atof(ptr noundef %298) #9
  store double %299, ptr %105, align 8, !tbaa !20
  br label %650

300:                                              ; preds = %292
  %301 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.29) #9
  %302 = icmp eq i32 %301, 0
  br i1 %302, label %303, label %308

303:                                              ; preds = %300
  %304 = or disjoint i64 %indvars.iv, 1
  %305 = getelementptr inbounds ptr, ptr %2, i64 %304
  %306 = load ptr, ptr %305, align 8, !tbaa !5
  %307 = call double @atof(ptr noundef %306) #9
  store double %307, ptr %104, align 8, !tbaa !21
  br label %650

308:                                              ; preds = %300
  %309 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.30) #9
  %310 = icmp eq i32 %309, 0
  br i1 %310, label %311, label %316

311:                                              ; preds = %308
  %312 = or disjoint i64 %indvars.iv, 1
  %313 = getelementptr inbounds ptr, ptr %2, i64 %312
  %314 = load ptr, ptr %313, align 8, !tbaa !5
  %315 = call double @atof(ptr noundef %314) #9
  store double %315, ptr %103, align 8, !tbaa !22
  br label %650

316:                                              ; preds = %308
  %317 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.31) #9
  %318 = icmp eq i32 %317, 0
  br i1 %318, label %319, label %324

319:                                              ; preds = %316
  %320 = or disjoint i64 %indvars.iv, 1
  %321 = getelementptr inbounds ptr, ptr %2, i64 %320
  %322 = load ptr, ptr %321, align 8, !tbaa !5
  %323 = call double @atof(ptr noundef %322) #9
  store double %323, ptr %102, align 8, !tbaa !23
  br label %650

324:                                              ; preds = %316
  %325 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.32) #9
  %326 = icmp eq i32 %325, 0
  br i1 %326, label %327, label %332

327:                                              ; preds = %324
  %328 = or disjoint i64 %indvars.iv, 1
  %329 = getelementptr inbounds ptr, ptr %2, i64 %328
  %330 = load ptr, ptr %329, align 8, !tbaa !5
  %331 = call double @atof(ptr noundef %330) #9
  store double %331, ptr %101, align 8, !tbaa !24
  br label %650

332:                                              ; preds = %324
  %333 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.33) #9
  %334 = icmp eq i32 %333, 0
  br i1 %334, label %335, label %340

335:                                              ; preds = %332
  %336 = or disjoint i64 %indvars.iv, 1
  %337 = getelementptr inbounds ptr, ptr %2, i64 %336
  %338 = load ptr, ptr %337, align 8, !tbaa !5
  %339 = call double @atof(ptr noundef %338) #9
  store double %339, ptr %100, align 8, !tbaa !25
  br label %650

340:                                              ; preds = %332
  %341 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.34) #9
  %342 = icmp eq i32 %341, 0
  br i1 %342, label %343, label %348

343:                                              ; preds = %340
  %344 = or disjoint i64 %indvars.iv, 1
  %345 = getelementptr inbounds ptr, ptr %2, i64 %344
  %346 = load ptr, ptr %345, align 8, !tbaa !5
  %347 = call double @atof(ptr noundef %346) #9
  store double %347, ptr %99, align 8, !tbaa !26
  br label %650

348:                                              ; preds = %340
  %349 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.35) #9
  %350 = icmp eq i32 %349, 0
  br i1 %350, label %351, label %356

351:                                              ; preds = %348
  %352 = or disjoint i64 %indvars.iv, 1
  %353 = getelementptr inbounds ptr, ptr %2, i64 %352
  %354 = load ptr, ptr %353, align 8, !tbaa !5
  %355 = call double @atof(ptr noundef %354) #9
  store double %355, ptr %98, align 8, !tbaa !27
  br label %650

356:                                              ; preds = %348
  %357 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.36) #9
  %358 = icmp eq i32 %357, 0
  br i1 %358, label %359, label %364

359:                                              ; preds = %356
  %360 = or disjoint i64 %indvars.iv, 1
  %361 = getelementptr inbounds ptr, ptr %2, i64 %360
  %362 = load ptr, ptr %361, align 8, !tbaa !5
  %363 = call double @atof(ptr noundef %362) #9
  store double %363, ptr %97, align 8, !tbaa !28
  br label %650

364:                                              ; preds = %356
  %365 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.37) #9
  %366 = icmp eq i32 %365, 0
  br i1 %366, label %367, label %373

367:                                              ; preds = %364
  %368 = or disjoint i64 %indvars.iv, 1
  %369 = getelementptr inbounds ptr, ptr %2, i64 %368
  %370 = load ptr, ptr %369, align 8, !tbaa !5
  %371 = call i32 @atoi(ptr nocapture noundef %370) #9
  %372 = sext i32 %371 to i64
  store i64 %372, ptr %96, align 8, !tbaa !29
  br label %650

373:                                              ; preds = %364
  %374 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.38) #9
  %375 = icmp eq i32 %374, 0
  br i1 %375, label %376, label %381

376:                                              ; preds = %373
  %377 = or disjoint i64 %indvars.iv, 1
  %378 = getelementptr inbounds ptr, ptr %2, i64 %377
  %379 = load ptr, ptr %378, align 8, !tbaa !5
  %380 = call i32 @atoi(ptr nocapture noundef %379) #9
  store i32 %380, ptr %95, align 8, !tbaa !30
  br label %650

381:                                              ; preds = %373
  %382 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.39) #9
  %383 = icmp eq i32 %382, 0
  br i1 %383, label %384, label %389

384:                                              ; preds = %381
  %385 = or disjoint i64 %indvars.iv, 1
  %386 = getelementptr inbounds ptr, ptr %2, i64 %385
  %387 = load ptr, ptr %386, align 8, !tbaa !5
  %388 = call i32 @atoi(ptr nocapture noundef %387) #9
  store i32 %388, ptr %94, align 4, !tbaa !31
  br label %650

389:                                              ; preds = %381
  %390 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.40) #9
  %391 = icmp eq i32 %390, 0
  br i1 %391, label %392, label %397

392:                                              ; preds = %389
  %393 = or disjoint i64 %indvars.iv, 1
  %394 = getelementptr inbounds ptr, ptr %2, i64 %393
  %395 = load ptr, ptr %394, align 8, !tbaa !5
  %396 = call i32 @atoi(ptr nocapture noundef %395) #9
  store i32 %396, ptr %93, align 8, !tbaa !32
  br label %650

397:                                              ; preds = %389
  %398 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.41) #9
  %399 = icmp eq i32 %398, 0
  br i1 %399, label %400, label %405

400:                                              ; preds = %397
  %401 = or disjoint i64 %indvars.iv, 1
  %402 = getelementptr inbounds ptr, ptr %2, i64 %401
  %403 = load ptr, ptr %402, align 8, !tbaa !5
  %404 = call i32 @atoi(ptr nocapture noundef %403) #9
  store i32 %404, ptr %92, align 4, !tbaa !33
  br label %650

405:                                              ; preds = %397
  %406 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.42) #9
  %407 = icmp eq i32 %406, 0
  br i1 %407, label %408, label %413

408:                                              ; preds = %405
  %409 = or disjoint i64 %indvars.iv, 1
  %410 = getelementptr inbounds ptr, ptr %2, i64 %409
  %411 = load ptr, ptr %410, align 8, !tbaa !5
  %412 = call i32 @atoi(ptr nocapture noundef %411) #9
  store i32 %412, ptr %91, align 8, !tbaa !34
  br label %650

413:                                              ; preds = %405
  %414 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.43) #9
  %415 = icmp eq i32 %414, 0
  br i1 %415, label %416, label %421

416:                                              ; preds = %413
  %417 = or disjoint i64 %indvars.iv, 1
  %418 = getelementptr inbounds ptr, ptr %2, i64 %417
  %419 = load ptr, ptr %418, align 8, !tbaa !5
  %420 = call i32 @atoi(ptr nocapture noundef %419) #9
  store i32 %420, ptr %90, align 4, !tbaa !35
  br label %650

421:                                              ; preds = %413
  %422 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.44) #9
  %423 = icmp eq i32 %422, 0
  br i1 %423, label %424, label %429

424:                                              ; preds = %421
  %425 = or disjoint i64 %indvars.iv, 1
  %426 = getelementptr inbounds ptr, ptr %2, i64 %425
  %427 = load ptr, ptr %426, align 8, !tbaa !5
  %428 = call i32 @atoi(ptr nocapture noundef %427) #9
  store i32 %428, ptr %89, align 8, !tbaa !36
  br label %650

429:                                              ; preds = %421
  %430 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.45) #9
  %431 = icmp eq i32 %430, 0
  br i1 %431, label %432, label %437

432:                                              ; preds = %429
  %433 = or disjoint i64 %indvars.iv, 1
  %434 = getelementptr inbounds ptr, ptr %2, i64 %433
  %435 = load ptr, ptr %434, align 8, !tbaa !5
  %436 = call i32 @atoi(ptr nocapture noundef %435) #9
  store i32 %436, ptr %88, align 4, !tbaa !37
  br label %650

437:                                              ; preds = %429
  %438 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.46) #9
  %439 = icmp eq i32 %438, 0
  br i1 %439, label %440, label %445

440:                                              ; preds = %437
  %441 = or disjoint i64 %indvars.iv, 1
  %442 = getelementptr inbounds ptr, ptr %2, i64 %441
  %443 = load ptr, ptr %442, align 8, !tbaa !5
  %444 = call i32 @atoi(ptr nocapture noundef %443) #9
  store i32 %444, ptr %87, align 8, !tbaa !38
  br label %650

445:                                              ; preds = %437
  %446 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.47) #9
  %447 = icmp eq i32 %446, 0
  br i1 %447, label %448, label %453

448:                                              ; preds = %445
  %449 = or disjoint i64 %indvars.iv, 1
  %450 = getelementptr inbounds ptr, ptr %2, i64 %449
  %451 = load ptr, ptr %450, align 8, !tbaa !5
  %452 = call i32 @atoi(ptr nocapture noundef %451) #9
  store i32 %452, ptr %86, align 4, !tbaa !39
  br label %650

453:                                              ; preds = %445
  %454 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.48) #9
  %455 = icmp eq i32 %454, 0
  br i1 %455, label %456, label %461

456:                                              ; preds = %453
  %457 = or disjoint i64 %indvars.iv, 1
  %458 = getelementptr inbounds ptr, ptr %2, i64 %457
  %459 = load ptr, ptr %458, align 8, !tbaa !5
  %460 = call i32 @atoi(ptr nocapture noundef %459) #9
  store i32 %460, ptr %85, align 8, !tbaa !40
  br label %650

461:                                              ; preds = %453
  %462 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.49) #9
  %463 = icmp eq i32 %462, 0
  br i1 %463, label %464, label %469

464:                                              ; preds = %461
  %465 = or disjoint i64 %indvars.iv, 1
  %466 = getelementptr inbounds ptr, ptr %2, i64 %465
  %467 = load ptr, ptr %466, align 8, !tbaa !5
  %468 = call i32 @atoi(ptr nocapture noundef %467) #9
  store i32 %468, ptr %84, align 8, !tbaa !41
  br label %650

469:                                              ; preds = %461
  %470 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.50) #9
  %471 = icmp eq i32 %470, 0
  br i1 %471, label %472, label %477

472:                                              ; preds = %469
  %473 = or disjoint i64 %indvars.iv, 1
  %474 = getelementptr inbounds ptr, ptr %2, i64 %473
  %475 = load ptr, ptr %474, align 8, !tbaa !5
  %476 = call i32 @atoi(ptr nocapture noundef %475) #9
  store i32 %476, ptr %83, align 4, !tbaa !42
  br label %650

477:                                              ; preds = %469
  %478 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.51) #9
  %479 = icmp eq i32 %478, 0
  br i1 %479, label %480, label %485

480:                                              ; preds = %477
  %481 = or disjoint i64 %indvars.iv, 1
  %482 = getelementptr inbounds ptr, ptr %2, i64 %481
  %483 = load ptr, ptr %482, align 8, !tbaa !5
  %484 = call i32 @atoi(ptr nocapture noundef %483) #9
  store i32 %484, ptr %82, align 4, !tbaa !43
  br label %650

485:                                              ; preds = %477
  %486 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.52) #9
  %487 = icmp eq i32 %486, 0
  br i1 %487, label %488, label %501

488:                                              ; preds = %485
  %489 = or disjoint i64 %indvars.iv, 1
  %490 = getelementptr inbounds ptr, ptr %2, i64 %489
  %491 = load ptr, ptr %490, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef %491, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %492 unwind label %496

492:                                              ; preds = %488
  %493 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %28)
          to label %494 unwind label %498

494:                                              ; preds = %492
  %495 = zext i1 %493 to i8
  store i8 %495, ptr %81, align 4, !tbaa !44
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #10
  br label %650

496:                                              ; preds = %488
  %497 = landingpad { ptr, i32 }
          cleanup
  br label %500

498:                                              ; preds = %492
  %499 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #10
  br label %500

500:                                              ; preds = %498, %496
  %.pn249 = phi { ptr, i32 } [ %499, %498 ], [ %497, %496 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #10
  br label %714

501:                                              ; preds = %485
  %502 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.53) #9
  %503 = icmp eq i32 %502, 0
  br i1 %503, label %504, label %517

504:                                              ; preds = %501
  %505 = or disjoint i64 %indvars.iv, 1
  %506 = getelementptr inbounds ptr, ptr %2, i64 %505
  %507 = load ptr, ptr %506, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef %507, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %508 unwind label %512

508:                                              ; preds = %504
  %509 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %30)
          to label %510 unwind label %514

510:                                              ; preds = %508
  %511 = zext i1 %509 to i8
  store i8 %511, ptr %80, align 1, !tbaa !45
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #10
  br label %650

512:                                              ; preds = %504
  %513 = landingpad { ptr, i32 }
          cleanup
  br label %516

514:                                              ; preds = %508
  %515 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #10
  br label %516

516:                                              ; preds = %514, %512
  %.pn247 = phi { ptr, i32 } [ %515, %514 ], [ %513, %512 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #10
  br label %714

517:                                              ; preds = %501
  %518 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.54) #9
  %519 = icmp eq i32 %518, 0
  br i1 %519, label %520, label %533

520:                                              ; preds = %517
  %521 = or disjoint i64 %indvars.iv, 1
  %522 = getelementptr inbounds ptr, ptr %2, i64 %521
  %523 = load ptr, ptr %522, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef %523, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %524 unwind label %528

524:                                              ; preds = %520
  %525 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %32)
          to label %526 unwind label %530

526:                                              ; preds = %524
  %527 = zext i1 %525 to i8
  store i8 %527, ptr %79, align 2, !tbaa !46
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #10
  br label %650

528:                                              ; preds = %520
  %529 = landingpad { ptr, i32 }
          cleanup
  br label %532

530:                                              ; preds = %524
  %531 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #10
  br label %532

532:                                              ; preds = %530, %528
  %.pn245 = phi { ptr, i32 } [ %531, %530 ], [ %529, %528 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #10
  br label %714

533:                                              ; preds = %517
  %534 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.55) #9
  %535 = icmp eq i32 %534, 0
  br i1 %535, label %536, label %549

536:                                              ; preds = %533
  %537 = or disjoint i64 %indvars.iv, 1
  %538 = getelementptr inbounds ptr, ptr %2, i64 %537
  %539 = load ptr, ptr %538, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef %539, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %540 unwind label %544

540:                                              ; preds = %536
  %541 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %34)
          to label %542 unwind label %546

542:                                              ; preds = %540
  %543 = zext i1 %541 to i8
  store i8 %543, ptr %78, align 1, !tbaa !47
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #10
  br label %650

544:                                              ; preds = %536
  %545 = landingpad { ptr, i32 }
          cleanup
  br label %548

546:                                              ; preds = %540
  %547 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #10
  br label %548

548:                                              ; preds = %546, %544
  %.pn243 = phi { ptr, i32 } [ %547, %546 ], [ %545, %544 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #10
  br label %714

549:                                              ; preds = %533
  %550 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.56) #9
  %551 = icmp eq i32 %550, 0
  br i1 %551, label %552, label %565

552:                                              ; preds = %549
  %553 = or disjoint i64 %indvars.iv, 1
  %554 = getelementptr inbounds ptr, ptr %2, i64 %553
  %555 = load ptr, ptr %554, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef %555, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %556 unwind label %560

556:                                              ; preds = %552
  %557 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %36)
          to label %558 unwind label %562

558:                                              ; preds = %556
  %559 = zext i1 %557 to i8
  store i8 %559, ptr %77, align 8, !tbaa !48
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #10
  br label %650

560:                                              ; preds = %552
  %561 = landingpad { ptr, i32 }
          cleanup
  br label %564

562:                                              ; preds = %556
  %563 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #10
  br label %564

564:                                              ; preds = %562, %560
  %.pn241 = phi { ptr, i32 } [ %563, %562 ], [ %561, %560 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #10
  br label %714

565:                                              ; preds = %549
  %566 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.57) #9
  %567 = icmp eq i32 %566, 0
  br i1 %567, label %568, label %581

568:                                              ; preds = %565
  %569 = or disjoint i64 %indvars.iv, 1
  %570 = getelementptr inbounds ptr, ptr %2, i64 %569
  %571 = load ptr, ptr %570, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %39) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef %571, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %572 unwind label %576

572:                                              ; preds = %568
  %573 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %38)
          to label %574 unwind label %578

574:                                              ; preds = %572
  %575 = zext i1 %573 to i8
  store i8 %575, ptr %76, align 1, !tbaa !49
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #10
  br label %650

576:                                              ; preds = %568
  %577 = landingpad { ptr, i32 }
          cleanup
  br label %580

578:                                              ; preds = %572
  %579 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #10
  br label %580

580:                                              ; preds = %578, %576
  %.pn239 = phi { ptr, i32 } [ %579, %578 ], [ %577, %576 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %39) #10
  br label %714

581:                                              ; preds = %565
  %582 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.58) #9
  %583 = icmp eq i32 %582, 0
  br i1 %583, label %584, label %597

584:                                              ; preds = %581
  %585 = or disjoint i64 %indvars.iv, 1
  %586 = getelementptr inbounds ptr, ptr %2, i64 %585
  %587 = load ptr, ptr %586, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef %587, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %588 unwind label %592

588:                                              ; preds = %584
  %589 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %40)
          to label %590 unwind label %594

590:                                              ; preds = %588
  %591 = zext i1 %589 to i8
  store i8 %591, ptr %75, align 2, !tbaa !50
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #10
  br label %650

592:                                              ; preds = %584
  %593 = landingpad { ptr, i32 }
          cleanup
  br label %596

594:                                              ; preds = %588
  %595 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #10
  br label %596

596:                                              ; preds = %594, %592
  %.pn237 = phi { ptr, i32 } [ %595, %594 ], [ %593, %592 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #10
  br label %714

597:                                              ; preds = %581
  %598 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.59) #9
  %599 = icmp eq i32 %598, 0
  br i1 %599, label %600, label %613

600:                                              ; preds = %597
  %601 = or disjoint i64 %indvars.iv, 1
  %602 = getelementptr inbounds ptr, ptr %2, i64 %601
  %603 = load ptr, ptr %602, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef %603, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %604 unwind label %608

604:                                              ; preds = %600
  %605 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %42)
          to label %606 unwind label %610

606:                                              ; preds = %604
  %607 = zext i1 %605 to i8
  store i8 %607, ptr %74, align 4, !tbaa !51
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #10
  br label %650

608:                                              ; preds = %600
  %609 = landingpad { ptr, i32 }
          cleanup
  br label %612

610:                                              ; preds = %604
  %611 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #10
  br label %612

612:                                              ; preds = %610, %608
  %.pn235 = phi { ptr, i32 } [ %611, %610 ], [ %609, %608 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #10
  br label %714

613:                                              ; preds = %597
  %614 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.60) #9
  %615 = icmp eq i32 %614, 0
  br i1 %615, label %616, label %629

616:                                              ; preds = %613
  %617 = or disjoint i64 %indvars.iv, 1
  %618 = getelementptr inbounds ptr, ptr %2, i64 %617
  %619 = load ptr, ptr %618, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef %619, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %620 unwind label %624

620:                                              ; preds = %616
  %621 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %44)
          to label %622 unwind label %626

622:                                              ; preds = %620
  %623 = zext i1 %621 to i8
  store i8 %623, ptr %73, align 1, !tbaa !52
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #10
  br label %650

624:                                              ; preds = %616
  %625 = landingpad { ptr, i32 }
          cleanup
  br label %628

626:                                              ; preds = %620
  %627 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #10
  br label %628

628:                                              ; preds = %626, %624
  %.pn233 = phi { ptr, i32 } [ %627, %626 ], [ %625, %624 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #10
  br label %714

629:                                              ; preds = %613
  %630 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %135, ptr noundef nonnull dereferenceable(1) @.str.61) #9
  %631 = icmp eq i32 %630, 0
  br i1 %631, label %632, label %645

632:                                              ; preds = %629
  %633 = or disjoint i64 %indvars.iv, 1
  %634 = getelementptr inbounds ptr, ptr %2, i64 %633
  %635 = load ptr, ptr %634, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %47) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %46, ptr noundef %635, ptr noundef nonnull align 1 dereferenceable(1) %47)
          to label %636 unwind label %640

636:                                              ; preds = %632
  %637 = invoke noundef zeroext i1 @_ZN9starspace4Args6isTrueENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(543) %0, ptr noundef nonnull %46)
          to label %638 unwind label %642

638:                                              ; preds = %636
  %639 = zext i1 %637 to i8
  store i8 %639, ptr %72, align 2, !tbaa !53
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #10
  br label %650

640:                                              ; preds = %632
  %641 = landingpad { ptr, i32 }
          cleanup
  br label %644

642:                                              ; preds = %636
  %643 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #10
  br label %644

644:                                              ; preds = %642, %640
  %.pn = phi { ptr, i32 } [ %643, %642 ], [ %641, %640 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %47) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %47) #10
  br label %714

645:                                              ; preds = %629
  %646 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.62)
  %647 = load ptr, ptr %120, align 8, !tbaa !5
  %648 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %646, ptr noundef %647)
  %649 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %648, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %0)
  call void @exit(i32 noundef 1) #8
  unreachable

650:                                              ; preds = %151, %173, %195, %217, %239, %258, %277, %295, %311, %327, %343, %359, %376, %392, %408, %424, %440, %456, %472, %494, %526, %558, %590, %622, %638, %606, %574, %542, %510, %480, %464, %448, %432, %416, %400, %384, %367, %351, %335, %319, %303, %288, %265, %246, %228, %206, %184, %162
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 2
  %651 = trunc nuw i64 %indvars.iv.next to i32
  %652 = icmp slt i32 %651, %1
  br i1 %652, label %119, label %._crit_edge.loopexit, !llvm.loop !54

._crit_edge.loopexit:                             ; preds = %650
  %.phi.trans.insert = getelementptr inbounds i8, ptr %0, i64 535
  %.pre = load i8, ptr %.phi.trans.insert, align 1, !tbaa !9, !range !56
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %70
  %653 = phi i8 [ %.pre, %._crit_edge.loopexit ], [ %.sink, %70 ]
  %654 = trunc nuw i8 %653 to i1
  br i1 %654, label %655, label %663

655:                                              ; preds = %._crit_edge
  %656 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #10
  br i1 %656, label %660, label %657

657:                                              ; preds = %655
  %658 = getelementptr inbounds i8, ptr %0, i64 128
  %659 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %658) #10
  br i1 %659, label %660, label %672

660:                                              ; preds = %657, %655
  %661 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.63)
  %662 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %661, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %0)
  call void @exit(i32 noundef 1) #8
  unreachable

663:                                              ; preds = %._crit_edge
  %664 = getelementptr inbounds i8, ptr %0, i64 64
  %665 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %664) #10
  br i1 %665, label %669, label %666

666:                                              ; preds = %663
  %667 = getelementptr inbounds i8, ptr %0, i64 128
  %668 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %667) #10
  br i1 %668, label %669, label %672

669:                                              ; preds = %666, %663
  %670 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.64)
  %671 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %670, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543) %0)
  call void @exit(i32 noundef 1) #8
  unreachable

672:                                              ; preds = %666, %657
  %673 = getelementptr inbounds i8, ptr %0, i64 516
  %674 = load i32, ptr %673, align 4, !tbaa !43
  %or.cond = icmp ugt i32 %674, 5
  br i1 %or.cond, label %675, label %683

675:                                              ; preds = %672
  %676 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.65)
  %677 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.66)
  %678 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.67)
  %679 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.68)
  %680 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.69)
  %681 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.70)
  %682 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.71)
  call void @exit(i32 noundef 1) #8
  unreachable

683:                                              ; preds = %672
  %684 = getelementptr inbounds i8, ptr %0, i64 320
  %685 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %684, ptr noundef nonnull @.str.2)
  br i1 %685, label %692, label %686

686:                                              ; preds = %683
  %687 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %684, ptr noundef nonnull @.str.72)
  br i1 %687, label %692, label %688

688:                                              ; preds = %686
  %689 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.73)
  %690 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %689, ptr noundef nonnull align 8 dereferenceable(32) %684)
  %691 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSolsEPFRSoS_E(ptr noundef nonnull align 8 dereferenceable(8) %690, ptr noundef nonnull @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_)
  call void @exit(i32 noundef 1) #8
  unreachable

692:                                              ; preds = %686, %683
  %693 = getelementptr inbounds i8, ptr %0, i64 352
  %694 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %693, ptr noundef nonnull @.str.3)
  br i1 %694, label %699, label %695

695:                                              ; preds = %692
  %696 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %693, ptr noundef nonnull @.str.74)
  br i1 %696, label %699, label %697

697:                                              ; preds = %695
  %698 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.75)
  call void @exit(i32 noundef 1) #8
  unreachable

699:                                              ; preds = %695, %692
  %700 = getelementptr inbounds i8, ptr %0, i64 192
  %701 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %700, ptr noundef nonnull @.str)
  br i1 %701, label %706, label %702

702:                                              ; preds = %699
  %703 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %700, ptr noundef nonnull @.str.76)
  br i1 %703, label %706, label %704

704:                                              ; preds = %702
  %705 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.77)
  call void @exit(i32 noundef 1) #8
  unreachable

706:                                              ; preds = %702, %699
  %707 = getelementptr inbounds i8, ptr %0, i64 224
  %708 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %707) #10
  br i1 %708, label %713, label %709

709:                                              ; preds = %706
  %710 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %707, ptr noundef nonnull @.str.78)
  br i1 %710, label %713, label %711

711:                                              ; preds = %709
  %712 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) @_ZSt4cerr, ptr noundef nonnull @.str.79)
  call void @exit(i32 noundef 1) #8
  unreachable

713:                                              ; preds = %709, %706
  ret void

714:                                              ; preds = %644, %628, %612, %596, %580, %564, %548, %532, %516, %500, %290, %279, %260, %241, %230, %219, %208, %197, %186, %175, %164, %153
  %.pn251 = phi { ptr, i32 } [ %154, %153 ], [ %165, %164 ], [ %176, %175 ], [ %187, %186 ], [ %198, %197 ], [ %209, %208 ], [ %220, %219 ], [ %231, %230 ], [ %242, %241 ], [ %261, %260 ], [ %280, %279 ], [ %291, %290 ], [ %.pn249, %500 ], [ %.pn247, %516 ], [ %.pn245, %532 ], [ %.pn243, %548 ], [ %.pn241, %564 ], [ %.pn239, %580 ], [ %.pn237, %596 ], [ %.pn235, %612 ], [ %.pn233, %628 ], [ %.pn, %644 ]
  resume { ptr, i32 } %.pn251
}

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN9starspace4Args9printHelpEv(ptr noundef nonnull align 8 dereferenceable(543)) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @strcmp(ptr nocapture noundef, ptr nocapture noundef) local_unnamed_addr #5

; 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 #1 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)) #3

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #5

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

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

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

; Function Attrs: inlinehint mustprogress nofree nounwind willreturn memory(read) uwtable
declare i32 @atoi(ptr nocapture noundef nonnull) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress nofree nounwind willreturn memory(read) uwtable
declare double @atof(ptr nocapture noundef nonnull) local_unnamed_addr #7

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

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

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

attributes #0 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress 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 = { 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 #3 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 #5 = { mustprogress nofree nounwind willreturn memory(argmem: read) "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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { inlinehint mustprogress nofree nounwind willreturn memory(read) 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 #8 = { noreturn nounwind }
attributes #9 = { nounwind willreturn memory(read) }
attributes #10 = { 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, !16, i64 535}
!10 = !{!"_ZTSN9starspace4ArgsE", !11, i64 0, !11, i64 32, !11, i64 64, !11, i64 96, !11, i64 128, !11, i64 160, !11, i64 192, !11, i64 224, !11, i64 256, !11, i64 288, !11, i64 320, !11, i64 352, !7, i64 384, !14, i64 392, !14, i64 400, !14, i64 408, !14, i64 416, !14, i64 424, !14, i64 432, !14, i64 440, !14, i64 448, !14, i64 456, !13, i64 464, !15, i64 472, !15, i64 476, !15, i64 480, !15, i64 484, !15, i64 488, !15, i64 492, !15, i64 496, !15, i64 500, !15, i64 504, !15, i64 508, !15, i64 512, !15, i64 516, !15, i64 520, !15, i64 524, !15, i64 528, !16, i64 532, !16, i64 533, !16, i64 534, !16, i64 535, !16, i64 536, !16, i64 537, !16, i64 538, !16, i64 539, !16, i64 540, !16, i64 541, !16, i64 542}
!11 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !12, i64 0, !13, i64 8, !7, i64 16}
!12 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!13 = !{!"long", !7, i64 0}
!14 = !{!"double", !7, i64 0}
!15 = !{!"int", !7, i64 0}
!16 = !{!"bool", !7, i64 0}
!17 = !{!7, !7, i64 0}
!18 = !{!10, !15, i64 528}
!19 = !{!10, !7, i64 384}
!20 = !{!10, !14, i64 392}
!21 = !{!10, !14, i64 432}
!22 = !{!10, !14, i64 400}
!23 = !{!10, !14, i64 408}
!24 = !{!10, !14, i64 416}
!25 = !{!10, !14, i64 424}
!26 = !{!10, !14, i64 440}
!27 = !{!10, !14, i64 448}
!28 = !{!10, !14, i64 456}
!29 = !{!10, !13, i64 464}
!30 = !{!10, !15, i64 472}
!31 = !{!10, !15, i64 476}
!32 = !{!10, !15, i64 480}
!33 = !{!10, !15, i64 484}
!34 = !{!10, !15, i64 488}
!35 = !{!10, !15, i64 492}
!36 = !{!10, !15, i64 496}
!37 = !{!10, !15, i64 500}
!38 = !{!10, !15, i64 504}
!39 = !{!10, !15, i64 508}
!40 = !{!10, !15, i64 512}
!41 = !{!10, !15, i64 520}
!42 = !{!10, !15, i64 524}
!43 = !{!10, !15, i64 516}
!44 = !{!10, !16, i64 532}
!45 = !{!10, !16, i64 533}
!46 = !{!10, !16, i64 534}
!47 = !{!10, !16, i64 539}
!48 = !{!10, !16, i64 536}
!49 = !{!10, !16, i64 537}
!50 = !{!10, !16, i64 538}
!51 = !{!10, !16, i64 540}
!52 = !{!10, !16, i64 541}
!53 = !{!10, !16, i64 542}
!54 = distinct !{!54, !55}
!55 = !{!"llvm.loop.mustprogress"}
!56 = !{i8 0, i8 2}


; Effective O3 passes: BDCEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass,TailCallElimPass