; LLVM IR from ggml-org/ggml :: examples/gpt-j (main)

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

%"class.std::basic_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::__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::vector.12" = type { %"struct.std::_Vector_base.13" }
%"struct.std::_Vector_base.13" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.0" = type { i8 }
%struct.ggml_init_params = type { i64, ptr, i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%struct.gptj_model = type { %struct.gptj_hparams, ptr, ptr, ptr, ptr, ptr, %"class.std::vector.4", ptr, ptr, ptr, %"class.std::map" }
%struct.gptj_hparams = type { i32, i32, i32, i32, i32, i32, i32, float }
%"class.std::vector.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = type { %"struct.std::_Vector_base<gptj_layer, std::allocator<gptj_layer>>::_Vector_impl" }
%"struct.std::_Vector_base<gptj_layer, std::allocator<gptj_layer>>::_Vector_impl" = type { %"struct.std::_Vector_base<gptj_layer, std::allocator<gptj_layer>>::_Vector_impl_data" }
%"struct.std::_Vector_base<gptj_layer, std::allocator<gptj_layer>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, ggml_tensor *>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, ggml_tensor *>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, ggml_tensor *>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, ggml_tensor *>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%struct.gpt_vocab = type { %"class.std::map.14", %"class.std::map.19", %"class.std::vector" }
%"class.std::map.14" = type { %"class.std::_Rb_tree.15" }
%"class.std::_Rb_tree.15" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, int>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, int>>, std::less<std::__cxx11::basic_string<char>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::map.19" = type { %"class.std::_Rb_tree.20" }
%"class.std::_Rb_tree.20" = type { %"struct.std::_Rb_tree<int, std::pair<const int, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const int, std::__cxx11::basic_string<char>>>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, std::__cxx11::basic_string<char>>, std::_Select1st<std::pair<const int, std::__cxx11::basic_string<char>>>, std::less<int>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.gptj_layer = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%struct.ggml_tensor = type { i32, ptr, [4 x i64], [4 x i64], i32, [16 x i32], i32, [10 x ptr], ptr, i64, ptr, [64 x i8], ptr, [8 x i8] }

@.str = external hidden unnamed_addr constant [47 x i8], align 1
@__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab = external hidden unnamed_addr constant [16 x i8], align 1
@stderr = external global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [5 x i8], align 1
@__const._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab.ne = external hidden unnamed_addr constant [2 x i32], align 4
@.str.33 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [2 x i8], align 1
@stdout = external global ptr, align 8
@.str.38 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [46 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 @_Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(168) %1, ptr noundef nonnull align 8 dereferenceable(120) %2) #2 personality ptr @__gxx_personality_v0 {
  %4 = alloca i1, align 1
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca %"class.std::basic_ifstream", align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::vector.12", align 8
  %18 = alloca %"class.std::allocator.0", align 1
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca i64, align 8
  %24 = alloca ptr, align 8
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca %struct.ggml_init_params, align 8
  %30 = alloca %struct.ggml_init_params, align 8
  %31 = alloca ptr, align 8
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator.0", align 1
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::allocator.0", align 1
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::allocator.0", align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator.0", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator.0", align 1
  %45 = alloca i32, align 4
  %46 = alloca ptr, align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca ptr, align 8
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i64, align 8
  %84 = alloca i32, align 4
  %85 = alloca i64, align 8
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca [2 x i32], align 4
  %91 = alloca i32, align 4
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::allocator.0", align 1
  %94 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %95 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %96 = alloca ptr, align 8
  %97 = alloca i64, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  %98 = load ptr, ptr %5, align 8, !tbaa !5
  %99 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %98) #8
  %100 = call i32 (ptr, ...) @printf(ptr noundef @.str, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %99)
  call void @llvm.lifetime.start.p0(i64 520, ptr %8) #8
  %101 = load ptr, ptr %5, align 8, !tbaa !5
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %8, ptr noundef nonnull align 8 dereferenceable(32) %101, i32 noundef 4)
  %102 = load ptr, ptr %8, align 8, !tbaa !9
  %103 = getelementptr i8, ptr %102, i64 -24
  %104 = load i64, ptr %103, align 8
  %105 = getelementptr inbounds i8, ptr %8, i64 %104
  %106 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %105)
          to label %107 unwind label %113

107:                                              ; preds = %3
  br i1 %106, label %108, label %117

108:                                              ; preds = %107
  %109 = load ptr, ptr @stderr, align 8, !tbaa !5
  %110 = load ptr, ptr %5, align 8, !tbaa !5
  %111 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %110) #8
  %112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %109, ptr noundef @.str.1, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %111) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1346

113:                                              ; preds = %3
  %114 = landingpad { ptr, i32 }
          cleanup
  %115 = extractvalue { ptr, i32 } %114, 0
  store ptr %115, ptr %9, align 8
  %116 = extractvalue { ptr, i32 } %114, 1
  store i32 %116, ptr %10, align 4
  br label %1348

117:                                              ; preds = %107
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #8
  %118 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %12, i64 noundef 4)
          to label %119 unwind label %127

119:                                              ; preds = %117
  %120 = load i32, ptr %12, align 4, !tbaa !11
  %121 = icmp ne i32 %120, 1734831468
  br i1 %121, label %122, label %131

122:                                              ; preds = %119
  %123 = load ptr, ptr @stderr, align 8, !tbaa !5
  %124 = load ptr, ptr %5, align 8, !tbaa !5
  %125 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %124) #8
  %126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %123, ptr noundef @.str.2, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %125) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %132

127:                                              ; preds = %117
  %128 = landingpad { ptr, i32 }
          cleanup
  %129 = extractvalue { ptr, i32 } %128, 0
  store ptr %129, ptr %9, align 8
  %130 = extractvalue { ptr, i32 } %128, 1
  store i32 %130, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  br label %1348

131:                                              ; preds = %119
  store i32 0, ptr %11, align 4
  br label %132

132:                                              ; preds = %131, %122
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  %133 = load i32, ptr %11, align 4
  switch i32 %133, label %1346 [
    i32 0, label %134
  ]

134:                                              ; preds = %132
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #8
  %135 = load ptr, ptr %6, align 8, !tbaa !5
  %136 = getelementptr inbounds %struct.gptj_model, ptr %135, i32 0, i32 0
  store ptr %136, ptr %13, align 8, !tbaa !5
  %137 = load ptr, ptr %13, align 8, !tbaa !5
  %138 = getelementptr inbounds %struct.gptj_hparams, ptr %137, i32 0, i32 0
  %139 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %138, i64 noundef 4)
          to label %140 unwind label %229

140:                                              ; preds = %134
  %141 = load ptr, ptr %13, align 8, !tbaa !5
  %142 = getelementptr inbounds %struct.gptj_hparams, ptr %141, i32 0, i32 1
  %143 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %142, i64 noundef 4)
          to label %144 unwind label %229

144:                                              ; preds = %140
  %145 = load ptr, ptr %13, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.gptj_hparams, ptr %145, i32 0, i32 2
  %147 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %146, i64 noundef 4)
          to label %148 unwind label %229

148:                                              ; preds = %144
  %149 = load ptr, ptr %13, align 8, !tbaa !5
  %150 = getelementptr inbounds %struct.gptj_hparams, ptr %149, i32 0, i32 3
  %151 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %150, i64 noundef 4)
          to label %152 unwind label %229

152:                                              ; preds = %148
  %153 = load ptr, ptr %13, align 8, !tbaa !5
  %154 = getelementptr inbounds %struct.gptj_hparams, ptr %153, i32 0, i32 4
  %155 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %154, i64 noundef 4)
          to label %156 unwind label %229

156:                                              ; preds = %152
  %157 = load ptr, ptr %13, align 8, !tbaa !5
  %158 = getelementptr inbounds %struct.gptj_hparams, ptr %157, i32 0, i32 5
  %159 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %158, i64 noundef 4)
          to label %160 unwind label %229

160:                                              ; preds = %156
  %161 = load ptr, ptr %13, align 8, !tbaa !5
  %162 = getelementptr inbounds %struct.gptj_hparams, ptr %161, i32 0, i32 6
  %163 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %162, i64 noundef 4)
          to label %164 unwind label %229

164:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #8
  %165 = load ptr, ptr %13, align 8, !tbaa !5
  %166 = getelementptr inbounds %struct.gptj_hparams, ptr %165, i32 0, i32 6
  %167 = load i32, ptr %166, align 4, !tbaa !13
  %168 = sdiv i32 %167, 1000
  store i32 %168, ptr %14, align 4, !tbaa !11
  %169 = load ptr, ptr %13, align 8, !tbaa !5
  %170 = getelementptr inbounds %struct.gptj_hparams, ptr %169, i32 0, i32 0
  %171 = load i32, ptr %170, align 4, !tbaa !16
  %172 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.3, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %171)
          to label %173 unwind label %233

173:                                              ; preds = %164
  %174 = load ptr, ptr %13, align 8, !tbaa !5
  %175 = getelementptr inbounds %struct.gptj_hparams, ptr %174, i32 0, i32 1
  %176 = load i32, ptr %175, align 4, !tbaa !17
  %177 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %176)
          to label %178 unwind label %233

178:                                              ; preds = %173
  %179 = load ptr, ptr %13, align 8, !tbaa !5
  %180 = getelementptr inbounds %struct.gptj_hparams, ptr %179, i32 0, i32 2
  %181 = load i32, ptr %180, align 4, !tbaa !18
  %182 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.5, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %181)
          to label %183 unwind label %233

183:                                              ; preds = %178
  %184 = load ptr, ptr %13, align 8, !tbaa !5
  %185 = getelementptr inbounds %struct.gptj_hparams, ptr %184, i32 0, i32 3
  %186 = load i32, ptr %185, align 4, !tbaa !19
  %187 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.6, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %186)
          to label %188 unwind label %233

188:                                              ; preds = %183
  %189 = load ptr, ptr %13, align 8, !tbaa !5
  %190 = getelementptr inbounds %struct.gptj_hparams, ptr %189, i32 0, i32 4
  %191 = load i32, ptr %190, align 4, !tbaa !20
  %192 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.7, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %191)
          to label %193 unwind label %233

193:                                              ; preds = %188
  %194 = load ptr, ptr %13, align 8, !tbaa !5
  %195 = getelementptr inbounds %struct.gptj_hparams, ptr %194, i32 0, i32 5
  %196 = load i32, ptr %195, align 4, !tbaa !21
  %197 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.8, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %196)
          to label %198 unwind label %233

198:                                              ; preds = %193
  %199 = load ptr, ptr %13, align 8, !tbaa !5
  %200 = getelementptr inbounds %struct.gptj_hparams, ptr %199, i32 0, i32 6
  %201 = load i32, ptr %200, align 4, !tbaa !13
  %202 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.9, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %201)
          to label %203 unwind label %233

203:                                              ; preds = %198
  %204 = load i32, ptr %14, align 4, !tbaa !11
  %205 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.10, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %204)
          to label %206 unwind label %233

206:                                              ; preds = %203
  %207 = load ptr, ptr %13, align 8, !tbaa !5
  %208 = getelementptr inbounds %struct.gptj_hparams, ptr %207, i32 0, i32 6
  %209 = load i32, ptr %208, align 4, !tbaa !13
  %210 = srem i32 %209, 1000
  store i32 %210, ptr %208, align 4, !tbaa !13
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #8
  store i32 0, ptr %15, align 4, !tbaa !11
  %211 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %15, i64 noundef 4)
          to label %212 unwind label %238

212:                                              ; preds = %206
  %213 = load i32, ptr %15, align 4, !tbaa !11
  %214 = load ptr, ptr %6, align 8, !tbaa !5
  %215 = getelementptr inbounds %struct.gptj_model, ptr %214, i32 0, i32 0
  %216 = getelementptr inbounds %struct.gptj_hparams, ptr %215, i32 0, i32 0
  %217 = load i32, ptr %216, align 8, !tbaa !22
  %218 = icmp ne i32 %213, %217
  br i1 %218, label %219, label %242

219:                                              ; preds = %212
  %220 = load ptr, ptr @stderr, align 8, !tbaa !5
  %221 = load ptr, ptr %5, align 8, !tbaa !5
  %222 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %221) #8
  %223 = load i32, ptr %15, align 4, !tbaa !11
  %224 = load ptr, ptr %6, align 8, !tbaa !5
  %225 = getelementptr inbounds %struct.gptj_model, ptr %224, i32 0, i32 0
  %226 = getelementptr inbounds %struct.gptj_hparams, ptr %225, i32 0, i32 0
  %227 = load i32, ptr %226, align 8, !tbaa !22
  %228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %220, ptr noundef @.str.11, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %222, i32 noundef %223, i32 noundef %227) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %288

229:                                              ; preds = %160, %156, %152, %148, %144, %140, %134
  %230 = landingpad { ptr, i32 }
          cleanup
  %231 = extractvalue { ptr, i32 } %230, 0
  store ptr %231, ptr %9, align 8
  %232 = extractvalue { ptr, i32 } %230, 1
  store i32 %232, ptr %10, align 4
  br label %237

233:                                              ; preds = %203, %198, %193, %188, %183, %178, %173, %164
  %234 = landingpad { ptr, i32 }
          cleanup
  %235 = extractvalue { ptr, i32 } %234, 0
  store ptr %235, ptr %9, align 8
  %236 = extractvalue { ptr, i32 } %234, 1
  store i32 %236, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  br label %237

237:                                              ; preds = %233, %229
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  br label %1348

238:                                              ; preds = %206
  %239 = landingpad { ptr, i32 }
          cleanup
  %240 = extractvalue { ptr, i32 } %239, 0
  store ptr %240, ptr %9, align 8
  %241 = extractvalue { ptr, i32 } %239, 1
  store i32 %241, ptr %10, align 4
  br label %309

242:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  invoke void @_ZNSt6vectorIcSaIcEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef 128, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %243 unwind label %249

243:                                              ; preds = %242
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #8
  store i32 0, ptr %19, align 4, !tbaa !11
  br label %244

244:                                              ; preds = %280, %243
  %245 = load i32, ptr %19, align 4, !tbaa !11
  %246 = load i32, ptr %15, align 4, !tbaa !11
  %247 = icmp slt i32 %245, %246
  br i1 %247, label %253, label %248

248:                                              ; preds = %244
  store i32 2, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #8
  br label %287

249:                                              ; preds = %242
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %9, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #8
  br label %308

253:                                              ; preds = %244
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  %254 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %20, i64 noundef 4)
          to label %255 unwind label %283

255:                                              ; preds = %253
  %256 = load i32, ptr %20, align 4, !tbaa !11
  %257 = zext i32 %256 to i64
  invoke void @_ZNSt6vectorIcSaIcEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %257)
          to label %258 unwind label %283

258:                                              ; preds = %255
  %259 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %260 = load i32, ptr %20, align 4, !tbaa !11
  %261 = zext i32 %260 to i64
  %262 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %259, i64 noundef %261)
          to label %263 unwind label %283

263:                                              ; preds = %258
  %264 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %265 = load i32, ptr %20, align 4, !tbaa !11
  %266 = zext i32 %265 to i64
  %267 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef %264, i64 noundef %266)
          to label %268 unwind label %283

268:                                              ; preds = %263
  %269 = load i32, ptr %19, align 4, !tbaa !11
  %270 = load ptr, ptr %7, align 8, !tbaa !5
  %271 = getelementptr inbounds %struct.gpt_vocab, ptr %270, i32 0, i32 0
  %272 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %271, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %273 unwind label %283

273:                                              ; preds = %268
  store i32 %269, ptr %272, align 4, !tbaa !11
  %274 = load ptr, ptr %7, align 8, !tbaa !5
  %275 = getelementptr inbounds %struct.gpt_vocab, ptr %274, i32 0, i32 1
  %276 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %275, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %277 unwind label %283

277:                                              ; preds = %273
  %278 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %276, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %279 unwind label %283

279:                                              ; preds = %277
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  br label %280

280:                                              ; preds = %279
  %281 = load i32, ptr %19, align 4, !tbaa !11
  %282 = add nsw i32 %281, 1
  store i32 %282, ptr %19, align 4, !tbaa !11
  br label %244, !llvm.loop !37

283:                                              ; preds = %277, %273, %268, %263, %258, %255, %253
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %9, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #8
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  br label %308

287:                                              ; preds = %248
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #8
  store i32 0, ptr %11, align 4
  br label %288

288:                                              ; preds = %287, %219
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #8
  %289 = load i32, ptr %11, align 4
  switch i32 %289, label %1346 [
    i32 0, label %290
  ]

290:                                              ; preds = %288
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #8
  %291 = load ptr, ptr %6, align 8, !tbaa !5
  %292 = getelementptr inbounds %struct.gptj_model, ptr %291, i32 0, i32 0
  %293 = getelementptr inbounds %struct.gptj_hparams, ptr %292, i32 0, i32 6
  %294 = load i32, ptr %293, align 8, !tbaa !39
  %295 = invoke i32 @ggml_ftype_to_ggml_type(i32 noundef %294)
          to label %296 unwind label %310

296:                                              ; preds = %290
  store i32 %295, ptr %21, align 4, !tbaa !40
  %297 = load i32, ptr %21, align 4, !tbaa !40
  %298 = icmp eq i32 %297, 39
  br i1 %298, label %299, label %314

299:                                              ; preds = %296
  %300 = load ptr, ptr @stderr, align 8, !tbaa !5
  %301 = load ptr, ptr %5, align 8, !tbaa !5
  %302 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %301) #8
  %303 = load ptr, ptr %6, align 8, !tbaa !5
  %304 = getelementptr inbounds %struct.gptj_model, ptr %303, i32 0, i32 0
  %305 = getelementptr inbounds %struct.gptj_hparams, ptr %304, i32 0, i32 6
  %306 = load i32, ptr %305, align 8, !tbaa !39
  %307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %300, ptr noundef @.str.12, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %302, i32 noundef %306) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1344

308:                                              ; preds = %283, %249
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #8
  br label %309

309:                                              ; preds = %308, %238
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #8
  br label %1348

310:                                              ; preds = %290
  %311 = landingpad { ptr, i32 }
          cleanup
  %312 = extractvalue { ptr, i32 } %311, 0
  store ptr %312, ptr %9, align 8
  %313 = extractvalue { ptr, i32 } %311, 1
  store i32 %313, ptr %10, align 4
  br label %1345

314:                                              ; preds = %296
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  %315 = load ptr, ptr %6, align 8, !tbaa !5
  %316 = getelementptr inbounds %struct.gptj_model, ptr %315, i32 0, i32 9
  store ptr %316, ptr %22, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #8
  store i64 0, ptr %23, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %317 = load ptr, ptr %6, align 8, !tbaa !5
  %318 = getelementptr inbounds %struct.gptj_model, ptr %317, i32 0, i32 0
  store ptr %318, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #8
  %319 = load ptr, ptr %24, align 8, !tbaa !5
  %320 = getelementptr inbounds %struct.gptj_hparams, ptr %319, i32 0, i32 2
  %321 = load i32, ptr %320, align 4, !tbaa !18
  store i32 %321, ptr %25, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #8
  %322 = load ptr, ptr %24, align 8, !tbaa !5
  %323 = getelementptr inbounds %struct.gptj_hparams, ptr %322, i32 0, i32 4
  %324 = load i32, ptr %323, align 4, !tbaa !20
  store i32 %324, ptr %26, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #8
  %325 = load ptr, ptr %24, align 8, !tbaa !5
  %326 = getelementptr inbounds %struct.gptj_hparams, ptr %325, i32 0, i32 1
  %327 = load i32, ptr %326, align 4, !tbaa !17
  store i32 %327, ptr %27, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #8
  %328 = load ptr, ptr %24, align 8, !tbaa !5
  %329 = getelementptr inbounds %struct.gptj_hparams, ptr %328, i32 0, i32 0
  %330 = load i32, ptr %329, align 4, !tbaa !16
  store i32 %330, ptr %28, align 4, !tbaa !11
  %331 = load i32, ptr %25, align 4, !tbaa !11
  %332 = sext i32 %331 to i64
  %333 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %332)
          to label %334 unwind label %527

334:                                              ; preds = %314
  %335 = load i64, ptr %23, align 8, !tbaa !42
  %336 = add i64 %335, %333
  store i64 %336, ptr %23, align 8, !tbaa !42
  %337 = load i32, ptr %25, align 4, !tbaa !11
  %338 = sext i32 %337 to i64
  %339 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %338)
          to label %340 unwind label %527

340:                                              ; preds = %334
  %341 = load i64, ptr %23, align 8, !tbaa !42
  %342 = add i64 %341, %339
  store i64 %342, ptr %23, align 8, !tbaa !42
  %343 = load i32, ptr %21, align 4, !tbaa !40
  %344 = load i32, ptr %25, align 4, !tbaa !11
  %345 = load i32, ptr %28, align 4, !tbaa !11
  %346 = mul nsw i32 %344, %345
  %347 = sext i32 %346 to i64
  %348 = invoke i64 @ggml_row_size(i32 noundef %343, i64 noundef %347)
          to label %349 unwind label %527

349:                                              ; preds = %340
  %350 = load i64, ptr %23, align 8, !tbaa !42
  %351 = add i64 %350, %348
  store i64 %351, ptr %23, align 8, !tbaa !42
  %352 = load i32, ptr %21, align 4, !tbaa !40
  %353 = load i32, ptr %25, align 4, !tbaa !11
  %354 = load i32, ptr %28, align 4, !tbaa !11
  %355 = mul nsw i32 %353, %354
  %356 = sext i32 %355 to i64
  %357 = invoke i64 @ggml_row_size(i32 noundef %352, i64 noundef %356)
          to label %358 unwind label %527

358:                                              ; preds = %349
  %359 = load i64, ptr %23, align 8, !tbaa !42
  %360 = add i64 %359, %357
  store i64 %360, ptr %23, align 8, !tbaa !42
  %361 = load i32, ptr %28, align 4, !tbaa !11
  %362 = sext i32 %361 to i64
  %363 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %362)
          to label %364 unwind label %527

364:                                              ; preds = %358
  %365 = load i64, ptr %23, align 8, !tbaa !42
  %366 = add i64 %365, %363
  store i64 %366, ptr %23, align 8, !tbaa !42
  %367 = load i32, ptr %26, align 4, !tbaa !11
  %368 = sext i32 %367 to i64
  %369 = load i32, ptr %25, align 4, !tbaa !11
  %370 = sext i32 %369 to i64
  %371 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %370)
          to label %372 unwind label %527

372:                                              ; preds = %364
  %373 = mul i64 %368, %371
  %374 = load i64, ptr %23, align 8, !tbaa !42
  %375 = add i64 %374, %373
  store i64 %375, ptr %23, align 8, !tbaa !42
  %376 = load i32, ptr %26, align 4, !tbaa !11
  %377 = sext i32 %376 to i64
  %378 = load i32, ptr %25, align 4, !tbaa !11
  %379 = sext i32 %378 to i64
  %380 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %379)
          to label %381 unwind label %527

381:                                              ; preds = %372
  %382 = mul i64 %377, %380
  %383 = load i64, ptr %23, align 8, !tbaa !42
  %384 = add i64 %383, %382
  store i64 %384, ptr %23, align 8, !tbaa !42
  %385 = load i32, ptr %26, align 4, !tbaa !11
  %386 = sext i32 %385 to i64
  %387 = load i32, ptr %21, align 4, !tbaa !40
  %388 = load i32, ptr %25, align 4, !tbaa !11
  %389 = load i32, ptr %25, align 4, !tbaa !11
  %390 = mul nsw i32 %388, %389
  %391 = sext i32 %390 to i64
  %392 = invoke i64 @ggml_row_size(i32 noundef %387, i64 noundef %391)
          to label %393 unwind label %527

393:                                              ; preds = %381
  %394 = mul i64 %386, %392
  %395 = load i64, ptr %23, align 8, !tbaa !42
  %396 = add i64 %395, %394
  store i64 %396, ptr %23, align 8, !tbaa !42
  %397 = load i32, ptr %26, align 4, !tbaa !11
  %398 = sext i32 %397 to i64
  %399 = load i32, ptr %21, align 4, !tbaa !40
  %400 = load i32, ptr %25, align 4, !tbaa !11
  %401 = load i32, ptr %25, align 4, !tbaa !11
  %402 = mul nsw i32 %400, %401
  %403 = sext i32 %402 to i64
  %404 = invoke i64 @ggml_row_size(i32 noundef %399, i64 noundef %403)
          to label %405 unwind label %527

405:                                              ; preds = %393
  %406 = mul i64 %398, %404
  %407 = load i64, ptr %23, align 8, !tbaa !42
  %408 = add i64 %407, %406
  store i64 %408, ptr %23, align 8, !tbaa !42
  %409 = load i32, ptr %26, align 4, !tbaa !11
  %410 = sext i32 %409 to i64
  %411 = load i32, ptr %21, align 4, !tbaa !40
  %412 = load i32, ptr %25, align 4, !tbaa !11
  %413 = load i32, ptr %25, align 4, !tbaa !11
  %414 = mul nsw i32 %412, %413
  %415 = sext i32 %414 to i64
  %416 = invoke i64 @ggml_row_size(i32 noundef %411, i64 noundef %415)
          to label %417 unwind label %527

417:                                              ; preds = %405
  %418 = mul i64 %410, %416
  %419 = load i64, ptr %23, align 8, !tbaa !42
  %420 = add i64 %419, %418
  store i64 %420, ptr %23, align 8, !tbaa !42
  %421 = load i32, ptr %26, align 4, !tbaa !11
  %422 = sext i32 %421 to i64
  %423 = load i32, ptr %21, align 4, !tbaa !40
  %424 = load i32, ptr %25, align 4, !tbaa !11
  %425 = load i32, ptr %25, align 4, !tbaa !11
  %426 = mul nsw i32 %424, %425
  %427 = sext i32 %426 to i64
  %428 = invoke i64 @ggml_row_size(i32 noundef %423, i64 noundef %427)
          to label %429 unwind label %527

429:                                              ; preds = %417
  %430 = mul i64 %422, %428
  %431 = load i64, ptr %23, align 8, !tbaa !42
  %432 = add i64 %431, %430
  store i64 %432, ptr %23, align 8, !tbaa !42
  %433 = load i32, ptr %26, align 4, !tbaa !11
  %434 = sext i32 %433 to i64
  %435 = load i32, ptr %21, align 4, !tbaa !40
  %436 = load i32, ptr %25, align 4, !tbaa !11
  %437 = mul nsw i32 4, %436
  %438 = load i32, ptr %25, align 4, !tbaa !11
  %439 = mul nsw i32 %437, %438
  %440 = sext i32 %439 to i64
  %441 = invoke i64 @ggml_row_size(i32 noundef %435, i64 noundef %440)
          to label %442 unwind label %527

442:                                              ; preds = %429
  %443 = mul i64 %434, %441
  %444 = load i64, ptr %23, align 8, !tbaa !42
  %445 = add i64 %444, %443
  store i64 %445, ptr %23, align 8, !tbaa !42
  %446 = load i32, ptr %26, align 4, !tbaa !11
  %447 = sext i32 %446 to i64
  %448 = load i32, ptr %25, align 4, !tbaa !11
  %449 = mul nsw i32 4, %448
  %450 = sext i32 %449 to i64
  %451 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %450)
          to label %452 unwind label %527

452:                                              ; preds = %442
  %453 = mul i64 %447, %451
  %454 = load i64, ptr %23, align 8, !tbaa !42
  %455 = add i64 %454, %453
  store i64 %455, ptr %23, align 8, !tbaa !42
  %456 = load i32, ptr %26, align 4, !tbaa !11
  %457 = sext i32 %456 to i64
  %458 = load i32, ptr %21, align 4, !tbaa !40
  %459 = load i32, ptr %25, align 4, !tbaa !11
  %460 = mul nsw i32 4, %459
  %461 = load i32, ptr %25, align 4, !tbaa !11
  %462 = mul nsw i32 %460, %461
  %463 = sext i32 %462 to i64
  %464 = invoke i64 @ggml_row_size(i32 noundef %458, i64 noundef %463)
          to label %465 unwind label %527

465:                                              ; preds = %452
  %466 = mul i64 %457, %464
  %467 = load i64, ptr %23, align 8, !tbaa !42
  %468 = add i64 %467, %466
  store i64 %468, ptr %23, align 8, !tbaa !42
  %469 = load i32, ptr %26, align 4, !tbaa !11
  %470 = sext i32 %469 to i64
  %471 = load i32, ptr %25, align 4, !tbaa !11
  %472 = sext i32 %471 to i64
  %473 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %472)
          to label %474 unwind label %527

474:                                              ; preds = %465
  %475 = mul i64 %470, %473
  %476 = load i64, ptr %23, align 8, !tbaa !42
  %477 = add i64 %476, %475
  store i64 %477, ptr %23, align 8, !tbaa !42
  %478 = load i32, ptr %27, align 4, !tbaa !11
  %479 = load i32, ptr %26, align 4, !tbaa !11
  %480 = mul nsw i32 %478, %479
  %481 = sext i32 %480 to i64
  %482 = load i32, ptr %25, align 4, !tbaa !11
  %483 = sext i32 %482 to i64
  %484 = invoke i64 @ggml_row_size(i32 noundef 1, i64 noundef %483)
          to label %485 unwind label %527

485:                                              ; preds = %474
  %486 = mul i64 %481, %484
  %487 = load i64, ptr %23, align 8, !tbaa !42
  %488 = add i64 %487, %486
  store i64 %488, ptr %23, align 8, !tbaa !42
  %489 = load i32, ptr %27, align 4, !tbaa !11
  %490 = load i32, ptr %26, align 4, !tbaa !11
  %491 = mul nsw i32 %489, %490
  %492 = sext i32 %491 to i64
  %493 = load i32, ptr %25, align 4, !tbaa !11
  %494 = sext i32 %493 to i64
  %495 = invoke i64 @ggml_row_size(i32 noundef 1, i64 noundef %494)
          to label %496 unwind label %527

496:                                              ; preds = %485
  %497 = mul i64 %492, %495
  %498 = load i64, ptr %23, align 8, !tbaa !42
  %499 = add i64 %498, %497
  store i64 %499, ptr %23, align 8, !tbaa !42
  %500 = load i32, ptr %26, align 4, !tbaa !11
  %501 = mul nsw i32 10, %500
  %502 = add nsw i32 5, %501
  %503 = mul nsw i32 %502, 512
  %504 = sext i32 %503 to i64
  %505 = load i64, ptr %23, align 8, !tbaa !42
  %506 = add i64 %505, %504
  store i64 %506, ptr %23, align 8, !tbaa !42
  %507 = load i64, ptr %23, align 8, !tbaa !42
  %508 = uitofp i64 %507 to double
  %509 = fdiv double %508, 0x4130000000000000
  %510 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.13, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, double noundef %509)
          to label %511 unwind label %527

511:                                              ; preds = %496
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #8
  %512 = getelementptr inbounds %struct.ggml_init_params, ptr %29, i32 0, i32 0
  %513 = load i64, ptr %23, align 8, !tbaa !42
  store i64 %513, ptr %512, align 8, !tbaa !43
  %514 = getelementptr inbounds %struct.ggml_init_params, ptr %29, i32 0, i32 1
  store ptr null, ptr %514, align 8, !tbaa !46
  %515 = getelementptr inbounds %struct.ggml_init_params, ptr %29, i32 0, i32 2
  store i8 0, ptr %515, align 8, !tbaa !47
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %30, ptr align 8 %29, i64 24, i1 false), !tbaa.struct !48
  %516 = invoke ptr @ggml_init(ptr noundef byval(%struct.ggml_init_params) align 8 %30)
          to label %517 unwind label %531

517:                                              ; preds = %511
  %518 = load ptr, ptr %6, align 8, !tbaa !5
  %519 = getelementptr inbounds %struct.gptj_model, ptr %518, i32 0, i32 9
  store ptr %516, ptr %519, align 8, !tbaa !50
  %520 = load ptr, ptr %6, align 8, !tbaa !5
  %521 = getelementptr inbounds %struct.gptj_model, ptr %520, i32 0, i32 9
  %522 = load ptr, ptr %521, align 8, !tbaa !50
  %523 = icmp ne ptr %522, null
  br i1 %523, label %535, label %524

524:                                              ; preds = %517
  %525 = load ptr, ptr @stderr, align 8, !tbaa !5
  %526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %525, ptr noundef @.str.14, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %536

527:                                              ; preds = %496, %485, %474, %465, %452, %442, %429, %417, %405, %393, %381, %372, %364, %358, %349, %340, %334, %314
  %528 = landingpad { ptr, i32 }
          cleanup
  %529 = extractvalue { ptr, i32 } %528, 0
  store ptr %529, ptr %9, align 8
  %530 = extractvalue { ptr, i32 } %528, 1
  store i32 %530, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #8
  br label %1343

531:                                              ; preds = %511
  %532 = landingpad { ptr, i32 }
          cleanup
  %533 = extractvalue { ptr, i32 } %532, 0
  store ptr %533, ptr %9, align 8
  %534 = extractvalue { ptr, i32 } %532, 1
  store i32 %534, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  br label %1343

535:                                              ; preds = %517
  store i32 0, ptr %11, align 4
  br label %536

536:                                              ; preds = %535, %524
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  %537 = load i32, ptr %11, align 4
  switch i32 %537, label %1342 [
    i32 0, label %538
  ]

538:                                              ; preds = %536
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  %539 = load ptr, ptr %6, align 8, !tbaa !5
  %540 = getelementptr inbounds %struct.gptj_model, ptr %539, i32 0, i32 0
  store ptr %540, ptr %31, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #8
  %541 = load ptr, ptr %31, align 8, !tbaa !5
  %542 = getelementptr inbounds %struct.gptj_hparams, ptr %541, i32 0, i32 2
  %543 = load i32, ptr %542, align 4, !tbaa !18
  store i32 %543, ptr %32, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #8
  %544 = load ptr, ptr %31, align 8, !tbaa !5
  %545 = getelementptr inbounds %struct.gptj_hparams, ptr %544, i32 0, i32 4
  %546 = load i32, ptr %545, align 4, !tbaa !20
  store i32 %546, ptr %33, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #8
  %547 = load ptr, ptr %31, align 8, !tbaa !5
  %548 = getelementptr inbounds %struct.gptj_hparams, ptr %547, i32 0, i32 0
  %549 = load i32, ptr %548, align 4, !tbaa !16
  store i32 %549, ptr %34, align 4, !tbaa !11
  %550 = load ptr, ptr %6, align 8, !tbaa !5
  %551 = getelementptr inbounds %struct.gptj_model, ptr %550, i32 0, i32 6
  %552 = load i32, ptr %33, align 4, !tbaa !11
  %553 = sext i32 %552 to i64
  invoke void @_ZNSt6vectorI10gptj_layerSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %551, i64 noundef %553)
          to label %554 unwind label %646

554:                                              ; preds = %538
  %555 = load ptr, ptr %22, align 8, !tbaa !5
  %556 = load ptr, ptr %555, align 8, !tbaa !5
  %557 = load i32, ptr %21, align 4, !tbaa !40
  %558 = load i32, ptr %32, align 4, !tbaa !11
  %559 = sext i32 %558 to i64
  %560 = load i32, ptr %34, align 4, !tbaa !11
  %561 = sext i32 %560 to i64
  %562 = invoke ptr @ggml_new_tensor_2d(ptr noundef %556, i32 noundef %557, i64 noundef %559, i64 noundef %561)
          to label %563 unwind label %646

563:                                              ; preds = %554
  %564 = load ptr, ptr %6, align 8, !tbaa !5
  %565 = getelementptr inbounds %struct.gptj_model, ptr %564, i32 0, i32 3
  store ptr %562, ptr %565, align 8, !tbaa !51
  %566 = load ptr, ptr %22, align 8, !tbaa !5
  %567 = load ptr, ptr %566, align 8, !tbaa !5
  %568 = load i32, ptr %32, align 4, !tbaa !11
  %569 = sext i32 %568 to i64
  %570 = invoke ptr @ggml_new_tensor_1d(ptr noundef %567, i32 noundef 0, i64 noundef %569)
          to label %571 unwind label %646

571:                                              ; preds = %563
  %572 = load ptr, ptr %6, align 8, !tbaa !5
  %573 = getelementptr inbounds %struct.gptj_model, ptr %572, i32 0, i32 1
  store ptr %570, ptr %573, align 8, !tbaa !52
  %574 = load ptr, ptr %22, align 8, !tbaa !5
  %575 = load ptr, ptr %574, align 8, !tbaa !5
  %576 = load i32, ptr %32, align 4, !tbaa !11
  %577 = sext i32 %576 to i64
  %578 = invoke ptr @ggml_new_tensor_1d(ptr noundef %575, i32 noundef 0, i64 noundef %577)
          to label %579 unwind label %646

579:                                              ; preds = %571
  %580 = load ptr, ptr %6, align 8, !tbaa !5
  %581 = getelementptr inbounds %struct.gptj_model, ptr %580, i32 0, i32 2
  store ptr %578, ptr %581, align 8, !tbaa !53
  %582 = load ptr, ptr %22, align 8, !tbaa !5
  %583 = load ptr, ptr %582, align 8, !tbaa !5
  %584 = load i32, ptr %21, align 4, !tbaa !40
  %585 = load i32, ptr %32, align 4, !tbaa !11
  %586 = sext i32 %585 to i64
  %587 = load i32, ptr %34, align 4, !tbaa !11
  %588 = sext i32 %587 to i64
  %589 = invoke ptr @ggml_new_tensor_2d(ptr noundef %583, i32 noundef %584, i64 noundef %586, i64 noundef %588)
          to label %590 unwind label %646

590:                                              ; preds = %579
  %591 = load ptr, ptr %6, align 8, !tbaa !5
  %592 = getelementptr inbounds %struct.gptj_model, ptr %591, i32 0, i32 4
  store ptr %589, ptr %592, align 8, !tbaa !54
  %593 = load ptr, ptr %22, align 8, !tbaa !5
  %594 = load ptr, ptr %593, align 8, !tbaa !5
  %595 = load i32, ptr %34, align 4, !tbaa !11
  %596 = sext i32 %595 to i64
  %597 = invoke ptr @ggml_new_tensor_1d(ptr noundef %594, i32 noundef 0, i64 noundef %596)
          to label %598 unwind label %646

598:                                              ; preds = %590
  %599 = load ptr, ptr %6, align 8, !tbaa !5
  %600 = getelementptr inbounds %struct.gptj_model, ptr %599, i32 0, i32 5
  store ptr %597, ptr %600, align 8, !tbaa !55
  %601 = load ptr, ptr %6, align 8, !tbaa !5
  %602 = getelementptr inbounds %struct.gptj_model, ptr %601, i32 0, i32 3
  %603 = load ptr, ptr %602, align 8, !tbaa !51
  %604 = load ptr, ptr %6, align 8, !tbaa !5
  %605 = getelementptr inbounds %struct.gptj_model, ptr %604, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %35) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %606 unwind label %650

606:                                              ; preds = %598
  %607 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %605, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %608 unwind label %654

608:                                              ; preds = %606
  store ptr %603, ptr %607, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  %609 = load ptr, ptr %6, align 8, !tbaa !5
  %610 = getelementptr inbounds %struct.gptj_model, ptr %609, i32 0, i32 1
  %611 = load ptr, ptr %610, align 8, !tbaa !52
  %612 = load ptr, ptr %6, align 8, !tbaa !5
  %613 = getelementptr inbounds %struct.gptj_model, ptr %612, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %37, ptr noundef @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %38)
          to label %614 unwind label %659

614:                                              ; preds = %608
  %615 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %613, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %616 unwind label %663

616:                                              ; preds = %614
  store ptr %611, ptr %615, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #8
  %617 = load ptr, ptr %6, align 8, !tbaa !5
  %618 = getelementptr inbounds %struct.gptj_model, ptr %617, i32 0, i32 2
  %619 = load ptr, ptr %618, align 8, !tbaa !53
  %620 = load ptr, ptr %6, align 8, !tbaa !5
  %621 = getelementptr inbounds %struct.gptj_model, ptr %620, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %40)
          to label %622 unwind label %668

622:                                              ; preds = %616
  %623 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %621, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %624 unwind label %672

624:                                              ; preds = %622
  store ptr %619, ptr %623, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  %625 = load ptr, ptr %6, align 8, !tbaa !5
  %626 = getelementptr inbounds %struct.gptj_model, ptr %625, i32 0, i32 4
  %627 = load ptr, ptr %626, align 8, !tbaa !54
  %628 = load ptr, ptr %6, align 8, !tbaa !5
  %629 = getelementptr inbounds %struct.gptj_model, ptr %628, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %630 unwind label %677

630:                                              ; preds = %624
  %631 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %629, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %632 unwind label %681

632:                                              ; preds = %630
  store ptr %627, ptr %631, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  %633 = load ptr, ptr %6, align 8, !tbaa !5
  %634 = getelementptr inbounds %struct.gptj_model, ptr %633, i32 0, i32 5
  %635 = load ptr, ptr %634, align 8, !tbaa !55
  %636 = load ptr, ptr %6, align 8, !tbaa !5
  %637 = getelementptr inbounds %struct.gptj_model, ptr %636, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %638 unwind label %686

638:                                              ; preds = %632
  %639 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %637, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %640 unwind label %690

640:                                              ; preds = %638
  store ptr %635, ptr %639, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #8
  store i32 0, ptr %45, align 4, !tbaa !11
  br label %641

641:                                              ; preds = %902, %640
  %642 = load i32, ptr %45, align 4, !tbaa !11
  %643 = load i32, ptr %33, align 4, !tbaa !11
  %644 = icmp slt i32 %642, %643
  br i1 %644, label %695, label %645

645:                                              ; preds = %641
  store i32 5, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #8
  br label %1050

646:                                              ; preds = %590, %579, %571, %563, %554, %538
  %647 = landingpad { ptr, i32 }
          cleanup
  %648 = extractvalue { ptr, i32 } %647, 0
  store ptr %648, ptr %9, align 8
  %649 = extractvalue { ptr, i32 } %647, 1
  store i32 %649, ptr %10, align 4
  br label %1119

650:                                              ; preds = %598
  %651 = landingpad { ptr, i32 }
          cleanup
  %652 = extractvalue { ptr, i32 } %651, 0
  store ptr %652, ptr %9, align 8
  %653 = extractvalue { ptr, i32 } %651, 1
  store i32 %653, ptr %10, align 4
  br label %658

654:                                              ; preds = %606
  %655 = landingpad { ptr, i32 }
          cleanup
  %656 = extractvalue { ptr, i32 } %655, 0
  store ptr %656, ptr %9, align 8
  %657 = extractvalue { ptr, i32 } %655, 1
  store i32 %657, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  br label %658

658:                                              ; preds = %654, %650
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %35) #8
  br label %1119

659:                                              ; preds = %608
  %660 = landingpad { ptr, i32 }
          cleanup
  %661 = extractvalue { ptr, i32 } %660, 0
  store ptr %661, ptr %9, align 8
  %662 = extractvalue { ptr, i32 } %660, 1
  store i32 %662, ptr %10, align 4
  br label %667

663:                                              ; preds = %614
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %9, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  br label %667

667:                                              ; preds = %663, %659
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %38) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #8
  br label %1119

668:                                              ; preds = %616
  %669 = landingpad { ptr, i32 }
          cleanup
  %670 = extractvalue { ptr, i32 } %669, 0
  store ptr %670, ptr %9, align 8
  %671 = extractvalue { ptr, i32 } %669, 1
  store i32 %671, ptr %10, align 4
  br label %676

672:                                              ; preds = %622
  %673 = landingpad { ptr, i32 }
          cleanup
  %674 = extractvalue { ptr, i32 } %673, 0
  store ptr %674, ptr %9, align 8
  %675 = extractvalue { ptr, i32 } %673, 1
  store i32 %675, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  br label %676

676:                                              ; preds = %672, %668
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %40) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  br label %1119

677:                                              ; preds = %624
  %678 = landingpad { ptr, i32 }
          cleanup
  %679 = extractvalue { ptr, i32 } %678, 0
  store ptr %679, ptr %9, align 8
  %680 = extractvalue { ptr, i32 } %678, 1
  store i32 %680, ptr %10, align 4
  br label %685

681:                                              ; preds = %630
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %9, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %685

685:                                              ; preds = %681, %677
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  br label %1119

686:                                              ; preds = %632
  %687 = landingpad { ptr, i32 }
          cleanup
  %688 = extractvalue { ptr, i32 } %687, 0
  store ptr %688, ptr %9, align 8
  %689 = extractvalue { ptr, i32 } %687, 1
  store i32 %689, ptr %10, align 4
  br label %694

690:                                              ; preds = %638
  %691 = landingpad { ptr, i32 }
          cleanup
  %692 = extractvalue { ptr, i32 } %691, 0
  store ptr %692, ptr %9, align 8
  %693 = extractvalue { ptr, i32 } %691, 1
  store i32 %693, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %694

694:                                              ; preds = %690, %686
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  br label %1119

695:                                              ; preds = %641
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #8
  %696 = load ptr, ptr %6, align 8, !tbaa !5
  %697 = getelementptr inbounds %struct.gptj_model, ptr %696, i32 0, i32 6
  %698 = load i32, ptr %45, align 4, !tbaa !11
  %699 = sext i32 %698 to i64
  %700 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNSt6vectorI10gptj_layerSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %697, i64 noundef %699) #8
  store ptr %700, ptr %46, align 8, !tbaa !5
  %701 = load ptr, ptr %22, align 8, !tbaa !5
  %702 = load ptr, ptr %701, align 8, !tbaa !5
  %703 = load i32, ptr %32, align 4, !tbaa !11
  %704 = sext i32 %703 to i64
  %705 = invoke ptr @ggml_new_tensor_1d(ptr noundef %702, i32 noundef 0, i64 noundef %704)
          to label %706 unwind label %905

706:                                              ; preds = %695
  %707 = load ptr, ptr %46, align 8, !tbaa !5
  %708 = getelementptr inbounds %struct.gptj_layer, ptr %707, i32 0, i32 0
  store ptr %705, ptr %708, align 8, !tbaa !56
  %709 = load ptr, ptr %22, align 8, !tbaa !5
  %710 = load ptr, ptr %709, align 8, !tbaa !5
  %711 = load i32, ptr %32, align 4, !tbaa !11
  %712 = sext i32 %711 to i64
  %713 = invoke ptr @ggml_new_tensor_1d(ptr noundef %710, i32 noundef 0, i64 noundef %712)
          to label %714 unwind label %905

714:                                              ; preds = %706
  %715 = load ptr, ptr %46, align 8, !tbaa !5
  %716 = getelementptr inbounds %struct.gptj_layer, ptr %715, i32 0, i32 1
  store ptr %713, ptr %716, align 8, !tbaa !58
  %717 = load ptr, ptr %22, align 8, !tbaa !5
  %718 = load ptr, ptr %717, align 8, !tbaa !5
  %719 = load i32, ptr %21, align 4, !tbaa !40
  %720 = load i32, ptr %32, align 4, !tbaa !11
  %721 = sext i32 %720 to i64
  %722 = load i32, ptr %32, align 4, !tbaa !11
  %723 = sext i32 %722 to i64
  %724 = invoke ptr @ggml_new_tensor_2d(ptr noundef %718, i32 noundef %719, i64 noundef %721, i64 noundef %723)
          to label %725 unwind label %905

725:                                              ; preds = %714
  %726 = load ptr, ptr %46, align 8, !tbaa !5
  %727 = getelementptr inbounds %struct.gptj_layer, ptr %726, i32 0, i32 2
  store ptr %724, ptr %727, align 8, !tbaa !59
  %728 = load ptr, ptr %22, align 8, !tbaa !5
  %729 = load ptr, ptr %728, align 8, !tbaa !5
  %730 = load i32, ptr %21, align 4, !tbaa !40
  %731 = load i32, ptr %32, align 4, !tbaa !11
  %732 = sext i32 %731 to i64
  %733 = load i32, ptr %32, align 4, !tbaa !11
  %734 = sext i32 %733 to i64
  %735 = invoke ptr @ggml_new_tensor_2d(ptr noundef %729, i32 noundef %730, i64 noundef %732, i64 noundef %734)
          to label %736 unwind label %905

736:                                              ; preds = %725
  %737 = load ptr, ptr %46, align 8, !tbaa !5
  %738 = getelementptr inbounds %struct.gptj_layer, ptr %737, i32 0, i32 3
  store ptr %735, ptr %738, align 8, !tbaa !60
  %739 = load ptr, ptr %22, align 8, !tbaa !5
  %740 = load ptr, ptr %739, align 8, !tbaa !5
  %741 = load i32, ptr %21, align 4, !tbaa !40
  %742 = load i32, ptr %32, align 4, !tbaa !11
  %743 = sext i32 %742 to i64
  %744 = load i32, ptr %32, align 4, !tbaa !11
  %745 = sext i32 %744 to i64
  %746 = invoke ptr @ggml_new_tensor_2d(ptr noundef %740, i32 noundef %741, i64 noundef %743, i64 noundef %745)
          to label %747 unwind label %905

747:                                              ; preds = %736
  %748 = load ptr, ptr %46, align 8, !tbaa !5
  %749 = getelementptr inbounds %struct.gptj_layer, ptr %748, i32 0, i32 4
  store ptr %746, ptr %749, align 8, !tbaa !61
  %750 = load ptr, ptr %22, align 8, !tbaa !5
  %751 = load ptr, ptr %750, align 8, !tbaa !5
  %752 = load i32, ptr %21, align 4, !tbaa !40
  %753 = load i32, ptr %32, align 4, !tbaa !11
  %754 = sext i32 %753 to i64
  %755 = load i32, ptr %32, align 4, !tbaa !11
  %756 = sext i32 %755 to i64
  %757 = invoke ptr @ggml_new_tensor_2d(ptr noundef %751, i32 noundef %752, i64 noundef %754, i64 noundef %756)
          to label %758 unwind label %905

758:                                              ; preds = %747
  %759 = load ptr, ptr %46, align 8, !tbaa !5
  %760 = getelementptr inbounds %struct.gptj_layer, ptr %759, i32 0, i32 5
  store ptr %757, ptr %760, align 8, !tbaa !62
  %761 = load ptr, ptr %22, align 8, !tbaa !5
  %762 = load ptr, ptr %761, align 8, !tbaa !5
  %763 = load i32, ptr %21, align 4, !tbaa !40
  %764 = load i32, ptr %32, align 4, !tbaa !11
  %765 = sext i32 %764 to i64
  %766 = load i32, ptr %32, align 4, !tbaa !11
  %767 = mul nsw i32 4, %766
  %768 = sext i32 %767 to i64
  %769 = invoke ptr @ggml_new_tensor_2d(ptr noundef %762, i32 noundef %763, i64 noundef %765, i64 noundef %768)
          to label %770 unwind label %905

770:                                              ; preds = %758
  %771 = load ptr, ptr %46, align 8, !tbaa !5
  %772 = getelementptr inbounds %struct.gptj_layer, ptr %771, i32 0, i32 6
  store ptr %769, ptr %772, align 8, !tbaa !63
  %773 = load ptr, ptr %22, align 8, !tbaa !5
  %774 = load ptr, ptr %773, align 8, !tbaa !5
  %775 = load i32, ptr %32, align 4, !tbaa !11
  %776 = mul nsw i32 4, %775
  %777 = sext i32 %776 to i64
  %778 = invoke ptr @ggml_new_tensor_1d(ptr noundef %774, i32 noundef 0, i64 noundef %777)
          to label %779 unwind label %905

779:                                              ; preds = %770
  %780 = load ptr, ptr %46, align 8, !tbaa !5
  %781 = getelementptr inbounds %struct.gptj_layer, ptr %780, i32 0, i32 7
  store ptr %778, ptr %781, align 8, !tbaa !64
  %782 = load ptr, ptr %22, align 8, !tbaa !5
  %783 = load ptr, ptr %782, align 8, !tbaa !5
  %784 = load i32, ptr %21, align 4, !tbaa !40
  %785 = load i32, ptr %32, align 4, !tbaa !11
  %786 = mul nsw i32 4, %785
  %787 = sext i32 %786 to i64
  %788 = load i32, ptr %32, align 4, !tbaa !11
  %789 = sext i32 %788 to i64
  %790 = invoke ptr @ggml_new_tensor_2d(ptr noundef %783, i32 noundef %784, i64 noundef %787, i64 noundef %789)
          to label %791 unwind label %905

791:                                              ; preds = %779
  %792 = load ptr, ptr %46, align 8, !tbaa !5
  %793 = getelementptr inbounds %struct.gptj_layer, ptr %792, i32 0, i32 8
  store ptr %790, ptr %793, align 8, !tbaa !65
  %794 = load ptr, ptr %22, align 8, !tbaa !5
  %795 = load ptr, ptr %794, align 8, !tbaa !5
  %796 = load i32, ptr %32, align 4, !tbaa !11
  %797 = sext i32 %796 to i64
  %798 = invoke ptr @ggml_new_tensor_1d(ptr noundef %795, i32 noundef 0, i64 noundef %797)
          to label %799 unwind label %905

799:                                              ; preds = %791
  %800 = load ptr, ptr %46, align 8, !tbaa !5
  %801 = getelementptr inbounds %struct.gptj_layer, ptr %800, i32 0, i32 9
  store ptr %798, ptr %801, align 8, !tbaa !66
  %802 = load ptr, ptr %46, align 8, !tbaa !5
  %803 = getelementptr inbounds %struct.gptj_layer, ptr %802, i32 0, i32 0
  %804 = load ptr, ptr %803, align 8, !tbaa !56
  %805 = load ptr, ptr %6, align 8, !tbaa !5
  %806 = getelementptr inbounds %struct.gptj_model, ptr %805, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #8
  %807 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, i32 noundef %807) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %808 unwind label %909

808:                                              ; preds = %799
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef @.str.21)
          to label %809 unwind label %913

809:                                              ; preds = %808
  %810 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %806, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %811 unwind label %917

811:                                              ; preds = %809
  store ptr %804, ptr %810, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  %812 = load ptr, ptr %46, align 8, !tbaa !5
  %813 = getelementptr inbounds %struct.gptj_layer, ptr %812, i32 0, i32 1
  %814 = load ptr, ptr %813, align 8, !tbaa !58
  %815 = load ptr, ptr %6, align 8, !tbaa !5
  %816 = getelementptr inbounds %struct.gptj_model, ptr %815, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #8
  %817 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, i32 noundef %817) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %818 unwind label %923

818:                                              ; preds = %811
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef @.str.22)
          to label %819 unwind label %927

819:                                              ; preds = %818
  %820 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %816, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %821 unwind label %931

821:                                              ; preds = %819
  store ptr %814, ptr %820, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  %822 = load ptr, ptr %46, align 8, !tbaa !5
  %823 = getelementptr inbounds %struct.gptj_layer, ptr %822, i32 0, i32 2
  %824 = load ptr, ptr %823, align 8, !tbaa !59
  %825 = load ptr, ptr %6, align 8, !tbaa !5
  %826 = getelementptr inbounds %struct.gptj_model, ptr %825, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #8
  %827 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, i32 noundef %827) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %828 unwind label %937

828:                                              ; preds = %821
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef @.str.23)
          to label %829 unwind label %941

829:                                              ; preds = %828
  %830 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %826, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %831 unwind label %945

831:                                              ; preds = %829
  store ptr %824, ptr %830, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  %832 = load ptr, ptr %46, align 8, !tbaa !5
  %833 = getelementptr inbounds %struct.gptj_layer, ptr %832, i32 0, i32 3
  %834 = load ptr, ptr %833, align 8, !tbaa !60
  %835 = load ptr, ptr %6, align 8, !tbaa !5
  %836 = getelementptr inbounds %struct.gptj_model, ptr %835, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #8
  %837 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, i32 noundef %837) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %838 unwind label %951

838:                                              ; preds = %831
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef @.str.24)
          to label %839 unwind label %955

839:                                              ; preds = %838
  %840 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %836, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %841 unwind label %959

841:                                              ; preds = %839
  store ptr %834, ptr %840, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  %842 = load ptr, ptr %46, align 8, !tbaa !5
  %843 = getelementptr inbounds %struct.gptj_layer, ptr %842, i32 0, i32 4
  %844 = load ptr, ptr %843, align 8, !tbaa !61
  %845 = load ptr, ptr %6, align 8, !tbaa !5
  %846 = getelementptr inbounds %struct.gptj_model, ptr %845, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #8
  %847 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, i32 noundef %847) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %848 unwind label %965

848:                                              ; preds = %841
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.25)
          to label %849 unwind label %969

849:                                              ; preds = %848
  %850 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %846, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %851 unwind label %973

851:                                              ; preds = %849
  store ptr %844, ptr %850, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  %852 = load ptr, ptr %46, align 8, !tbaa !5
  %853 = getelementptr inbounds %struct.gptj_layer, ptr %852, i32 0, i32 5
  %854 = load ptr, ptr %853, align 8, !tbaa !62
  %855 = load ptr, ptr %6, align 8, !tbaa !5
  %856 = getelementptr inbounds %struct.gptj_model, ptr %855, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #8
  %857 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, i32 noundef %857) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %858 unwind label %979

858:                                              ; preds = %851
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef @.str.26)
          to label %859 unwind label %983

859:                                              ; preds = %858
  %860 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %856, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %861 unwind label %987

861:                                              ; preds = %859
  store ptr %854, ptr %860, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  %862 = load ptr, ptr %46, align 8, !tbaa !5
  %863 = getelementptr inbounds %struct.gptj_layer, ptr %862, i32 0, i32 6
  %864 = load ptr, ptr %863, align 8, !tbaa !63
  %865 = load ptr, ptr %6, align 8, !tbaa !5
  %866 = getelementptr inbounds %struct.gptj_model, ptr %865, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #8
  %867 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, i32 noundef %867) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %868 unwind label %993

868:                                              ; preds = %861
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef @.str.27)
          to label %869 unwind label %997

869:                                              ; preds = %868
  %870 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %866, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %871 unwind label %1001

871:                                              ; preds = %869
  store ptr %864, ptr %870, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  %872 = load ptr, ptr %46, align 8, !tbaa !5
  %873 = getelementptr inbounds %struct.gptj_layer, ptr %872, i32 0, i32 7
  %874 = load ptr, ptr %873, align 8, !tbaa !64
  %875 = load ptr, ptr %6, align 8, !tbaa !5
  %876 = getelementptr inbounds %struct.gptj_model, ptr %875, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #8
  %877 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, i32 noundef %877) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %878 unwind label %1007

878:                                              ; preds = %871
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef @.str.28)
          to label %879 unwind label %1011

879:                                              ; preds = %878
  %880 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %876, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %881 unwind label %1015

881:                                              ; preds = %879
  store ptr %874, ptr %880, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  %882 = load ptr, ptr %46, align 8, !tbaa !5
  %883 = getelementptr inbounds %struct.gptj_layer, ptr %882, i32 0, i32 8
  %884 = load ptr, ptr %883, align 8, !tbaa !65
  %885 = load ptr, ptr %6, align 8, !tbaa !5
  %886 = getelementptr inbounds %struct.gptj_model, ptr %885, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #8
  %887 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, i32 noundef %887) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %888 unwind label %1021

888:                                              ; preds = %881
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef @.str.29)
          to label %889 unwind label %1025

889:                                              ; preds = %888
  %890 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %886, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %891 unwind label %1029

891:                                              ; preds = %889
  store ptr %884, ptr %890, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  %892 = load ptr, ptr %46, align 8, !tbaa !5
  %893 = getelementptr inbounds %struct.gptj_layer, ptr %892, i32 0, i32 9
  %894 = load ptr, ptr %893, align 8, !tbaa !66
  %895 = load ptr, ptr %6, align 8, !tbaa !5
  %896 = getelementptr inbounds %struct.gptj_model, ptr %895, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #8
  %897 = load i32, ptr %45, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %76, i32 noundef %897) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %898 unwind label %1035

898:                                              ; preds = %891
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef @.str.30)
          to label %899 unwind label %1039

899:                                              ; preds = %898
  %900 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %896, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %901 unwind label %1043

901:                                              ; preds = %899
  store ptr %894, ptr %900, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  br label %902

902:                                              ; preds = %901
  %903 = load i32, ptr %45, align 4, !tbaa !11
  %904 = add nsw i32 %903, 1
  store i32 %904, ptr %45, align 4, !tbaa !11
  br label %641, !llvm.loop !67

905:                                              ; preds = %791, %779, %770, %758, %747, %736, %725, %714, %706, %695
  %906 = landingpad { ptr, i32 }
          cleanup
  %907 = extractvalue { ptr, i32 } %906, 0
  store ptr %907, ptr %9, align 8
  %908 = extractvalue { ptr, i32 } %906, 1
  store i32 %908, ptr %10, align 4
  br label %1049

909:                                              ; preds = %799
  %910 = landingpad { ptr, i32 }
          cleanup
  %911 = extractvalue { ptr, i32 } %910, 0
  store ptr %911, ptr %9, align 8
  %912 = extractvalue { ptr, i32 } %910, 1
  store i32 %912, ptr %10, align 4
  br label %922

913:                                              ; preds = %808
  %914 = landingpad { ptr, i32 }
          cleanup
  %915 = extractvalue { ptr, i32 } %914, 0
  store ptr %915, ptr %9, align 8
  %916 = extractvalue { ptr, i32 } %914, 1
  store i32 %916, ptr %10, align 4
  br label %921

917:                                              ; preds = %809
  %918 = landingpad { ptr, i32 }
          cleanup
  %919 = extractvalue { ptr, i32 } %918, 0
  store ptr %919, ptr %9, align 8
  %920 = extractvalue { ptr, i32 } %918, 1
  store i32 %920, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %921

921:                                              ; preds = %917, %913
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  br label %922

922:                                              ; preds = %921, %909
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  br label %1049

923:                                              ; preds = %811
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %9, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %10, align 4
  br label %936

927:                                              ; preds = %818
  %928 = landingpad { ptr, i32 }
          cleanup
  %929 = extractvalue { ptr, i32 } %928, 0
  store ptr %929, ptr %9, align 8
  %930 = extractvalue { ptr, i32 } %928, 1
  store i32 %930, ptr %10, align 4
  br label %935

931:                                              ; preds = %819
  %932 = landingpad { ptr, i32 }
          cleanup
  %933 = extractvalue { ptr, i32 } %932, 0
  store ptr %933, ptr %9, align 8
  %934 = extractvalue { ptr, i32 } %932, 1
  store i32 %934, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %935

935:                                              ; preds = %931, %927
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %936

936:                                              ; preds = %935, %923
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  br label %1049

937:                                              ; preds = %821
  %938 = landingpad { ptr, i32 }
          cleanup
  %939 = extractvalue { ptr, i32 } %938, 0
  store ptr %939, ptr %9, align 8
  %940 = extractvalue { ptr, i32 } %938, 1
  store i32 %940, ptr %10, align 4
  br label %950

941:                                              ; preds = %828
  %942 = landingpad { ptr, i32 }
          cleanup
  %943 = extractvalue { ptr, i32 } %942, 0
  store ptr %943, ptr %9, align 8
  %944 = extractvalue { ptr, i32 } %942, 1
  store i32 %944, ptr %10, align 4
  br label %949

945:                                              ; preds = %829
  %946 = landingpad { ptr, i32 }
          cleanup
  %947 = extractvalue { ptr, i32 } %946, 0
  store ptr %947, ptr %9, align 8
  %948 = extractvalue { ptr, i32 } %946, 1
  store i32 %948, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %949

949:                                              ; preds = %945, %941
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  br label %950

950:                                              ; preds = %949, %937
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  br label %1049

951:                                              ; preds = %831
  %952 = landingpad { ptr, i32 }
          cleanup
  %953 = extractvalue { ptr, i32 } %952, 0
  store ptr %953, ptr %9, align 8
  %954 = extractvalue { ptr, i32 } %952, 1
  store i32 %954, ptr %10, align 4
  br label %964

955:                                              ; preds = %838
  %956 = landingpad { ptr, i32 }
          cleanup
  %957 = extractvalue { ptr, i32 } %956, 0
  store ptr %957, ptr %9, align 8
  %958 = extractvalue { ptr, i32 } %956, 1
  store i32 %958, ptr %10, align 4
  br label %963

959:                                              ; preds = %839
  %960 = landingpad { ptr, i32 }
          cleanup
  %961 = extractvalue { ptr, i32 } %960, 0
  store ptr %961, ptr %9, align 8
  %962 = extractvalue { ptr, i32 } %960, 1
  store i32 %962, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  br label %963

963:                                              ; preds = %959, %955
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  br label %964

964:                                              ; preds = %963, %951
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  br label %1049

965:                                              ; preds = %841
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %9, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %10, align 4
  br label %978

969:                                              ; preds = %848
  %970 = landingpad { ptr, i32 }
          cleanup
  %971 = extractvalue { ptr, i32 } %970, 0
  store ptr %971, ptr %9, align 8
  %972 = extractvalue { ptr, i32 } %970, 1
  store i32 %972, ptr %10, align 4
  br label %977

973:                                              ; preds = %849
  %974 = landingpad { ptr, i32 }
          cleanup
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %9, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  br label %977

977:                                              ; preds = %973, %969
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  br label %978

978:                                              ; preds = %977, %965
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  br label %1049

979:                                              ; preds = %851
  %980 = landingpad { ptr, i32 }
          cleanup
  %981 = extractvalue { ptr, i32 } %980, 0
  store ptr %981, ptr %9, align 8
  %982 = extractvalue { ptr, i32 } %980, 1
  store i32 %982, ptr %10, align 4
  br label %992

983:                                              ; preds = %858
  %984 = landingpad { ptr, i32 }
          cleanup
  %985 = extractvalue { ptr, i32 } %984, 0
  store ptr %985, ptr %9, align 8
  %986 = extractvalue { ptr, i32 } %984, 1
  store i32 %986, ptr %10, align 4
  br label %991

987:                                              ; preds = %859
  %988 = landingpad { ptr, i32 }
          cleanup
  %989 = extractvalue { ptr, i32 } %988, 0
  store ptr %989, ptr %9, align 8
  %990 = extractvalue { ptr, i32 } %988, 1
  store i32 %990, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  br label %991

991:                                              ; preds = %987, %983
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  br label %992

992:                                              ; preds = %991, %979
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  br label %1049

993:                                              ; preds = %861
  %994 = landingpad { ptr, i32 }
          cleanup
  %995 = extractvalue { ptr, i32 } %994, 0
  store ptr %995, ptr %9, align 8
  %996 = extractvalue { ptr, i32 } %994, 1
  store i32 %996, ptr %10, align 4
  br label %1006

997:                                              ; preds = %868
  %998 = landingpad { ptr, i32 }
          cleanup
  %999 = extractvalue { ptr, i32 } %998, 0
  store ptr %999, ptr %9, align 8
  %1000 = extractvalue { ptr, i32 } %998, 1
  store i32 %1000, ptr %10, align 4
  br label %1005

1001:                                             ; preds = %869
  %1002 = landingpad { ptr, i32 }
          cleanup
  %1003 = extractvalue { ptr, i32 } %1002, 0
  store ptr %1003, ptr %9, align 8
  %1004 = extractvalue { ptr, i32 } %1002, 1
  store i32 %1004, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  br label %1005

1005:                                             ; preds = %1001, %997
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  br label %1006

1006:                                             ; preds = %1005, %993
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  br label %1049

1007:                                             ; preds = %871
  %1008 = landingpad { ptr, i32 }
          cleanup
  %1009 = extractvalue { ptr, i32 } %1008, 0
  store ptr %1009, ptr %9, align 8
  %1010 = extractvalue { ptr, i32 } %1008, 1
  store i32 %1010, ptr %10, align 4
  br label %1020

1011:                                             ; preds = %878
  %1012 = landingpad { ptr, i32 }
          cleanup
  %1013 = extractvalue { ptr, i32 } %1012, 0
  store ptr %1013, ptr %9, align 8
  %1014 = extractvalue { ptr, i32 } %1012, 1
  store i32 %1014, ptr %10, align 4
  br label %1019

1015:                                             ; preds = %879
  %1016 = landingpad { ptr, i32 }
          cleanup
  %1017 = extractvalue { ptr, i32 } %1016, 0
  store ptr %1017, ptr %9, align 8
  %1018 = extractvalue { ptr, i32 } %1016, 1
  store i32 %1018, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  br label %1019

1019:                                             ; preds = %1015, %1011
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  br label %1020

1020:                                             ; preds = %1019, %1007
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  br label %1049

1021:                                             ; preds = %881
  %1022 = landingpad { ptr, i32 }
          cleanup
  %1023 = extractvalue { ptr, i32 } %1022, 0
  store ptr %1023, ptr %9, align 8
  %1024 = extractvalue { ptr, i32 } %1022, 1
  store i32 %1024, ptr %10, align 4
  br label %1034

1025:                                             ; preds = %888
  %1026 = landingpad { ptr, i32 }
          cleanup
  %1027 = extractvalue { ptr, i32 } %1026, 0
  store ptr %1027, ptr %9, align 8
  %1028 = extractvalue { ptr, i32 } %1026, 1
  store i32 %1028, ptr %10, align 4
  br label %1033

1029:                                             ; preds = %889
  %1030 = landingpad { ptr, i32 }
          cleanup
  %1031 = extractvalue { ptr, i32 } %1030, 0
  store ptr %1031, ptr %9, align 8
  %1032 = extractvalue { ptr, i32 } %1030, 1
  store i32 %1032, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %1033

1033:                                             ; preds = %1029, %1025
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  br label %1034

1034:                                             ; preds = %1033, %1021
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  br label %1049

1035:                                             ; preds = %891
  %1036 = landingpad { ptr, i32 }
          cleanup
  %1037 = extractvalue { ptr, i32 } %1036, 0
  store ptr %1037, ptr %9, align 8
  %1038 = extractvalue { ptr, i32 } %1036, 1
  store i32 %1038, ptr %10, align 4
  br label %1048

1039:                                             ; preds = %898
  %1040 = landingpad { ptr, i32 }
          cleanup
  %1041 = extractvalue { ptr, i32 } %1040, 0
  store ptr %1041, ptr %9, align 8
  %1042 = extractvalue { ptr, i32 } %1040, 1
  store i32 %1042, ptr %10, align 4
  br label %1047

1043:                                             ; preds = %899
  %1044 = landingpad { ptr, i32 }
          cleanup
  %1045 = extractvalue { ptr, i32 } %1044, 0
  store ptr %1045, ptr %9, align 8
  %1046 = extractvalue { ptr, i32 } %1044, 1
  store i32 %1046, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  br label %1047

1047:                                             ; preds = %1043, %1039
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  br label %1048

1048:                                             ; preds = %1047, %1035
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  br label %1049

1049:                                             ; preds = %1048, %1034, %1020, %1006, %992, %978, %964, %950, %936, %922, %905
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #8
  br label %1119

1050:                                             ; preds = %645
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #8
  %1051 = load ptr, ptr %6, align 8, !tbaa !5
  %1052 = getelementptr inbounds %struct.gptj_model, ptr %1051, i32 0, i32 0
  store ptr %1052, ptr %77, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #8
  %1053 = load ptr, ptr %77, align 8, !tbaa !5
  %1054 = getelementptr inbounds %struct.gptj_hparams, ptr %1053, i32 0, i32 2
  %1055 = load i32, ptr %1054, align 4, !tbaa !18
  store i32 %1055, ptr %78, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #8
  %1056 = load ptr, ptr %77, align 8, !tbaa !5
  %1057 = getelementptr inbounds %struct.gptj_hparams, ptr %1056, i32 0, i32 4
  %1058 = load i32, ptr %1057, align 4, !tbaa !20
  store i32 %1058, ptr %79, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #8
  %1059 = load ptr, ptr %77, align 8, !tbaa !5
  %1060 = getelementptr inbounds %struct.gptj_hparams, ptr %1059, i32 0, i32 1
  %1061 = load i32, ptr %1060, align 4, !tbaa !17
  store i32 %1061, ptr %80, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #8
  %1062 = load i32, ptr %79, align 4, !tbaa !11
  %1063 = load i32, ptr %80, align 4, !tbaa !11
  %1064 = mul nsw i32 %1062, %1063
  store i32 %1064, ptr %81, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #8
  %1065 = load i32, ptr %78, align 4, !tbaa !11
  %1066 = load i32, ptr %81, align 4, !tbaa !11
  %1067 = mul nsw i32 %1065, %1066
  store i32 %1067, ptr %82, align 4, !tbaa !11
  %1068 = load ptr, ptr %22, align 8, !tbaa !5
  %1069 = load ptr, ptr %1068, align 8, !tbaa !5
  %1070 = load i32, ptr %82, align 4, !tbaa !11
  %1071 = sext i32 %1070 to i64
  %1072 = invoke ptr @ggml_new_tensor_1d(ptr noundef %1069, i32 noundef 1, i64 noundef %1071)
          to label %1073 unwind label %1120

1073:                                             ; preds = %1050
  %1074 = load ptr, ptr %6, align 8, !tbaa !5
  %1075 = getelementptr inbounds %struct.gptj_model, ptr %1074, i32 0, i32 7
  store ptr %1072, ptr %1075, align 8, !tbaa !68
  %1076 = load ptr, ptr %22, align 8, !tbaa !5
  %1077 = load ptr, ptr %1076, align 8, !tbaa !5
  %1078 = load i32, ptr %82, align 4, !tbaa !11
  %1079 = sext i32 %1078 to i64
  %1080 = invoke ptr @ggml_new_tensor_1d(ptr noundef %1077, i32 noundef 1, i64 noundef %1079)
          to label %1081 unwind label %1120

1081:                                             ; preds = %1073
  %1082 = load ptr, ptr %6, align 8, !tbaa !5
  %1083 = getelementptr inbounds %struct.gptj_model, ptr %1082, i32 0, i32 8
  store ptr %1080, ptr %1083, align 8, !tbaa !69
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #8
  %1084 = load ptr, ptr %6, align 8, !tbaa !5
  %1085 = getelementptr inbounds %struct.gptj_model, ptr %1084, i32 0, i32 7
  %1086 = load ptr, ptr %1085, align 8, !tbaa !68
  %1087 = invoke i64 @ggml_nbytes(ptr noundef %1086)
          to label %1088 unwind label %1124

1088:                                             ; preds = %1081
  %1089 = load ptr, ptr %6, align 8, !tbaa !5
  %1090 = getelementptr inbounds %struct.gptj_model, ptr %1089, i32 0, i32 8
  %1091 = load ptr, ptr %1090, align 8, !tbaa !69
  %1092 = invoke i64 @ggml_nbytes(ptr noundef %1091)
          to label %1093 unwind label %1124

1093:                                             ; preds = %1088
  %1094 = add i64 %1087, %1092
  store i64 %1094, ptr %83, align 8, !tbaa !42
  %1095 = load i64, ptr %83, align 8, !tbaa !42
  %1096 = uitofp i64 %1095 to double
  %1097 = fdiv double %1096, 1.024000e+03
  %1098 = fdiv double %1097, 1.024000e+03
  %1099 = load i32, ptr %81, align 4, !tbaa !11
  %1100 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.31, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, double noundef %1098, i32 noundef %1099)
          to label %1101 unwind label %1124

1101:                                             ; preds = %1093
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #8
  store i32 0, ptr %84, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #8
  store i64 0, ptr %85, align 8, !tbaa !42
  %1102 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.32, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab)
          to label %1103 unwind label %1129

1103:                                             ; preds = %1101
  br label %1104

1104:                                             ; preds = %1317, %1103
  br label %1105

1105:                                             ; preds = %1104
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #8
  %1106 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %86, i64 noundef 4)
          to label %1107 unwind label %1133

1107:                                             ; preds = %1105
  %1108 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %87, i64 noundef 4)
          to label %1109 unwind label %1133

1109:                                             ; preds = %1107
  %1110 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %88, i64 noundef 4)
          to label %1111 unwind label %1133

1111:                                             ; preds = %1109
  %1112 = load ptr, ptr %8, align 8, !tbaa !9
  %1113 = getelementptr i8, ptr %1112, i64 -24
  %1114 = load i64, ptr %1113, align 8
  %1115 = getelementptr inbounds i8, ptr %8, i64 %1114
  %1116 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %1115)
          to label %1117 unwind label %1133

1117:                                             ; preds = %1111
  br i1 %1116, label %1118, label %1137

1118:                                             ; preds = %1117
  store i32 9, ptr %11, align 4
  br label %1315

1119:                                             ; preds = %1049, %694, %685, %676, %667, %658, %646
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %1343

1120:                                             ; preds = %1073, %1050
  %1121 = landingpad { ptr, i32 }
          cleanup
  %1122 = extractvalue { ptr, i32 } %1121, 0
  store ptr %1122, ptr %9, align 8
  %1123 = extractvalue { ptr, i32 } %1121, 1
  store i32 %1123, ptr %10, align 4
  br label %1128

1124:                                             ; preds = %1093, %1088, %1081
  %1125 = landingpad { ptr, i32 }
          cleanup
  %1126 = extractvalue { ptr, i32 } %1125, 0
  store ptr %1126, ptr %9, align 8
  %1127 = extractvalue { ptr, i32 } %1125, 1
  store i32 %1127, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #8
  br label %1128

1128:                                             ; preds = %1124, %1120
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #8
  br label %1343

1129:                                             ; preds = %1325, %1323, %1101
  %1130 = landingpad { ptr, i32 }
          cleanup
  %1131 = extractvalue { ptr, i32 } %1130, 0
  store ptr %1131, ptr %9, align 8
  %1132 = extractvalue { ptr, i32 } %1130, 1
  store i32 %1132, ptr %10, align 4
  br label %1337

1133:                                             ; preds = %1111, %1109, %1107, %1105
  %1134 = landingpad { ptr, i32 }
          cleanup
  %1135 = extractvalue { ptr, i32 } %1134, 0
  store ptr %1135, ptr %9, align 8
  %1136 = extractvalue { ptr, i32 } %1134, 1
  store i32 %1136, ptr %10, align 4
  br label %1322

1137:                                             ; preds = %1117
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #8
  store i32 1, ptr %89, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %90, ptr align 4 @__const._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab.ne, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #8
  store i32 0, ptr %91, align 4, !tbaa !11
  br label %1138

1138:                                             ; preds = %1155, %1137
  %1139 = load i32, ptr %91, align 4, !tbaa !11
  %1140 = load i32, ptr %86, align 4, !tbaa !11
  %1141 = icmp slt i32 %1139, %1140
  br i1 %1141, label %1143, label %1142

1142:                                             ; preds = %1138
  store i32 10, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #8
  br label %1162

1143:                                             ; preds = %1138
  %1144 = load i32, ptr %91, align 4, !tbaa !11
  %1145 = sext i32 %1144 to i64
  %1146 = getelementptr inbounds [2 x i32], ptr %90, i64 0, i64 %1145
  %1147 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %1146, i64 noundef 4)
          to label %1148 unwind label %1158

1148:                                             ; preds = %1143
  %1149 = load i32, ptr %91, align 4, !tbaa !11
  %1150 = sext i32 %1149 to i64
  %1151 = getelementptr inbounds [2 x i32], ptr %90, i64 0, i64 %1150
  %1152 = load i32, ptr %1151, align 4, !tbaa !11
  %1153 = load i32, ptr %89, align 4, !tbaa !11
  %1154 = mul nsw i32 %1153, %1152
  store i32 %1154, ptr %89, align 4, !tbaa !11
  br label %1155

1155:                                             ; preds = %1148
  %1156 = load i32, ptr %91, align 4, !tbaa !11
  %1157 = add nsw i32 %1156, 1
  store i32 %1157, ptr %91, align 4, !tbaa !11
  br label %1138, !llvm.loop !70

1158:                                             ; preds = %1143
  %1159 = landingpad { ptr, i32 }
          cleanup
  %1160 = extractvalue { ptr, i32 } %1159, 0
  store ptr %1160, ptr %9, align 8
  %1161 = extractvalue { ptr, i32 } %1159, 1
  store i32 %1161, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #8
  br label %1321

1162:                                             ; preds = %1142
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #8
  %1163 = load i32, ptr %87, align 4, !tbaa !11
  %1164 = sext i32 %1163 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %93) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %92, i64 noundef %1164, i8 noundef signext 0, ptr noundef nonnull align 1 dereferenceable(1) %93)
          to label %1165 unwind label %1186

1165:                                             ; preds = %1162
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #8
  %1166 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %92, i64 noundef 0)
          to label %1167 unwind label %1190

1167:                                             ; preds = %1165
  %1168 = load i32, ptr %87, align 4, !tbaa !11
  %1169 = sext i32 %1168 to i64
  %1170 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %1166, i64 noundef %1169)
          to label %1171 unwind label %1190

1171:                                             ; preds = %1167
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #8
  %1172 = load ptr, ptr %6, align 8, !tbaa !5
  %1173 = getelementptr inbounds %struct.gptj_model, ptr %1172, i32 0, i32 10
  %1174 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(48) %1173, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %1175 unwind label %1194

1175:                                             ; preds = %1171
  %1176 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %94, i32 0, i32 0
  store ptr %1174, ptr %1176, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #8
  %1177 = load ptr, ptr %6, align 8, !tbaa !5
  %1178 = getelementptr inbounds %struct.gptj_model, ptr %1177, i32 0, i32 10
  %1179 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1178) #8
  %1180 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %95, i32 0, i32 0
  store ptr %1179, ptr %1180, align 8
  %1181 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorEESD_(ptr noundef nonnull align 8 dereferenceable(8) %94, ptr noundef nonnull align 8 dereferenceable(8) %95) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  br i1 %1181, label %1182, label %1198

1182:                                             ; preds = %1175
  %1183 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1184 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %92) #8
  %1185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1183, ptr noundef @.str.33, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %1184) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1314

1186:                                             ; preds = %1162
  %1187 = landingpad { ptr, i32 }
          cleanup
  %1188 = extractvalue { ptr, i32 } %1187, 0
  store ptr %1188, ptr %9, align 8
  %1189 = extractvalue { ptr, i32 } %1187, 1
  store i32 %1189, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %93) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %93) #8
  br label %1320

1190:                                             ; preds = %1167, %1165
  %1191 = landingpad { ptr, i32 }
          cleanup
  %1192 = extractvalue { ptr, i32 } %1191, 0
  store ptr %1192, ptr %9, align 8
  %1193 = extractvalue { ptr, i32 } %1191, 1
  store i32 %1193, ptr %10, align 4
  br label %1319

1194:                                             ; preds = %1171
  %1195 = landingpad { ptr, i32 }
          cleanup
  %1196 = extractvalue { ptr, i32 } %1195, 0
  store ptr %1196, ptr %9, align 8
  %1197 = extractvalue { ptr, i32 } %1195, 1
  store i32 %1197, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  br label %1319

1198:                                             ; preds = %1175
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #8
  %1199 = load ptr, ptr %6, align 8, !tbaa !5
  %1200 = getelementptr inbounds %struct.gptj_model, ptr %1199, i32 0, i32 10
  %1201 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %1200, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %1202 unwind label %1214

1202:                                             ; preds = %1198
  %1203 = load ptr, ptr %1201, align 8, !tbaa !5
  store ptr %1203, ptr %96, align 8, !tbaa !5
  %1204 = load ptr, ptr %96, align 8, !tbaa !5
  %1205 = invoke i64 @ggml_nelements(ptr noundef %1204)
          to label %1206 unwind label %1214

1206:                                             ; preds = %1202
  %1207 = load i32, ptr %89, align 4, !tbaa !11
  %1208 = sext i32 %1207 to i64
  %1209 = icmp ne i64 %1205, %1208
  br i1 %1209, label %1210, label %1218

1210:                                             ; preds = %1206
  %1211 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1212 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %92) #8
  %1213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1211, ptr noundef @.str.34, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %1212) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1313

1214:                                             ; preds = %1202, %1198
  %1215 = landingpad { ptr, i32 }
          cleanup
  %1216 = extractvalue { ptr, i32 } %1215, 0
  store ptr %1216, ptr %9, align 8
  %1217 = extractvalue { ptr, i32 } %1215, 1
  store i32 %1217, ptr %10, align 4
  br label %1318

1218:                                             ; preds = %1206
  %1219 = load ptr, ptr %96, align 8, !tbaa !5
  %1220 = getelementptr inbounds %struct.ggml_tensor, ptr %1219, i32 0, i32 2
  %1221 = getelementptr inbounds [4 x i64], ptr %1220, i64 0, i64 0
  %1222 = load i64, ptr %1221, align 8, !tbaa !42
  %1223 = getelementptr inbounds [2 x i32], ptr %90, i64 0, i64 0
  %1224 = load i32, ptr %1223, align 4, !tbaa !11
  %1225 = sext i32 %1224 to i64
  %1226 = icmp ne i64 %1222, %1225
  br i1 %1226, label %1236, label %1227

1227:                                             ; preds = %1218
  %1228 = load ptr, ptr %96, align 8, !tbaa !5
  %1229 = getelementptr inbounds %struct.ggml_tensor, ptr %1228, i32 0, i32 2
  %1230 = getelementptr inbounds [4 x i64], ptr %1229, i64 0, i64 1
  %1231 = load i64, ptr %1230, align 8, !tbaa !42
  %1232 = getelementptr inbounds [2 x i32], ptr %90, i64 0, i64 1
  %1233 = load i32, ptr %1232, align 4, !tbaa !11
  %1234 = sext i32 %1233 to i64
  %1235 = icmp ne i64 %1231, %1234
  br i1 %1235, label %1236, label %1254

1236:                                             ; preds = %1227, %1218
  %1237 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1238 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %92) #8
  %1239 = load ptr, ptr %96, align 8, !tbaa !5
  %1240 = getelementptr inbounds %struct.ggml_tensor, ptr %1239, i32 0, i32 2
  %1241 = getelementptr inbounds [4 x i64], ptr %1240, i64 0, i64 0
  %1242 = load i64, ptr %1241, align 8, !tbaa !42
  %1243 = trunc i64 %1242 to i32
  %1244 = load ptr, ptr %96, align 8, !tbaa !5
  %1245 = getelementptr inbounds %struct.ggml_tensor, ptr %1244, i32 0, i32 2
  %1246 = getelementptr inbounds [4 x i64], ptr %1245, i64 0, i64 1
  %1247 = load i64, ptr %1246, align 8, !tbaa !42
  %1248 = trunc i64 %1247 to i32
  %1249 = getelementptr inbounds [2 x i32], ptr %90, i64 0, i64 0
  %1250 = load i32, ptr %1249, align 4, !tbaa !11
  %1251 = getelementptr inbounds [2 x i32], ptr %90, i64 0, i64 1
  %1252 = load i32, ptr %1251, align 4, !tbaa !11
  %1253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1237, ptr noundef @.str.35, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %1238, i32 noundef %1243, i32 noundef %1248, i32 noundef %1250, i32 noundef %1252) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1313

1254:                                             ; preds = %1227
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #8
  %1255 = load i32, ptr %88, align 4, !tbaa !11
  %1256 = invoke i64 @ggml_type_size(i32 noundef %1255)
          to label %1257 unwind label %1283

1257:                                             ; preds = %1254
  store i64 %1256, ptr %97, align 8, !tbaa !42
  %1258 = load i32, ptr %89, align 4, !tbaa !11
  %1259 = sext i32 %1258 to i64
  %1260 = load i64, ptr %97, align 8, !tbaa !42
  %1261 = mul i64 %1259, %1260
  %1262 = load ptr, ptr %96, align 8, !tbaa !5
  %1263 = getelementptr inbounds %struct.ggml_tensor, ptr %1262, i32 0, i32 0
  %1264 = load i32, ptr %1263, align 8, !tbaa !71
  %1265 = invoke i64 @ggml_blck_size(i32 noundef %1264)
          to label %1266 unwind label %1283

1266:                                             ; preds = %1257
  %1267 = udiv i64 %1261, %1265
  %1268 = load ptr, ptr %96, align 8, !tbaa !5
  %1269 = invoke i64 @ggml_nbytes(ptr noundef %1268)
          to label %1270 unwind label %1283

1270:                                             ; preds = %1266
  %1271 = icmp ne i64 %1267, %1269
  br i1 %1271, label %1272, label %1287

1272:                                             ; preds = %1270
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1274 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %92) #8
  %1275 = load ptr, ptr %96, align 8, !tbaa !5
  %1276 = invoke i64 @ggml_nbytes(ptr noundef %1275)
          to label %1277 unwind label %1283

1277:                                             ; preds = %1272
  %1278 = load i32, ptr %89, align 4, !tbaa !11
  %1279 = sext i32 %1278 to i64
  %1280 = load i64, ptr %97, align 8, !tbaa !42
  %1281 = mul i64 %1279, %1280
  %1282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1273, ptr noundef @.str.36, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %1274, i64 noundef %1276, i64 noundef %1281) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1312

1283:                                             ; preds = %1307, %1305, %1295, %1293, %1287, %1272, %1266, %1257, %1254
  %1284 = landingpad { ptr, i32 }
          cleanup
  %1285 = extractvalue { ptr, i32 } %1284, 0
  store ptr %1285, ptr %9, align 8
  %1286 = extractvalue { ptr, i32 } %1284, 1
  store i32 %1286, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #8
  br label %1318

1287:                                             ; preds = %1270
  %1288 = load ptr, ptr %96, align 8, !tbaa !5
  %1289 = getelementptr inbounds %struct.ggml_tensor, ptr %1288, i32 0, i32 10
  %1290 = load ptr, ptr %1289, align 8, !tbaa !74
  %1291 = load ptr, ptr %96, align 8, !tbaa !5
  %1292 = invoke i64 @ggml_nbytes(ptr noundef %1291)
          to label %1293 unwind label %1283

1293:                                             ; preds = %1287
  %1294 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %1290, i64 noundef %1292)
          to label %1295 unwind label %1283

1295:                                             ; preds = %1293
  %1296 = load ptr, ptr %96, align 8, !tbaa !5
  %1297 = invoke i64 @ggml_nbytes(ptr noundef %1296)
          to label %1298 unwind label %1283

1298:                                             ; preds = %1295
  %1299 = load i64, ptr %85, align 8, !tbaa !42
  %1300 = add i64 %1299, %1297
  store i64 %1300, ptr %85, align 8, !tbaa !42
  %1301 = load i32, ptr %84, align 4, !tbaa !11
  %1302 = add nsw i32 %1301, 1
  store i32 %1302, ptr %84, align 4, !tbaa !11
  %1303 = srem i32 %1302, 8
  %1304 = icmp eq i32 %1303, 0
  br i1 %1304, label %1305, label %1311

1305:                                             ; preds = %1298
  %1306 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.37)
          to label %1307 unwind label %1283

1307:                                             ; preds = %1305
  %1308 = load ptr, ptr @stdout, align 8, !tbaa !5
  %1309 = invoke i32 @fflush(ptr noundef %1308)
          to label %1310 unwind label %1283

1310:                                             ; preds = %1307
  br label %1311

1311:                                             ; preds = %1310, %1298
  store i32 0, ptr %11, align 4
  br label %1312

1312:                                             ; preds = %1311, %1277
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #8
  br label %1313

1313:                                             ; preds = %1312, %1236, %1210
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  br label %1314

1314:                                             ; preds = %1313, %1182
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #8
  br label %1315

1315:                                             ; preds = %1314, %1118
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #8
  %1316 = load i32, ptr %11, align 4
  switch i32 %1316, label %1333 [
    i32 0, label %1317
    i32 9, label %1323
  ]

1317:                                             ; preds = %1315
  br label %1104, !llvm.loop !75

1318:                                             ; preds = %1283, %1214
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  br label %1319

1319:                                             ; preds = %1318, %1194, %1190
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #8
  br label %1320

1320:                                             ; preds = %1319, %1186
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #8
  br label %1321

1321:                                             ; preds = %1320, %1158
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #8
  br label %1322

1322:                                             ; preds = %1321, %1133
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #8
  br label %1337

1323:                                             ; preds = %1315
  %1324 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.38)
          to label %1325 unwind label %1129

1325:                                             ; preds = %1323
  %1326 = load i64, ptr %85, align 8, !tbaa !42
  %1327 = uitofp i64 %1326 to double
  %1328 = fdiv double %1327, 1.024000e+03
  %1329 = fdiv double %1328, 1.024000e+03
  %1330 = load i32, ptr %84, align 4, !tbaa !11
  %1331 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.39, ptr noundef @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, double noundef %1329, i32 noundef %1330)
          to label %1332 unwind label %1129

1332:                                             ; preds = %1325
  store i32 0, ptr %11, align 4
  br label %1333

1333:                                             ; preds = %1332, %1315
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #8
  %1334 = load i32, ptr %11, align 4
  switch i32 %1334, label %1342 [
    i32 0, label %1335
  ]

1335:                                             ; preds = %1333
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %8)
          to label %1336 unwind label %1338

1336:                                             ; preds = %1335
  store i1 true, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1342

1337:                                             ; preds = %1322, %1129
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #8
  br label %1343

1338:                                             ; preds = %1335
  %1339 = landingpad { ptr, i32 }
          cleanup
  %1340 = extractvalue { ptr, i32 } %1339, 0
  store ptr %1340, ptr %9, align 8
  %1341 = extractvalue { ptr, i32 } %1339, 1
  store i32 %1341, ptr %10, align 4
  br label %1343

1342:                                             ; preds = %1336, %1333, %536
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  br label %1344

1343:                                             ; preds = %1338, %1337, %1128, %1119, %531, %527
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  br label %1345

1344:                                             ; preds = %1342, %299
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #8
  br label %1346

1345:                                             ; preds = %1343, %310
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #8
  br label %1348

1346:                                             ; preds = %1344, %288, %132, %108
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %8) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %8) #8
  %1347 = load i1, ptr %4, align 1
  ret i1 %1347

1348:                                             ; preds = %1345, %309, %237, %127, %113
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %8) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %8) #8
  br label %1349

1349:                                             ; preds = %1348
  %1350 = load ptr, ptr %9, align 8
  %1351 = load i32, ptr %10, align 4
  %1352 = insertvalue { ptr, i32 } poison, ptr %1350, 0
  %1353 = insertvalue { ptr, i32 } %1352, i32 %1351, 1
  resume { ptr, i32 } %1353
}

declare i32 @printf(ptr noundef, ...) #3

; 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 uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef nonnull align 8 dereferenceable(32), 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, ...) #4

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, i64 noundef) #3

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

; 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 @_ZNSt6vectorIcSaIcEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

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

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

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

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

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

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

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

declare i32 @ggml_ftype_to_ggml_type(i32 noundef) #3

declare i64 @ggml_row_size(i32 noundef, i64 noundef) #3

declare ptr @ggml_init(ptr noundef byval(%struct.ggml_init_params) align 8) #3

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

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

declare ptr @ggml_new_tensor_2d(ptr noundef, i32 noundef, i64 noundef, i64 noundef) #3

declare ptr @ggml_new_tensor_1d(ptr noundef, i32 noundef, i64 noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) #2 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: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(80) ptr @_ZNSt6vectorI10gptj_layerSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #7

declare i64 @ggml_nbytes(ptr noundef) #3

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

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

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

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

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

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

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

declare i64 @ggml_nelements(ptr noundef) #3

declare i64 @ggml_type_size(i32 noundef) #3

declare i64 @ggml_blck_size(i32 noundef) #3

declare i32 @fflush(ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) #2 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 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 = { "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 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #6 = { 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 #7 = { 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 #8 = { nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"vtable pointer", !8, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!14, !12, i64 24}
!14 = !{!"_ZTS12gptj_hparams", !12, i64 0, !12, i64 4, !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20, !12, i64 24, !15, i64 28}
!15 = !{!"float", !7, i64 0}
!16 = !{!14, !12, i64 0}
!17 = !{!14, !12, i64 4}
!18 = !{!14, !12, i64 8}
!19 = !{!14, !12, i64 12}
!20 = !{!14, !12, i64 16}
!21 = !{!14, !12, i64 20}
!22 = !{!23, !12, i64 0}
!23 = !{!"_ZTS10gptj_model", !14, i64 0, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !24, i64 72, !6, i64 96, !6, i64 104, !6, i64 112, !28, i64 120}
!24 = !{!"_ZTSSt6vectorI10gptj_layerSaIS0_EE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseI10gptj_layerSaIS0_EE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseI10gptj_layerSaIS0_EE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseI10gptj_layerSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!28 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE", !29, i64 0}
!29 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !30, i64 0}
!30 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !31, i64 0, !33, i64 8}
!31 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !32, i64 0}
!32 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!33 = !{!"_ZTSSt15_Rb_tree_header", !34, i64 0, !36, i64 32}
!34 = !{!"_ZTSSt18_Rb_tree_node_base", !35, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!35 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!36 = !{!"long", !7, i64 0}
!37 = distinct !{!37, !38}
!38 = !{!"llvm.loop.mustprogress"}
!39 = !{!23, !12, i64 24}
!40 = !{!41, !41, i64 0}
!41 = !{!"_ZTS9ggml_type", !7, i64 0}
!42 = !{!36, !36, i64 0}
!43 = !{!44, !36, i64 0}
!44 = !{!"_ZTS16ggml_init_params", !36, i64 0, !6, i64 8, !45, i64 16}
!45 = !{!"bool", !7, i64 0}
!46 = !{!44, !6, i64 8}
!47 = !{!44, !45, i64 16}
!48 = !{i64 0, i64 8, !42, i64 8, i64 8, !5, i64 16, i64 1, !49}
!49 = !{!45, !45, i64 0}
!50 = !{!23, !6, i64 112}
!51 = !{!23, !6, i64 48}
!52 = !{!23, !6, i64 32}
!53 = !{!23, !6, i64 40}
!54 = !{!23, !6, i64 56}
!55 = !{!23, !6, i64 64}
!56 = !{!57, !6, i64 0}
!57 = !{!"_ZTS10gptj_layer", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72}
!58 = !{!57, !6, i64 8}
!59 = !{!57, !6, i64 16}
!60 = !{!57, !6, i64 24}
!61 = !{!57, !6, i64 32}
!62 = !{!57, !6, i64 40}
!63 = !{!57, !6, i64 48}
!64 = !{!57, !6, i64 56}
!65 = !{!57, !6, i64 64}
!66 = !{!57, !6, i64 72}
!67 = distinct !{!67, !38}
!68 = !{!23, !6, i64 96}
!69 = !{!23, !6, i64 104}
!70 = distinct !{!70, !38}
!71 = !{!72, !41, i64 0}
!72 = !{!"_ZTS11ggml_tensor", !41, i64 0, !6, i64 8, !7, i64 16, !7, i64 48, !73, i64 80, !7, i64 84, !12, i64 148, !7, i64 152, !6, i64 232, !36, i64 240, !6, i64 248, !7, i64 256, !6, i64 320, !7, i64 328}
!73 = !{!"_ZTS7ggml_op", !7, i64 0}
!74 = !{!72, !6, i64 248}
!75 = distinct !{!75, !38}


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

%"class.std::basic_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::__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::vector.12" = type { %"struct.std::_Vector_base.13" }
%"struct.std::_Vector_base.13" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.0" = type { i8 }
%struct.ggml_init_params = type { i64, ptr, i8 }
%"struct.std::_Rb_tree_iterator" = type { ptr }

@.str = external hidden unnamed_addr constant [47 x i8], align 1
@__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab = external hidden unnamed_addr constant [16 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [5 x i8], align 1
@__const._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab.ne = external hidden unnamed_addr constant [2 x i32], align 4
@.str.33 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [2 x i8], align 1
@stdout = external local_unnamed_addr global ptr, align 8
@.str.38 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [46 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 @_Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(168) %1, ptr noundef nonnull align 8 dereferenceable(120) %2) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::basic_ifstream", align 8
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::vector.12", align 8
  %9 = alloca %"class.std::allocator.0", align 1
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca %struct.ggml_init_params, align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator.0", align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator.0", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator.0", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator.0", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator.0", align 1
  %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::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca [2 x i32], align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::allocator.0", align 1
  %59 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %60 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %61 = tail call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %62 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %61)
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %4) #7
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %4, ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef 4)
  %63 = load ptr, ptr %4, align 8, !tbaa !5
  %64 = getelementptr i8, ptr %63, i64 -24
  %65 = load i64, ptr %64, align 8
  %66 = getelementptr inbounds i8, ptr %4, i64 %65
  %67 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %66)
          to label %68 unwind label %73

68:                                               ; preds = %3
  br i1 %67, label %69, label %75

69:                                               ; preds = %68
  %70 = load ptr, ptr @stderr, align 8, !tbaa !8
  %71 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %72 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %70, ptr noundef nonnull @.str.1, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %71) #8
  br label %678

73:                                               ; preds = %3
  %74 = landingpad { ptr, i32 }
          cleanup
  br label %679

75:                                               ; preds = %68
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #7
  %76 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %5, i64 noundef 4)
          to label %77 unwind label %83

77:                                               ; preds = %75
  %78 = load i32, ptr %5, align 4, !tbaa !11
  %.not = icmp eq i32 %78, 1734831468
  br i1 %.not, label %.critedge, label %79

79:                                               ; preds = %77
  %80 = load ptr, ptr @stderr, align 8, !tbaa !8
  %81 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %82 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %80, ptr noundef nonnull @.str.2, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %81) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #7
  br label %678

83:                                               ; preds = %75
  %84 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #7
  br label %679

.critedge:                                        ; preds = %77
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #7
  %85 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %1, i64 noundef 4)
          to label %86 unwind label %133

86:                                               ; preds = %.critedge
  %87 = getelementptr inbounds i8, ptr %1, i64 4
  %88 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %87, i64 noundef 4)
          to label %89 unwind label %133

89:                                               ; preds = %86
  %90 = getelementptr inbounds i8, ptr %1, i64 8
  %91 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %90, i64 noundef 4)
          to label %92 unwind label %133

92:                                               ; preds = %89
  %93 = getelementptr inbounds i8, ptr %1, i64 12
  %94 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %93, i64 noundef 4)
          to label %95 unwind label %133

95:                                               ; preds = %92
  %96 = getelementptr inbounds i8, ptr %1, i64 16
  %97 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %96, i64 noundef 4)
          to label %98 unwind label %133

98:                                               ; preds = %95
  %99 = getelementptr inbounds i8, ptr %1, i64 20
  %100 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %99, i64 noundef 4)
          to label %101 unwind label %133

101:                                              ; preds = %98
  %102 = getelementptr inbounds i8, ptr %1, i64 24
  %103 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %102, i64 noundef 4)
          to label %104 unwind label %133

104:                                              ; preds = %101
  %105 = load i32, ptr %102, align 8, !tbaa !13
  %106 = sdiv i32 %105, 1000
  %107 = load i32, ptr %1, align 8, !tbaa !16
  %108 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %107)
  %109 = load i32, ptr %87, align 4, !tbaa !17
  %110 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %109)
  %111 = load i32, ptr %90, align 8, !tbaa !18
  %112 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %111)
  %113 = load i32, ptr %93, align 4, !tbaa !19
  %114 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %113)
  %115 = load i32, ptr %96, align 8, !tbaa !20
  %116 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.7, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %115)
  %117 = load i32, ptr %99, align 4, !tbaa !21
  %118 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %117)
  %119 = load i32, ptr %102, align 8, !tbaa !13
  %120 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.9, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %119)
  %121 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.10, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, i32 noundef %106)
  %122 = load i32, ptr %102, align 8, !tbaa !13
  %123 = srem i32 %122, 1000
  store i32 %123, ptr %102, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #7
  store i32 0, ptr %6, align 4, !tbaa !11
  %124 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %6, i64 noundef 4)
          to label %125 unwind label %135

125:                                              ; preds = %104
  %126 = load i32, ptr %6, align 4, !tbaa !11
  %127 = load i32, ptr %1, align 8, !tbaa !22
  %.not346 = icmp eq i32 %126, %127
  br i1 %.not346, label %137, label %.thread

.thread:                                          ; preds = %125
  %128 = load ptr, ptr @stderr, align 8, !tbaa !8
  %129 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %130 = load i32, ptr %6, align 4, !tbaa !11
  %131 = load i32, ptr %1, align 8, !tbaa !22
  %132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %128, ptr noundef nonnull @.str.11, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %129, i32 noundef %130, i32 noundef %131) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  br label %678

133:                                              ; preds = %101, %98, %95, %92, %89, %86, %.critedge
  %134 = landingpad { ptr, i32 }
          cleanup
  br label %679

135:                                              ; preds = %104
  %136 = landingpad { ptr, i32 }
          cleanup
  br label %183

137:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  invoke void @_ZNSt6vectorIcSaIcEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef 128, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %138 unwind label %142

138:                                              ; preds = %137
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #7
  store i32 0, ptr %10, align 4, !tbaa !11
  %139 = load i32, ptr %6, align 4, !tbaa !11
  %140 = icmp sgt i32 %139, 0
  br i1 %140, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %138
  %141 = getelementptr inbounds i8, ptr %2, i64 48
  br label %144

142:                                              ; preds = %137
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  br label %182

144:                                              ; preds = %.lr.ph, %166
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #7
  %145 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %11, i64 noundef 4)
          to label %146 unwind label %171

146:                                              ; preds = %144
  %147 = load i32, ptr %11, align 4, !tbaa !11
  %148 = zext i32 %147 to i64
  invoke void @_ZNSt6vectorIcSaIcEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %148)
          to label %149 unwind label %171

149:                                              ; preds = %146
  %150 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  %151 = load i32, ptr %11, align 4, !tbaa !11
  %152 = zext i32 %151 to i64
  %153 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef %150, i64 noundef %152)
          to label %154 unwind label %171

154:                                              ; preds = %149
  %155 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  %156 = load i32, ptr %11, align 4, !tbaa !11
  %157 = zext i32 %156 to i64
  %158 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef %155, i64 noundef %157)
          to label %159 unwind label %171

159:                                              ; preds = %154
  %160 = load i32, ptr %10, align 4, !tbaa !11
  %161 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %2, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %162 unwind label %171

162:                                              ; preds = %159
  store i32 %160, ptr %161, align 4, !tbaa !11
  %163 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %141, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %164 unwind label %171

164:                                              ; preds = %162
  %165 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %163, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %166 unwind label %171

166:                                              ; preds = %164
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #7
  %167 = load i32, ptr %10, align 4, !tbaa !11
  %168 = add nsw i32 %167, 1
  store i32 %168, ptr %10, align 4, !tbaa !11
  %169 = load i32, ptr %6, align 4, !tbaa !11
  %170 = icmp slt i32 %168, %169
  br i1 %170, label %144, label %._crit_edge, !llvm.loop !37

171:                                              ; preds = %164, %162, %159, %154, %149, %146, %144
  %172 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  br label %182

._crit_edge:                                      ; preds = %166, %138
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #7
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  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
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  %173 = load i32, ptr %102, align 8, !tbaa !39
  %174 = invoke i32 @ggml_ftype_to_ggml_type(i32 noundef %173)
          to label %175 unwind label %184

175:                                              ; preds = %._crit_edge
  %176 = icmp eq i32 %174, 39
  br i1 %176, label %177, label %186

177:                                              ; preds = %175
  %178 = load ptr, ptr @stderr, align 8, !tbaa !8
  %179 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %180 = load i32, ptr %102, align 8, !tbaa !39
  %181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %178, ptr noundef nonnull @.str.12, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %179, i32 noundef %180) #8
  br label %678

182:                                              ; preds = %171, %142
  %.pn = phi { ptr, i32 } [ %172, %171 ], [ %143, %142 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #7
  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 %183

183:                                              ; preds = %182, %135
  %.pn.pn = phi { ptr, i32 } [ %.pn, %182 ], [ %136, %135 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #7
  br label %679

184:                                              ; preds = %._crit_edge
  %185 = landingpad { ptr, i32 }
          cleanup
  br label %679

186:                                              ; preds = %175
  %187 = getelementptr inbounds i8, ptr %1, i64 112
  %188 = load i32, ptr %90, align 8, !tbaa !18
  %189 = load i32, ptr %96, align 8, !tbaa !20
  %190 = load i32, ptr %87, align 4, !tbaa !17
  %191 = load i32, ptr %1, align 8, !tbaa !16
  %192 = sext i32 %188 to i64
  %193 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %192)
          to label %194 unwind label %257

194:                                              ; preds = %186
  %195 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %192)
          to label %196 unwind label %257

196:                                              ; preds = %194
  %197 = mul nsw i32 %191, %188
  %198 = sext i32 %197 to i64
  %199 = invoke i64 @ggml_row_size(i32 noundef %174, i64 noundef %198)
          to label %200 unwind label %257

200:                                              ; preds = %196
  %201 = invoke i64 @ggml_row_size(i32 noundef %174, i64 noundef %198)
          to label %202 unwind label %257

202:                                              ; preds = %200
  %203 = sext i32 %191 to i64
  %204 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %203)
          to label %205 unwind label %257

205:                                              ; preds = %202
  %206 = sext i32 %189 to i64
  %207 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %192)
          to label %208 unwind label %257

208:                                              ; preds = %205
  %209 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %192)
          to label %210 unwind label %257

210:                                              ; preds = %208
  %211 = mul nsw i32 %188, %188
  %212 = zext nneg i32 %211 to i64
  %213 = invoke i64 @ggml_row_size(i32 noundef %174, i64 noundef %212)
          to label %214 unwind label %257

214:                                              ; preds = %210
  %215 = invoke i64 @ggml_row_size(i32 noundef %174, i64 noundef %212)
          to label %216 unwind label %257

216:                                              ; preds = %214
  %217 = invoke i64 @ggml_row_size(i32 noundef %174, i64 noundef %212)
          to label %218 unwind label %257

218:                                              ; preds = %216
  %219 = invoke i64 @ggml_row_size(i32 noundef %174, i64 noundef %212)
          to label %220 unwind label %257

220:                                              ; preds = %218
  %221 = shl nsw i32 %188, 2
  %222 = mul nsw i32 %221, %188
  %223 = sext i32 %222 to i64
  %224 = invoke i64 @ggml_row_size(i32 noundef %174, i64 noundef %223)
          to label %225 unwind label %257

225:                                              ; preds = %220
  %226 = sext i32 %221 to i64
  %227 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %226)
          to label %228 unwind label %257

228:                                              ; preds = %225
  %229 = invoke i64 @ggml_row_size(i32 noundef %174, i64 noundef %223)
          to label %230 unwind label %257

230:                                              ; preds = %228
  %231 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %192)
          to label %232 unwind label %257

232:                                              ; preds = %230
  %233 = mul nsw i32 %190, %189
  %234 = sext i32 %233 to i64
  %235 = invoke i64 @ggml_row_size(i32 noundef 1, i64 noundef %192)
          to label %236 unwind label %257

236:                                              ; preds = %232
  %237 = invoke i64 @ggml_row_size(i32 noundef 1, i64 noundef %192)
          to label %238 unwind label %257

238:                                              ; preds = %236
  %239 = mul i32 %189, 5120
  %240 = add i32 %239, 2560
  %241 = sext i32 %240 to i64
  %reass.add = add i64 %209, %207
  %reass.add423 = add i64 %reass.add, %213
  %reass.add424 = add i64 %reass.add423, %215
  %reass.add425 = add i64 %reass.add424, %217
  %reass.add426 = add i64 %reass.add425, %219
  %reass.add427 = add i64 %reass.add426, %224
  %reass.add428 = add i64 %reass.add427, %227
  %reass.add429 = add i64 %reass.add428, %229
  %reass.add430 = add i64 %reass.add429, %231
  %reass.mul = mul i64 %reass.add430, %206
  %reass.add431 = add i64 %237, %235
  %reass.mul432 = mul i64 %reass.add431, %234
  %242 = add i64 %193, %241
  %243 = add i64 %242, %195
  %244 = add i64 %243, %199
  %245 = add i64 %244, %201
  %246 = add i64 %245, %204
  %247 = add i64 %246, %reass.mul
  %248 = add i64 %247, %reass.mul432
  %249 = uitofp i64 %248 to double
  %250 = fmul double %249, 0x3EB0000000000000
  %251 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.13, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, double noundef %250)
  store i64 %248, ptr %12, align 8, !tbaa !40
  %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %12, i64 8
  store ptr null, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !8
  %.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %12, i64 16
  store i8 0, ptr %.sroa.6.0..sroa_idx, align 8, !tbaa !41
  %252 = invoke ptr @ggml_init(ptr noundef nonnull byval(%struct.ggml_init_params) align 8 %12)
          to label %253 unwind label %259

253:                                              ; preds = %238
  store ptr %252, ptr %187, align 8, !tbaa !43
  %.not349.not = icmp eq ptr %252, null
  br i1 %.not349.not, label %254, label %.critedge409

254:                                              ; preds = %253
  %255 = load ptr, ptr @stderr, align 8, !tbaa !8
  %256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %255, ptr noundef nonnull @.str.14, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab) #8
  br label %678

257:                                              ; preds = %236, %232, %230, %228, %225, %220, %218, %216, %214, %210, %208, %205, %202, %200, %196, %194, %186
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %679

259:                                              ; preds = %238
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %679

.critedge409:                                     ; preds = %253
  %261 = load i32, ptr %90, align 8, !tbaa !18
  %262 = load i32, ptr %96, align 8, !tbaa !20
  %263 = load i32, ptr %1, align 8, !tbaa !16
  %264 = getelementptr inbounds i8, ptr %1, i64 72
  %265 = sext i32 %262 to i64
  invoke void @_ZNSt6vectorI10gptj_layerSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %264, i64 noundef %265)
          to label %266 unwind label %321

266:                                              ; preds = %.critedge409
  %267 = load ptr, ptr %187, align 8, !tbaa !8
  %268 = sext i32 %261 to i64
  %269 = sext i32 %263 to i64
  %270 = invoke ptr @ggml_new_tensor_2d(ptr noundef %267, i32 noundef %174, i64 noundef %268, i64 noundef %269)
          to label %271 unwind label %321

271:                                              ; preds = %266
  %272 = getelementptr inbounds i8, ptr %1, i64 48
  store ptr %270, ptr %272, align 8, !tbaa !44
  %273 = load ptr, ptr %187, align 8, !tbaa !8
  %274 = invoke ptr @ggml_new_tensor_1d(ptr noundef %273, i32 noundef 0, i64 noundef %268)
          to label %275 unwind label %321

275:                                              ; preds = %271
  %276 = getelementptr inbounds i8, ptr %1, i64 32
  store ptr %274, ptr %276, align 8, !tbaa !45
  %277 = load ptr, ptr %187, align 8, !tbaa !8
  %278 = invoke ptr @ggml_new_tensor_1d(ptr noundef %277, i32 noundef 0, i64 noundef %268)
          to label %279 unwind label %321

279:                                              ; preds = %275
  %280 = getelementptr inbounds i8, ptr %1, i64 40
  store ptr %278, ptr %280, align 8, !tbaa !46
  %281 = load ptr, ptr %187, align 8, !tbaa !8
  %282 = invoke ptr @ggml_new_tensor_2d(ptr noundef %281, i32 noundef %174, i64 noundef %268, i64 noundef %269)
          to label %283 unwind label %321

283:                                              ; preds = %279
  %284 = getelementptr inbounds i8, ptr %1, i64 56
  store ptr %282, ptr %284, align 8, !tbaa !47
  %285 = load ptr, ptr %187, align 8, !tbaa !8
  %286 = invoke ptr @ggml_new_tensor_1d(ptr noundef %285, i32 noundef 0, i64 noundef %269)
          to label %287 unwind label %321

287:                                              ; preds = %283
  %288 = getelementptr inbounds i8, ptr %1, i64 64
  store ptr %286, ptr %288, align 8, !tbaa !48
  %289 = load ptr, ptr %272, align 8, !tbaa !44
  %290 = getelementptr inbounds i8, ptr %1, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %291 unwind label %323

291:                                              ; preds = %287
  %292 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %293 unwind label %325

293:                                              ; preds = %291
  store ptr %289, ptr %292, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  %294 = load ptr, ptr %276, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %295 unwind label %328

295:                                              ; preds = %293
  %296 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %297 unwind label %330

297:                                              ; preds = %295
  store ptr %294, ptr %296, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  %298 = load ptr, ptr %280, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %299 unwind label %333

299:                                              ; preds = %297
  %300 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %301 unwind label %335

301:                                              ; preds = %299
  store ptr %298, ptr %300, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  %302 = load ptr, ptr %284, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %303 unwind label %338

303:                                              ; preds = %301
  %304 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %305 unwind label %340

305:                                              ; preds = %303
  store ptr %302, ptr %304, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  %306 = load ptr, ptr %288, align 8, !tbaa !48
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %307 unwind label %343

307:                                              ; preds = %305
  %308 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %309 unwind label %345

309:                                              ; preds = %307
  store ptr %306, ptr %308, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  %310 = icmp sgt i32 %262, 0
  br i1 %310, label %.lr.ph465, label %._crit_edge466

.lr.ph465:                                        ; preds = %309
  %311 = shl nsw i32 %261, 2
  %312 = sext i32 %311 to i64
  %wide.trip.count = zext nneg i32 %262 to i64
  br label %348

._crit_edge466:                                   ; preds = %439, %309
  %313 = load i32, ptr %90, align 8, !tbaa !18
  %314 = load i32, ptr %96, align 8, !tbaa !20
  %315 = load i32, ptr %87, align 4, !tbaa !17
  %316 = mul nsw i32 %315, %314
  %317 = mul nsw i32 %316, %313
  %318 = load ptr, ptr %187, align 8, !tbaa !8
  %319 = sext i32 %317 to i64
  %320 = invoke ptr @ggml_new_tensor_1d(ptr noundef %318, i32 noundef 1, i64 noundef %319)
          to label %522 unwind label %554

321:                                              ; preds = %283, %279, %275, %271, %266, %.critedge409
  %322 = landingpad { ptr, i32 }
          cleanup
  br label %679

323:                                              ; preds = %287
  %324 = landingpad { ptr, i32 }
          cleanup
  br label %327

325:                                              ; preds = %291
  %326 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #7
  br label %327

327:                                              ; preds = %325, %323
  %.pn350 = phi { ptr, i32 } [ %326, %325 ], [ %324, %323 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #7
  br label %679

328:                                              ; preds = %293
  %329 = landingpad { ptr, i32 }
          cleanup
  br label %332

330:                                              ; preds = %295
  %331 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  br label %332

332:                                              ; preds = %330, %328
  %.pn352 = phi { ptr, i32 } [ %331, %330 ], [ %329, %328 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %679

333:                                              ; preds = %297
  %334 = landingpad { ptr, i32 }
          cleanup
  br label %337

335:                                              ; preds = %299
  %336 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %337

337:                                              ; preds = %335, %333
  %.pn354 = phi { ptr, i32 } [ %336, %335 ], [ %334, %333 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %679

338:                                              ; preds = %301
  %339 = landingpad { ptr, i32 }
          cleanup
  br label %342

340:                                              ; preds = %303
  %341 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %342

342:                                              ; preds = %340, %338
  %.pn356 = phi { ptr, i32 } [ %341, %340 ], [ %339, %338 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %679

343:                                              ; preds = %305
  %344 = landingpad { ptr, i32 }
          cleanup
  br label %347

345:                                              ; preds = %307
  %346 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %347

347:                                              ; preds = %345, %343
  %.pn358 = phi { ptr, i32 } [ %346, %345 ], [ %344, %343 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br label %679

348:                                              ; preds = %.lr.ph465, %439
  %indvars.iv = phi i64 [ 0, %.lr.ph465 ], [ %indvars.iv.next, %439 ]
  %349 = call noundef nonnull align 8 dereferenceable(80) ptr @_ZNSt6vectorI10gptj_layerSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %264, i64 noundef %indvars.iv) #7
  %350 = load ptr, ptr %187, align 8, !tbaa !8
  %351 = invoke ptr @ggml_new_tensor_1d(ptr noundef %350, i32 noundef 0, i64 noundef %268)
          to label %352 unwind label %440

352:                                              ; preds = %348
  store ptr %351, ptr %349, align 8, !tbaa !49
  %353 = load ptr, ptr %187, align 8, !tbaa !8
  %354 = invoke ptr @ggml_new_tensor_1d(ptr noundef %353, i32 noundef 0, i64 noundef %268)
          to label %355 unwind label %440

355:                                              ; preds = %352
  %356 = getelementptr inbounds i8, ptr %349, i64 8
  store ptr %354, ptr %356, align 8, !tbaa !51
  %357 = load ptr, ptr %187, align 8, !tbaa !8
  %358 = invoke ptr @ggml_new_tensor_2d(ptr noundef %357, i32 noundef %174, i64 noundef %268, i64 noundef %268)
          to label %359 unwind label %440

359:                                              ; preds = %355
  %360 = getelementptr inbounds i8, ptr %349, i64 16
  store ptr %358, ptr %360, align 8, !tbaa !52
  %361 = load ptr, ptr %187, align 8, !tbaa !8
  %362 = invoke ptr @ggml_new_tensor_2d(ptr noundef %361, i32 noundef %174, i64 noundef %268, i64 noundef %268)
          to label %363 unwind label %440

363:                                              ; preds = %359
  %364 = getelementptr inbounds i8, ptr %349, i64 24
  store ptr %362, ptr %364, align 8, !tbaa !53
  %365 = load ptr, ptr %187, align 8, !tbaa !8
  %366 = invoke ptr @ggml_new_tensor_2d(ptr noundef %365, i32 noundef %174, i64 noundef %268, i64 noundef %268)
          to label %367 unwind label %440

367:                                              ; preds = %363
  %368 = getelementptr inbounds i8, ptr %349, i64 32
  store ptr %366, ptr %368, align 8, !tbaa !54
  %369 = load ptr, ptr %187, align 8, !tbaa !8
  %370 = invoke ptr @ggml_new_tensor_2d(ptr noundef %369, i32 noundef %174, i64 noundef %268, i64 noundef %268)
          to label %371 unwind label %440

371:                                              ; preds = %367
  %372 = getelementptr inbounds i8, ptr %349, i64 40
  store ptr %370, ptr %372, align 8, !tbaa !55
  %373 = load ptr, ptr %187, align 8, !tbaa !8
  %374 = invoke ptr @ggml_new_tensor_2d(ptr noundef %373, i32 noundef %174, i64 noundef %268, i64 noundef %312)
          to label %375 unwind label %440

375:                                              ; preds = %371
  %376 = getelementptr inbounds i8, ptr %349, i64 48
  store ptr %374, ptr %376, align 8, !tbaa !56
  %377 = load ptr, ptr %187, align 8, !tbaa !8
  %378 = invoke ptr @ggml_new_tensor_1d(ptr noundef %377, i32 noundef 0, i64 noundef %312)
          to label %379 unwind label %440

379:                                              ; preds = %375
  %380 = getelementptr inbounds i8, ptr %349, i64 56
  store ptr %378, ptr %380, align 8, !tbaa !57
  %381 = load ptr, ptr %187, align 8, !tbaa !8
  %382 = invoke ptr @ggml_new_tensor_2d(ptr noundef %381, i32 noundef %174, i64 noundef %312, i64 noundef %268)
          to label %383 unwind label %440

383:                                              ; preds = %379
  %384 = getelementptr inbounds i8, ptr %349, i64 64
  store ptr %382, ptr %384, align 8, !tbaa !58
  %385 = load ptr, ptr %187, align 8, !tbaa !8
  %386 = invoke ptr @ggml_new_tensor_1d(ptr noundef %385, i32 noundef 0, i64 noundef %268)
          to label %387 unwind label %440

387:                                              ; preds = %383
  %388 = getelementptr inbounds i8, ptr %349, i64 72
  store ptr %386, ptr %388, align 8, !tbaa !59
  %389 = load ptr, ptr %349, align 8, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #7
  %390 = trunc nuw nsw i64 %indvars.iv to i32
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %391 unwind label %442

391:                                              ; preds = %387
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.21)
          to label %392 unwind label %444

392:                                              ; preds = %391
  %393 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %394 unwind label %446

394:                                              ; preds = %392
  store ptr %389, ptr %393, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  %395 = load ptr, ptr %356, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %396 unwind label %450

396:                                              ; preds = %394
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.22)
          to label %397 unwind label %452

397:                                              ; preds = %396
  %398 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %399 unwind label %454

399:                                              ; preds = %397
  store ptr %395, ptr %398, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  %400 = load ptr, ptr %360, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %401 unwind label %458

401:                                              ; preds = %399
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.23)
          to label %402 unwind label %460

402:                                              ; preds = %401
  %403 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %404 unwind label %462

404:                                              ; preds = %402
  store ptr %400, ptr %403, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  %405 = load ptr, ptr %364, align 8, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %406 unwind label %466

406:                                              ; preds = %404
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef nonnull @.str.24)
          to label %407 unwind label %468

407:                                              ; preds = %406
  %408 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %409 unwind label %470

409:                                              ; preds = %407
  store ptr %405, ptr %408, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #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 nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  %410 = load ptr, ptr %368, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %411 unwind label %474

411:                                              ; preds = %409
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.25)
          to label %412 unwind label %476

412:                                              ; preds = %411
  %413 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %414 unwind label %478

414:                                              ; preds = %412
  store ptr %410, ptr %413, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  %415 = load ptr, ptr %372, align 8, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %416 unwind label %482

416:                                              ; preds = %414
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull @.str.26)
          to label %417 unwind label %484

417:                                              ; preds = %416
  %418 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %419 unwind label %486

419:                                              ; preds = %417
  store ptr %415, ptr %418, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #7
  %420 = load ptr, ptr %376, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %421 unwind label %490

421:                                              ; preds = %419
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef nonnull @.str.27)
          to label %422 unwind label %492

422:                                              ; preds = %421
  %423 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %424 unwind label %494

424:                                              ; preds = %422
  store ptr %420, ptr %423, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  %425 = load ptr, ptr %380, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %426 unwind label %498

426:                                              ; preds = %424
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull @.str.28)
          to label %427 unwind label %500

427:                                              ; preds = %426
  %428 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %429 unwind label %502

429:                                              ; preds = %427
  store ptr %425, ptr %428, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  %430 = load ptr, ptr %384, align 8, !tbaa !58
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %431 unwind label %506

431:                                              ; preds = %429
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef nonnull @.str.29)
          to label %432 unwind label %508

432:                                              ; preds = %431
  %433 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %434 unwind label %510

434:                                              ; preds = %432
  store ptr %430, ptr %433, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  %435 = load ptr, ptr %388, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, i32 noundef %390) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %436 unwind label %514

436:                                              ; preds = %434
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.30)
          to label %437 unwind label %516

437:                                              ; preds = %436
  %438 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %439 unwind label %518

439:                                              ; preds = %437
  store ptr %435, ptr %438, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge466, label %348, !llvm.loop !60

440:                                              ; preds = %383, %379, %375, %371, %367, %363, %359, %355, %352, %348
  %441 = landingpad { ptr, i32 }
          cleanup
  br label %679

442:                                              ; preds = %387
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %449

444:                                              ; preds = %391
  %445 = landingpad { ptr, i32 }
          cleanup
  br label %448

446:                                              ; preds = %392
  %447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %448

448:                                              ; preds = %446, %444
  %.pn373 = phi { ptr, i32 } [ %447, %446 ], [ %445, %444 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  br label %449

449:                                              ; preds = %448, %442
  %.pn373.pn = phi { ptr, i32 } [ %.pn373, %448 ], [ %443, %442 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %679

450:                                              ; preds = %394
  %451 = landingpad { ptr, i32 }
          cleanup
  br label %457

452:                                              ; preds = %396
  %453 = landingpad { ptr, i32 }
          cleanup
  br label %456

454:                                              ; preds = %397
  %455 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %456

456:                                              ; preds = %454, %452
  %.pn376 = phi { ptr, i32 } [ %455, %454 ], [ %453, %452 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  br label %457

457:                                              ; preds = %456, %450
  %.pn376.pn = phi { ptr, i32 } [ %.pn376, %456 ], [ %451, %450 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %679

458:                                              ; preds = %399
  %459 = landingpad { ptr, i32 }
          cleanup
  br label %465

460:                                              ; preds = %401
  %461 = landingpad { ptr, i32 }
          cleanup
  br label %464

462:                                              ; preds = %402
  %463 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  br label %464

464:                                              ; preds = %462, %460
  %.pn379 = phi { ptr, i32 } [ %463, %462 ], [ %461, %460 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  br label %465

465:                                              ; preds = %464, %458
  %.pn379.pn = phi { ptr, i32 } [ %.pn379, %464 ], [ %459, %458 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  br label %679

466:                                              ; preds = %404
  %467 = landingpad { ptr, i32 }
          cleanup
  br label %473

468:                                              ; preds = %406
  %469 = landingpad { ptr, i32 }
          cleanup
  br label %472

470:                                              ; preds = %407
  %471 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  br label %472

472:                                              ; preds = %470, %468
  %.pn382 = phi { ptr, i32 } [ %471, %470 ], [ %469, %468 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  br label %473

473:                                              ; preds = %472, %466
  %.pn382.pn = phi { ptr, i32 } [ %.pn382, %472 ], [ %467, %466 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  br label %679

474:                                              ; preds = %409
  %475 = landingpad { ptr, i32 }
          cleanup
  br label %481

476:                                              ; preds = %411
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %480

478:                                              ; preds = %412
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %480

480:                                              ; preds = %478, %476
  %.pn385 = phi { ptr, i32 } [ %479, %478 ], [ %477, %476 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  br label %481

481:                                              ; preds = %480, %474
  %.pn385.pn = phi { ptr, i32 } [ %.pn385, %480 ], [ %475, %474 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  br label %679

482:                                              ; preds = %414
  %483 = landingpad { ptr, i32 }
          cleanup
  br label %489

484:                                              ; preds = %416
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %488

486:                                              ; preds = %417
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %488

488:                                              ; preds = %486, %484
  %.pn388 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  br label %489

489:                                              ; preds = %488, %482
  %.pn388.pn = phi { ptr, i32 } [ %.pn388, %488 ], [ %483, %482 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #7
  br label %679

490:                                              ; preds = %419
  %491 = landingpad { ptr, i32 }
          cleanup
  br label %497

492:                                              ; preds = %421
  %493 = landingpad { ptr, i32 }
          cleanup
  br label %496

494:                                              ; preds = %422
  %495 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %496

496:                                              ; preds = %494, %492
  %.pn391 = phi { ptr, i32 } [ %495, %494 ], [ %493, %492 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  br label %497

497:                                              ; preds = %496, %490
  %.pn391.pn = phi { ptr, i32 } [ %.pn391, %496 ], [ %491, %490 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  br label %679

498:                                              ; preds = %424
  %499 = landingpad { ptr, i32 }
          cleanup
  br label %505

500:                                              ; preds = %426
  %501 = landingpad { ptr, i32 }
          cleanup
  br label %504

502:                                              ; preds = %427
  %503 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %504

504:                                              ; preds = %502, %500
  %.pn394 = phi { ptr, i32 } [ %503, %502 ], [ %501, %500 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  br label %505

505:                                              ; preds = %504, %498
  %.pn394.pn = phi { ptr, i32 } [ %.pn394, %504 ], [ %499, %498 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  br label %679

506:                                              ; preds = %429
  %507 = landingpad { ptr, i32 }
          cleanup
  br label %513

508:                                              ; preds = %431
  %509 = landingpad { ptr, i32 }
          cleanup
  br label %512

510:                                              ; preds = %432
  %511 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %512

512:                                              ; preds = %510, %508
  %.pn397 = phi { ptr, i32 } [ %511, %510 ], [ %509, %508 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  br label %513

513:                                              ; preds = %512, %506
  %.pn397.pn = phi { ptr, i32 } [ %.pn397, %512 ], [ %507, %506 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  br label %679

514:                                              ; preds = %434
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %521

516:                                              ; preds = %436
  %517 = landingpad { ptr, i32 }
          cleanup
  br label %520

518:                                              ; preds = %437
  %519 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %520

520:                                              ; preds = %518, %516
  %.pn400 = phi { ptr, i32 } [ %519, %518 ], [ %517, %516 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  br label %521

521:                                              ; preds = %520, %514
  %.pn400.pn = phi { ptr, i32 } [ %.pn400, %520 ], [ %515, %514 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  br label %679

522:                                              ; preds = %._crit_edge466
  %523 = getelementptr inbounds i8, ptr %1, i64 96
  store ptr %320, ptr %523, align 8, !tbaa !61
  %524 = load ptr, ptr %187, align 8, !tbaa !8
  %525 = invoke ptr @ggml_new_tensor_1d(ptr noundef %524, i32 noundef 1, i64 noundef %319)
          to label %526 unwind label %554

526:                                              ; preds = %522
  %527 = getelementptr inbounds i8, ptr %1, i64 104
  store ptr %525, ptr %527, align 8, !tbaa !62
  %528 = load ptr, ptr %523, align 8, !tbaa !61
  %529 = invoke i64 @ggml_nbytes(ptr noundef %528)
          to label %530 unwind label %556

530:                                              ; preds = %526
  %531 = load ptr, ptr %527, align 8, !tbaa !62
  %532 = invoke i64 @ggml_nbytes(ptr noundef %531)
          to label %533 unwind label %556

533:                                              ; preds = %530
  %534 = add i64 %532, %529
  %535 = uitofp i64 %534 to double
  %536 = fmul double %535, 0x3F50000000000000
  %537 = fmul double %536, 0x3F50000000000000
  %538 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.31, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, double noundef %537, i32 noundef %316)
  %539 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.32, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab)
  %540 = load i64, ptr @__const._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab.ne, align 4
  %541 = getelementptr inbounds i8, ptr %56, i64 4
  br label %542

542:                                              ; preds = %664, %533
  %.0293 = phi i32 [ 0, %533 ], [ %657, %664 ]
  %.0288 = phi i64 [ 0, %533 ], [ %656, %664 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #7
  %543 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %53, i64 noundef 4)
          to label %544 unwind label %558

544:                                              ; preds = %542
  %545 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %54, i64 noundef 4)
          to label %546 unwind label %558

546:                                              ; preds = %544
  %547 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %55, i64 noundef 4)
          to label %548 unwind label %558

548:                                              ; preds = %546
  %549 = load ptr, ptr %4, align 8, !tbaa !5
  %550 = getelementptr i8, ptr %549, i64 -24
  %551 = load i64, ptr %550, align 8
  %552 = getelementptr inbounds i8, ptr %4, i64 %551
  %553 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %552)
  br i1 %553, label %670, label %560

554:                                              ; preds = %522, %._crit_edge466
  %555 = landingpad { ptr, i32 }
          cleanup
  br label %679

556:                                              ; preds = %530, %526
  %557 = landingpad { ptr, i32 }
          cleanup
  br label %679

558:                                              ; preds = %546, %544, %542
  %559 = landingpad { ptr, i32 }
          cleanup
  br label %668

560:                                              ; preds = %548
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #7
  store i64 %540, ptr %56, align 8
  %561 = load i32, ptr %53, align 4, !tbaa !11
  %562 = icmp sgt i32 %561, 0
  br i1 %562, label %.lr.ph470, label %._crit_edge471

._crit_edge471:                                   ; preds = %567, %560
  %.0287.lcssa = phi i32 [ 1, %560 ], [ %569, %567 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #7
  %563 = load i32, ptr %54, align 4, !tbaa !11
  %564 = sext i32 %563 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %58) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %57, i64 noundef %564, i8 noundef signext 0, ptr noundef nonnull align 1 dereferenceable(1) %58)
          to label %575 unwind label %589

.lr.ph470:                                        ; preds = %560, %567
  %indvars.iv501 = phi i64 [ %indvars.iv.next502, %567 ], [ 0, %560 ]
  %.0287467 = phi i32 [ %569, %567 ], [ 1, %560 ]
  %565 = getelementptr inbounds [2 x i32], ptr %56, i64 0, i64 %indvars.iv501
  %566 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %565, i64 noundef 4)
          to label %567 unwind label %573

567:                                              ; preds = %.lr.ph470
  %568 = load i32, ptr %565, align 4, !tbaa !11
  %569 = mul nsw i32 %568, %.0287467
  %indvars.iv.next502 = add nuw nsw i64 %indvars.iv501, 1
  %570 = load i32, ptr %53, align 4, !tbaa !11
  %571 = sext i32 %570 to i64
  %572 = icmp slt i64 %indvars.iv.next502, %571
  br i1 %572, label %.lr.ph470, label %._crit_edge471, !llvm.loop !63

573:                                              ; preds = %.lr.ph470
  %574 = landingpad { ptr, i32 }
          cleanup
  br label %667

575:                                              ; preds = %._crit_edge471
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #7
  %576 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %57, i64 noundef 0)
  %577 = load i32, ptr %54, align 4, !tbaa !11
  %578 = sext i32 %577 to i64
  %579 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %576, i64 noundef %578)
          to label %580 unwind label %591

580:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #7
  %581 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %582 unwind label %593

582:                                              ; preds = %580
  store ptr %581, ptr %59, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #7
  %583 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %290) #7
  store ptr %583, ptr %60, align 8
  %584 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorEESD_(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull align 8 dereferenceable(8) %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  br i1 %584, label %585, label %595

585:                                              ; preds = %582
  %586 = load ptr, ptr @stderr, align 8, !tbaa !8
  %587 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  %588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %586, ptr noundef nonnull @.str.33, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %587) #8
  br label %669

589:                                              ; preds = %._crit_edge471
  %590 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %58) #7
  br label %666

591:                                              ; preds = %575
  %592 = landingpad { ptr, i32 }
          cleanup
  br label %665

593:                                              ; preds = %580
  %594 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #7
  br label %665

595:                                              ; preds = %582
  %596 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %290, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %597 unwind label %606

597:                                              ; preds = %595
  %598 = load ptr, ptr %596, align 8, !tbaa !8
  %599 = invoke i64 @ggml_nelements(ptr noundef %598)
          to label %600 unwind label %606

600:                                              ; preds = %597
  %601 = sext i32 %.0287.lcssa to i64
  %.not362 = icmp eq i64 %599, %601
  br i1 %.not362, label %608, label %602

602:                                              ; preds = %600
  %603 = load ptr, ptr @stderr, align 8, !tbaa !8
  %604 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  %605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %603, ptr noundef nonnull @.str.34, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %604) #8
  br label %669

606:                                              ; preds = %597, %595
  %607 = landingpad { ptr, i32 }
          cleanup
  br label %665

608:                                              ; preds = %600
  %609 = getelementptr inbounds i8, ptr %598, i64 16
  %610 = load i64, ptr %609, align 8, !tbaa !40
  %611 = load i32, ptr %56, align 8, !tbaa !11
  %612 = sext i32 %611 to i64
  %.not363 = icmp eq i64 %610, %612
  br i1 %.not363, label %613, label %618

613:                                              ; preds = %608
  %614 = getelementptr inbounds i8, ptr %598, i64 24
  %615 = load i64, ptr %614, align 8, !tbaa !40
  %616 = load i32, ptr %541, align 4, !tbaa !11
  %617 = sext i32 %616 to i64
  %.not364 = icmp eq i64 %615, %617
  br i1 %.not364, label %630, label %618

618:                                              ; preds = %613, %608
  %619 = getelementptr inbounds i8, ptr %598, i64 16
  %620 = load ptr, ptr @stderr, align 8, !tbaa !8
  %621 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  %622 = load i64, ptr %619, align 8, !tbaa !40
  %623 = trunc i64 %622 to i32
  %624 = getelementptr inbounds i8, ptr %598, i64 24
  %625 = load i64, ptr %624, align 8, !tbaa !40
  %626 = trunc i64 %625 to i32
  %627 = load i32, ptr %56, align 8, !tbaa !11
  %628 = load i32, ptr %541, align 4, !tbaa !11
  %629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %620, ptr noundef nonnull @.str.35, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %621, i32 noundef %623, i32 noundef %626, i32 noundef %627, i32 noundef %628) #8
  br label %669

630:                                              ; preds = %613
  %631 = load i32, ptr %55, align 4, !tbaa !11
  %632 = invoke i64 @ggml_type_size(i32 noundef %631)
          to label %633 unwind label %.loopexit

633:                                              ; preds = %630
  %634 = mul i64 %632, %599
  %635 = load i32, ptr %598, align 8, !tbaa !64
  %636 = invoke i64 @ggml_blck_size(i32 noundef %635)
          to label %637 unwind label %.loopexit

637:                                              ; preds = %633
  %638 = invoke i64 @ggml_nbytes(ptr noundef nonnull %598)
          to label %639 unwind label %.loopexit

639:                                              ; preds = %637
  %640 = udiv i64 %634, %636
  %.not365 = icmp eq i64 %640, %638
  br i1 %.not365, label %647, label %641

641:                                              ; preds = %639
  %642 = load ptr, ptr @stderr, align 8, !tbaa !8
  %643 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  %644 = invoke i64 @ggml_nbytes(ptr noundef nonnull %598)
          to label %645 unwind label %.loopexit.split-lp

645:                                              ; preds = %641
  %646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %642, ptr noundef nonnull @.str.36, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, ptr noundef %643, i64 noundef %644, i64 noundef %634) #8
  br label %669

.loopexit:                                        ; preds = %630, %633, %637, %647, %651, %653
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %665

.loopexit.split-lp:                               ; preds = %641
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %665

647:                                              ; preds = %639
  %648 = getelementptr inbounds i8, ptr %598, i64 248
  %649 = load ptr, ptr %648, align 8, !tbaa !68
  %650 = invoke i64 @ggml_nbytes(ptr noundef nonnull %598)
          to label %651 unwind label %.loopexit

651:                                              ; preds = %647
  %652 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef %649, i64 noundef %650)
          to label %653 unwind label %.loopexit

653:                                              ; preds = %651
  %654 = invoke i64 @ggml_nbytes(ptr noundef nonnull %598)
          to label %655 unwind label %.loopexit

655:                                              ; preds = %653
  %656 = add i64 %654, %.0288
  %657 = add nuw nsw i32 %.0293, 1
  %658 = and i32 %657, 7
  %659 = icmp eq i32 %658, 0
  br i1 %659, label %660, label %664

660:                                              ; preds = %655
  %661 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.37)
  %662 = load ptr, ptr @stdout, align 8, !tbaa !8
  %663 = call i32 @fflush(ptr noundef %662)
  br label %664

664:                                              ; preds = %660, %655
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #7
  br label %542

665:                                              ; preds = %.loopexit, %.loopexit.split-lp, %606, %593, %591
  %.pn366.pn = phi { ptr, i32 } [ %594, %593 ], [ %592, %591 ], [ %607, %606 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  br label %666

666:                                              ; preds = %665, %589
  %.pn366.pn.pn = phi { ptr, i32 } [ %.pn366.pn, %665 ], [ %590, %589 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  br label %667

667:                                              ; preds = %666, %573
  %.pn370 = phi { ptr, i32 } [ %574, %573 ], [ %.pn366.pn.pn, %666 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  br label %668

668:                                              ; preds = %667, %558
  %.pn370.pn = phi { ptr, i32 } [ %.pn370, %667 ], [ %559, %558 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #7
  br label %679

669:                                              ; preds = %585, %602, %618, %645
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #7
  br label %678

670:                                              ; preds = %548
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #7
  %671 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.38)
  %672 = uitofp i64 %.0288 to double
  %673 = fmul double %672, 0x3F50000000000000
  %674 = fmul double %673, 0x3F50000000000000
  %675 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.39, ptr noundef nonnull @__func__._Z15gptj_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gptj_modelR9gpt_vocab, double noundef %674, i32 noundef %.0293)
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %4)
          to label %678 unwind label %676

676:                                              ; preds = %670
  %677 = landingpad { ptr, i32 }
          cleanup
  br label %679

678:                                              ; preds = %669, %.thread, %254, %79, %177, %670, %69
  %.10 = phi i1 [ false, %69 ], [ false, %79 ], [ false, %177 ], [ false, %669 ], [ false, %254 ], [ true, %670 ], [ false, %.thread ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %4) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %4) #7
  ret i1 %.10

679:                                              ; preds = %184, %554, %556, %321, %327, %332, %337, %342, %347, %521, %513, %505, %497, %489, %481, %473, %465, %457, %449, %440, %676, %668, %259, %257, %183, %133, %83, %73
  %.pn400.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %183 ], [ %134, %133 ], [ %84, %83 ], [ %74, %73 ], [ %185, %184 ], [ %677, %676 ], [ %.pn370.pn, %668 ], [ %260, %259 ], [ %258, %257 ], [ %.pn358, %347 ], [ %.pn356, %342 ], [ %.pn354, %337 ], [ %.pn352, %332 ], [ %.pn350, %327 ], [ %322, %321 ], [ %.pn400.pn, %521 ], [ %.pn397.pn, %513 ], [ %.pn394.pn, %505 ], [ %.pn391.pn, %497 ], [ %.pn388.pn, %489 ], [ %.pn385.pn, %481 ], [ %.pn382.pn, %473 ], [ %.pn379.pn, %465 ], [ %.pn376.pn, %457 ], [ %.pn373.pn, %449 ], [ %441, %440 ], [ %557, %556 ], [ %555, %554 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %4) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %4) #7
  resume { ptr, i32 } %.pn400.pn.pn.pn.pn.pn.pn
}

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

; 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 uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256), ptr noundef nonnull align 8 dereferenceable(32), 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 #3

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, i64 noundef) local_unnamed_addr #4

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

; 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 @_ZNSt6vectorIcSaIcEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

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

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

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

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

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

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

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

declare i32 @ggml_ftype_to_ggml_type(i32 noundef) local_unnamed_addr #4

declare i64 @ggml_row_size(i32 noundef, i64 noundef) local_unnamed_addr #4

declare ptr @ggml_init(ptr noundef byval(%struct.ggml_init_params) align 8) local_unnamed_addr #4

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

declare ptr @ggml_new_tensor_2d(ptr noundef, i32 noundef, i64 noundef, i64 noundef) local_unnamed_addr #4

declare ptr @ggml_new_tensor_1d(ptr noundef, i32 noundef, i64 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 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: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(80) ptr @_ZNSt6vectorI10gptj_layerSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #6

declare i64 @ggml_nbytes(ptr noundef) local_unnamed_addr #4

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

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

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

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

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

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

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

declare i64 @ggml_nelements(ptr noundef) local_unnamed_addr #4

declare i64 @ggml_type_size(i32 noundef) local_unnamed_addr #4

declare i64 @ggml_blck_size(i32 noundef) local_unnamed_addr #4

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #2 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 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 = { 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }
attributes #8 = { 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 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !10, i64 0}
!13 = !{!14, !12, i64 24}
!14 = !{!"_ZTS12gptj_hparams", !12, i64 0, !12, i64 4, !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20, !12, i64 24, !15, i64 28}
!15 = !{!"float", !10, i64 0}
!16 = !{!14, !12, i64 0}
!17 = !{!14, !12, i64 4}
!18 = !{!14, !12, i64 8}
!19 = !{!14, !12, i64 12}
!20 = !{!14, !12, i64 16}
!21 = !{!14, !12, i64 20}
!22 = !{!23, !12, i64 0}
!23 = !{!"_ZTS10gptj_model", !14, i64 0, !9, i64 32, !9, i64 40, !9, i64 48, !9, i64 56, !9, i64 64, !24, i64 72, !9, i64 96, !9, i64 104, !9, i64 112, !28, i64 120}
!24 = !{!"_ZTSSt6vectorI10gptj_layerSaIS0_EE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseI10gptj_layerSaIS0_EE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseI10gptj_layerSaIS0_EE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseI10gptj_layerSaIS0_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!28 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE", !29, i64 0}
!29 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !30, i64 0}
!30 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !31, i64 0, !33, i64 8}
!31 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !32, i64 0}
!32 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!33 = !{!"_ZTSSt15_Rb_tree_header", !34, i64 0, !36, i64 32}
!34 = !{!"_ZTSSt18_Rb_tree_node_base", !35, i64 0, !9, i64 8, !9, i64 16, !9, i64 24}
!35 = !{!"_ZTSSt14_Rb_tree_color", !10, i64 0}
!36 = !{!"long", !10, i64 0}
!37 = distinct !{!37, !38}
!38 = !{!"llvm.loop.mustprogress"}
!39 = !{!23, !12, i64 24}
!40 = !{!36, !36, i64 0}
!41 = !{!42, !42, i64 0}
!42 = !{!"bool", !10, i64 0}
!43 = !{!23, !9, i64 112}
!44 = !{!23, !9, i64 48}
!45 = !{!23, !9, i64 32}
!46 = !{!23, !9, i64 40}
!47 = !{!23, !9, i64 56}
!48 = !{!23, !9, i64 64}
!49 = !{!50, !9, i64 0}
!50 = !{!"_ZTS10gptj_layer", !9, i64 0, !9, i64 8, !9, i64 16, !9, i64 24, !9, i64 32, !9, i64 40, !9, i64 48, !9, i64 56, !9, i64 64, !9, i64 72}
!51 = !{!50, !9, i64 8}
!52 = !{!50, !9, i64 16}
!53 = !{!50, !9, i64 24}
!54 = !{!50, !9, i64 32}
!55 = !{!50, !9, i64 40}
!56 = !{!50, !9, i64 48}
!57 = !{!50, !9, i64 56}
!58 = !{!50, !9, i64 64}
!59 = !{!50, !9, i64 72}
!60 = distinct !{!60, !38}
!61 = !{!23, !9, i64 96}
!62 = !{!23, !9, i64 104}
!63 = distinct !{!63, !38}
!64 = !{!65, !66, i64 0}
!65 = !{!"_ZTS11ggml_tensor", !66, i64 0, !9, i64 8, !10, i64 16, !10, i64 48, !67, i64 80, !10, i64 84, !12, i64 148, !10, i64 152, !9, i64 232, !36, i64 240, !9, i64 248, !10, i64 256, !9, i64 320, !10, i64 328}
!66 = !{!"_ZTS9ggml_type", !10, i64 0}
!67 = !{!"_ZTS7ggml_op", !10, i64 0}
!68 = !{!65, !9, i64 248}


; Effective O3 passes: ConstraintEliminationPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MemCpyOptPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass