; LLVM IR from ggml-org/ggml :: examples/common.ll (Z16gpt_params_parseiPPcR10gpt_params)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.0" = type { i8 }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.3 }
%union.anon.3 = type { i32 }
%"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::istreambuf_iterator" = type <{ ptr, i32, [4 x i8] }>
%"class.std::back_insert_iterator" = type { ptr }
%struct.gpt_params = type { i32, i32, i32, i32, i32, i32, i32, i8, i32, float, float, i32, float, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i8, i32 }

@.str = external hidden unnamed_addr constant [3 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [7 x i8], align 1
@stderr = external global ptr, align 8
@.str.33 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [29 x i8], align 1

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

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 #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_Z16gpt_params_parseiPPcR10gpt_params(i32 noundef %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(160) %2) #2 personality ptr @__gxx_personality_v0 {
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator.0", align 1
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::basic_ifstream", align 8
  %30 = alloca %"class.std::istreambuf_iterator", align 8
  %31 = alloca %"class.std::istreambuf_iterator", align 8
  %32 = alloca %"class.std::back_insert_iterator", align 8
  %33 = alloca %"class.std::back_insert_iterator", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  store ptr %2, ptr %6, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #7
  store i32 1, ptr %7, align 4, !tbaa !5
  br label %35

35:                                               ; preds = %539, %3
  %36 = load i32, ptr %7, align 4, !tbaa !5
  %37 = load i32, ptr %4, align 4, !tbaa !5
  %38 = icmp slt i32 %36, %37
  br i1 %38, label %40, label %39

39:                                               ; preds = %35
  store i32 2, ptr %8, align 4
  br label %544

40:                                               ; preds = %35
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #7
  %41 = load ptr, ptr %5, align 8, !tbaa !9
  %42 = load i32, ptr %7, align 4, !tbaa !5
  %43 = sext i32 %42 to i64
  %44 = getelementptr inbounds ptr, ptr %41, i64 %43
  %45 = load ptr, ptr %44, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef %45, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %46 unwind label %61

46:                                               ; preds = %40
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #7
  %47 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str)
          to label %48 unwind label %65

48:                                               ; preds = %46
  br i1 %47, label %52, label %49

49:                                               ; preds = %48
  %50 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.1)
          to label %51 unwind label %65

51:                                               ; preds = %49
  br i1 %50, label %52, label %78

52:                                               ; preds = %51, %48
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #7
  %53 = load i32, ptr %4, align 4, !tbaa !5
  %54 = load ptr, ptr %5, align 8, !tbaa !9
  %55 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %53, ptr noundef %54, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %55)
          to label %56 unwind label %69

56:                                               ; preds = %52
  %57 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef null, i32 noundef 10)
          to label %58 unwind label %73

58:                                               ; preds = %56
  %59 = load ptr, ptr %6, align 8, !tbaa !9
  %60 = getelementptr inbounds %struct.gpt_params, ptr %59, i32 0, i32 0
  store i32 %57, ptr %60, align 8, !tbaa !11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  br label %535

61:                                               ; preds = %40
  %62 = landingpad { ptr, i32 }
          cleanup
  %63 = extractvalue { ptr, i32 } %62, 0
  store ptr %63, ptr %11, align 8
  %64 = extractvalue { ptr, i32 } %62, 1
  store i32 %64, ptr %12, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #7
  br label %543

65:                                               ; preds = %508, %493, %490, %424, %421, %418, %413, %410, %407, %384, %381, %375, %372, %357, %354, %348, %327, %324, %321, %300, %297, %276, %273, %252, %231, %210, %189, %168, %147, %144, %123, %120, %105, %102, %81, %78, %49, %46
  %66 = landingpad { ptr, i32 }
          cleanup
  %67 = extractvalue { ptr, i32 } %66, 0
  store ptr %67, ptr %11, align 8
  %68 = extractvalue { ptr, i32 } %66, 1
  store i32 %68, ptr %12, align 4
  br label %542

69:                                               ; preds = %52
  %70 = landingpad { ptr, i32 }
          cleanup
  %71 = extractvalue { ptr, i32 } %70, 0
  store ptr %71, ptr %11, align 8
  %72 = extractvalue { ptr, i32 } %70, 1
  store i32 %72, ptr %12, align 4
  br label %77

73:                                               ; preds = %56
  %74 = landingpad { ptr, i32 }
          cleanup
  %75 = extractvalue { ptr, i32 } %74, 0
  store ptr %75, ptr %11, align 8
  %76 = extractvalue { ptr, i32 } %74, 1
  store i32 %76, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %77

77:                                               ; preds = %73, %69
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #7
  br label %542

78:                                               ; preds = %51
  %79 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.2)
          to label %80 unwind label %65

80:                                               ; preds = %78
  br i1 %79, label %84, label %81

81:                                               ; preds = %80
  %82 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.3)
          to label %83 unwind label %65

83:                                               ; preds = %81
  br i1 %82, label %84, label %102

84:                                               ; preds = %83, %80
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #7
  %85 = load i32, ptr %4, align 4, !tbaa !5
  %86 = load ptr, ptr %5, align 8, !tbaa !9
  %87 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %85, ptr noundef %86, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %87)
          to label %88 unwind label %93

88:                                               ; preds = %84
  %89 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef null, i32 noundef 10)
          to label %90 unwind label %97

90:                                               ; preds = %88
  %91 = load ptr, ptr %6, align 8, !tbaa !9
  %92 = getelementptr inbounds %struct.gpt_params, ptr %91, i32 0, i32 1
  store i32 %89, ptr %92, align 4, !tbaa !18
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %534

93:                                               ; preds = %84
  %94 = landingpad { ptr, i32 }
          cleanup
  %95 = extractvalue { ptr, i32 } %94, 0
  store ptr %95, ptr %11, align 8
  %96 = extractvalue { ptr, i32 } %94, 1
  store i32 %96, ptr %12, align 4
  br label %101

97:                                               ; preds = %88
  %98 = landingpad { ptr, i32 }
          cleanup
  %99 = extractvalue { ptr, i32 } %98, 0
  store ptr %99, ptr %11, align 8
  %100 = extractvalue { ptr, i32 } %98, 1
  store i32 %100, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %101

101:                                              ; preds = %97, %93
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #7
  br label %542

102:                                              ; preds = %83
  %103 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.4)
          to label %104 unwind label %65

104:                                              ; preds = %102
  br i1 %103, label %108, label %105

105:                                              ; preds = %104
  %106 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.5)
          to label %107 unwind label %65

107:                                              ; preds = %105
  br i1 %106, label %108, label %120

108:                                              ; preds = %107, %104
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #7
  %109 = load i32, ptr %4, align 4, !tbaa !5
  %110 = load ptr, ptr %5, align 8, !tbaa !9
  %111 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %109, ptr noundef %110, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %111)
          to label %112 unwind label %116

112:                                              ; preds = %108
  %113 = load ptr, ptr %6, align 8, !tbaa !9
  %114 = getelementptr inbounds %struct.gpt_params, ptr %113, i32 0, i32 14
  %115 = 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) %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #7
  br label %533

116:                                              ; preds = %108
  %117 = landingpad { ptr, i32 }
          cleanup
  %118 = extractvalue { ptr, i32 } %117, 0
  store ptr %118, ptr %11, align 8
  %119 = extractvalue { ptr, i32 } %117, 1
  store i32 %119, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #7
  br label %542

120:                                              ; preds = %107
  %121 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.6)
          to label %122 unwind label %65

122:                                              ; preds = %120
  br i1 %121, label %126, label %123

123:                                              ; preds = %122
  %124 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.7)
          to label %125 unwind label %65

125:                                              ; preds = %123
  br i1 %124, label %126, label %144

126:                                              ; preds = %125, %122
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #7
  %127 = load i32, ptr %4, align 4, !tbaa !5
  %128 = load ptr, ptr %5, align 8, !tbaa !9
  %129 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %127, ptr noundef %128, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %129)
          to label %130 unwind label %135

130:                                              ; preds = %126
  %131 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef null, i32 noundef 10)
          to label %132 unwind label %139

132:                                              ; preds = %130
  %133 = load ptr, ptr %6, align 8, !tbaa !9
  %134 = getelementptr inbounds %struct.gpt_params, ptr %133, i32 0, i32 2
  store i32 %131, ptr %134, align 8, !tbaa !19
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  br label %532

135:                                              ; preds = %126
  %136 = landingpad { ptr, i32 }
          cleanup
  %137 = extractvalue { ptr, i32 } %136, 0
  store ptr %137, ptr %11, align 8
  %138 = extractvalue { ptr, i32 } %136, 1
  store i32 %138, ptr %12, align 4
  br label %143

139:                                              ; preds = %130
  %140 = landingpad { ptr, i32 }
          cleanup
  %141 = extractvalue { ptr, i32 } %140, 0
  store ptr %141, ptr %11, align 8
  %142 = extractvalue { ptr, i32 } %140, 1
  store i32 %142, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %143

143:                                              ; preds = %139, %135
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #7
  br label %542

144:                                              ; preds = %125
  %145 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.8)
          to label %146 unwind label %65

146:                                              ; preds = %144
  br i1 %145, label %150, label %147

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

149:                                              ; preds = %147
  br i1 %148, label %150, label %168

150:                                              ; preds = %149, %146
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #7
  %151 = load i32, ptr %4, align 4, !tbaa !5
  %152 = load ptr, ptr %5, align 8, !tbaa !9
  %153 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %151, ptr noundef %152, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %153)
          to label %154 unwind label %159

154:                                              ; preds = %150
  %155 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef null, i32 noundef 10)
          to label %156 unwind label %163

156:                                              ; preds = %154
  %157 = load ptr, ptr %6, align 8, !tbaa !9
  %158 = getelementptr inbounds %struct.gpt_params, ptr %157, i32 0, i32 3
  store i32 %155, ptr %158, align 4, !tbaa !20
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #7
  br label %531

159:                                              ; preds = %150
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %11, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %12, align 4
  br label %167

163:                                              ; preds = %154
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %11, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %167

167:                                              ; preds = %163, %159
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #7
  br label %542

168:                                              ; preds = %149
  %169 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.10)
          to label %170 unwind label %65

170:                                              ; preds = %168
  br i1 %169, label %171, label %189

171:                                              ; preds = %170
  call void @llvm.lifetime.start.p0(i64 32, ptr %18) #7
  %172 = load i32, ptr %4, align 4, !tbaa !5
  %173 = load ptr, ptr %5, align 8, !tbaa !9
  %174 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %172, ptr noundef %173, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %174)
          to label %175 unwind label %180

175:                                              ; preds = %171
  %176 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef null, i32 noundef 10)
          to label %177 unwind label %184

177:                                              ; preds = %175
  %178 = load ptr, ptr %6, align 8, !tbaa !9
  %179 = getelementptr inbounds %struct.gpt_params, ptr %178, i32 0, i32 8
  store i32 %176, ptr %179, align 8, !tbaa !21
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #7
  br label %530

180:                                              ; preds = %171
  %181 = landingpad { ptr, i32 }
          cleanup
  %182 = extractvalue { ptr, i32 } %181, 0
  store ptr %182, ptr %11, align 8
  %183 = extractvalue { ptr, i32 } %181, 1
  store i32 %183, ptr %12, align 4
  br label %188

184:                                              ; preds = %175
  %185 = landingpad { ptr, i32 }
          cleanup
  %186 = extractvalue { ptr, i32 } %185, 0
  store ptr %186, ptr %11, align 8
  %187 = extractvalue { ptr, i32 } %185, 1
  store i32 %187, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %188

188:                                              ; preds = %184, %180
  call void @llvm.lifetime.end.p0(i64 32, ptr %18) #7
  br label %542

189:                                              ; preds = %170
  %190 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.11)
          to label %191 unwind label %65

191:                                              ; preds = %189
  br i1 %190, label %192, label %210

192:                                              ; preds = %191
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #7
  %193 = load i32, ptr %4, align 4, !tbaa !5
  %194 = load ptr, ptr %5, align 8, !tbaa !9
  %195 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %193, ptr noundef %194, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %195)
          to label %196 unwind label %201

196:                                              ; preds = %192
  %197 = invoke noundef float @_ZNSt7__cxx114stofERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef null)
          to label %198 unwind label %205

198:                                              ; preds = %196
  %199 = load ptr, ptr %6, align 8, !tbaa !9
  %200 = getelementptr inbounds %struct.gpt_params, ptr %199, i32 0, i32 9
  store float %197, ptr %200, align 4, !tbaa !22
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #7
  br label %529

201:                                              ; preds = %192
  %202 = landingpad { ptr, i32 }
          cleanup
  %203 = extractvalue { ptr, i32 } %202, 0
  store ptr %203, ptr %11, align 8
  %204 = extractvalue { ptr, i32 } %202, 1
  store i32 %204, ptr %12, align 4
  br label %209

205:                                              ; preds = %196
  %206 = landingpad { ptr, i32 }
          cleanup
  %207 = extractvalue { ptr, i32 } %206, 0
  store ptr %207, ptr %11, align 8
  %208 = extractvalue { ptr, i32 } %206, 1
  store i32 %208, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %209

209:                                              ; preds = %205, %201
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #7
  br label %542

210:                                              ; preds = %191
  %211 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.12)
          to label %212 unwind label %65

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

213:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #7
  %214 = load i32, ptr %4, align 4, !tbaa !5
  %215 = load ptr, ptr %5, align 8, !tbaa !9
  %216 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %214, ptr noundef %215, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %216)
          to label %217 unwind label %222

217:                                              ; preds = %213
  %218 = invoke noundef float @_ZNSt7__cxx114stofERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef null)
          to label %219 unwind label %226

219:                                              ; preds = %217
  %220 = load ptr, ptr %6, align 8, !tbaa !9
  %221 = getelementptr inbounds %struct.gpt_params, ptr %220, i32 0, i32 10
  store float %218, ptr %221, align 8, !tbaa !23
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  br label %528

222:                                              ; preds = %213
  %223 = landingpad { ptr, i32 }
          cleanup
  %224 = extractvalue { ptr, i32 } %223, 0
  store ptr %224, ptr %11, align 8
  %225 = extractvalue { ptr, i32 } %223, 1
  store i32 %225, ptr %12, align 4
  br label %230

226:                                              ; preds = %217
  %227 = landingpad { ptr, i32 }
          cleanup
  %228 = extractvalue { ptr, i32 } %227, 0
  store ptr %228, ptr %11, align 8
  %229 = extractvalue { ptr, i32 } %227, 1
  store i32 %229, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  br label %230

230:                                              ; preds = %226, %222
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #7
  br label %542

231:                                              ; preds = %212
  %232 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.13)
          to label %233 unwind label %65

233:                                              ; preds = %231
  br i1 %232, label %234, label %252

234:                                              ; preds = %233
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #7
  %235 = load i32, ptr %4, align 4, !tbaa !5
  %236 = load ptr, ptr %5, align 8, !tbaa !9
  %237 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %235, ptr noundef %236, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %237)
          to label %238 unwind label %243

238:                                              ; preds = %234
  %239 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef null, i32 noundef 10)
          to label %240 unwind label %247

240:                                              ; preds = %238
  %241 = load ptr, ptr %6, align 8, !tbaa !9
  %242 = getelementptr inbounds %struct.gpt_params, ptr %241, i32 0, i32 11
  store i32 %239, ptr %242, align 4, !tbaa !24
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #7
  br label %527

243:                                              ; preds = %234
  %244 = landingpad { ptr, i32 }
          cleanup
  %245 = extractvalue { ptr, i32 } %244, 0
  store ptr %245, ptr %11, align 8
  %246 = extractvalue { ptr, i32 } %244, 1
  store i32 %246, ptr %12, align 4
  br label %251

247:                                              ; preds = %238
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %11, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %251

251:                                              ; preds = %247, %243
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #7
  br label %542

252:                                              ; preds = %233
  %253 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.14)
          to label %254 unwind label %65

254:                                              ; preds = %252
  br i1 %253, label %255, label %273

255:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #7
  %256 = load i32, ptr %4, align 4, !tbaa !5
  %257 = load ptr, ptr %5, align 8, !tbaa !9
  %258 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %256, ptr noundef %257, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %258)
          to label %259 unwind label %264

259:                                              ; preds = %255
  %260 = invoke noundef float @_ZNSt7__cxx114stofERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef null)
          to label %261 unwind label %268

261:                                              ; preds = %259
  %262 = load ptr, ptr %6, align 8, !tbaa !9
  %263 = getelementptr inbounds %struct.gpt_params, ptr %262, i32 0, i32 12
  store float %260, ptr %263, align 8, !tbaa !25
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br label %526

264:                                              ; preds = %255
  %265 = landingpad { ptr, i32 }
          cleanup
  %266 = extractvalue { ptr, i32 } %265, 0
  store ptr %266, ptr %11, align 8
  %267 = extractvalue { ptr, i32 } %265, 1
  store i32 %267, ptr %12, align 4
  br label %272

268:                                              ; preds = %259
  %269 = landingpad { ptr, i32 }
          cleanup
  %270 = extractvalue { ptr, i32 } %269, 0
  store ptr %270, ptr %11, align 8
  %271 = extractvalue { ptr, i32 } %269, 1
  store i32 %271, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %272

272:                                              ; preds = %268, %264
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #7
  br label %542

273:                                              ; preds = %254
  %274 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.15)
          to label %275 unwind label %65

275:                                              ; preds = %273
  br i1 %274, label %279, label %276

276:                                              ; preds = %275
  %277 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.16)
          to label %278 unwind label %65

278:                                              ; preds = %276
  br i1 %277, label %279, label %297

279:                                              ; preds = %278, %275
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #7
  %280 = load i32, ptr %4, align 4, !tbaa !5
  %281 = load ptr, ptr %5, align 8, !tbaa !9
  %282 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %280, ptr noundef %281, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %282)
          to label %283 unwind label %288

283:                                              ; preds = %279
  %284 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef null, i32 noundef 10)
          to label %285 unwind label %292

285:                                              ; preds = %283
  %286 = load ptr, ptr %6, align 8, !tbaa !9
  %287 = getelementptr inbounds %struct.gpt_params, ptr %286, i32 0, i32 4
  store i32 %284, ptr %287, align 8, !tbaa !26
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #7
  br label %525

288:                                              ; preds = %279
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %11, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %12, align 4
  br label %296

292:                                              ; preds = %283
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %11, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %296

296:                                              ; preds = %292, %288
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #7
  br label %542

297:                                              ; preds = %278
  %298 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.17)
          to label %299 unwind label %65

299:                                              ; preds = %297
  br i1 %298, label %303, label %300

300:                                              ; preds = %299
  %301 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.18)
          to label %302 unwind label %65

302:                                              ; preds = %300
  br i1 %301, label %303, label %321

303:                                              ; preds = %302, %299
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #7
  %304 = load i32, ptr %4, align 4, !tbaa !5
  %305 = load ptr, ptr %5, align 8, !tbaa !9
  %306 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %304, ptr noundef %305, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %306)
          to label %307 unwind label %312

307:                                              ; preds = %303
  %308 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef null, i32 noundef 10)
          to label %309 unwind label %316

309:                                              ; preds = %307
  %310 = load ptr, ptr %6, align 8, !tbaa !9
  %311 = getelementptr inbounds %struct.gpt_params, ptr %310, i32 0, i32 5
  store i32 %308, ptr %311, align 4, !tbaa !27
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #7
  br label %524

312:                                              ; preds = %303
  %313 = landingpad { ptr, i32 }
          cleanup
  %314 = extractvalue { ptr, i32 } %313, 0
  store ptr %314, ptr %11, align 8
  %315 = extractvalue { ptr, i32 } %313, 1
  store i32 %315, ptr %12, align 4
  br label %320

316:                                              ; preds = %307
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %11, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %320

320:                                              ; preds = %316, %312
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #7
  br label %542

321:                                              ; preds = %302
  %322 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.19)
          to label %323 unwind label %65

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

324:                                              ; preds = %323
  %325 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.20)
          to label %326 unwind label %65

326:                                              ; preds = %324
  br i1 %325, label %330, label %327

327:                                              ; preds = %326
  %328 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.21)
          to label %329 unwind label %65

329:                                              ; preds = %327
  br i1 %328, label %330, label %348

330:                                              ; preds = %329, %326, %323
  call void @llvm.lifetime.start.p0(i64 32, ptr %25) #7
  %331 = load i32, ptr %4, align 4, !tbaa !5
  %332 = load ptr, ptr %5, align 8, !tbaa !9
  %333 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %331, ptr noundef %332, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %333)
          to label %334 unwind label %339

334:                                              ; preds = %330
  %335 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef null, i32 noundef 10)
          to label %336 unwind label %343

336:                                              ; preds = %334
  %337 = load ptr, ptr %6, align 8, !tbaa !9
  %338 = getelementptr inbounds %struct.gpt_params, ptr %337, i32 0, i32 6
  store i32 %335, ptr %338, align 8, !tbaa !28
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  br label %523

339:                                              ; preds = %330
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %11, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %12, align 4
  br label %347

343:                                              ; preds = %334
  %344 = landingpad { ptr, i32 }
          cleanup
  %345 = extractvalue { ptr, i32 } %344, 0
  store ptr %345, ptr %11, align 8
  %346 = extractvalue { ptr, i32 } %344, 1
  store i32 %346, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %347

347:                                              ; preds = %343, %339
  call void @llvm.lifetime.end.p0(i64 32, ptr %25) #7
  br label %542

348:                                              ; preds = %329
  %349 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.22)
          to label %350 unwind label %65

350:                                              ; preds = %348
  br i1 %349, label %351, label %354

351:                                              ; preds = %350
  %352 = load ptr, ptr %6, align 8, !tbaa !9
  %353 = getelementptr inbounds %struct.gpt_params, ptr %352, i32 0, i32 7
  store i8 1, ptr %353, align 4, !tbaa !29
  br label %522

354:                                              ; preds = %350
  %355 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.23)
          to label %356 unwind label %65

356:                                              ; preds = %354
  br i1 %355, label %360, label %357

357:                                              ; preds = %356
  %358 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.24)
          to label %359 unwind label %65

359:                                              ; preds = %357
  br i1 %358, label %360, label %372

360:                                              ; preds = %359, %356
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #7
  %361 = load i32, ptr %4, align 4, !tbaa !5
  %362 = load ptr, ptr %5, align 8, !tbaa !9
  %363 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %361, ptr noundef %362, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %363)
          to label %364 unwind label %368

364:                                              ; preds = %360
  %365 = load ptr, ptr %6, align 8, !tbaa !9
  %366 = getelementptr inbounds %struct.gpt_params, ptr %365, i32 0, i32 13
  %367 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %366, ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #7
  br label %521

368:                                              ; preds = %360
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %11, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #7
  br label %542

372:                                              ; preds = %359
  %373 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.25)
          to label %374 unwind label %65

374:                                              ; preds = %372
  br i1 %373, label %378, label %375

375:                                              ; preds = %374
  %376 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.26)
          to label %377 unwind label %65

377:                                              ; preds = %375
  br i1 %376, label %378, label %381

378:                                              ; preds = %377, %374
  %379 = load ptr, ptr %6, align 8, !tbaa !9
  %380 = getelementptr inbounds %struct.gpt_params, ptr %379, i32 0, i32 16
  store i8 1, ptr %380, align 8, !tbaa !30
  br label %520

381:                                              ; preds = %377
  %382 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.27)
          to label %383 unwind label %65

383:                                              ; preds = %381
  br i1 %382, label %387, label %384

384:                                              ; preds = %383
  %385 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.28)
          to label %386 unwind label %65

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

387:                                              ; preds = %386, %383
  %388 = load ptr, ptr %6, align 8, !tbaa !9
  %389 = getelementptr inbounds %struct.gpt_params, ptr %388, i32 0, i32 16
  store i8 1, ptr %389, align 8, !tbaa !30
  call void @llvm.lifetime.start.p0(i64 32, ptr %27) #7
  %390 = load i32, ptr %4, align 4, !tbaa !5
  %391 = load ptr, ptr %5, align 8, !tbaa !9
  %392 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %390, ptr noundef %391, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %392)
          to label %393 unwind label %398

393:                                              ; preds = %387
  %394 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef null, i32 noundef 10)
          to label %395 unwind label %402

395:                                              ; preds = %393
  %396 = load ptr, ptr %6, align 8, !tbaa !9
  %397 = getelementptr inbounds %struct.gpt_params, ptr %396, i32 0, i32 17
  store i32 %394, ptr %397, align 4, !tbaa !31
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #7
  br label %519

398:                                              ; preds = %387
  %399 = landingpad { ptr, i32 }
          cleanup
  %400 = extractvalue { ptr, i32 } %399, 0
  store ptr %400, ptr %11, align 8
  %401 = extractvalue { ptr, i32 } %399, 1
  store i32 %401, ptr %12, align 4
  br label %406

402:                                              ; preds = %393
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %11, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %12, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %406

406:                                              ; preds = %402, %398
  call void @llvm.lifetime.end.p0(i64 32, ptr %27) #7
  br label %542

407:                                              ; preds = %386
  %408 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.29)
          to label %409 unwind label %65

409:                                              ; preds = %407
  br i1 %408, label %413, label %410

410:                                              ; preds = %409
  %411 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.30)
          to label %412 unwind label %65

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

413:                                              ; preds = %412, %409
  %414 = load i32, ptr %4, align 4, !tbaa !5
  %415 = load ptr, ptr %5, align 8, !tbaa !9
  %416 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_Z15gpt_print_usageiPPcRK10gpt_params(i32 noundef %414, ptr noundef %415, ptr noundef nonnull align 8 dereferenceable(160) %416)
          to label %417 unwind label %65

417:                                              ; preds = %413
  call void @exit(i32 noundef 0) #8
  unreachable

418:                                              ; preds = %412
  %419 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.31)
          to label %420 unwind label %65

420:                                              ; preds = %418
  br i1 %419, label %424, label %421

421:                                              ; preds = %420
  %422 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.32)
          to label %423 unwind label %65

423:                                              ; preds = %421
  br i1 %422, label %424, label %490

424:                                              ; preds = %423, %420
  %425 = load i32, ptr %4, align 4, !tbaa !5
  %426 = load ptr, ptr %5, align 8, !tbaa !9
  %427 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %425, ptr noundef %426, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %427)
          to label %428 unwind label %65

428:                                              ; preds = %424
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @llvm.lifetime.start.p0(i64 520, ptr %29) #7
  %429 = load ptr, ptr %5, align 8, !tbaa !9
  %430 = load i32, ptr %7, align 4, !tbaa !5
  %431 = sext i32 %430 to i64
  %432 = getelementptr inbounds ptr, ptr %429, i64 %431
  %433 = load ptr, ptr %432, align 8, !tbaa !9
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %29, ptr noundef %433, i32 noundef 8)
          to label %434 unwind label %449

434:                                              ; preds = %428
  %435 = load ptr, ptr %29, align 8, !tbaa !32
  %436 = getelementptr i8, ptr %435, i64 -24
  %437 = load i64, ptr %436, align 8
  %438 = getelementptr inbounds i8, ptr %29, i64 %437
  %439 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %438)
          to label %440 unwind label %453

440:                                              ; preds = %434
  br i1 %439, label %441, label %457

441:                                              ; preds = %440
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = load ptr, ptr %5, align 8, !tbaa !9
  %444 = load i32, ptr %7, align 4, !tbaa !5
  %445 = sext i32 %444 to i64
  %446 = getelementptr inbounds ptr, ptr %443, i64 %445
  %447 = load ptr, ptr %446, align 8, !tbaa !9
  %448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %442, ptr noundef @.str.33, ptr noundef %447) #7
  store i32 2, ptr %8, align 4
  br label %486

449:                                              ; preds = %428
  %450 = landingpad { ptr, i32 }
          cleanup
  %451 = extractvalue { ptr, i32 } %450, 0
  store ptr %451, ptr %11, align 8
  %452 = extractvalue { ptr, i32 } %450, 1
  store i32 %452, ptr %12, align 4
  br label %489

453:                                              ; preds = %461, %457, %434
  %454 = landingpad { ptr, i32 }
          cleanup
  %455 = extractvalue { ptr, i32 } %454, 0
  store ptr %455, ptr %11, align 8
  %456 = extractvalue { ptr, i32 } %454, 1
  store i32 %456, ptr %12, align 4
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %29) #7
  br label %489

457:                                              ; preds = %440
  call void @_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEC2ERSi(ptr noundef nonnull align 8 dereferenceable(12) %30, ptr noundef nonnull align 8 dereferenceable(16) %29) #7
  call void @_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(12) %31) #7
  %458 = load ptr, ptr %6, align 8, !tbaa !9
  %459 = getelementptr inbounds %struct.gpt_params, ptr %458, i32 0, i32 14
  %460 = invoke ptr @_ZSt13back_inserterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt20back_insert_iteratorIT_ERS7_(ptr noundef nonnull align 8 dereferenceable(32) %459)
          to label %461 unwind label %453

461:                                              ; preds = %457
  %462 = getelementptr inbounds %"class.std::back_insert_iterator", ptr %32, i32 0, i32 0
  store ptr %460, ptr %462, align 8
  %463 = getelementptr inbounds { ptr, i32 }, ptr %30, i32 0, i32 0
  %464 = load ptr, ptr %463, align 8
  %465 = getelementptr inbounds { ptr, i32 }, ptr %30, i32 0, i32 1
  %466 = load i32, ptr %465, align 8
  %467 = getelementptr inbounds { ptr, i32 }, ptr %31, i32 0, i32 0
  %468 = load ptr, ptr %467, align 8
  %469 = getelementptr inbounds { ptr, i32 }, ptr %31, i32 0, i32 1
  %470 = load i32, ptr %469, align 8
  %471 = getelementptr inbounds %"class.std::back_insert_iterator", ptr %32, i32 0, i32 0
  %472 = load ptr, ptr %471, align 8
  %473 = invoke ptr @_ZSt4copyISt19istreambuf_iteratorIcSt11char_traitsIcEESt20back_insert_iteratorINSt7__cxx1112basic_stringIcS2_SaIcEEEEET0_T_SB_SA_(ptr %464, i32 %466, ptr %468, i32 %470, ptr %472)
          to label %474 unwind label %453

474:                                              ; preds = %461
  %475 = getelementptr inbounds %"class.std::back_insert_iterator", ptr %33, i32 0, i32 0
  store ptr %473, ptr %475, align 8
  %476 = load ptr, ptr %6, align 8, !tbaa !9
  %477 = getelementptr inbounds %struct.gpt_params, ptr %476, i32 0, i32 14
  %478 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv(ptr noundef nonnull align 8 dereferenceable(32) %477) #7
  %479 = load i8, ptr %478, align 1, !tbaa !34
  %480 = sext i8 %479 to i32
  %481 = icmp eq i32 %480, 10
  br i1 %481, label %482, label %485

482:                                              ; preds = %474
  %483 = load ptr, ptr %6, align 8, !tbaa !9
  %484 = getelementptr inbounds %struct.gpt_params, ptr %483, i32 0, i32 14
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv(ptr noundef nonnull align 8 dereferenceable(32) %484) #7
  br label %485

485:                                              ; preds = %482, %474
  store i32 0, ptr %8, align 4
  br label %486

486:                                              ; preds = %485, %441
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %29) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr %29) #7
  %487 = load i32, ptr %8, align 4
  switch i32 %487, label %536 [
    i32 0, label %488
  ]

488:                                              ; preds = %486
  br label %517

489:                                              ; preds = %453, %449
  call void @llvm.lifetime.end.p0(i64 520, ptr %29) #7
  br label %542

490:                                              ; preds = %423
  %491 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.34)
          to label %492 unwind label %65

492:                                              ; preds = %490
  br i1 %491, label %496, label %493

493:                                              ; preds = %492
  %494 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef @.str.35)
          to label %495 unwind label %65

495:                                              ; preds = %493
  br i1 %494, label %496, label %508

496:                                              ; preds = %495, %492
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #7
  %497 = load i32, ptr %4, align 4, !tbaa !5
  %498 = load ptr, ptr %5, align 8, !tbaa !9
  %499 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 4 dereferenceable(4) %7, i32 noundef %497, ptr noundef %498, ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull align 8 dereferenceable(160) %499)
          to label %500 unwind label %504

500:                                              ; preds = %496
  %501 = load ptr, ptr %6, align 8, !tbaa !9
  %502 = getelementptr inbounds %struct.gpt_params, ptr %501, i32 0, i32 15
  %503 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %502, ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #7
  br label %516

504:                                              ; preds = %496
  %505 = landingpad { ptr, i32 }
          cleanup
  %506 = extractvalue { ptr, i32 } %505, 0
  store ptr %506, ptr %11, align 8
  %507 = extractvalue { ptr, i32 } %505, 1
  store i32 %507, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #7
  br label %542

508:                                              ; preds = %495
  %509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %510 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  %511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %509, ptr noundef @.str.36, ptr noundef %510) #7
  %512 = load i32, ptr %4, align 4, !tbaa !5
  %513 = load ptr, ptr %5, align 8, !tbaa !9
  %514 = load ptr, ptr %6, align 8, !tbaa !9
  invoke void @_Z15gpt_print_usageiPPcRK10gpt_params(i32 noundef %512, ptr noundef %513, ptr noundef nonnull align 8 dereferenceable(160) %514)
          to label %515 unwind label %65

515:                                              ; preds = %508
  call void @exit(i32 noundef 0) #8
  unreachable

516:                                              ; preds = %500
  br label %517

517:                                              ; preds = %516, %488
  br label %518

518:                                              ; preds = %517
  br label %519

519:                                              ; preds = %518, %395
  br label %520

520:                                              ; preds = %519, %378
  br label %521

521:                                              ; preds = %520, %364
  br label %522

522:                                              ; preds = %521, %351
  br label %523

523:                                              ; preds = %522, %336
  br label %524

524:                                              ; preds = %523, %309
  br label %525

525:                                              ; preds = %524, %285
  br label %526

526:                                              ; preds = %525, %261
  br label %527

527:                                              ; preds = %526, %240
  br label %528

528:                                              ; preds = %527, %219
  br label %529

529:                                              ; preds = %528, %198
  br label %530

530:                                              ; preds = %529, %177
  br label %531

531:                                              ; preds = %530, %156
  br label %532

532:                                              ; preds = %531, %132
  br label %533

533:                                              ; preds = %532, %112
  br label %534

534:                                              ; preds = %533, %90
  br label %535

535:                                              ; preds = %534, %58
  store i32 0, ptr %8, align 4
  br label %536

536:                                              ; preds = %535, %486
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #7
  %537 = load i32, ptr %8, align 4
  switch i32 %537, label %544 [
    i32 0, label %538
  ]

538:                                              ; preds = %536
  br label %539

539:                                              ; preds = %538
  %540 = load i32, ptr %7, align 4, !tbaa !5
  %541 = add nsw i32 %540, 1
  store i32 %541, ptr %7, align 4, !tbaa !5
  br label %35, !llvm.loop !35

542:                                              ; preds = %504, %489, %406, %368, %347, %320, %296, %272, %251, %230, %209, %188, %167, %143, %116, %101, %77, %65
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  br label %543

543:                                              ; preds = %542, %61
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  br label %546

544:                                              ; preds = %536, %39
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #7
  br label %545

545:                                              ; preds = %544
  ret i1 true

546:                                              ; preds = %543
  %547 = load ptr, ptr %11, align 8
  %548 = load i32, ptr %12, align 4
  %549 = insertvalue { ptr, i32 } poison, ptr %547, 0
  %550 = insertvalue { ptr, i32 } %549, i32 %548, 1
  resume { ptr, i32 } %550
}

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

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(160)) #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)) #1 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_Z15gpt_print_usageiPPcRK10gpt_params(i32 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(160)) #1

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

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

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264)) #2 align 2

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt4copyISt19istreambuf_iteratorIcSt11char_traitsIcEESt20back_insert_iteratorINSt7__cxx1112basic_stringIcS2_SaIcEEEEET0_T_SB_SA_(ptr, i32, ptr, i32, ptr) #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEC2ERSi(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !6, i64 0}
!12 = !{!"_ZTS10gpt_params", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !13, i64 28, !6, i64 32, !14, i64 36, !14, i64 40, !6, i64 44, !14, i64 48, !15, i64 56, !15, i64 88, !15, i64 120, !13, i64 152, !6, i64 156}
!13 = !{!"bool", !7, i64 0}
!14 = !{!"float", !7, i64 0}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !17, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !10, i64 0}
!17 = !{!"long", !7, i64 0}
!18 = !{!12, !6, i64 4}
!19 = !{!12, !6, i64 8}
!20 = !{!12, !6, i64 12}
!21 = !{!12, !6, i64 32}
!22 = !{!12, !14, i64 36}
!23 = !{!12, !14, i64 40}
!24 = !{!12, !6, i64 44}
!25 = !{!12, !14, i64 48}
!26 = !{!12, !6, i64 16}
!27 = !{!12, !6, i64 20}
!28 = !{!12, !6, i64 24}
!29 = !{!12, !13, i64 28}
!30 = !{!12, !13, i64 152}
!31 = !{!12, !6, i64 156}
!32 = !{!33, !33, i64 0}
!33 = !{!"vtable pointer", !8, i64 0}
!34 = !{!7, !7, i64 0}
!35 = distinct !{!35, !36}
!36 = !{!"llvm.loop.mustprogress"}


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

%"class.std::__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.0" = type { i8 }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.3 }
%union.anon.3 = type { i32 }
%"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::istreambuf_iterator" = type <{ ptr, i32, [4 x i8] }>

@.str = external hidden unnamed_addr constant [3 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [7 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.33 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [29 x i8], align 1

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

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 #1 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_Z16gpt_params_parseiPPcR10gpt_params(i32 noundef %0, ptr noundef %1, ptr noundef nonnull align 8 dereferenceable(160) %2) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %4 = alloca i32, align 4
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::allocator.0", align 1
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::basic_ifstream", align 8
  %24 = alloca %"class.std::istreambuf_iterator", align 8
  %25 = alloca %"class.std::istreambuf_iterator", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #7
  store i32 1, ptr %4, align 4, !tbaa !5
  %27 = icmp sgt i32 %0, 1
  br i1 %27, label %.lr.ph, label %.loopexit

.lr.ph:                                           ; preds = %3
  %28 = getelementptr inbounds i8, ptr %2, i64 120
  %29 = getelementptr inbounds i8, ptr %2, i64 88
  %30 = getelementptr inbounds i8, ptr %24, i64 8
  %31 = getelementptr inbounds i8, ptr %25, i64 8
  %32 = getelementptr inbounds i8, ptr %2, i64 152
  %33 = getelementptr inbounds i8, ptr %2, i64 156
  %34 = getelementptr inbounds i8, ptr %2, i64 56
  %35 = getelementptr inbounds i8, ptr %2, i64 28
  %36 = getelementptr inbounds i8, ptr %2, i64 24
  %37 = getelementptr inbounds i8, ptr %2, i64 20
  %38 = getelementptr inbounds i8, ptr %2, i64 16
  %39 = getelementptr inbounds i8, ptr %2, i64 48
  %40 = getelementptr inbounds i8, ptr %2, i64 44
  %41 = getelementptr inbounds i8, ptr %2, i64 40
  %42 = getelementptr inbounds i8, ptr %2, i64 36
  %43 = getelementptr inbounds i8, ptr %2, i64 32
  %44 = getelementptr inbounds i8, ptr %2, i64 12
  %45 = getelementptr inbounds i8, ptr %2, i64 8
  %46 = getelementptr inbounds i8, ptr %2, i64 4
  br label %47

47:                                               ; preds = %.lr.ph, %302
  %storemerge141 = phi i32 [ 1, %.lr.ph ], [ %304, %302 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #7
  %48 = sext i32 %storemerge141 to i64
  %49 = getelementptr inbounds ptr, ptr %1, i64 %48
  %50 = load ptr, ptr %49, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef %50, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %51 unwind label %59

51:                                               ; preds = %47
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #7
  %52 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str)
  br i1 %52, label %55, label %53

53:                                               ; preds = %51
  %54 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.1)
  br i1 %54, label %55, label %68

55:                                               ; preds = %53, %51
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %7, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %56 unwind label %63

56:                                               ; preds = %55
  %57 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef null, i32 noundef 10)
          to label %58 unwind label %65

58:                                               ; preds = %56
  store i32 %57, ptr %2, align 8, !tbaa !11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %302

59:                                               ; preds = %47
  %60 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #7
  br label %307

61:                                               ; preds = %251
  %62 = landingpad { ptr, i32 }
          cleanup
  br label %306

63:                                               ; preds = %55
  %64 = landingpad { ptr, i32 }
          cleanup
  br label %67

65:                                               ; preds = %56
  %66 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  br label %67

67:                                               ; preds = %65, %63
  %.pn132 = phi { ptr, i32 } [ %66, %65 ], [ %64, %63 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  br label %306

68:                                               ; preds = %53
  %69 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.2)
  br i1 %69, label %72, label %70

70:                                               ; preds = %68
  %71 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.3)
  br i1 %71, label %72, label %81

72:                                               ; preds = %70, %68
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %8, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %73 unwind label %76

73:                                               ; preds = %72
  %74 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef null, i32 noundef 10)
          to label %75 unwind label %78

75:                                               ; preds = %73
  store i32 %74, ptr %46, align 4, !tbaa !18
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  br label %302

76:                                               ; preds = %72
  %77 = landingpad { ptr, i32 }
          cleanup
  br label %80

78:                                               ; preds = %73
  %79 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #7
  br label %80

80:                                               ; preds = %78, %76
  %.pn130 = phi { ptr, i32 } [ %79, %78 ], [ %77, %76 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #7
  br label %306

81:                                               ; preds = %70
  %82 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.4)
  br i1 %82, label %85, label %83

83:                                               ; preds = %81
  %84 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.5)
  br i1 %84, label %85, label %90

85:                                               ; preds = %83, %81
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %86 unwind label %88

86:                                               ; preds = %85
  %87 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  br label %302

88:                                               ; preds = %85
  %89 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  br label %306

90:                                               ; preds = %83
  %91 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.6)
  br i1 %91, label %94, label %92

92:                                               ; preds = %90
  %93 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.7)
  br i1 %93, label %94, label %103

94:                                               ; preds = %92, %90
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %10, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %95 unwind label %98

95:                                               ; preds = %94
  %96 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef null, i32 noundef 10)
          to label %97 unwind label %100

97:                                               ; preds = %95
  store i32 %96, ptr %45, align 8, !tbaa !19
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  br label %302

98:                                               ; preds = %94
  %99 = landingpad { ptr, i32 }
          cleanup
  br label %102

100:                                              ; preds = %95
  %101 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #7
  br label %102

102:                                              ; preds = %100, %98
  %.pn128 = phi { ptr, i32 } [ %101, %100 ], [ %99, %98 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #7
  br label %306

103:                                              ; preds = %92
  %104 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.8)
  br i1 %104, label %107, label %105

105:                                              ; preds = %103
  %106 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.9)
  br i1 %106, label %107, label %116

107:                                              ; preds = %105, %103
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %108 unwind label %111

108:                                              ; preds = %107
  %109 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef null, i32 noundef 10)
          to label %110 unwind label %113

110:                                              ; preds = %108
  store i32 %109, ptr %44, align 4, !tbaa !20
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %302

111:                                              ; preds = %107
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %115

113:                                              ; preds = %108
  %114 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #7
  br label %115

115:                                              ; preds = %113, %111
  %.pn126 = phi { ptr, i32 } [ %114, %113 ], [ %112, %111 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #7
  br label %306

116:                                              ; preds = %105
  %117 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.10)
  br i1 %117, label %118, label %127

118:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %12, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %119 unwind label %122

119:                                              ; preds = %118
  %120 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef null, i32 noundef 10)
          to label %121 unwind label %124

121:                                              ; preds = %119
  store i32 %120, ptr %43, align 8, !tbaa !21
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  br label %302

122:                                              ; preds = %118
  %123 = landingpad { ptr, i32 }
          cleanup
  br label %126

124:                                              ; preds = %119
  %125 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  br label %126

126:                                              ; preds = %124, %122
  %.pn124 = phi { ptr, i32 } [ %125, %124 ], [ %123, %122 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  br label %306

127:                                              ; preds = %116
  %128 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.11)
  br i1 %128, label %129, label %138

129:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %130 unwind label %133

130:                                              ; preds = %129
  %131 = invoke noundef float @_ZNSt7__cxx114stofERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef null)
          to label %132 unwind label %135

132:                                              ; preds = %130
  store float %131, ptr %42, align 4, !tbaa !22
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  br label %302

133:                                              ; preds = %129
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %137

135:                                              ; preds = %130
  %136 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %137

137:                                              ; preds = %135, %133
  %.pn122 = phi { ptr, i32 } [ %136, %135 ], [ %134, %133 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  br label %306

138:                                              ; preds = %127
  %139 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.12)
  br i1 %139, label %140, label %149

140:                                              ; preds = %138
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %141 unwind label %144

141:                                              ; preds = %140
  %142 = invoke noundef float @_ZNSt7__cxx114stofERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef null)
          to label %143 unwind label %146

143:                                              ; preds = %141
  store float %142, ptr %41, align 8, !tbaa !23
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  br label %302

144:                                              ; preds = %140
  %145 = landingpad { ptr, i32 }
          cleanup
  br label %148

146:                                              ; preds = %141
  %147 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #7
  br label %148

148:                                              ; preds = %146, %144
  %.pn120 = phi { ptr, i32 } [ %147, %146 ], [ %145, %144 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #7
  br label %306

149:                                              ; preds = %138
  %150 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.13)
  br i1 %150, label %151, label %160

151:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %152 unwind label %155

152:                                              ; preds = %151
  %153 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef null, i32 noundef 10)
          to label %154 unwind label %157

154:                                              ; preds = %152
  store i32 %153, ptr %40, align 4, !tbaa !24
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %302

155:                                              ; preds = %151
  %156 = landingpad { ptr, i32 }
          cleanup
  br label %159

157:                                              ; preds = %152
  %158 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %159

159:                                              ; preds = %157, %155
  %.pn118 = phi { ptr, i32 } [ %158, %157 ], [ %156, %155 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %306

160:                                              ; preds = %149
  %161 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.14)
  br i1 %161, label %162, label %171

162:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %163 unwind label %166

163:                                              ; preds = %162
  %164 = invoke noundef float @_ZNSt7__cxx114stofERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPm(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef null)
          to label %165 unwind label %168

165:                                              ; preds = %163
  store float %164, ptr %39, align 8, !tbaa !25
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  br label %302

166:                                              ; preds = %162
  %167 = landingpad { ptr, i32 }
          cleanup
  br label %170

168:                                              ; preds = %163
  %169 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %170

170:                                              ; preds = %168, %166
  %.pn116 = phi { ptr, i32 } [ %169, %168 ], [ %167, %166 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  br label %306

171:                                              ; preds = %160
  %172 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.15)
  br i1 %172, label %175, label %173

173:                                              ; preds = %171
  %174 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.16)
  br i1 %174, label %175, label %184

175:                                              ; preds = %173, %171
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %176 unwind label %179

176:                                              ; preds = %175
  %177 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef null, i32 noundef 10)
          to label %178 unwind label %181

178:                                              ; preds = %176
  store i32 %177, ptr %38, align 8, !tbaa !26
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %302

179:                                              ; preds = %175
  %180 = landingpad { ptr, i32 }
          cleanup
  br label %183

181:                                              ; preds = %176
  %182 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %183

183:                                              ; preds = %181, %179
  %.pn114 = phi { ptr, i32 } [ %182, %181 ], [ %180, %179 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %306

184:                                              ; preds = %173
  %185 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.17)
  br i1 %185, label %188, label %186

186:                                              ; preds = %184
  %187 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.18)
  br i1 %187, label %188, label %197

188:                                              ; preds = %186, %184
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %189 unwind label %192

189:                                              ; preds = %188
  %190 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef null, i32 noundef 10)
          to label %191 unwind label %194

191:                                              ; preds = %189
  store i32 %190, ptr %37, align 4, !tbaa !27
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  br label %302

192:                                              ; preds = %188
  %193 = landingpad { ptr, i32 }
          cleanup
  br label %196

194:                                              ; preds = %189
  %195 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #7
  br label %196

196:                                              ; preds = %194, %192
  %.pn112 = phi { ptr, i32 } [ %195, %194 ], [ %193, %192 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #7
  br label %306

197:                                              ; preds = %186
  %198 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.19)
  br i1 %198, label %203, label %199

199:                                              ; preds = %197
  %200 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.20)
  br i1 %200, label %203, label %201

201:                                              ; preds = %199
  %202 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.21)
  br i1 %202, label %203, label %212

203:                                              ; preds = %201, %199, %197
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %204 unwind label %207

204:                                              ; preds = %203
  %205 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef null, i32 noundef 10)
          to label %206 unwind label %209

206:                                              ; preds = %204
  store i32 %205, ptr %36, align 8, !tbaa !28
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %302

207:                                              ; preds = %203
  %208 = landingpad { ptr, i32 }
          cleanup
  br label %211

209:                                              ; preds = %204
  %210 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %211

211:                                              ; preds = %209, %207
  %.pn110 = phi { ptr, i32 } [ %210, %209 ], [ %208, %207 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %306

212:                                              ; preds = %201
  %213 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.22)
  br i1 %213, label %214, label %215

214:                                              ; preds = %212
  store i8 1, ptr %35, align 4, !tbaa !29
  br label %302

215:                                              ; preds = %212
  %216 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.23)
  br i1 %216, label %219, label %217

217:                                              ; preds = %215
  %218 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.24)
  br i1 %218, label %219, label %224

219:                                              ; preds = %217, %215
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %220 unwind label %222

220:                                              ; preds = %219
  %221 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  br label %302

222:                                              ; preds = %219
  %223 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  br label %306

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

226:                                              ; preds = %224
  %227 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.26)
  br i1 %227, label %228, label %229

228:                                              ; preds = %226, %224
  store i8 1, ptr %32, align 8, !tbaa !30
  br label %302

229:                                              ; preds = %226
  %230 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.27)
  br i1 %230, label %233, label %231

231:                                              ; preds = %229
  %232 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.28)
  br i1 %232, label %233, label %242

233:                                              ; preds = %231, %229
  store i8 1, ptr %32, align 8, !tbaa !30
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %234 unwind label %237

234:                                              ; preds = %233
  %235 = invoke noundef i32 @_ZNSt7__cxx114stoiERKNS_12basic_stringIcSt11char_traitsIcESaIcEEEPmi(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef null, i32 noundef 10)
          to label %236 unwind label %239

236:                                              ; preds = %234
  store i32 %235, ptr %33, align 4, !tbaa !31
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br label %302

237:                                              ; preds = %233
  %238 = landingpad { ptr, i32 }
          cleanup
  br label %241

239:                                              ; preds = %234
  %240 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %241

241:                                              ; preds = %239, %237
  %.pn108 = phi { ptr, i32 } [ %240, %239 ], [ %238, %237 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br label %306

242:                                              ; preds = %231
  %243 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.29)
  br i1 %243, label %246, label %244

244:                                              ; preds = %242
  %245 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.30)
  br i1 %245, label %246, label %247

246:                                              ; preds = %244, %242
  call void @_Z15gpt_print_usageiPPcRK10gpt_params(i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(160) %2)
  call void @exit(i32 noundef 0) #8
  unreachable

247:                                              ; preds = %244
  %248 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.31)
  br i1 %248, label %251, label %249

249:                                              ; preds = %247
  %250 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.32)
  br i1 %250, label %251, label %282

251:                                              ; preds = %249, %247
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %252 unwind label %61

252:                                              ; preds = %251
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %23) #7
  %253 = load i32, ptr %4, align 4, !tbaa !5
  %254 = sext i32 %253 to i64
  %255 = getelementptr inbounds ptr, ptr %1, i64 %254
  %256 = load ptr, ptr %255, align 8, !tbaa !9
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1EPKcSt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %23, ptr noundef %256, i32 noundef 8)
          to label %257 unwind label %264

257:                                              ; preds = %252
  %258 = load ptr, ptr %23, align 8, !tbaa !32
  %259 = getelementptr i8, ptr %258, i64 -24
  %260 = load i64, ptr %259, align 8
  %261 = getelementptr inbounds i8, ptr %23, i64 %260
  %262 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %261)
          to label %263 unwind label %266

263:                                              ; preds = %257
  br i1 %262, label %295, label %268

264:                                              ; preds = %252
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %281

266:                                              ; preds = %270, %268, %257
  %267 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %23) #7
  br label %281

268:                                              ; preds = %263
  call void @_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEC2ERSi(ptr noundef nonnull align 8 dereferenceable(12) %24, ptr noundef nonnull align 8 dereferenceable(16) %23) #7
  call void @_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(12) %25) #7
  %269 = invoke ptr @_ZSt13back_inserterINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEESt20back_insert_iteratorIT_ERS7_(ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %270 unwind label %266

270:                                              ; preds = %268
  %271 = load ptr, ptr %24, align 8
  %272 = load i32, ptr %30, align 8
  %273 = load ptr, ptr %25, align 8
  %274 = load i32, ptr %31, align 8
  %275 = invoke ptr @_ZSt4copyISt19istreambuf_iteratorIcSt11char_traitsIcEESt20back_insert_iteratorINSt7__cxx1112basic_stringIcS2_SaIcEEEEET0_T_SB_SA_(ptr %271, i32 %272, ptr %273, i32 %274, ptr %269)
          to label %276 unwind label %266

276:                                              ; preds = %270
  %277 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4backEv(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  %278 = load i8, ptr %277, align 1, !tbaa !34
  %279 = icmp eq i8 %278, 10
  br i1 %279, label %280, label %.thread

280:                                              ; preds = %276
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE8pop_backEv(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %.thread

.thread:                                          ; preds = %276, %280
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %23) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %23) #7
  br label %302

281:                                              ; preds = %266, %264
  %.pn = phi { ptr, i32 } [ %267, %266 ], [ %265, %264 ]
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %23) #7
  br label %306

282:                                              ; preds = %249
  %283 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.34)
  br i1 %283, label %286, label %284

284:                                              ; preds = %282
  %285 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.35)
  br i1 %285, label %286, label %291

286:                                              ; preds = %284, %282
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  invoke void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 4 dereferenceable(4) %4, i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull align 8 dereferenceable(160) %2)
          to label %287 unwind label %289

287:                                              ; preds = %286
  %288 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %302

289:                                              ; preds = %286
  %290 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %306

291:                                              ; preds = %284
  %292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %293 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  %294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %292, ptr noundef nonnull @.str.36, ptr noundef %293) #9
  call void @_Z15gpt_print_usageiPPcRK10gpt_params(i32 noundef %0, ptr noundef nonnull %1, ptr noundef nonnull align 8 dereferenceable(160) %2)
  call void @exit(i32 noundef 0) #8
  unreachable

295:                                              ; preds = %263
  %296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %297 = load i32, ptr %4, align 4, !tbaa !5
  %298 = sext i32 %297 to i64
  %299 = getelementptr inbounds ptr, ptr %1, i64 %298
  %300 = load ptr, ptr %299, align 8, !tbaa !9
  %301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %296, ptr noundef nonnull @.str.33, ptr noundef %300) #9
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %23) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %23) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  br label %.loopexit

302:                                              ; preds = %.thread, %75, %97, %121, %143, %165, %191, %214, %228, %287, %236, %220, %206, %178, %154, %132, %110, %86, %58
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  %303 = load i32, ptr %4, align 4, !tbaa !5
  %304 = add nsw i32 %303, 1
  store i32 %304, ptr %4, align 4, !tbaa !5
  %305 = icmp slt i32 %304, %0
  br i1 %305, label %47, label %.loopexit, !llvm.loop !35

306:                                              ; preds = %289, %281, %241, %222, %211, %196, %183, %170, %159, %148, %137, %126, %115, %102, %88, %80, %67, %61
  %.pn132.pn = phi { ptr, i32 } [ %.pn132, %67 ], [ %.pn130, %80 ], [ %89, %88 ], [ %.pn128, %102 ], [ %.pn126, %115 ], [ %.pn124, %126 ], [ %.pn122, %137 ], [ %.pn120, %148 ], [ %.pn118, %159 ], [ %.pn116, %170 ], [ %.pn114, %183 ], [ %.pn112, %196 ], [ %.pn110, %211 ], [ %223, %222 ], [ %.pn108, %241 ], [ %.pn, %281 ], [ %62, %61 ], [ %290, %289 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #7
  br label %307

307:                                              ; preds = %306, %59
  %.pn132.pn.pn = phi { ptr, i32 } [ %.pn132.pn, %306 ], [ %60, %59 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  resume { ptr, i32 } %.pn132.pn.pn

.loopexit:                                        ; preds = %302, %3, %295
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #7
  ret i1 true
}

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

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL12get_next_argRiiPPcRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt_params(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(160)) local_unnamed_addr #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 #1 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_Z15gpt_print_usageiPPcRK10gpt_params(i32 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(160)) local_unnamed_addr #1

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

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

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #2 align 2

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt4copyISt19istreambuf_iteratorIcSt11char_traitsIcEESt20back_insert_iteratorINSt7__cxx1112basic_stringIcS2_SaIcEEEEET0_T_SB_SA_(ptr, i32, ptr, i32, ptr) local_unnamed_addr #4

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt19istreambuf_iteratorIcSt11char_traitsIcEEC2ERSi(ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !6, i64 0}
!12 = !{!"_ZTS10gpt_params", !6, i64 0, !6, i64 4, !6, i64 8, !6, i64 12, !6, i64 16, !6, i64 20, !6, i64 24, !13, i64 28, !6, i64 32, !14, i64 36, !14, i64 40, !6, i64 44, !14, i64 48, !15, i64 56, !15, i64 88, !15, i64 120, !13, i64 152, !6, i64 156}
!13 = !{!"bool", !7, i64 0}
!14 = !{!"float", !7, i64 0}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !17, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !10, i64 0}
!17 = !{!"long", !7, i64 0}
!18 = !{!12, !6, i64 4}
!19 = !{!12, !6, i64 8}
!20 = !{!12, !6, i64 12}
!21 = !{!12, !6, i64 32}
!22 = !{!12, !14, i64 36}
!23 = !{!12, !14, i64 40}
!24 = !{!12, !6, i64 44}
!25 = !{!12, !14, i64 48}
!26 = !{!12, !6, i64 16}
!27 = !{!12, !6, i64 20}
!28 = !{!12, !6, i64 24}
!29 = !{!12, !13, i64 28}
!30 = !{!12, !13, i64 152}
!31 = !{!12, !6, i64 156}
!32 = !{!33, !33, i64 0}
!33 = !{!"vtable pointer", !8, i64 0}
!34 = !{!7, !7, i64 0}
!35 = distinct !{!35, !36}
!36 = !{!"llvm.loop.mustprogress"}


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