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

; 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.gpt2_model = type { %struct.gpt2_hparams, ptr, ptr, ptr, ptr, ptr, %"class.std::vector.4", ptr, ptr, ptr, %"class.std::map" }
%struct.gpt2_hparams = type { 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<gpt2_layer, std::allocator<gpt2_layer>>::_Vector_impl" }
%"struct.std::_Vector_base<gpt2_layer, std::allocator<gpt2_layer>>::_Vector_impl" = type { %"struct.std::_Vector_base<gpt2_layer, std::allocator<gpt2_layer>>::_Vector_impl_data" }
%"struct.std::_Vector_base<gpt2_layer, std::allocator<gpt2_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.gpt2_layer = type { ptr, ptr, 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 [29 x i8], align 1
@__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_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 [55 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [33 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 [13 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [40 x i8], align 1
@__const._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab.ne = external hidden unnamed_addr constant [2 x i32], align 4
@.str.34 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [28 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 @_Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_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 i32, align 4
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator.0", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator.0", align 1
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::allocator.0", align 1
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::allocator.0", align 1
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::allocator.0", align 1
  %46 = alloca i32, align 4
  %47 = alloca ptr, 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 %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::__cxx11::basic_string", align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca ptr, align 8
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i64, align 8
  %91 = alloca i64, align 8
  %92 = alloca i8, align 1
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca [2 x i32], align 4
  %98 = alloca i32, align 4
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::allocator.0", align 1
  %101 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %102 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %103 = alloca ptr, align 8
  %104 = 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
  %105 = load ptr, ptr %5, align 8, !tbaa !5
  %106 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %105) #8
  %107 = call i32 (ptr, ...) @printf(ptr noundef @.str, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %106)
  call void @llvm.lifetime.start.p0(i64 520, ptr %8) #8
  %108 = 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) %108, i32 noundef 4)
  %109 = load ptr, ptr %8, align 8, !tbaa !9
  %110 = getelementptr i8, ptr %109, i64 -24
  %111 = load i64, ptr %110, align 8
  %112 = getelementptr inbounds i8, ptr %8, i64 %111
  %113 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %112)
          to label %114 unwind label %120

114:                                              ; preds = %3
  br i1 %113, label %115, label %124

115:                                              ; preds = %114
  %116 = load ptr, ptr @stderr, align 8, !tbaa !5
  %117 = load ptr, ptr %5, align 8, !tbaa !5
  %118 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %117) #8
  %119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %116, ptr noundef @.str.1, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %118) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1436

120:                                              ; preds = %3
  %121 = landingpad { ptr, i32 }
          cleanup
  %122 = extractvalue { ptr, i32 } %121, 0
  store ptr %122, ptr %9, align 8
  %123 = extractvalue { ptr, i32 } %121, 1
  store i32 %123, ptr %10, align 4
  br label %1438

124:                                              ; preds = %114
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #8
  %125 = 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 %126 unwind label %134

126:                                              ; preds = %124
  %127 = load i32, ptr %12, align 4, !tbaa !11
  %128 = icmp ne i32 %127, 1734831468
  br i1 %128, label %129, label %138

129:                                              ; preds = %126
  %130 = load ptr, ptr @stderr, align 8, !tbaa !5
  %131 = load ptr, ptr %5, align 8, !tbaa !5
  %132 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %131) #8
  %133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %130, ptr noundef @.str.2, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %132) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %139

134:                                              ; preds = %124
  %135 = landingpad { ptr, i32 }
          cleanup
  %136 = extractvalue { ptr, i32 } %135, 0
  store ptr %136, ptr %9, align 8
  %137 = extractvalue { ptr, i32 } %135, 1
  store i32 %137, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  br label %1438

138:                                              ; preds = %126
  store i32 0, ptr %11, align 4
  br label %139

139:                                              ; preds = %138, %129
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #8
  %140 = load i32, ptr %11, align 4
  switch i32 %140, label %1436 [
    i32 0, label %141
  ]

141:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #8
  %142 = load ptr, ptr %6, align 8, !tbaa !5
  %143 = getelementptr inbounds %struct.gpt2_model, ptr %142, i32 0, i32 0
  store ptr %143, ptr %13, align 8, !tbaa !5
  %144 = load ptr, ptr %13, align 8, !tbaa !5
  %145 = getelementptr inbounds %struct.gpt2_hparams, ptr %144, i32 0, i32 0
  %146 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %145, i64 noundef 4)
          to label %147 unwind label %227

147:                                              ; preds = %141
  %148 = load ptr, ptr %13, align 8, !tbaa !5
  %149 = getelementptr inbounds %struct.gpt2_hparams, ptr %148, i32 0, i32 1
  %150 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %149, i64 noundef 4)
          to label %151 unwind label %227

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

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

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

163:                                              ; preds = %159
  %164 = load ptr, ptr %13, align 8, !tbaa !5
  %165 = getelementptr inbounds %struct.gpt2_hparams, ptr %164, i32 0, i32 5
  %166 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %165, i64 noundef 4)
          to label %167 unwind label %227

167:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #8
  %168 = load ptr, ptr %13, align 8, !tbaa !5
  %169 = getelementptr inbounds %struct.gpt2_hparams, ptr %168, i32 0, i32 5
  %170 = load i32, ptr %169, align 4, !tbaa !13
  %171 = sdiv i32 %170, 1000
  store i32 %171, ptr %14, align 4, !tbaa !11
  %172 = load ptr, ptr %13, align 8, !tbaa !5
  %173 = getelementptr inbounds %struct.gpt2_hparams, ptr %172, i32 0, i32 0
  %174 = load i32, ptr %173, align 4, !tbaa !16
  %175 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.3, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %174)
          to label %176 unwind label %231

176:                                              ; preds = %167
  %177 = load ptr, ptr %13, align 8, !tbaa !5
  %178 = getelementptr inbounds %struct.gpt2_hparams, ptr %177, i32 0, i32 1
  %179 = load i32, ptr %178, align 4, !tbaa !17
  %180 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %179)
          to label %181 unwind label %231

181:                                              ; preds = %176
  %182 = load ptr, ptr %13, align 8, !tbaa !5
  %183 = getelementptr inbounds %struct.gpt2_hparams, ptr %182, i32 0, i32 2
  %184 = load i32, ptr %183, align 4, !tbaa !18
  %185 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.5, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %184)
          to label %186 unwind label %231

186:                                              ; preds = %181
  %187 = load ptr, ptr %13, align 8, !tbaa !5
  %188 = getelementptr inbounds %struct.gpt2_hparams, ptr %187, i32 0, i32 3
  %189 = load i32, ptr %188, align 4, !tbaa !19
  %190 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.6, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %189)
          to label %191 unwind label %231

191:                                              ; preds = %186
  %192 = load ptr, ptr %13, align 8, !tbaa !5
  %193 = getelementptr inbounds %struct.gpt2_hparams, ptr %192, i32 0, i32 4
  %194 = load i32, ptr %193, align 4, !tbaa !20
  %195 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.7, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %194)
          to label %196 unwind label %231

196:                                              ; preds = %191
  %197 = load ptr, ptr %13, align 8, !tbaa !5
  %198 = getelementptr inbounds %struct.gpt2_hparams, ptr %197, i32 0, i32 5
  %199 = load i32, ptr %198, align 4, !tbaa !13
  %200 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.8, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %199)
          to label %201 unwind label %231

201:                                              ; preds = %196
  %202 = load i32, ptr %14, align 4, !tbaa !11
  %203 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.9, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %202)
          to label %204 unwind label %231

204:                                              ; preds = %201
  %205 = load ptr, ptr %13, align 8, !tbaa !5
  %206 = getelementptr inbounds %struct.gpt2_hparams, ptr %205, i32 0, i32 5
  %207 = load i32, ptr %206, align 4, !tbaa !13
  %208 = srem i32 %207, 1000
  store i32 %208, ptr %206, 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
  %209 = 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 %210 unwind label %236

210:                                              ; preds = %204
  %211 = load i32, ptr %15, align 4, !tbaa !11
  %212 = load ptr, ptr %6, align 8, !tbaa !5
  %213 = getelementptr inbounds %struct.gpt2_model, ptr %212, i32 0, i32 0
  %214 = getelementptr inbounds %struct.gpt2_hparams, ptr %213, i32 0, i32 0
  %215 = load i32, ptr %214, align 8, !tbaa !21
  %216 = icmp ne i32 %211, %215
  br i1 %216, label %217, label %240

217:                                              ; preds = %210
  %218 = load ptr, ptr @stderr, align 8, !tbaa !5
  %219 = load ptr, ptr %5, align 8, !tbaa !5
  %220 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %219) #8
  %221 = load i32, ptr %15, align 4, !tbaa !11
  %222 = load ptr, ptr %6, align 8, !tbaa !5
  %223 = getelementptr inbounds %struct.gpt2_model, ptr %222, i32 0, i32 0
  %224 = getelementptr inbounds %struct.gpt2_hparams, ptr %223, i32 0, i32 0
  %225 = load i32, ptr %224, align 8, !tbaa !21
  %226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %218, ptr noundef @.str.10, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %220, i32 noundef %221, i32 noundef %225) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %286

227:                                              ; preds = %163, %159, %155, %151, %147, %141
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %9, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %10, align 4
  br label %235

231:                                              ; preds = %201, %196, %191, %186, %181, %176, %167
  %232 = landingpad { ptr, i32 }
          cleanup
  %233 = extractvalue { ptr, i32 } %232, 0
  store ptr %233, ptr %9, align 8
  %234 = extractvalue { ptr, i32 } %232, 1
  store i32 %234, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  br label %235

235:                                              ; preds = %231, %227
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #8
  br label %1438

236:                                              ; preds = %204
  %237 = landingpad { ptr, i32 }
          cleanup
  %238 = extractvalue { ptr, i32 } %237, 0
  store ptr %238, ptr %9, align 8
  %239 = extractvalue { ptr, i32 } %237, 1
  store i32 %239, ptr %10, align 4
  br label %307

240:                                              ; preds = %210
  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 %241 unwind label %247

241:                                              ; preds = %240
  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 %242

242:                                              ; preds = %278, %241
  %243 = load i32, ptr %19, align 4, !tbaa !11
  %244 = load i32, ptr %15, align 4, !tbaa !11
  %245 = icmp slt i32 %243, %244
  br i1 %245, label %251, label %246

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

247:                                              ; preds = %240
  %248 = landingpad { ptr, i32 }
          cleanup
  %249 = extractvalue { ptr, i32 } %248, 0
  store ptr %249, ptr %9, align 8
  %250 = extractvalue { ptr, i32 } %248, 1
  store i32 %250, 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 %306

251:                                              ; preds = %242
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  %252 = 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 %253 unwind label %281

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

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

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

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

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

275:                                              ; preds = %271
  %276 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %274, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %277 unwind label %281

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

278:                                              ; preds = %277
  %279 = load i32, ptr %19, align 4, !tbaa !11
  %280 = add nsw i32 %279, 1
  store i32 %280, ptr %19, align 4, !tbaa !11
  br label %242, !llvm.loop !36

281:                                              ; preds = %275, %271, %266, %261, %256, %253, %251
  %282 = landingpad { ptr, i32 }
          cleanup
  %283 = extractvalue { ptr, i32 } %282, 0
  store ptr %283, ptr %9, align 8
  %284 = extractvalue { ptr, i32 } %282, 1
  store i32 %284, 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 %306

285:                                              ; preds = %246
  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 %286

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

288:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #8
  %289 = load ptr, ptr %6, align 8, !tbaa !5
  %290 = getelementptr inbounds %struct.gpt2_model, ptr %289, i32 0, i32 0
  %291 = getelementptr inbounds %struct.gpt2_hparams, ptr %290, i32 0, i32 5
  %292 = load i32, ptr %291, align 4, !tbaa !38
  %293 = invoke i32 @ggml_ftype_to_ggml_type(i32 noundef %292)
          to label %294 unwind label %308

294:                                              ; preds = %288
  store i32 %293, ptr %21, align 4, !tbaa !39
  %295 = load i32, ptr %21, align 4, !tbaa !39
  %296 = icmp eq i32 %295, 39
  br i1 %296, label %297, label %312

297:                                              ; preds = %294
  %298 = load ptr, ptr @stderr, align 8, !tbaa !5
  %299 = load ptr, ptr %5, align 8, !tbaa !5
  %300 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %299) #8
  %301 = load ptr, ptr %6, align 8, !tbaa !5
  %302 = getelementptr inbounds %struct.gpt2_model, ptr %301, i32 0, i32 0
  %303 = getelementptr inbounds %struct.gpt2_hparams, ptr %302, i32 0, i32 5
  %304 = load i32, ptr %303, align 4, !tbaa !38
  %305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %298, ptr noundef @.str.11, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %300, i32 noundef %304) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1434

306:                                              ; preds = %281, %247
  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 %307

307:                                              ; preds = %306, %236
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #8
  br label %1438

308:                                              ; preds = %288
  %309 = landingpad { ptr, i32 }
          cleanup
  %310 = extractvalue { ptr, i32 } %309, 0
  store ptr %310, ptr %9, align 8
  %311 = extractvalue { ptr, i32 } %309, 1
  store i32 %311, ptr %10, align 4
  br label %1435

312:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  %313 = load ptr, ptr %6, align 8, !tbaa !5
  %314 = getelementptr inbounds %struct.gpt2_model, ptr %313, i32 0, i32 9
  store ptr %314, 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 !41
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #8
  %315 = load ptr, ptr %6, align 8, !tbaa !5
  %316 = getelementptr inbounds %struct.gpt2_model, ptr %315, i32 0, i32 0
  store ptr %316, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #8
  %317 = load ptr, ptr %24, align 8, !tbaa !5
  %318 = getelementptr inbounds %struct.gpt2_hparams, ptr %317, i32 0, i32 2
  %319 = load i32, ptr %318, align 4, !tbaa !18
  store i32 %319, ptr %25, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #8
  %320 = load ptr, ptr %24, align 8, !tbaa !5
  %321 = getelementptr inbounds %struct.gpt2_hparams, ptr %320, i32 0, i32 4
  %322 = load i32, ptr %321, align 4, !tbaa !20
  store i32 %322, ptr %26, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #8
  %323 = load ptr, ptr %24, align 8, !tbaa !5
  %324 = getelementptr inbounds %struct.gpt2_hparams, ptr %323, i32 0, i32 1
  %325 = load i32, ptr %324, align 4, !tbaa !17
  store i32 %325, ptr %27, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #8
  %326 = load ptr, ptr %24, align 8, !tbaa !5
  %327 = getelementptr inbounds %struct.gpt2_hparams, ptr %326, i32 0, i32 0
  %328 = load i32, ptr %327, align 4, !tbaa !16
  store i32 %328, ptr %28, align 4, !tbaa !11
  %329 = load i32, ptr %25, align 4, !tbaa !11
  %330 = sext i32 %329 to i64
  %331 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %330)
          to label %332 unwind label %544

332:                                              ; preds = %312
  %333 = load i64, ptr %23, align 8, !tbaa !41
  %334 = add i64 %333, %331
  store i64 %334, ptr %23, align 8, !tbaa !41
  %335 = load i32, ptr %25, align 4, !tbaa !11
  %336 = sext i32 %335 to i64
  %337 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %336)
          to label %338 unwind label %544

338:                                              ; preds = %332
  %339 = load i64, ptr %23, align 8, !tbaa !41
  %340 = add i64 %339, %337
  store i64 %340, ptr %23, align 8, !tbaa !41
  %341 = load i32, ptr %21, align 4, !tbaa !39
  %342 = load i32, ptr %28, align 4, !tbaa !11
  %343 = load i32, ptr %25, align 4, !tbaa !11
  %344 = mul nsw i32 %342, %343
  %345 = sext i32 %344 to i64
  %346 = invoke i64 @ggml_row_size(i32 noundef %341, i64 noundef %345)
          to label %347 unwind label %544

347:                                              ; preds = %338
  %348 = load i64, ptr %23, align 8, !tbaa !41
  %349 = add i64 %348, %346
  store i64 %349, ptr %23, align 8, !tbaa !41
  %350 = load i32, ptr %27, align 4, !tbaa !11
  %351 = load i32, ptr %25, align 4, !tbaa !11
  %352 = mul nsw i32 %350, %351
  %353 = sext i32 %352 to i64
  %354 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %353)
          to label %355 unwind label %544

355:                                              ; preds = %347
  %356 = load i64, ptr %23, align 8, !tbaa !41
  %357 = add i64 %356, %354
  store i64 %357, ptr %23, align 8, !tbaa !41
  %358 = load i32, ptr %21, align 4, !tbaa !39
  %359 = load i32, ptr %28, align 4, !tbaa !11
  %360 = load i32, ptr %25, align 4, !tbaa !11
  %361 = mul nsw i32 %359, %360
  %362 = sext i32 %361 to i64
  %363 = invoke i64 @ggml_row_size(i32 noundef %358, i64 noundef %362)
          to label %364 unwind label %544

364:                                              ; preds = %355
  %365 = load i64, ptr %23, align 8, !tbaa !41
  %366 = add i64 %365, %363
  store i64 %366, ptr %23, align 8, !tbaa !41
  %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 %544

372:                                              ; preds = %364
  %373 = mul i64 %368, %371
  %374 = load i64, ptr %23, align 8, !tbaa !41
  %375 = add i64 %374, %373
  store i64 %375, ptr %23, align 8, !tbaa !41
  %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 %544

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

390:                                              ; preds = %381
  %391 = mul i64 %386, %389
  %392 = load i64, ptr %23, align 8, !tbaa !41
  %393 = add i64 %392, %391
  store i64 %393, ptr %23, align 8, !tbaa !41
  %394 = load i32, ptr %26, align 4, !tbaa !11
  %395 = sext i32 %394 to i64
  %396 = load i32, ptr %25, align 4, !tbaa !11
  %397 = sext i32 %396 to i64
  %398 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %397)
          to label %399 unwind label %544

399:                                              ; preds = %390
  %400 = mul i64 %395, %398
  %401 = load i64, ptr %23, align 8, !tbaa !41
  %402 = add i64 %401, %400
  store i64 %402, ptr %23, align 8, !tbaa !41
  %403 = load i32, ptr %26, align 4, !tbaa !11
  %404 = sext i32 %403 to i64
  %405 = load i32, ptr %21, align 4, !tbaa !39
  %406 = load i32, ptr %25, align 4, !tbaa !11
  %407 = mul nsw i32 3, %406
  %408 = load i32, ptr %25, align 4, !tbaa !11
  %409 = mul nsw i32 %407, %408
  %410 = sext i32 %409 to i64
  %411 = invoke i64 @ggml_row_size(i32 noundef %405, i64 noundef %410)
          to label %412 unwind label %544

412:                                              ; preds = %399
  %413 = mul i64 %404, %411
  %414 = load i64, ptr %23, align 8, !tbaa !41
  %415 = add i64 %414, %413
  store i64 %415, ptr %23, align 8, !tbaa !41
  %416 = load i32, ptr %26, align 4, !tbaa !11
  %417 = sext i32 %416 to i64
  %418 = load i32, ptr %25, align 4, !tbaa !11
  %419 = mul nsw i32 3, %418
  %420 = sext i32 %419 to i64
  %421 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %420)
          to label %422 unwind label %544

422:                                              ; preds = %412
  %423 = mul i64 %417, %421
  %424 = load i64, ptr %23, align 8, !tbaa !41
  %425 = add i64 %424, %423
  store i64 %425, ptr %23, align 8, !tbaa !41
  %426 = load i32, ptr %26, align 4, !tbaa !11
  %427 = sext i32 %426 to i64
  %428 = load i32, ptr %21, align 4, !tbaa !39
  %429 = load i32, ptr %25, align 4, !tbaa !11
  %430 = load i32, ptr %25, align 4, !tbaa !11
  %431 = mul nsw i32 %429, %430
  %432 = sext i32 %431 to i64
  %433 = invoke i64 @ggml_row_size(i32 noundef %428, i64 noundef %432)
          to label %434 unwind label %544

434:                                              ; preds = %422
  %435 = mul i64 %427, %433
  %436 = load i64, ptr %23, align 8, !tbaa !41
  %437 = add i64 %436, %435
  store i64 %437, ptr %23, align 8, !tbaa !41
  %438 = load i32, ptr %26, align 4, !tbaa !11
  %439 = sext i32 %438 to i64
  %440 = load i32, ptr %25, align 4, !tbaa !11
  %441 = sext i32 %440 to i64
  %442 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %441)
          to label %443 unwind label %544

443:                                              ; preds = %434
  %444 = mul i64 %439, %442
  %445 = load i64, ptr %23, align 8, !tbaa !41
  %446 = add i64 %445, %444
  store i64 %446, ptr %23, align 8, !tbaa !41
  %447 = load i32, ptr %26, align 4, !tbaa !11
  %448 = sext i32 %447 to i64
  %449 = load i32, ptr %21, align 4, !tbaa !39
  %450 = load i32, ptr %25, align 4, !tbaa !11
  %451 = mul nsw i32 4, %450
  %452 = load i32, ptr %25, align 4, !tbaa !11
  %453 = mul nsw i32 %451, %452
  %454 = sext i32 %453 to i64
  %455 = invoke i64 @ggml_row_size(i32 noundef %449, i64 noundef %454)
          to label %456 unwind label %544

456:                                              ; preds = %443
  %457 = mul i64 %448, %455
  %458 = load i64, ptr %23, align 8, !tbaa !41
  %459 = add i64 %458, %457
  store i64 %459, ptr %23, align 8, !tbaa !41
  %460 = load i32, ptr %26, align 4, !tbaa !11
  %461 = sext i32 %460 to i64
  %462 = load i32, ptr %25, align 4, !tbaa !11
  %463 = mul nsw i32 4, %462
  %464 = sext i32 %463 to i64
  %465 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %464)
          to label %466 unwind label %544

466:                                              ; preds = %456
  %467 = mul i64 %461, %465
  %468 = load i64, ptr %23, align 8, !tbaa !41
  %469 = add i64 %468, %467
  store i64 %469, ptr %23, align 8, !tbaa !41
  %470 = load i32, ptr %26, align 4, !tbaa !11
  %471 = sext i32 %470 to i64
  %472 = load i32, ptr %21, align 4, !tbaa !39
  %473 = load i32, ptr %25, align 4, !tbaa !11
  %474 = mul nsw i32 4, %473
  %475 = load i32, ptr %25, align 4, !tbaa !11
  %476 = mul nsw i32 %474, %475
  %477 = sext i32 %476 to i64
  %478 = invoke i64 @ggml_row_size(i32 noundef %472, i64 noundef %477)
          to label %479 unwind label %544

479:                                              ; preds = %466
  %480 = mul i64 %471, %478
  %481 = load i64, ptr %23, align 8, !tbaa !41
  %482 = add i64 %481, %480
  store i64 %482, ptr %23, align 8, !tbaa !41
  %483 = load i32, ptr %26, align 4, !tbaa !11
  %484 = sext i32 %483 to i64
  %485 = load i32, ptr %25, align 4, !tbaa !11
  %486 = mul nsw i32 4, %485
  %487 = sext i32 %486 to i64
  %488 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %487)
          to label %489 unwind label %544

489:                                              ; preds = %479
  %490 = mul i64 %484, %488
  %491 = load i64, ptr %23, align 8, !tbaa !41
  %492 = add i64 %491, %490
  store i64 %492, ptr %23, align 8, !tbaa !41
  %493 = load i32, ptr %27, align 4, !tbaa !11
  %494 = load i32, ptr %26, align 4, !tbaa !11
  %495 = mul nsw i32 %493, %494
  %496 = sext i32 %495 to i64
  %497 = load i32, ptr %25, align 4, !tbaa !11
  %498 = sext i32 %497 to i64
  %499 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %498)
          to label %500 unwind label %544

500:                                              ; preds = %489
  %501 = mul i64 %496, %499
  %502 = load i64, ptr %23, align 8, !tbaa !41
  %503 = add i64 %502, %501
  store i64 %503, ptr %23, align 8, !tbaa !41
  %504 = load i32, ptr %27, align 4, !tbaa !11
  %505 = load i32, ptr %26, align 4, !tbaa !11
  %506 = mul nsw i32 %504, %505
  %507 = sext i32 %506 to i64
  %508 = load i32, ptr %25, align 4, !tbaa !11
  %509 = sext i32 %508 to i64
  %510 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %509)
          to label %511 unwind label %544

511:                                              ; preds = %500
  %512 = mul i64 %507, %510
  %513 = load i64, ptr %23, align 8, !tbaa !41
  %514 = add i64 %513, %512
  store i64 %514, ptr %23, align 8, !tbaa !41
  %515 = load i32, ptr %26, align 4, !tbaa !11
  %516 = mul nsw i32 12, %515
  %517 = add nsw i32 6, %516
  %518 = mul nsw i32 %517, 512
  %519 = sext i32 %518 to i64
  %520 = load i64, ptr %23, align 8, !tbaa !41
  %521 = add i64 %520, %519
  store i64 %521, ptr %23, align 8, !tbaa !41
  %522 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.12, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef 336)
          to label %523 unwind label %544

523:                                              ; preds = %511
  %524 = load i64, ptr %23, align 8, !tbaa !41
  %525 = uitofp i64 %524 to double
  %526 = fdiv double %525, 0x4130000000000000
  %527 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.13, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, double noundef %526)
          to label %528 unwind label %544

528:                                              ; preds = %523
  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
  %529 = getelementptr inbounds %struct.ggml_init_params, ptr %29, i32 0, i32 0
  %530 = load i64, ptr %23, align 8, !tbaa !41
  store i64 %530, ptr %529, align 8, !tbaa !42
  %531 = getelementptr inbounds %struct.ggml_init_params, ptr %29, i32 0, i32 1
  store ptr null, ptr %531, align 8, !tbaa !45
  %532 = getelementptr inbounds %struct.ggml_init_params, ptr %29, i32 0, i32 2
  store i8 0, ptr %532, align 8, !tbaa !46
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %30, ptr align 8 %29, i64 24, i1 false), !tbaa.struct !47
  %533 = invoke ptr @ggml_init(ptr noundef byval(%struct.ggml_init_params) align 8 %30)
          to label %534 unwind label %548

534:                                              ; preds = %528
  %535 = load ptr, ptr %6, align 8, !tbaa !5
  %536 = getelementptr inbounds %struct.gpt2_model, ptr %535, i32 0, i32 9
  store ptr %533, ptr %536, align 8, !tbaa !49
  %537 = load ptr, ptr %6, align 8, !tbaa !5
  %538 = getelementptr inbounds %struct.gpt2_model, ptr %537, i32 0, i32 9
  %539 = load ptr, ptr %538, align 8, !tbaa !49
  %540 = icmp ne ptr %539, null
  br i1 %540, label %552, label %541

541:                                              ; preds = %534
  %542 = load ptr, ptr @stderr, align 8, !tbaa !5
  %543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %542, ptr noundef @.str.14, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %553

544:                                              ; preds = %523, %511, %500, %489, %479, %466, %456, %443, %434, %422, %412, %399, %390, %381, %372, %364, %355, %347, %338, %332, %312
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %9, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, 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 %1433

548:                                              ; preds = %528
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %9, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  br label %1433

552:                                              ; preds = %534
  store i32 0, ptr %11, align 4
  br label %553

553:                                              ; preds = %552, %541
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #8
  %554 = load i32, ptr %11, align 4
  switch i32 %554, label %1432 [
    i32 0, label %555
  ]

555:                                              ; preds = %553
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  %556 = load ptr, ptr %6, align 8, !tbaa !5
  %557 = getelementptr inbounds %struct.gpt2_model, ptr %556, i32 0, i32 0
  store ptr %557, ptr %31, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #8
  %558 = load ptr, ptr %31, align 8, !tbaa !5
  %559 = getelementptr inbounds %struct.gpt2_hparams, ptr %558, i32 0, i32 2
  %560 = load i32, ptr %559, align 4, !tbaa !18
  store i32 %560, ptr %32, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #8
  %561 = load ptr, ptr %31, align 8, !tbaa !5
  %562 = getelementptr inbounds %struct.gpt2_hparams, ptr %561, i32 0, i32 4
  %563 = load i32, ptr %562, align 4, !tbaa !20
  store i32 %563, ptr %33, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #8
  %564 = load ptr, ptr %31, align 8, !tbaa !5
  %565 = getelementptr inbounds %struct.gpt2_hparams, ptr %564, i32 0, i32 1
  %566 = load i32, ptr %565, align 4, !tbaa !17
  store i32 %566, ptr %34, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #8
  %567 = load ptr, ptr %31, align 8, !tbaa !5
  %568 = getelementptr inbounds %struct.gpt2_hparams, ptr %567, i32 0, i32 0
  %569 = load i32, ptr %568, align 4, !tbaa !16
  store i32 %569, ptr %35, align 4, !tbaa !11
  %570 = load ptr, ptr %6, align 8, !tbaa !5
  %571 = getelementptr inbounds %struct.gpt2_model, ptr %570, i32 0, i32 6
  %572 = load i32, ptr %33, align 4, !tbaa !11
  %573 = sext i32 %572 to i64
  invoke void @_ZNSt6vectorI10gpt2_layerSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %571, i64 noundef %573)
          to label %574 unwind label %668

574:                                              ; preds = %555
  %575 = load ptr, ptr %22, align 8, !tbaa !5
  %576 = load ptr, ptr %575, align 8, !tbaa !5
  %577 = load i32, ptr %32, align 4, !tbaa !11
  %578 = sext i32 %577 to i64
  %579 = invoke ptr @ggml_new_tensor_1d(ptr noundef %576, i32 noundef 0, i64 noundef %578)
          to label %580 unwind label %668

580:                                              ; preds = %574
  %581 = load ptr, ptr %6, align 8, !tbaa !5
  %582 = getelementptr inbounds %struct.gpt2_model, ptr %581, i32 0, i32 1
  store ptr %579, ptr %582, align 8, !tbaa !50
  %583 = load ptr, ptr %22, align 8, !tbaa !5
  %584 = load ptr, ptr %583, align 8, !tbaa !5
  %585 = load i32, ptr %32, align 4, !tbaa !11
  %586 = sext i32 %585 to i64
  %587 = invoke ptr @ggml_new_tensor_1d(ptr noundef %584, i32 noundef 0, i64 noundef %586)
          to label %588 unwind label %668

588:                                              ; preds = %580
  %589 = load ptr, ptr %6, align 8, !tbaa !5
  %590 = getelementptr inbounds %struct.gpt2_model, ptr %589, i32 0, i32 2
  store ptr %587, ptr %590, align 8, !tbaa !51
  %591 = load ptr, ptr %22, align 8, !tbaa !5
  %592 = load ptr, ptr %591, align 8, !tbaa !5
  %593 = load i32, ptr %21, align 4, !tbaa !39
  %594 = load i32, ptr %32, align 4, !tbaa !11
  %595 = sext i32 %594 to i64
  %596 = load i32, ptr %35, align 4, !tbaa !11
  %597 = sext i32 %596 to i64
  %598 = invoke ptr @ggml_new_tensor_2d(ptr noundef %592, i32 noundef %593, i64 noundef %595, i64 noundef %597)
          to label %599 unwind label %668

599:                                              ; preds = %588
  %600 = load ptr, ptr %6, align 8, !tbaa !5
  %601 = getelementptr inbounds %struct.gpt2_model, ptr %600, i32 0, i32 3
  store ptr %598, ptr %601, align 8, !tbaa !52
  %602 = load ptr, ptr %22, align 8, !tbaa !5
  %603 = load ptr, ptr %602, align 8, !tbaa !5
  %604 = load i32, ptr %32, align 4, !tbaa !11
  %605 = sext i32 %604 to i64
  %606 = load i32, ptr %34, align 4, !tbaa !11
  %607 = sext i32 %606 to i64
  %608 = invoke ptr @ggml_new_tensor_2d(ptr noundef %603, i32 noundef 0, i64 noundef %605, i64 noundef %607)
          to label %609 unwind label %668

609:                                              ; preds = %599
  %610 = load ptr, ptr %6, align 8, !tbaa !5
  %611 = getelementptr inbounds %struct.gpt2_model, ptr %610, i32 0, i32 4
  store ptr %608, ptr %611, align 8, !tbaa !53
  %612 = load ptr, ptr %22, align 8, !tbaa !5
  %613 = load ptr, ptr %612, align 8, !tbaa !5
  %614 = load i32, ptr %21, align 4, !tbaa !39
  %615 = load i32, ptr %32, align 4, !tbaa !11
  %616 = sext i32 %615 to i64
  %617 = load i32, ptr %35, align 4, !tbaa !11
  %618 = sext i32 %617 to i64
  %619 = invoke ptr @ggml_new_tensor_2d(ptr noundef %613, i32 noundef %614, i64 noundef %616, i64 noundef %618)
          to label %620 unwind label %668

620:                                              ; preds = %609
  %621 = load ptr, ptr %6, align 8, !tbaa !5
  %622 = getelementptr inbounds %struct.gpt2_model, ptr %621, i32 0, i32 5
  store ptr %619, ptr %622, align 8, !tbaa !54
  %623 = load ptr, ptr %6, align 8, !tbaa !5
  %624 = getelementptr inbounds %struct.gpt2_model, ptr %623, i32 0, i32 1
  %625 = load ptr, ptr %624, align 8, !tbaa !50
  %626 = load ptr, ptr %6, align 8, !tbaa !5
  %627 = getelementptr inbounds %struct.gpt2_model, ptr %626, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %36) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %628 unwind label %672

628:                                              ; preds = %620
  %629 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %627, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %630 unwind label %676

630:                                              ; preds = %628
  store ptr %625, ptr %629, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  %631 = load ptr, ptr %6, align 8, !tbaa !5
  %632 = getelementptr inbounds %struct.gpt2_model, ptr %631, i32 0, i32 2
  %633 = load ptr, ptr %632, align 8, !tbaa !51
  %634 = load ptr, ptr %6, align 8, !tbaa !5
  %635 = getelementptr inbounds %struct.gpt2_model, ptr %634, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.16, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %636 unwind label %681

636:                                              ; preds = %630
  %637 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %635, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %638 unwind label %685

638:                                              ; preds = %636
  store ptr %633, ptr %637, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  %639 = load ptr, ptr %6, align 8, !tbaa !5
  %640 = getelementptr inbounds %struct.gpt2_model, ptr %639, i32 0, i32 3
  %641 = load ptr, ptr %640, align 8, !tbaa !52
  %642 = load ptr, ptr %6, align 8, !tbaa !5
  %643 = getelementptr inbounds %struct.gpt2_model, ptr %642, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %41) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %41)
          to label %644 unwind label %690

644:                                              ; preds = %638
  %645 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %643, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %646 unwind label %694

646:                                              ; preds = %644
  store ptr %641, ptr %645, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  %647 = load ptr, ptr %6, align 8, !tbaa !5
  %648 = getelementptr inbounds %struct.gpt2_model, ptr %647, i32 0, i32 4
  %649 = load ptr, ptr %648, align 8, !tbaa !53
  %650 = load ptr, ptr %6, align 8, !tbaa !5
  %651 = getelementptr inbounds %struct.gpt2_model, ptr %650, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %42) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %652 unwind label %699

652:                                              ; preds = %646
  %653 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %651, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %654 unwind label %703

654:                                              ; preds = %652
  store ptr %649, ptr %653, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #8
  %655 = load ptr, ptr %6, align 8, !tbaa !5
  %656 = getelementptr inbounds %struct.gpt2_model, ptr %655, i32 0, i32 5
  %657 = load ptr, ptr %656, align 8, !tbaa !54
  %658 = load ptr, ptr %6, align 8, !tbaa !5
  %659 = getelementptr inbounds %struct.gpt2_model, ptr %658, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %45)
          to label %660 unwind label %708

660:                                              ; preds = %654
  %661 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %659, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %662 unwind label %712

662:                                              ; preds = %660
  store ptr %657, ptr %661, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #8
  store i32 0, ptr %46, align 4, !tbaa !11
  br label %663

663:                                              ; preds = %956, %662
  %664 = load i32, ptr %46, align 4, !tbaa !11
  %665 = load i32, ptr %33, align 4, !tbaa !11
  %666 = icmp slt i32 %664, %665
  br i1 %666, label %717, label %667

667:                                              ; preds = %663
  store i32 5, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #8
  br label %1132

668:                                              ; preds = %609, %599, %588, %580, %574, %555
  %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 %1199

672:                                              ; preds = %620
  %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
  br label %680

676:                                              ; preds = %628
  %677 = landingpad { ptr, i32 }
          cleanup
  %678 = extractvalue { ptr, i32 } %677, 0
  store ptr %678, ptr %9, align 8
  %679 = extractvalue { ptr, i32 } %677, 1
  store i32 %679, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  br label %680

680:                                              ; preds = %676, %672
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %36) #8
  br label %1199

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
  br label %689

685:                                              ; preds = %636
  %686 = landingpad { ptr, i32 }
          cleanup
  %687 = extractvalue { ptr, i32 } %686, 0
  store ptr %687, ptr %9, align 8
  %688 = extractvalue { ptr, i32 } %686, 1
  store i32 %688, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  br label %689

689:                                              ; preds = %685, %681
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  br label %1199

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
  br label %698

694:                                              ; preds = %644
  %695 = landingpad { ptr, i32 }
          cleanup
  %696 = extractvalue { ptr, i32 } %695, 0
  store ptr %696, ptr %9, align 8
  %697 = extractvalue { ptr, i32 } %695, 1
  store i32 %697, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  br label %698

698:                                              ; preds = %694, %690
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %41) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %40) #8
  br label %1199

699:                                              ; preds = %646
  %700 = landingpad { ptr, i32 }
          cleanup
  %701 = extractvalue { ptr, i32 } %700, 0
  store ptr %701, ptr %9, align 8
  %702 = extractvalue { ptr, i32 } %700, 1
  store i32 %702, ptr %10, align 4
  br label %707

703:                                              ; preds = %652
  %704 = landingpad { ptr, i32 }
          cleanup
  %705 = extractvalue { ptr, i32 } %704, 0
  store ptr %705, ptr %9, align 8
  %706 = extractvalue { ptr, i32 } %704, 1
  store i32 %706, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  br label %707

707:                                              ; preds = %703, %699
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %42) #8
  br label %1199

708:                                              ; preds = %654
  %709 = landingpad { ptr, i32 }
          cleanup
  %710 = extractvalue { ptr, i32 } %709, 0
  store ptr %710, ptr %9, align 8
  %711 = extractvalue { ptr, i32 } %709, 1
  store i32 %711, ptr %10, align 4
  br label %716

712:                                              ; preds = %660
  %713 = landingpad { ptr, i32 }
          cleanup
  %714 = extractvalue { ptr, i32 } %713, 0
  store ptr %714, ptr %9, align 8
  %715 = extractvalue { ptr, i32 } %713, 1
  store i32 %715, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %716

716:                                              ; preds = %712, %708
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %45) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  br label %1199

717:                                              ; preds = %663
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #8
  %718 = load ptr, ptr %6, align 8, !tbaa !5
  %719 = getelementptr inbounds %struct.gpt2_model, ptr %718, i32 0, i32 6
  %720 = load i32, ptr %46, align 4, !tbaa !11
  %721 = sext i32 %720 to i64
  %722 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNSt6vectorI10gpt2_layerSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %719, i64 noundef %721) #8
  store ptr %722, ptr %47, align 8, !tbaa !5
  %723 = load ptr, ptr %22, align 8, !tbaa !5
  %724 = load ptr, ptr %723, align 8, !tbaa !5
  %725 = load i32, ptr %32, align 4, !tbaa !11
  %726 = sext i32 %725 to i64
  %727 = invoke ptr @ggml_new_tensor_1d(ptr noundef %724, i32 noundef 0, i64 noundef %726)
          to label %728 unwind label %959

728:                                              ; preds = %717
  %729 = load ptr, ptr %47, align 8, !tbaa !5
  %730 = getelementptr inbounds %struct.gpt2_layer, ptr %729, i32 0, i32 0
  store ptr %727, ptr %730, align 8, !tbaa !55
  %731 = load ptr, ptr %22, align 8, !tbaa !5
  %732 = load ptr, ptr %731, align 8, !tbaa !5
  %733 = load i32, ptr %32, align 4, !tbaa !11
  %734 = sext i32 %733 to i64
  %735 = invoke ptr @ggml_new_tensor_1d(ptr noundef %732, i32 noundef 0, i64 noundef %734)
          to label %736 unwind label %959

736:                                              ; preds = %728
  %737 = load ptr, ptr %47, align 8, !tbaa !5
  %738 = getelementptr inbounds %struct.gpt2_layer, ptr %737, i32 0, i32 1
  store ptr %735, ptr %738, align 8, !tbaa !57
  %739 = load ptr, ptr %22, align 8, !tbaa !5
  %740 = load ptr, ptr %739, align 8, !tbaa !5
  %741 = load i32, ptr %32, align 4, !tbaa !11
  %742 = sext i32 %741 to i64
  %743 = invoke ptr @ggml_new_tensor_1d(ptr noundef %740, i32 noundef 0, i64 noundef %742)
          to label %744 unwind label %959

744:                                              ; preds = %736
  %745 = load ptr, ptr %47, align 8, !tbaa !5
  %746 = getelementptr inbounds %struct.gpt2_layer, ptr %745, i32 0, i32 2
  store ptr %743, ptr %746, align 8, !tbaa !58
  %747 = load ptr, ptr %22, align 8, !tbaa !5
  %748 = load ptr, ptr %747, align 8, !tbaa !5
  %749 = load i32, ptr %32, align 4, !tbaa !11
  %750 = sext i32 %749 to i64
  %751 = invoke ptr @ggml_new_tensor_1d(ptr noundef %748, i32 noundef 0, i64 noundef %750)
          to label %752 unwind label %959

752:                                              ; preds = %744
  %753 = load ptr, ptr %47, align 8, !tbaa !5
  %754 = getelementptr inbounds %struct.gpt2_layer, ptr %753, i32 0, i32 3
  store ptr %751, ptr %754, align 8, !tbaa !59
  %755 = load ptr, ptr %22, align 8, !tbaa !5
  %756 = load ptr, ptr %755, align 8, !tbaa !5
  %757 = load i32, ptr %21, align 4, !tbaa !39
  %758 = load i32, ptr %32, align 4, !tbaa !11
  %759 = sext i32 %758 to i64
  %760 = load i32, ptr %32, align 4, !tbaa !11
  %761 = mul nsw i32 3, %760
  %762 = sext i32 %761 to i64
  %763 = invoke ptr @ggml_new_tensor_2d(ptr noundef %756, i32 noundef %757, i64 noundef %759, i64 noundef %762)
          to label %764 unwind label %959

764:                                              ; preds = %752
  %765 = load ptr, ptr %47, align 8, !tbaa !5
  %766 = getelementptr inbounds %struct.gpt2_layer, ptr %765, i32 0, i32 4
  store ptr %763, ptr %766, align 8, !tbaa !60
  %767 = load ptr, ptr %22, align 8, !tbaa !5
  %768 = load ptr, ptr %767, align 8, !tbaa !5
  %769 = load i32, ptr %32, align 4, !tbaa !11
  %770 = mul nsw i32 3, %769
  %771 = sext i32 %770 to i64
  %772 = invoke ptr @ggml_new_tensor_1d(ptr noundef %768, i32 noundef 0, i64 noundef %771)
          to label %773 unwind label %959

773:                                              ; preds = %764
  %774 = load ptr, ptr %47, align 8, !tbaa !5
  %775 = getelementptr inbounds %struct.gpt2_layer, ptr %774, i32 0, i32 5
  store ptr %772, ptr %775, align 8, !tbaa !61
  %776 = load ptr, ptr %22, align 8, !tbaa !5
  %777 = load ptr, ptr %776, align 8, !tbaa !5
  %778 = load i32, ptr %21, align 4, !tbaa !39
  %779 = load i32, ptr %32, align 4, !tbaa !11
  %780 = sext i32 %779 to i64
  %781 = load i32, ptr %32, align 4, !tbaa !11
  %782 = sext i32 %781 to i64
  %783 = invoke ptr @ggml_new_tensor_2d(ptr noundef %777, i32 noundef %778, i64 noundef %780, i64 noundef %782)
          to label %784 unwind label %959

784:                                              ; preds = %773
  %785 = load ptr, ptr %47, align 8, !tbaa !5
  %786 = getelementptr inbounds %struct.gpt2_layer, ptr %785, i32 0, i32 6
  store ptr %783, ptr %786, align 8, !tbaa !62
  %787 = load ptr, ptr %22, align 8, !tbaa !5
  %788 = load ptr, ptr %787, align 8, !tbaa !5
  %789 = load i32, ptr %32, align 4, !tbaa !11
  %790 = sext i32 %789 to i64
  %791 = invoke ptr @ggml_new_tensor_1d(ptr noundef %788, i32 noundef 0, i64 noundef %790)
          to label %792 unwind label %959

792:                                              ; preds = %784
  %793 = load ptr, ptr %47, align 8, !tbaa !5
  %794 = getelementptr inbounds %struct.gpt2_layer, ptr %793, i32 0, i32 7
  store ptr %791, ptr %794, align 8, !tbaa !63
  %795 = load ptr, ptr %22, align 8, !tbaa !5
  %796 = load ptr, ptr %795, align 8, !tbaa !5
  %797 = load i32, ptr %21, align 4, !tbaa !39
  %798 = load i32, ptr %32, align 4, !tbaa !11
  %799 = sext i32 %798 to i64
  %800 = load i32, ptr %32, align 4, !tbaa !11
  %801 = mul nsw i32 4, %800
  %802 = sext i32 %801 to i64
  %803 = invoke ptr @ggml_new_tensor_2d(ptr noundef %796, i32 noundef %797, i64 noundef %799, i64 noundef %802)
          to label %804 unwind label %959

804:                                              ; preds = %792
  %805 = load ptr, ptr %47, align 8, !tbaa !5
  %806 = getelementptr inbounds %struct.gpt2_layer, ptr %805, i32 0, i32 8
  store ptr %803, ptr %806, align 8, !tbaa !64
  %807 = load ptr, ptr %22, align 8, !tbaa !5
  %808 = load ptr, ptr %807, align 8, !tbaa !5
  %809 = load i32, ptr %32, align 4, !tbaa !11
  %810 = mul nsw i32 4, %809
  %811 = sext i32 %810 to i64
  %812 = invoke ptr @ggml_new_tensor_1d(ptr noundef %808, i32 noundef 0, i64 noundef %811)
          to label %813 unwind label %959

813:                                              ; preds = %804
  %814 = load ptr, ptr %47, align 8, !tbaa !5
  %815 = getelementptr inbounds %struct.gpt2_layer, ptr %814, i32 0, i32 9
  store ptr %812, ptr %815, align 8, !tbaa !65
  %816 = load ptr, ptr %22, align 8, !tbaa !5
  %817 = load ptr, ptr %816, align 8, !tbaa !5
  %818 = load i32, ptr %21, align 4, !tbaa !39
  %819 = load i32, ptr %32, align 4, !tbaa !11
  %820 = mul nsw i32 4, %819
  %821 = sext i32 %820 to i64
  %822 = load i32, ptr %32, align 4, !tbaa !11
  %823 = sext i32 %822 to i64
  %824 = invoke ptr @ggml_new_tensor_2d(ptr noundef %817, i32 noundef %818, i64 noundef %821, i64 noundef %823)
          to label %825 unwind label %959

825:                                              ; preds = %813
  %826 = load ptr, ptr %47, align 8, !tbaa !5
  %827 = getelementptr inbounds %struct.gpt2_layer, ptr %826, i32 0, i32 10
  store ptr %824, ptr %827, align 8, !tbaa !66
  %828 = load ptr, ptr %22, align 8, !tbaa !5
  %829 = load ptr, ptr %828, align 8, !tbaa !5
  %830 = load i32, ptr %32, align 4, !tbaa !11
  %831 = sext i32 %830 to i64
  %832 = invoke ptr @ggml_new_tensor_1d(ptr noundef %829, i32 noundef 0, i64 noundef %831)
          to label %833 unwind label %959

833:                                              ; preds = %825
  %834 = load ptr, ptr %47, align 8, !tbaa !5
  %835 = getelementptr inbounds %struct.gpt2_layer, ptr %834, i32 0, i32 11
  store ptr %832, ptr %835, align 8, !tbaa !67
  %836 = load ptr, ptr %47, align 8, !tbaa !5
  %837 = getelementptr inbounds %struct.gpt2_layer, ptr %836, i32 0, i32 0
  %838 = load ptr, ptr %837, align 8, !tbaa !55
  %839 = load ptr, ptr %6, align 8, !tbaa !5
  %840 = getelementptr inbounds %struct.gpt2_model, ptr %839, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %48) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #8
  %841 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, i32 noundef %841) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %842 unwind label %963

842:                                              ; preds = %833
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef @.str.21)
          to label %843 unwind label %967

843:                                              ; preds = %842
  %844 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %840, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %845 unwind label %971

845:                                              ; preds = %843
  store ptr %838, ptr %844, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #8
  %846 = load ptr, ptr %47, align 8, !tbaa !5
  %847 = getelementptr inbounds %struct.gpt2_layer, ptr %846, i32 0, i32 1
  %848 = load ptr, ptr %847, align 8, !tbaa !57
  %849 = load ptr, ptr %6, align 8, !tbaa !5
  %850 = getelementptr inbounds %struct.gpt2_model, ptr %849, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %51) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  %851 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, i32 noundef %851) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %852 unwind label %977

852:                                              ; preds = %845
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef @.str.22)
          to label %853 unwind label %981

853:                                              ; preds = %852
  %854 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %850, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %855 unwind label %985

855:                                              ; preds = %853
  store ptr %848, ptr %854, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  %856 = load ptr, ptr %47, align 8, !tbaa !5
  %857 = getelementptr inbounds %struct.gpt2_layer, ptr %856, i32 0, i32 2
  %858 = load ptr, ptr %857, align 8, !tbaa !58
  %859 = load ptr, ptr %6, align 8, !tbaa !5
  %860 = getelementptr inbounds %struct.gpt2_model, ptr %859, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #8
  %861 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, i32 noundef %861) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %862 unwind label %991

862:                                              ; preds = %855
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef @.str.23)
          to label %863 unwind label %995

863:                                              ; preds = %862
  %864 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %860, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %865 unwind label %999

865:                                              ; preds = %863
  store ptr %858, ptr %864, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  %866 = load ptr, ptr %47, align 8, !tbaa !5
  %867 = getelementptr inbounds %struct.gpt2_layer, ptr %866, i32 0, i32 3
  %868 = load ptr, ptr %867, align 8, !tbaa !59
  %869 = load ptr, ptr %6, align 8, !tbaa !5
  %870 = getelementptr inbounds %struct.gpt2_model, ptr %869, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #8
  %871 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %59, i32 noundef %871) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %872 unwind label %1005

872:                                              ; preds = %865
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.24)
          to label %873 unwind label %1009

873:                                              ; preds = %872
  %874 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %870, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %875 unwind label %1013

875:                                              ; preds = %873
  store ptr %868, ptr %874, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #8
  %876 = load ptr, ptr %47, align 8, !tbaa !5
  %877 = getelementptr inbounds %struct.gpt2_layer, ptr %876, i32 0, i32 4
  %878 = load ptr, ptr %877, align 8, !tbaa !60
  %879 = load ptr, ptr %6, align 8, !tbaa !5
  %880 = getelementptr inbounds %struct.gpt2_model, ptr %879, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #8
  %881 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, i32 noundef %881) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %882 unwind label %1019

882:                                              ; preds = %875
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull align 8 dereferenceable(32) %61, ptr noundef @.str.25)
          to label %883 unwind label %1023

883:                                              ; preds = %882
  %884 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %880, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %885 unwind label %1027

885:                                              ; preds = %883
  store ptr %878, ptr %884, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  %886 = load ptr, ptr %47, align 8, !tbaa !5
  %887 = getelementptr inbounds %struct.gpt2_layer, ptr %886, i32 0, i32 5
  %888 = load ptr, ptr %887, align 8, !tbaa !61
  %889 = load ptr, ptr %6, align 8, !tbaa !5
  %890 = getelementptr inbounds %struct.gpt2_model, ptr %889, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #8
  %891 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %65, i32 noundef %891) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %892 unwind label %1033

892:                                              ; preds = %885
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef @.str.26)
          to label %893 unwind label %1037

893:                                              ; preds = %892
  %894 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %890, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %895 unwind label %1041

895:                                              ; preds = %893
  store ptr %888, ptr %894, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  %896 = load ptr, ptr %47, align 8, !tbaa !5
  %897 = getelementptr inbounds %struct.gpt2_layer, ptr %896, i32 0, i32 6
  %898 = load ptr, ptr %897, align 8, !tbaa !62
  %899 = load ptr, ptr %6, align 8, !tbaa !5
  %900 = getelementptr inbounds %struct.gpt2_model, ptr %899, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #8
  %901 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, i32 noundef %901) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %902 unwind label %1047

902:                                              ; preds = %895
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef @.str.27)
          to label %903 unwind label %1051

903:                                              ; preds = %902
  %904 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %900, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %905 unwind label %1055

905:                                              ; preds = %903
  store ptr %898, ptr %904, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  %906 = load ptr, ptr %47, align 8, !tbaa !5
  %907 = getelementptr inbounds %struct.gpt2_layer, ptr %906, i32 0, i32 7
  %908 = load ptr, ptr %907, align 8, !tbaa !63
  %909 = load ptr, ptr %6, align 8, !tbaa !5
  %910 = getelementptr inbounds %struct.gpt2_model, ptr %909, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #8
  %911 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, i32 noundef %911) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %912 unwind label %1061

912:                                              ; preds = %905
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef @.str.28)
          to label %913 unwind label %1065

913:                                              ; preds = %912
  %914 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %910, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %915 unwind label %1069

915:                                              ; preds = %913
  store ptr %908, ptr %914, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  %916 = load ptr, ptr %47, align 8, !tbaa !5
  %917 = getelementptr inbounds %struct.gpt2_layer, ptr %916, i32 0, i32 8
  %918 = load ptr, ptr %917, align 8, !tbaa !64
  %919 = load ptr, ptr %6, align 8, !tbaa !5
  %920 = getelementptr inbounds %struct.gpt2_model, ptr %919, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #8
  %921 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %74, i32 noundef %921) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %922 unwind label %1075

922:                                              ; preds = %915
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef @.str.29)
          to label %923 unwind label %1079

923:                                              ; preds = %922
  %924 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %920, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %925 unwind label %1083

925:                                              ; preds = %923
  store ptr %918, ptr %924, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  %926 = load ptr, ptr %47, align 8, !tbaa !5
  %927 = getelementptr inbounds %struct.gpt2_layer, ptr %926, i32 0, i32 9
  %928 = load ptr, ptr %927, align 8, !tbaa !65
  %929 = load ptr, ptr %6, align 8, !tbaa !5
  %930 = getelementptr inbounds %struct.gpt2_model, ptr %929, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #8
  %931 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, i32 noundef %931) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %932 unwind label %1089

932:                                              ; preds = %925
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull align 8 dereferenceable(32) %76, ptr noundef @.str.30)
          to label %933 unwind label %1093

933:                                              ; preds = %932
  %934 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %930, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %935 unwind label %1097

935:                                              ; preds = %933
  store ptr %928, ptr %934, align 8, !tbaa !5
  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 @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  %936 = load ptr, ptr %47, align 8, !tbaa !5
  %937 = getelementptr inbounds %struct.gpt2_layer, ptr %936, i32 0, i32 10
  %938 = load ptr, ptr %937, align 8, !tbaa !66
  %939 = load ptr, ptr %6, align 8, !tbaa !5
  %940 = getelementptr inbounds %struct.gpt2_model, ptr %939, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #8
  %941 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, i32 noundef %941) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %942 unwind label %1103

942:                                              ; preds = %935
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef @.str.31)
          to label %943 unwind label %1107

943:                                              ; preds = %942
  %944 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %940, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %945 unwind label %1111

945:                                              ; preds = %943
  store ptr %938, ptr %944, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  %946 = load ptr, ptr %47, align 8, !tbaa !5
  %947 = getelementptr inbounds %struct.gpt2_layer, ptr %946, i32 0, i32 11
  %948 = load ptr, ptr %947, align 8, !tbaa !67
  %949 = load ptr, ptr %6, align 8, !tbaa !5
  %950 = getelementptr inbounds %struct.gpt2_model, ptr %949, i32 0, i32 10
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #8
  %951 = load i32, ptr %46, align 4, !tbaa !11
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %83, i32 noundef %951) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %952 unwind label %1117

952:                                              ; preds = %945
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull align 8 dereferenceable(32) %82, ptr noundef @.str.32)
          to label %953 unwind label %1121

953:                                              ; preds = %952
  %954 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %950, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %955 unwind label %1125

955:                                              ; preds = %953
  store ptr %948, ptr %954, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  br label %956

956:                                              ; preds = %955
  %957 = load i32, ptr %46, align 4, !tbaa !11
  %958 = add nsw i32 %957, 1
  store i32 %958, ptr %46, align 4, !tbaa !11
  br label %663, !llvm.loop !68

959:                                              ; preds = %825, %813, %804, %792, %784, %773, %764, %752, %744, %736, %728, %717
  %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
  br label %1131

963:                                              ; preds = %833
  %964 = landingpad { ptr, i32 }
          cleanup
  %965 = extractvalue { ptr, i32 } %964, 0
  store ptr %965, ptr %9, align 8
  %966 = extractvalue { ptr, i32 } %964, 1
  store i32 %966, ptr %10, align 4
  br label %976

967:                                              ; preds = %842
  %968 = landingpad { ptr, i32 }
          cleanup
  %969 = extractvalue { ptr, i32 } %968, 0
  store ptr %969, ptr %9, align 8
  %970 = extractvalue { ptr, i32 } %968, 1
  store i32 %970, ptr %10, align 4
  br label %975

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

975:                                              ; preds = %971, %967
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %976

976:                                              ; preds = %975, %963
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %48) #8
  br label %1131

977:                                              ; preds = %845
  %978 = landingpad { ptr, i32 }
          cleanup
  %979 = extractvalue { ptr, i32 } %978, 0
  store ptr %979, ptr %9, align 8
  %980 = extractvalue { ptr, i32 } %978, 1
  store i32 %980, ptr %10, align 4
  br label %990

981:                                              ; preds = %852
  %982 = landingpad { ptr, i32 }
          cleanup
  %983 = extractvalue { ptr, i32 } %982, 0
  store ptr %983, ptr %9, align 8
  %984 = extractvalue { ptr, i32 } %982, 1
  store i32 %984, ptr %10, align 4
  br label %989

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

989:                                              ; preds = %985, %981
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  br label %990

990:                                              ; preds = %989, %977
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %51) #8
  br label %1131

991:                                              ; preds = %855
  %992 = landingpad { ptr, i32 }
          cleanup
  %993 = extractvalue { ptr, i32 } %992, 0
  store ptr %993, ptr %9, align 8
  %994 = extractvalue { ptr, i32 } %992, 1
  store i32 %994, ptr %10, align 4
  br label %1004

995:                                              ; preds = %862
  %996 = landingpad { ptr, i32 }
          cleanup
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %9, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %10, align 4
  br label %1003

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

1003:                                             ; preds = %999, %995
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %1004

1004:                                             ; preds = %1003, %991
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  br label %1131

1005:                                             ; preds = %865
  %1006 = landingpad { ptr, i32 }
          cleanup
  %1007 = extractvalue { ptr, i32 } %1006, 0
  store ptr %1007, ptr %9, align 8
  %1008 = extractvalue { ptr, i32 } %1006, 1
  store i32 %1008, ptr %10, align 4
  br label %1018

1009:                                             ; preds = %872
  %1010 = landingpad { ptr, i32 }
          cleanup
  %1011 = extractvalue { ptr, i32 } %1010, 0
  store ptr %1011, ptr %9, align 8
  %1012 = extractvalue { ptr, i32 } %1010, 1
  store i32 %1012, ptr %10, align 4
  br label %1017

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

1017:                                             ; preds = %1013, %1009
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  br label %1018

1018:                                             ; preds = %1017, %1005
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #8
  br label %1131

1019:                                             ; preds = %875
  %1020 = landingpad { ptr, i32 }
          cleanup
  %1021 = extractvalue { ptr, i32 } %1020, 0
  store ptr %1021, ptr %9, align 8
  %1022 = extractvalue { ptr, i32 } %1020, 1
  store i32 %1022, ptr %10, align 4
  br label %1032

1023:                                             ; preds = %882
  %1024 = landingpad { ptr, i32 }
          cleanup
  %1025 = extractvalue { ptr, i32 } %1024, 0
  store ptr %1025, ptr %9, align 8
  %1026 = extractvalue { ptr, i32 } %1024, 1
  store i32 %1026, ptr %10, align 4
  br label %1031

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

1031:                                             ; preds = %1027, %1023
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  br label %1032

1032:                                             ; preds = %1031, %1019
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  br label %1131

1033:                                             ; preds = %885
  %1034 = landingpad { ptr, i32 }
          cleanup
  %1035 = extractvalue { ptr, i32 } %1034, 0
  store ptr %1035, ptr %9, align 8
  %1036 = extractvalue { ptr, i32 } %1034, 1
  store i32 %1036, ptr %10, align 4
  br label %1046

1037:                                             ; preds = %892
  %1038 = landingpad { ptr, i32 }
          cleanup
  %1039 = extractvalue { ptr, i32 } %1038, 0
  store ptr %1039, ptr %9, align 8
  %1040 = extractvalue { ptr, i32 } %1038, 1
  store i32 %1040, ptr %10, align 4
  br label %1045

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

1045:                                             ; preds = %1041, %1037
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  br label %1046

1046:                                             ; preds = %1045, %1033
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  br label %1131

1047:                                             ; preds = %895
  %1048 = landingpad { ptr, i32 }
          cleanup
  %1049 = extractvalue { ptr, i32 } %1048, 0
  store ptr %1049, ptr %9, align 8
  %1050 = extractvalue { ptr, i32 } %1048, 1
  store i32 %1050, ptr %10, align 4
  br label %1060

1051:                                             ; preds = %902
  %1052 = landingpad { ptr, i32 }
          cleanup
  %1053 = extractvalue { ptr, i32 } %1052, 0
  store ptr %1053, ptr %9, align 8
  %1054 = extractvalue { ptr, i32 } %1052, 1
  store i32 %1054, ptr %10, align 4
  br label %1059

1055:                                             ; preds = %903
  %1056 = landingpad { ptr, i32 }
          cleanup
  %1057 = extractvalue { ptr, i32 } %1056, 0
  store ptr %1057, ptr %9, align 8
  %1058 = extractvalue { ptr, i32 } %1056, 1
  store i32 %1058, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  br label %1059

1059:                                             ; preds = %1055, %1051
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  br label %1060

1060:                                             ; preds = %1059, %1047
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  br label %1131

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

1065:                                             ; preds = %912
  %1066 = landingpad { ptr, i32 }
          cleanup
  %1067 = extractvalue { ptr, i32 } %1066, 0
  store ptr %1067, ptr %9, align 8
  %1068 = extractvalue { ptr, i32 } %1066, 1
  store i32 %1068, ptr %10, align 4
  br label %1073

1069:                                             ; preds = %913
  %1070 = landingpad { ptr, i32 }
          cleanup
  %1071 = extractvalue { ptr, i32 } %1070, 0
  store ptr %1071, ptr %9, align 8
  %1072 = extractvalue { ptr, i32 } %1070, 1
  store i32 %1072, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  br label %1073

1073:                                             ; preds = %1069, %1065
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  br label %1074

1074:                                             ; preds = %1073, %1061
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  br label %1131

1075:                                             ; preds = %915
  %1076 = landingpad { ptr, i32 }
          cleanup
  %1077 = extractvalue { ptr, i32 } %1076, 0
  store ptr %1077, ptr %9, align 8
  %1078 = extractvalue { ptr, i32 } %1076, 1
  store i32 %1078, ptr %10, align 4
  br label %1088

1079:                                             ; preds = %922
  %1080 = landingpad { ptr, i32 }
          cleanup
  %1081 = extractvalue { ptr, i32 } %1080, 0
  store ptr %1081, ptr %9, align 8
  %1082 = extractvalue { ptr, i32 } %1080, 1
  store i32 %1082, ptr %10, align 4
  br label %1087

1083:                                             ; preds = %923
  %1084 = landingpad { ptr, i32 }
          cleanup
  %1085 = extractvalue { ptr, i32 } %1084, 0
  store ptr %1085, ptr %9, align 8
  %1086 = extractvalue { ptr, i32 } %1084, 1
  store i32 %1086, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  br label %1087

1087:                                             ; preds = %1083, %1079
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  br label %1088

1088:                                             ; preds = %1087, %1075
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  br label %1131

1089:                                             ; preds = %925
  %1090 = landingpad { ptr, i32 }
          cleanup
  %1091 = extractvalue { ptr, i32 } %1090, 0
  store ptr %1091, ptr %9, align 8
  %1092 = extractvalue { ptr, i32 } %1090, 1
  store i32 %1092, ptr %10, align 4
  br label %1102

1093:                                             ; preds = %932
  %1094 = landingpad { ptr, i32 }
          cleanup
  %1095 = extractvalue { ptr, i32 } %1094, 0
  store ptr %1095, ptr %9, align 8
  %1096 = extractvalue { ptr, i32 } %1094, 1
  store i32 %1096, ptr %10, align 4
  br label %1101

1097:                                             ; preds = %933
  %1098 = landingpad { ptr, i32 }
          cleanup
  %1099 = extractvalue { ptr, i32 } %1098, 0
  store ptr %1099, ptr %9, align 8
  %1100 = extractvalue { ptr, i32 } %1098, 1
  store i32 %1100, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  br label %1101

1101:                                             ; preds = %1097, %1093
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  br label %1102

1102:                                             ; preds = %1101, %1089
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  br label %1131

1103:                                             ; preds = %935
  %1104 = landingpad { ptr, i32 }
          cleanup
  %1105 = extractvalue { ptr, i32 } %1104, 0
  store ptr %1105, ptr %9, align 8
  %1106 = extractvalue { ptr, i32 } %1104, 1
  store i32 %1106, ptr %10, align 4
  br label %1116

1107:                                             ; preds = %942
  %1108 = landingpad { ptr, i32 }
          cleanup
  %1109 = extractvalue { ptr, i32 } %1108, 0
  store ptr %1109, ptr %9, align 8
  %1110 = extractvalue { ptr, i32 } %1108, 1
  store i32 %1110, ptr %10, align 4
  br label %1115

1111:                                             ; preds = %943
  %1112 = landingpad { ptr, i32 }
          cleanup
  %1113 = extractvalue { ptr, i32 } %1112, 0
  store ptr %1113, ptr %9, align 8
  %1114 = extractvalue { ptr, i32 } %1112, 1
  store i32 %1114, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  br label %1115

1115:                                             ; preds = %1111, %1107
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  br label %1116

1116:                                             ; preds = %1115, %1103
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  br label %1131

1117:                                             ; preds = %945
  %1118 = landingpad { ptr, i32 }
          cleanup
  %1119 = extractvalue { ptr, i32 } %1118, 0
  store ptr %1119, ptr %9, align 8
  %1120 = extractvalue { ptr, i32 } %1118, 1
  store i32 %1120, ptr %10, align 4
  br label %1130

1121:                                             ; preds = %952
  %1122 = landingpad { ptr, i32 }
          cleanup
  %1123 = extractvalue { ptr, i32 } %1122, 0
  store ptr %1123, ptr %9, align 8
  %1124 = extractvalue { ptr, i32 } %1122, 1
  store i32 %1124, ptr %10, align 4
  br label %1129

1125:                                             ; preds = %953
  %1126 = landingpad { ptr, i32 }
          cleanup
  %1127 = extractvalue { ptr, i32 } %1126, 0
  store ptr %1127, ptr %9, align 8
  %1128 = extractvalue { ptr, i32 } %1126, 1
  store i32 %1128, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  br label %1129

1129:                                             ; preds = %1125, %1121
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #8
  br label %1130

1130:                                             ; preds = %1129, %1117
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #8
  br label %1131

1131:                                             ; preds = %1130, %1116, %1102, %1088, %1074, %1060, %1046, %1032, %1018, %1004, %990, %976, %959
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #8
  br label %1199

1132:                                             ; preds = %667
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  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 %84) #8
  %1133 = load ptr, ptr %6, align 8, !tbaa !5
  %1134 = getelementptr inbounds %struct.gpt2_model, ptr %1133, i32 0, i32 0
  store ptr %1134, ptr %84, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #8
  %1135 = load ptr, ptr %84, align 8, !tbaa !5
  %1136 = getelementptr inbounds %struct.gpt2_hparams, ptr %1135, i32 0, i32 2
  %1137 = load i32, ptr %1136, align 4, !tbaa !18
  store i32 %1137, ptr %85, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #8
  %1138 = load ptr, ptr %84, align 8, !tbaa !5
  %1139 = getelementptr inbounds %struct.gpt2_hparams, ptr %1138, i32 0, i32 4
  %1140 = load i32, ptr %1139, align 4, !tbaa !20
  store i32 %1140, ptr %86, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #8
  %1141 = load ptr, ptr %84, align 8, !tbaa !5
  %1142 = getelementptr inbounds %struct.gpt2_hparams, ptr %1141, i32 0, i32 1
  %1143 = load i32, ptr %1142, align 4, !tbaa !17
  store i32 %1143, ptr %87, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #8
  %1144 = load i32, ptr %86, align 4, !tbaa !11
  %1145 = load i32, ptr %87, align 4, !tbaa !11
  %1146 = mul nsw i32 %1144, %1145
  store i32 %1146, ptr %88, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #8
  %1147 = load i32, ptr %85, align 4, !tbaa !11
  %1148 = load i32, ptr %88, align 4, !tbaa !11
  %1149 = mul nsw i32 %1147, %1148
  store i32 %1149, ptr %89, align 4, !tbaa !11
  %1150 = load ptr, ptr %22, align 8, !tbaa !5
  %1151 = load ptr, ptr %1150, align 8, !tbaa !5
  %1152 = load i32, ptr %89, align 4, !tbaa !11
  %1153 = sext i32 %1152 to i64
  %1154 = invoke ptr @ggml_new_tensor_1d(ptr noundef %1151, i32 noundef 0, i64 noundef %1153)
          to label %1155 unwind label %1200

1155:                                             ; preds = %1132
  %1156 = load ptr, ptr %6, align 8, !tbaa !5
  %1157 = getelementptr inbounds %struct.gpt2_model, ptr %1156, i32 0, i32 7
  store ptr %1154, ptr %1157, align 8, !tbaa !69
  %1158 = load ptr, ptr %22, align 8, !tbaa !5
  %1159 = load ptr, ptr %1158, align 8, !tbaa !5
  %1160 = load i32, ptr %89, align 4, !tbaa !11
  %1161 = sext i32 %1160 to i64
  %1162 = invoke ptr @ggml_new_tensor_1d(ptr noundef %1159, i32 noundef 0, i64 noundef %1161)
          to label %1163 unwind label %1200

1163:                                             ; preds = %1155
  %1164 = load ptr, ptr %6, align 8, !tbaa !5
  %1165 = getelementptr inbounds %struct.gpt2_model, ptr %1164, i32 0, i32 8
  store ptr %1162, ptr %1165, align 8, !tbaa !70
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #8
  %1166 = load ptr, ptr %6, align 8, !tbaa !5
  %1167 = getelementptr inbounds %struct.gpt2_model, ptr %1166, i32 0, i32 7
  %1168 = load ptr, ptr %1167, align 8, !tbaa !69
  %1169 = invoke i64 @ggml_nbytes(ptr noundef %1168)
          to label %1170 unwind label %1204

1170:                                             ; preds = %1163
  %1171 = load ptr, ptr %6, align 8, !tbaa !5
  %1172 = getelementptr inbounds %struct.gpt2_model, ptr %1171, i32 0, i32 8
  %1173 = load ptr, ptr %1172, align 8, !tbaa !70
  %1174 = invoke i64 @ggml_nbytes(ptr noundef %1173)
          to label %1175 unwind label %1204

1175:                                             ; preds = %1170
  %1176 = add i64 %1169, %1174
  store i64 %1176, ptr %90, align 8, !tbaa !41
  %1177 = load i64, ptr %90, align 8, !tbaa !41
  %1178 = uitofp i64 %1177 to double
  %1179 = fdiv double %1178, 1.024000e+03
  %1180 = fdiv double %1179, 1.024000e+03
  %1181 = load i32, ptr %88, align 4, !tbaa !11
  %1182 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.33, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, double noundef %1180, i32 noundef %1181)
          to label %1183 unwind label %1204

1183:                                             ; preds = %1175
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #8
  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
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #8
  store i64 0, ptr %91, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #8
  store i8 0, ptr %92, align 1, !tbaa !48
  br label %1184

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

1185:                                             ; preds = %1184
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #8
  %1186 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %93, i64 noundef 4)
          to label %1187 unwind label %1209

1187:                                             ; preds = %1185
  %1188 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %94, i64 noundef 4)
          to label %1189 unwind label %1209

1189:                                             ; preds = %1187
  %1190 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %95, i64 noundef 4)
          to label %1191 unwind label %1209

1191:                                             ; preds = %1189
  %1192 = load ptr, ptr %8, align 8, !tbaa !9
  %1193 = getelementptr i8, ptr %1192, i64 -24
  %1194 = load i64, ptr %1193, align 8
  %1195 = getelementptr inbounds i8, ptr %8, i64 %1194
  %1196 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %1195)
          to label %1197 unwind label %1209

1197:                                             ; preds = %1191
  br i1 %1196, label %1198, label %1213

1198:                                             ; preds = %1197
  store i32 9, ptr %11, align 4
  br label %1404

1199:                                             ; preds = %1131, %716, %707, %698, %689, %680, %668
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  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 %1433

1200:                                             ; preds = %1155, %1132
  %1201 = landingpad { ptr, i32 }
          cleanup
  %1202 = extractvalue { ptr, i32 } %1201, 0
  store ptr %1202, ptr %9, align 8
  %1203 = extractvalue { ptr, i32 } %1201, 1
  store i32 %1203, ptr %10, align 4
  br label %1208

1204:                                             ; preds = %1175, %1170, %1163
  %1205 = landingpad { ptr, i32 }
          cleanup
  %1206 = extractvalue { ptr, i32 } %1205, 0
  store ptr %1206, ptr %9, align 8
  %1207 = extractvalue { ptr, i32 } %1205, 1
  store i32 %1207, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #8
  br label %1208

1208:                                             ; preds = %1204, %1200
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #8
  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
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  br label %1433

1209:                                             ; preds = %1191, %1189, %1187, %1185
  %1210 = landingpad { ptr, i32 }
          cleanup
  %1211 = extractvalue { ptr, i32 } %1210, 0
  store ptr %1211, ptr %9, align 8
  %1212 = extractvalue { ptr, i32 } %1210, 1
  store i32 %1212, ptr %10, align 4
  br label %1411

1213:                                             ; preds = %1197
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #8
  store i32 1, ptr %96, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %97, ptr align 4 @__const._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab.ne, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #8
  store i32 0, ptr %98, align 4, !tbaa !11
  br label %1214

1214:                                             ; preds = %1231, %1213
  %1215 = load i32, ptr %98, align 4, !tbaa !11
  %1216 = load i32, ptr %93, align 4, !tbaa !11
  %1217 = icmp slt i32 %1215, %1216
  br i1 %1217, label %1219, label %1218

1218:                                             ; preds = %1214
  store i32 10, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #8
  br label %1238

1219:                                             ; preds = %1214
  %1220 = load i32, ptr %98, align 4, !tbaa !11
  %1221 = sext i32 %1220 to i64
  %1222 = getelementptr inbounds [2 x i32], ptr %97, i64 0, i64 %1221
  %1223 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %1222, i64 noundef 4)
          to label %1224 unwind label %1234

1224:                                             ; preds = %1219
  %1225 = load i32, ptr %98, align 4, !tbaa !11
  %1226 = sext i32 %1225 to i64
  %1227 = getelementptr inbounds [2 x i32], ptr %97, i64 0, i64 %1226
  %1228 = load i32, ptr %1227, align 4, !tbaa !11
  %1229 = load i32, ptr %96, align 4, !tbaa !11
  %1230 = mul nsw i32 %1229, %1228
  store i32 %1230, ptr %96, align 4, !tbaa !11
  br label %1231

1231:                                             ; preds = %1224
  %1232 = load i32, ptr %98, align 4, !tbaa !11
  %1233 = add nsw i32 %1232, 1
  store i32 %1233, ptr %98, align 4, !tbaa !11
  br label %1214, !llvm.loop !71

1234:                                             ; preds = %1219
  %1235 = landingpad { ptr, i32 }
          cleanup
  %1236 = extractvalue { ptr, i32 } %1235, 0
  store ptr %1236, ptr %9, align 8
  %1237 = extractvalue { ptr, i32 } %1235, 1
  store i32 %1237, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #8
  br label %1410

1238:                                             ; preds = %1218
  call void @llvm.lifetime.start.p0(i64 32, ptr %99) #8
  %1239 = load i32, ptr %94, align 4, !tbaa !11
  %1240 = sext i32 %1239 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %100) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %99, i64 noundef %1240, i8 noundef signext 0, ptr noundef nonnull align 1 dereferenceable(1) %100)
          to label %1241 unwind label %1262

1241:                                             ; preds = %1238
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #8
  %1242 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %99, i64 noundef 0)
          to label %1243 unwind label %1266

1243:                                             ; preds = %1241
  %1244 = load i32, ptr %94, align 4, !tbaa !11
  %1245 = sext i32 %1244 to i64
  %1246 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %1242, i64 noundef %1245)
          to label %1247 unwind label %1266

1247:                                             ; preds = %1243
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #8
  %1248 = load ptr, ptr %6, align 8, !tbaa !5
  %1249 = getelementptr inbounds %struct.gpt2_model, ptr %1248, i32 0, i32 10
  %1250 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(48) %1249, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1251 unwind label %1270

1251:                                             ; preds = %1247
  %1252 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %101, i32 0, i32 0
  store ptr %1250, ptr %1252, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #8
  %1253 = load ptr, ptr %6, align 8, !tbaa !5
  %1254 = getelementptr inbounds %struct.gpt2_model, ptr %1253, i32 0, i32 10
  %1255 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1254) #8
  %1256 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %102, i32 0, i32 0
  store ptr %1255, ptr %1256, align 8
  %1257 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorEESD_(ptr noundef nonnull align 8 dereferenceable(8) %101, ptr noundef nonnull align 8 dereferenceable(8) %102) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #8
  br i1 %1257, label %1258, label %1274

1258:                                             ; preds = %1251
  %1259 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1260 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  %1261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1259, ptr noundef @.str.34, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %1260) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1403

1262:                                             ; preds = %1238
  %1263 = landingpad { ptr, i32 }
          cleanup
  %1264 = extractvalue { ptr, i32 } %1263, 0
  store ptr %1264, ptr %9, align 8
  %1265 = extractvalue { ptr, i32 } %1263, 1
  store i32 %1265, ptr %10, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %100) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %100) #8
  br label %1409

1266:                                             ; preds = %1243, %1241
  %1267 = landingpad { ptr, i32 }
          cleanup
  %1268 = extractvalue { ptr, i32 } %1267, 0
  store ptr %1268, ptr %9, align 8
  %1269 = extractvalue { ptr, i32 } %1267, 1
  store i32 %1269, ptr %10, align 4
  br label %1408

1270:                                             ; preds = %1247
  %1271 = landingpad { ptr, i32 }
          cleanup
  %1272 = extractvalue { ptr, i32 } %1271, 0
  store ptr %1272, ptr %9, align 8
  %1273 = extractvalue { ptr, i32 } %1271, 1
  store i32 %1273, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #8
  br label %1408

1274:                                             ; preds = %1251
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #8
  %1275 = load ptr, ptr %6, align 8, !tbaa !5
  %1276 = getelementptr inbounds %struct.gpt2_model, ptr %1275, i32 0, i32 10
  %1277 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %1276, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1278 unwind label %1290

1278:                                             ; preds = %1274
  %1279 = load ptr, ptr %1277, align 8, !tbaa !5
  store ptr %1279, ptr %103, align 8, !tbaa !5
  %1280 = load ptr, ptr %103, align 8, !tbaa !5
  %1281 = invoke i64 @ggml_nelements(ptr noundef %1280)
          to label %1282 unwind label %1290

1282:                                             ; preds = %1278
  %1283 = load i32, ptr %96, align 4, !tbaa !11
  %1284 = sext i32 %1283 to i64
  %1285 = icmp ne i64 %1281, %1284
  br i1 %1285, label %1286, label %1294

1286:                                             ; preds = %1282
  %1287 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1288 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  %1289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1287, ptr noundef @.str.35, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %1288) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1402

1290:                                             ; preds = %1278, %1274
  %1291 = landingpad { ptr, i32 }
          cleanup
  %1292 = extractvalue { ptr, i32 } %1291, 0
  store ptr %1292, ptr %9, align 8
  %1293 = extractvalue { ptr, i32 } %1291, 1
  store i32 %1293, ptr %10, align 4
  br label %1407

1294:                                             ; preds = %1282
  %1295 = load ptr, ptr %103, align 8, !tbaa !5
  %1296 = getelementptr inbounds %struct.ggml_tensor, ptr %1295, i32 0, i32 2
  %1297 = getelementptr inbounds [4 x i64], ptr %1296, i64 0, i64 0
  %1298 = load i64, ptr %1297, align 8, !tbaa !41
  %1299 = getelementptr inbounds [2 x i32], ptr %97, i64 0, i64 0
  %1300 = load i32, ptr %1299, align 4, !tbaa !11
  %1301 = sext i32 %1300 to i64
  %1302 = icmp ne i64 %1298, %1301
  br i1 %1302, label %1312, label %1303

1303:                                             ; preds = %1294
  %1304 = load ptr, ptr %103, align 8, !tbaa !5
  %1305 = getelementptr inbounds %struct.ggml_tensor, ptr %1304, i32 0, i32 2
  %1306 = getelementptr inbounds [4 x i64], ptr %1305, i64 0, i64 1
  %1307 = load i64, ptr %1306, align 8, !tbaa !41
  %1308 = getelementptr inbounds [2 x i32], ptr %97, i64 0, i64 1
  %1309 = load i32, ptr %1308, align 4, !tbaa !11
  %1310 = sext i32 %1309 to i64
  %1311 = icmp ne i64 %1307, %1310
  br i1 %1311, label %1312, label %1330

1312:                                             ; preds = %1303, %1294
  %1313 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1314 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  %1315 = load ptr, ptr %103, align 8, !tbaa !5
  %1316 = getelementptr inbounds %struct.ggml_tensor, ptr %1315, i32 0, i32 2
  %1317 = getelementptr inbounds [4 x i64], ptr %1316, i64 0, i64 0
  %1318 = load i64, ptr %1317, align 8, !tbaa !41
  %1319 = trunc i64 %1318 to i32
  %1320 = load ptr, ptr %103, align 8, !tbaa !5
  %1321 = getelementptr inbounds %struct.ggml_tensor, ptr %1320, i32 0, i32 2
  %1322 = getelementptr inbounds [4 x i64], ptr %1321, i64 0, i64 1
  %1323 = load i64, ptr %1322, align 8, !tbaa !41
  %1324 = trunc i64 %1323 to i32
  %1325 = getelementptr inbounds [2 x i32], ptr %97, i64 0, i64 0
  %1326 = load i32, ptr %1325, align 4, !tbaa !11
  %1327 = getelementptr inbounds [2 x i32], ptr %97, i64 0, i64 1
  %1328 = load i32, ptr %1327, align 4, !tbaa !11
  %1329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1313, ptr noundef @.str.36, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %1314, i32 noundef %1319, i32 noundef %1324, i32 noundef %1326, i32 noundef %1328) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1402

1330:                                             ; preds = %1303
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #8
  %1331 = load i32, ptr %95, align 4, !tbaa !11
  %1332 = invoke i64 @ggml_type_size(i32 noundef %1331)
          to label %1333 unwind label %1359

1333:                                             ; preds = %1330
  store i64 %1332, ptr %104, align 8, !tbaa !41
  %1334 = load i32, ptr %96, align 4, !tbaa !11
  %1335 = sext i32 %1334 to i64
  %1336 = load i64, ptr %104, align 8, !tbaa !41
  %1337 = mul i64 %1335, %1336
  %1338 = load ptr, ptr %103, align 8, !tbaa !5
  %1339 = getelementptr inbounds %struct.ggml_tensor, ptr %1338, i32 0, i32 0
  %1340 = load i32, ptr %1339, align 8, !tbaa !72
  %1341 = invoke i64 @ggml_blck_size(i32 noundef %1340)
          to label %1342 unwind label %1359

1342:                                             ; preds = %1333
  %1343 = udiv i64 %1337, %1341
  %1344 = load ptr, ptr %103, align 8, !tbaa !5
  %1345 = invoke i64 @ggml_nbytes(ptr noundef %1344)
          to label %1346 unwind label %1359

1346:                                             ; preds = %1342
  %1347 = icmp ne i64 %1343, %1345
  br i1 %1347, label %1348, label %1363

1348:                                             ; preds = %1346
  %1349 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1350 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  %1351 = load ptr, ptr %103, align 8, !tbaa !5
  %1352 = invoke i64 @ggml_nbytes(ptr noundef %1351)
          to label %1353 unwind label %1359

1353:                                             ; preds = %1348
  %1354 = load i32, ptr %96, align 4, !tbaa !11
  %1355 = sext i32 %1354 to i64
  %1356 = load i64, ptr %104, align 8, !tbaa !41
  %1357 = mul i64 %1355, %1356
  %1358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1349, ptr noundef @.str.37, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %1350, i64 noundef %1352, i64 noundef %1357) #8
  store i1 false, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1401

1359:                                             ; preds = %1395, %1391, %1379, %1371, %1369, %1363, %1348, %1342, %1333, %1330
  %1360 = landingpad { ptr, i32 }
          cleanup
  %1361 = extractvalue { ptr, i32 } %1360, 0
  store ptr %1361, ptr %9, align 8
  %1362 = extractvalue { ptr, i32 } %1360, 1
  store i32 %1362, ptr %10, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #8
  br label %1407

1363:                                             ; preds = %1346
  %1364 = load ptr, ptr %103, align 8, !tbaa !5
  %1365 = getelementptr inbounds %struct.ggml_tensor, ptr %1364, i32 0, i32 10
  %1366 = load ptr, ptr %1365, align 8, !tbaa !75
  %1367 = load ptr, ptr %103, align 8, !tbaa !5
  %1368 = invoke i64 @ggml_nbytes(ptr noundef %1367)
          to label %1369 unwind label %1359

1369:                                             ; preds = %1363
  %1370 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %8, ptr noundef %1366, i64 noundef %1368)
          to label %1371 unwind label %1359

1371:                                             ; preds = %1369
  %1372 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef @.str.17)
          to label %1373 unwind label %1359

1373:                                             ; preds = %1371
  br i1 %1372, label %1374, label %1391

1374:                                             ; preds = %1373
  %1375 = load i8, ptr %92, align 1, !tbaa !48, !range !76, !noundef !77
  %1376 = trunc i8 %1375 to i1
  %1377 = zext i1 %1376 to i32
  %1378 = icmp eq i32 %1377, 0
  br i1 %1378, label %1379, label %1391

1379:                                             ; preds = %1374
  %1380 = load ptr, ptr %6, align 8, !tbaa !5
  %1381 = getelementptr inbounds %struct.gpt2_model, ptr %1380, i32 0, i32 5
  %1382 = load ptr, ptr %1381, align 8, !tbaa !54
  %1383 = getelementptr inbounds %struct.ggml_tensor, ptr %1382, i32 0, i32 10
  %1384 = load ptr, ptr %1383, align 8, !tbaa !75
  %1385 = load ptr, ptr %103, align 8, !tbaa !5
  %1386 = getelementptr inbounds %struct.ggml_tensor, ptr %1385, i32 0, i32 10
  %1387 = load ptr, ptr %1386, align 8, !tbaa !75
  %1388 = load ptr, ptr %103, align 8, !tbaa !5
  %1389 = invoke i64 @ggml_nbytes(ptr noundef %1388)
          to label %1390 unwind label %1359

1390:                                             ; preds = %1379
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1384, ptr align 1 %1387, i64 %1389, i1 false)
  br label %1391

1391:                                             ; preds = %1390, %1374, %1373
  %1392 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef @.str.19)
          to label %1393 unwind label %1359

1393:                                             ; preds = %1391
  br i1 %1392, label %1394, label %1395

1394:                                             ; preds = %1393
  store i8 1, ptr %92, align 1, !tbaa !48
  br label %1395

1395:                                             ; preds = %1394, %1393
  %1396 = load ptr, ptr %103, align 8, !tbaa !5
  %1397 = invoke i64 @ggml_nbytes(ptr noundef %1396)
          to label %1398 unwind label %1359

1398:                                             ; preds = %1395
  %1399 = load i64, ptr %91, align 8, !tbaa !41
  %1400 = add i64 %1399, %1397
  store i64 %1400, ptr %91, align 8, !tbaa !41
  store i32 0, ptr %11, align 4
  br label %1401

1401:                                             ; preds = %1398, %1353
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #8
  br label %1402

1402:                                             ; preds = %1401, %1312, %1286
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #8
  br label %1403

1403:                                             ; preds = %1402, %1258
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #8
  br label %1404

1404:                                             ; preds = %1403, %1198
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #8
  %1405 = load i32, ptr %11, align 4
  switch i32 %1405, label %1419 [
    i32 0, label %1406
    i32 9, label %1412
  ]

1406:                                             ; preds = %1404
  br label %1184, !llvm.loop !78

1407:                                             ; preds = %1359, %1290
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #8
  br label %1408

1408:                                             ; preds = %1407, %1270, %1266
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #8
  br label %1409

1409:                                             ; preds = %1408, %1262
  call void @llvm.lifetime.end.p0(i64 32, ptr %99) #8
  br label %1410

1410:                                             ; preds = %1409, %1234
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #8
  br label %1411

1411:                                             ; preds = %1410, %1209
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #8
  br label %1427

1412:                                             ; preds = %1404
  %1413 = load i64, ptr %91, align 8, !tbaa !41
  %1414 = uitofp i64 %1413 to double
  %1415 = fdiv double %1414, 1.024000e+03
  %1416 = fdiv double %1415, 1.024000e+03
  %1417 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.38, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, double noundef %1416)
          to label %1418 unwind label %1423

1418:                                             ; preds = %1412
  store i32 0, ptr %11, align 4
  br label %1419

1419:                                             ; preds = %1418, %1404
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  %1420 = load i32, ptr %11, align 4
  switch i32 %1420, label %1432 [
    i32 0, label %1421
  ]

1421:                                             ; preds = %1419
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %8)
          to label %1422 unwind label %1428

1422:                                             ; preds = %1421
  store i1 true, ptr %4, align 1
  store i32 1, ptr %11, align 4
  br label %1432

1423:                                             ; preds = %1412
  %1424 = landingpad { ptr, i32 }
          cleanup
  %1425 = extractvalue { ptr, i32 } %1424, 0
  store ptr %1425, ptr %9, align 8
  %1426 = extractvalue { ptr, i32 } %1424, 1
  store i32 %1426, ptr %10, align 4
  br label %1427

1427:                                             ; preds = %1423, %1411
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #8
  br label %1433

1428:                                             ; preds = %1421
  %1429 = landingpad { ptr, i32 }
          cleanup
  %1430 = extractvalue { ptr, i32 } %1429, 0
  store ptr %1430, ptr %9, align 8
  %1431 = extractvalue { ptr, i32 } %1429, 1
  store i32 %1431, ptr %10, align 4
  br label %1433

1432:                                             ; preds = %1422, %1419, %553
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  br label %1434

1433:                                             ; preds = %1428, %1427, %1208, %1199, %548, %544
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  br label %1435

1434:                                             ; preds = %1432, %297
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #8
  br label %1436

1435:                                             ; preds = %1433, %308
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #8
  br label %1438

1436:                                             ; preds = %1434, %286, %139, %115
  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
  %1437 = load i1, ptr %4, align 1
  ret i1 %1437

1438:                                             ; preds = %1435, %307, %235, %134, %120
  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 %1439

1439:                                             ; preds = %1438
  %1440 = load ptr, ptr %9, align 8
  %1441 = load i32, ptr %10, align 4
  %1442 = insertvalue { ptr, i32 } poison, ptr %1440, 0
  %1443 = insertvalue { ptr, i32 } %1442, i32 %1441, 1
  resume { ptr, i32 } %1443
}

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

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

declare ptr @ggml_new_tensor_2d(ptr noundef, i32 noundef, i64 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(96) ptr @_ZNSt6vectorI10gpt2_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

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

; 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 20}
!14 = !{!"_ZTS12gpt2_hparams", !12, i64 0, !12, i64 4, !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20, !15, i64 24}
!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 = !{!22, !12, i64 0}
!22 = !{!"_ZTS10gpt2_model", !14, i64 0, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !23, i64 72, !6, i64 96, !6, i64 104, !6, i64 112, !27, i64 120}
!23 = !{!"_ZTSSt6vectorI10gpt2_layerSaIS0_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseI10gpt2_layerSaIS0_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseI10gpt2_layerSaIS0_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseI10gpt2_layerSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!27 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE", !28, i64 0}
!28 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !29, i64 0}
!29 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !30, i64 0, !32, i64 8}
!30 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !31, i64 0}
!31 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!32 = !{!"_ZTSSt15_Rb_tree_header", !33, i64 0, !35, i64 32}
!33 = !{!"_ZTSSt18_Rb_tree_node_base", !34, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!34 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!35 = !{!"long", !7, i64 0}
!36 = distinct !{!36, !37}
!37 = !{!"llvm.loop.mustprogress"}
!38 = !{!22, !12, i64 20}
!39 = !{!40, !40, i64 0}
!40 = !{!"_ZTS9ggml_type", !7, i64 0}
!41 = !{!35, !35, i64 0}
!42 = !{!43, !35, i64 0}
!43 = !{!"_ZTS16ggml_init_params", !35, i64 0, !6, i64 8, !44, i64 16}
!44 = !{!"bool", !7, i64 0}
!45 = !{!43, !6, i64 8}
!46 = !{!43, !44, i64 16}
!47 = !{i64 0, i64 8, !41, i64 8, i64 8, !5, i64 16, i64 1, !48}
!48 = !{!44, !44, i64 0}
!49 = !{!22, !6, i64 112}
!50 = !{!22, !6, i64 32}
!51 = !{!22, !6, i64 40}
!52 = !{!22, !6, i64 48}
!53 = !{!22, !6, i64 56}
!54 = !{!22, !6, i64 64}
!55 = !{!56, !6, i64 0}
!56 = !{!"_ZTS10gpt2_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, !6, i64 80, !6, i64 88}
!57 = !{!56, !6, i64 8}
!58 = !{!56, !6, i64 16}
!59 = !{!56, !6, i64 24}
!60 = !{!56, !6, i64 32}
!61 = !{!56, !6, i64 40}
!62 = !{!56, !6, i64 48}
!63 = !{!56, !6, i64 56}
!64 = !{!56, !6, i64 64}
!65 = !{!56, !6, i64 72}
!66 = !{!56, !6, i64 80}
!67 = !{!56, !6, i64 88}
!68 = distinct !{!68, !37}
!69 = !{!22, !6, i64 96}
!70 = !{!22, !6, i64 104}
!71 = distinct !{!71, !37}
!72 = !{!73, !40, i64 0}
!73 = !{!"_ZTS11ggml_tensor", !40, i64 0, !6, i64 8, !7, i64 16, !7, i64 48, !74, i64 80, !7, i64 84, !12, i64 148, !7, i64 152, !6, i64 232, !35, i64 240, !6, i64 248, !7, i64 256, !6, i64 320, !7, i64 328}
!74 = !{!"_ZTS7ggml_op", !7, i64 0}
!75 = !{!73, !6, i64 248}
!76 = !{i8 0, i8 2}
!77 = !{}
!78 = distinct !{!78, !37}


; 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 [29 x i8], align 1
@__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_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 [55 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [33 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 [13 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [40 x i8], align 1
@__const._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab.ne = external hidden unnamed_addr constant [2 x i32], align 4
@.str.34 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [28 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 @_Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_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 %"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 i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca [2 x i32], align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator.0", align 1
  %65 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %66 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %67 = tail call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #8
  %68 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %67)
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %4) #8
  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)
  %69 = load ptr, ptr %4, align 8, !tbaa !5
  %70 = getelementptr i8, ptr %69, i64 -24
  %71 = load i64, ptr %70, align 8
  %72 = getelementptr inbounds i8, ptr %4, i64 %71
  %73 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %72)
          to label %74 unwind label %79

74:                                               ; preds = %3
  br i1 %73, label %75, label %81

75:                                               ; preds = %74
  %76 = load ptr, ptr @stderr, align 8, !tbaa !8
  %77 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #8
  %78 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %76, ptr noundef nonnull @.str.1, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %77) #9
  br label %729

79:                                               ; preds = %3
  %80 = landingpad { ptr, i32 }
          cleanup
  br label %730

81:                                               ; preds = %74
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #8
  %82 = 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 %83 unwind label %89

83:                                               ; preds = %81
  %84 = load i32, ptr %5, align 4, !tbaa !11
  %.not = icmp eq i32 %84, 1734831468
  br i1 %.not, label %.critedge, label %85

85:                                               ; preds = %83
  %86 = load ptr, ptr @stderr, align 8, !tbaa !8
  %87 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #8
  %88 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %86, ptr noundef nonnull @.str.2, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %87) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #8
  br label %729

89:                                               ; preds = %81
  %90 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #8
  br label %730

.critedge:                                        ; preds = %83
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #8
  %91 = 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 %92 unwind label %134

92:                                               ; preds = %.critedge
  %93 = getelementptr inbounds i8, ptr %1, i64 4
  %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 %134

95:                                               ; preds = %92
  %96 = getelementptr inbounds i8, ptr %1, i64 8
  %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 %134

98:                                               ; preds = %95
  %99 = getelementptr inbounds i8, ptr %1, i64 12
  %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 %134

101:                                              ; preds = %98
  %102 = getelementptr inbounds i8, ptr %1, i64 16
  %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 %134

104:                                              ; preds = %101
  %105 = getelementptr inbounds i8, ptr %1, i64 20
  %106 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %105, i64 noundef 4)
          to label %107 unwind label %134

107:                                              ; preds = %104
  %108 = load i32, ptr %105, align 4, !tbaa !13
  %109 = sdiv i32 %108, 1000
  %110 = load i32, ptr %1, align 8, !tbaa !16
  %111 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %110)
  %112 = load i32, ptr %93, align 4, !tbaa !17
  %113 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %112)
  %114 = load i32, ptr %96, align 8, !tbaa !18
  %115 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %114)
  %116 = load i32, ptr %99, align 4, !tbaa !19
  %117 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %116)
  %118 = load i32, ptr %102, align 8, !tbaa !20
  %119 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.7, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %118)
  %120 = load i32, ptr %105, align 4, !tbaa !13
  %121 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %120)
  %122 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.9, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef %109)
  %123 = load i32, ptr %105, align 4, !tbaa !13
  %124 = srem i32 %123, 1000
  store i32 %124, ptr %105, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #8
  store i32 0, ptr %6, align 4, !tbaa !11
  %125 = 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 %126 unwind label %136

126:                                              ; preds = %107
  %127 = load i32, ptr %6, align 4, !tbaa !11
  %128 = load i32, ptr %1, align 8, !tbaa !21
  %.not364 = icmp eq i32 %127, %128
  br i1 %.not364, label %138, label %.thread

.thread:                                          ; preds = %126
  %129 = load ptr, ptr @stderr, align 8, !tbaa !8
  %130 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #8
  %131 = load i32, ptr %6, align 4, !tbaa !11
  %132 = load i32, ptr %1, align 8, !tbaa !21
  %133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %129, ptr noundef nonnull @.str.10, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %130, i32 noundef %131, i32 noundef %132) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #8
  br label %729

134:                                              ; preds = %104, %101, %98, %95, %92, %.critedge
  %135 = landingpad { ptr, i32 }
          cleanup
  br label %730

136:                                              ; preds = %107
  %137 = landingpad { ptr, i32 }
          cleanup
  br label %184

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

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

.lr.ph:                                           ; preds = %139
  %142 = getelementptr inbounds i8, ptr %2, i64 48
  br label %145

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

145:                                              ; preds = %.lr.ph, %167
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #8
  %146 = 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 %147 unwind label %172

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

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

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

160:                                              ; preds = %155
  %161 = load i32, ptr %10, align 4, !tbaa !11
  %162 = 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 %163 unwind label %172

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

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

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

172:                                              ; preds = %165, %163, %160, %155, %150, %147, %145
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #8
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  br label %183

._crit_edge:                                      ; preds = %167, %139
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #8
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #8
  %174 = load i32, ptr %105, align 4, !tbaa !38
  %175 = invoke i32 @ggml_ftype_to_ggml_type(i32 noundef %174)
          to label %176 unwind label %185

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

178:                                              ; preds = %176
  %179 = load ptr, ptr @stderr, align 8, !tbaa !8
  %180 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #8
  %181 = load i32, ptr %105, align 4, !tbaa !38
  %182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %179, ptr noundef nonnull @.str.11, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %180, i32 noundef %181) #9
  br label %729

183:                                              ; preds = %172, %143
  %.pn = phi { ptr, i32 } [ %173, %172 ], [ %144, %143 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #8
  br label %184

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

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

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

195:                                              ; preds = %187
  %196 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %193)
          to label %197 unwind label %268

197:                                              ; preds = %195
  %198 = mul nsw i32 %192, %189
  %199 = sext i32 %198 to i64
  %200 = invoke i64 @ggml_row_size(i32 noundef %175, i64 noundef %199)
          to label %201 unwind label %268

201:                                              ; preds = %197
  %202 = mul nsw i32 %191, %189
  %203 = sext i32 %202 to i64
  %204 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %203)
          to label %205 unwind label %268

205:                                              ; preds = %201
  %206 = invoke i64 @ggml_row_size(i32 noundef %175, i64 noundef %199)
          to label %207 unwind label %268

207:                                              ; preds = %205
  %208 = sext i32 %190 to i64
  %209 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %193)
          to label %210 unwind label %268

210:                                              ; preds = %207
  %211 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %193)
          to label %212 unwind label %268

212:                                              ; preds = %210
  %213 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %193)
          to label %214 unwind label %268

214:                                              ; preds = %212
  %215 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %193)
          to label %216 unwind label %268

216:                                              ; preds = %214
  %217 = mul nsw i32 %189, 3
  %218 = mul nsw i32 %217, %189
  %219 = sext i32 %218 to i64
  %220 = invoke i64 @ggml_row_size(i32 noundef %175, i64 noundef %219)
          to label %221 unwind label %268

221:                                              ; preds = %216
  %222 = sext i32 %217 to i64
  %223 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %222)
          to label %224 unwind label %268

224:                                              ; preds = %221
  %225 = mul nsw i32 %189, %189
  %226 = zext nneg i32 %225 to i64
  %227 = invoke i64 @ggml_row_size(i32 noundef %175, i64 noundef %226)
          to label %228 unwind label %268

228:                                              ; preds = %224
  %229 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %193)
          to label %230 unwind label %268

230:                                              ; preds = %228
  %231 = shl nsw i32 %189, 2
  %232 = mul nsw i32 %231, %189
  %233 = sext i32 %232 to i64
  %234 = invoke i64 @ggml_row_size(i32 noundef %175, i64 noundef %233)
          to label %235 unwind label %268

235:                                              ; preds = %230
  %236 = sext i32 %231 to i64
  %237 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %236)
          to label %238 unwind label %268

238:                                              ; preds = %235
  %239 = invoke i64 @ggml_row_size(i32 noundef %175, i64 noundef %233)
          to label %240 unwind label %268

240:                                              ; preds = %238
  %241 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %236)
          to label %242 unwind label %268

242:                                              ; preds = %240
  %243 = mul nsw i32 %191, %190
  %244 = sext i32 %243 to i64
  %245 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %193)
          to label %246 unwind label %268

246:                                              ; preds = %242
  %247 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %193)
          to label %248 unwind label %268

248:                                              ; preds = %246
  %249 = mul i32 %190, 6144
  %250 = add i32 %249, 3072
  %251 = sext i32 %250 to i64
  %reass.add = add i64 %211, %209
  %reass.add447 = add i64 %reass.add, %213
  %reass.add448 = add i64 %reass.add447, %215
  %reass.add449 = add i64 %reass.add448, %220
  %reass.add450 = add i64 %reass.add449, %223
  %reass.add451 = add i64 %reass.add450, %227
  %reass.add452 = add i64 %reass.add451, %229
  %reass.add453 = add i64 %reass.add452, %234
  %reass.add454 = add i64 %reass.add453, %237
  %reass.add455 = add i64 %reass.add454, %239
  %reass.add456 = add i64 %reass.add455, %241
  %reass.mul = mul i64 %reass.add456, %208
  %reass.add457 = add i64 %247, %245
  %reass.mul458 = mul i64 %reass.add457, %244
  %252 = add i64 %194, %251
  %253 = add i64 %252, %196
  %254 = add i64 %253, %200
  %255 = add i64 %254, %204
  %256 = add i64 %255, %206
  %257 = add i64 %256, %reass.mul
  %258 = add i64 %257, %reass.mul458
  %259 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.12, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, i32 noundef 336)
  %260 = uitofp i64 %258 to double
  %261 = fmul double %260, 0x3EB0000000000000
  %262 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.13, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, double noundef %261)
  store i64 %258, ptr %12, align 8, !tbaa !39
  %.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 !40
  %263 = invoke ptr @ggml_init(ptr noundef nonnull byval(%struct.ggml_init_params) align 8 %12)
          to label %264 unwind label %270

264:                                              ; preds = %248
  store ptr %263, ptr %188, align 8, !tbaa !42
  %.not367.not = icmp eq ptr %263, null
  br i1 %.not367.not, label %265, label %.critedge433

265:                                              ; preds = %264
  %266 = load ptr, ptr @stderr, align 8, !tbaa !8
  %267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %266, ptr noundef nonnull @.str.14, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab) #9
  br label %729

268:                                              ; preds = %246, %242, %240, %238, %235, %230, %228, %224, %221, %216, %214, %212, %210, %207, %205, %201, %197, %195, %187
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %730

270:                                              ; preds = %248
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %730

.critedge433:                                     ; preds = %264
  %272 = load i32, ptr %96, align 8, !tbaa !18
  %273 = load i32, ptr %102, align 8, !tbaa !20
  %274 = load i32, ptr %93, align 4, !tbaa !17
  %275 = load i32, ptr %1, align 8, !tbaa !16
  %276 = getelementptr inbounds i8, ptr %1, i64 72
  %277 = sext i32 %273 to i64
  invoke void @_ZNSt6vectorI10gpt2_layerSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %276, i64 noundef %277)
          to label %278 unwind label %336

278:                                              ; preds = %.critedge433
  %279 = load ptr, ptr %188, align 8, !tbaa !8
  %280 = sext i32 %272 to i64
  %281 = invoke ptr @ggml_new_tensor_1d(ptr noundef %279, i32 noundef 0, i64 noundef %280)
          to label %282 unwind label %336

282:                                              ; preds = %278
  %283 = getelementptr inbounds i8, ptr %1, i64 32
  store ptr %281, ptr %283, align 8, !tbaa !43
  %284 = load ptr, ptr %188, align 8, !tbaa !8
  %285 = invoke ptr @ggml_new_tensor_1d(ptr noundef %284, i32 noundef 0, i64 noundef %280)
          to label %286 unwind label %336

286:                                              ; preds = %282
  %287 = getelementptr inbounds i8, ptr %1, i64 40
  store ptr %285, ptr %287, align 8, !tbaa !44
  %288 = load ptr, ptr %188, align 8, !tbaa !8
  %289 = sext i32 %275 to i64
  %290 = invoke ptr @ggml_new_tensor_2d(ptr noundef %288, i32 noundef %175, i64 noundef %280, i64 noundef %289)
          to label %291 unwind label %336

291:                                              ; preds = %286
  %292 = getelementptr inbounds i8, ptr %1, i64 48
  store ptr %290, ptr %292, align 8, !tbaa !45
  %293 = load ptr, ptr %188, align 8, !tbaa !8
  %294 = sext i32 %274 to i64
  %295 = invoke ptr @ggml_new_tensor_2d(ptr noundef %293, i32 noundef 0, i64 noundef %280, i64 noundef %294)
          to label %296 unwind label %336

296:                                              ; preds = %291
  %297 = getelementptr inbounds i8, ptr %1, i64 56
  store ptr %295, ptr %297, align 8, !tbaa !46
  %298 = load ptr, ptr %188, align 8, !tbaa !8
  %299 = invoke ptr @ggml_new_tensor_2d(ptr noundef %298, i32 noundef %175, i64 noundef %280, i64 noundef %289)
          to label %300 unwind label %336

300:                                              ; preds = %296
  %301 = getelementptr inbounds i8, ptr %1, i64 64
  store ptr %299, ptr %301, align 8, !tbaa !47
  %302 = load ptr, ptr %283, align 8, !tbaa !43
  %303 = getelementptr inbounds i8, ptr %1, i64 120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  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 %304 unwind label %338

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

306:                                              ; preds = %304
  store ptr %302, ptr %305, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  %307 = load ptr, ptr %287, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #8
  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 %308 unwind label %343

308:                                              ; preds = %306
  %309 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %310 unwind label %345

310:                                              ; preds = %308
  store ptr %307, ptr %309, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  %311 = load ptr, ptr %292, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  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 %312 unwind label %348

312:                                              ; preds = %310
  %313 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %314 unwind label %350

314:                                              ; preds = %312
  store ptr %311, ptr %313, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  %315 = load ptr, ptr %297, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #8
  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 %316 unwind label %353

316:                                              ; preds = %314
  %317 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %318 unwind label %355

318:                                              ; preds = %316
  store ptr %315, ptr %317, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  %319 = load ptr, ptr %301, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #8
  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 %320 unwind label %358

320:                                              ; preds = %318
  %321 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %322 unwind label %360

322:                                              ; preds = %320
  store ptr %319, ptr %321, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #8
  %323 = icmp sgt i32 %273, 0
  br i1 %323, label %.lr.ph480, label %._crit_edge481

.lr.ph480:                                        ; preds = %322
  %324 = mul nsw i32 %272, 3
  %325 = sext i32 %324 to i64
  %326 = shl nsw i32 %272, 2
  %327 = sext i32 %326 to i64
  %wide.trip.count = zext nneg i32 %273 to i64
  br label %363

._crit_edge481:                                   ; preds = %472, %322
  %328 = load i32, ptr %96, align 8, !tbaa !18
  %329 = load i32, ptr %102, align 8, !tbaa !20
  %330 = load i32, ptr %93, align 4, !tbaa !17
  %331 = mul nsw i32 %330, %329
  %332 = mul nsw i32 %331, %328
  %333 = load ptr, ptr %188, align 8, !tbaa !8
  %334 = sext i32 %332 to i64
  %335 = invoke ptr @ggml_new_tensor_1d(ptr noundef %333, i32 noundef 0, i64 noundef %334)
          to label %571 unwind label %602

336:                                              ; preds = %296, %291, %286, %282, %278, %.critedge433
  %337 = landingpad { ptr, i32 }
          cleanup
  br label %730

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

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

342:                                              ; preds = %340, %338
  %.pn368 = phi { ptr, i32 } [ %341, %340 ], [ %339, %338 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #8
  br label %730

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

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

347:                                              ; preds = %345, %343
  %.pn370 = phi { ptr, i32 } [ %346, %345 ], [ %344, %343 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #8
  br label %730

348:                                              ; preds = %310
  %349 = landingpad { ptr, i32 }
          cleanup
  br label %352

350:                                              ; preds = %312
  %351 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #8
  br label %352

352:                                              ; preds = %350, %348
  %.pn372 = phi { ptr, i32 } [ %351, %350 ], [ %349, %348 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #8
  br label %730

353:                                              ; preds = %314
  %354 = landingpad { ptr, i32 }
          cleanup
  br label %357

355:                                              ; preds = %316
  %356 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #8
  br label %357

357:                                              ; preds = %355, %353
  %.pn374 = phi { ptr, i32 } [ %356, %355 ], [ %354, %353 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #8
  br label %730

358:                                              ; preds = %318
  %359 = landingpad { ptr, i32 }
          cleanup
  br label %362

360:                                              ; preds = %320
  %361 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #8
  br label %362

362:                                              ; preds = %360, %358
  %.pn376 = phi { ptr, i32 } [ %361, %360 ], [ %359, %358 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #8
  br label %730

363:                                              ; preds = %.lr.ph480, %472
  %indvars.iv = phi i64 [ 0, %.lr.ph480 ], [ %indvars.iv.next, %472 ]
  %364 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNSt6vectorI10gpt2_layerSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %276, i64 noundef %indvars.iv) #8
  %365 = load ptr, ptr %188, align 8, !tbaa !8
  %366 = invoke ptr @ggml_new_tensor_1d(ptr noundef %365, i32 noundef 0, i64 noundef %280)
          to label %367 unwind label %473

367:                                              ; preds = %363
  store ptr %366, ptr %364, align 8, !tbaa !48
  %368 = load ptr, ptr %188, align 8, !tbaa !8
  %369 = invoke ptr @ggml_new_tensor_1d(ptr noundef %368, i32 noundef 0, i64 noundef %280)
          to label %370 unwind label %473

370:                                              ; preds = %367
  %371 = getelementptr inbounds i8, ptr %364, i64 8
  store ptr %369, ptr %371, align 8, !tbaa !50
  %372 = load ptr, ptr %188, align 8, !tbaa !8
  %373 = invoke ptr @ggml_new_tensor_1d(ptr noundef %372, i32 noundef 0, i64 noundef %280)
          to label %374 unwind label %473

374:                                              ; preds = %370
  %375 = getelementptr inbounds i8, ptr %364, i64 16
  store ptr %373, ptr %375, align 8, !tbaa !51
  %376 = load ptr, ptr %188, align 8, !tbaa !8
  %377 = invoke ptr @ggml_new_tensor_1d(ptr noundef %376, i32 noundef 0, i64 noundef %280)
          to label %378 unwind label %473

378:                                              ; preds = %374
  %379 = getelementptr inbounds i8, ptr %364, i64 24
  store ptr %377, ptr %379, align 8, !tbaa !52
  %380 = load ptr, ptr %188, align 8, !tbaa !8
  %381 = invoke ptr @ggml_new_tensor_2d(ptr noundef %380, i32 noundef %175, i64 noundef %280, i64 noundef %325)
          to label %382 unwind label %473

382:                                              ; preds = %378
  %383 = getelementptr inbounds i8, ptr %364, i64 32
  store ptr %381, ptr %383, align 8, !tbaa !53
  %384 = load ptr, ptr %188, align 8, !tbaa !8
  %385 = invoke ptr @ggml_new_tensor_1d(ptr noundef %384, i32 noundef 0, i64 noundef %325)
          to label %386 unwind label %473

386:                                              ; preds = %382
  %387 = getelementptr inbounds i8, ptr %364, i64 40
  store ptr %385, ptr %387, align 8, !tbaa !54
  %388 = load ptr, ptr %188, align 8, !tbaa !8
  %389 = invoke ptr @ggml_new_tensor_2d(ptr noundef %388, i32 noundef %175, i64 noundef %280, i64 noundef %280)
          to label %390 unwind label %473

390:                                              ; preds = %386
  %391 = getelementptr inbounds i8, ptr %364, i64 48
  store ptr %389, ptr %391, align 8, !tbaa !55
  %392 = load ptr, ptr %188, align 8, !tbaa !8
  %393 = invoke ptr @ggml_new_tensor_1d(ptr noundef %392, i32 noundef 0, i64 noundef %280)
          to label %394 unwind label %473

394:                                              ; preds = %390
  %395 = getelementptr inbounds i8, ptr %364, i64 56
  store ptr %393, ptr %395, align 8, !tbaa !56
  %396 = load ptr, ptr %188, align 8, !tbaa !8
  %397 = invoke ptr @ggml_new_tensor_2d(ptr noundef %396, i32 noundef %175, i64 noundef %280, i64 noundef %327)
          to label %398 unwind label %473

398:                                              ; preds = %394
  %399 = getelementptr inbounds i8, ptr %364, i64 64
  store ptr %397, ptr %399, align 8, !tbaa !57
  %400 = load ptr, ptr %188, align 8, !tbaa !8
  %401 = invoke ptr @ggml_new_tensor_1d(ptr noundef %400, i32 noundef 0, i64 noundef %327)
          to label %402 unwind label %473

402:                                              ; preds = %398
  %403 = getelementptr inbounds i8, ptr %364, i64 72
  store ptr %401, ptr %403, align 8, !tbaa !58
  %404 = load ptr, ptr %188, align 8, !tbaa !8
  %405 = invoke ptr @ggml_new_tensor_2d(ptr noundef %404, i32 noundef %175, i64 noundef %327, i64 noundef %280)
          to label %406 unwind label %473

406:                                              ; preds = %402
  %407 = getelementptr inbounds i8, ptr %364, i64 80
  store ptr %405, ptr %407, align 8, !tbaa !59
  %408 = load ptr, ptr %188, align 8, !tbaa !8
  %409 = invoke ptr @ggml_new_tensor_1d(ptr noundef %408, i32 noundef 0, i64 noundef %280)
          to label %410 unwind label %473

410:                                              ; preds = %406
  %411 = getelementptr inbounds i8, ptr %364, i64 88
  store ptr %409, ptr %411, align 8, !tbaa !60
  %412 = load ptr, ptr %364, align 8, !tbaa !48
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #8
  %413 = 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 %413) #8
  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 %414 unwind label %475

414:                                              ; preds = %410
  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 %415 unwind label %477

415:                                              ; preds = %414
  %416 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %417 unwind label %479

417:                                              ; preds = %415
  store ptr %412, ptr %416, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #8
  %418 = load ptr, ptr %371, align 8, !tbaa !50
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, i32 noundef %413) #8
  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 %419 unwind label %483

419:                                              ; preds = %417
  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 %420 unwind label %485

420:                                              ; preds = %419
  %421 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %422 unwind label %487

422:                                              ; preds = %420
  store ptr %418, ptr %421, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  %423 = load ptr, ptr %375, align 8, !tbaa !51
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, i32 noundef %413) #8
  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 %424 unwind label %491

424:                                              ; preds = %422
  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 %425 unwind label %493

425:                                              ; preds = %424
  %426 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %29)
          to label %427 unwind label %495

427:                                              ; preds = %425
  store ptr %423, ptr %426, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  %428 = load ptr, ptr %379, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, i32 noundef %413) #8
  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 %429 unwind label %499

429:                                              ; preds = %427
  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 %430 unwind label %501

430:                                              ; preds = %429
  %431 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %432 unwind label %503

432:                                              ; preds = %430
  store ptr %428, ptr %431, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  %433 = load ptr, ptr %383, align 8, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, i32 noundef %413) #8
  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 %434 unwind label %507

434:                                              ; preds = %432
  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 %435 unwind label %509

435:                                              ; preds = %434
  %436 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %437 unwind label %511

437:                                              ; preds = %435
  store ptr %433, ptr %436, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  %438 = load ptr, ptr %387, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, i32 noundef %413) #8
  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 %439 unwind label %515

439:                                              ; preds = %437
  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 %440 unwind label %517

440:                                              ; preds = %439
  %441 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %442 unwind label %519

442:                                              ; preds = %440
  store ptr %438, ptr %441, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  %443 = load ptr, ptr %391, align 8, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, i32 noundef %413) #8
  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 %444 unwind label %523

444:                                              ; preds = %442
  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 %445 unwind label %525

445:                                              ; preds = %444
  %446 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %447 unwind label %527

447:                                              ; preds = %445
  store ptr %443, ptr %446, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  %448 = load ptr, ptr %395, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, i32 noundef %413) #8
  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 %449 unwind label %531

449:                                              ; preds = %447
  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 %450 unwind label %533

450:                                              ; preds = %449
  %451 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %452 unwind label %535

452:                                              ; preds = %450
  store ptr %448, ptr %451, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  %453 = load ptr, ptr %399, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, i32 noundef %413) #8
  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 %454 unwind label %539

454:                                              ; preds = %452
  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 %455 unwind label %541

455:                                              ; preds = %454
  %456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %457 unwind label %543

457:                                              ; preds = %455
  store ptr %453, ptr %456, align 8, !tbaa !8
  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 nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  %458 = load ptr, ptr %403, align 8, !tbaa !58
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, i32 noundef %413) #8
  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 %459 unwind label %547

459:                                              ; preds = %457
  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 %460 unwind label %549

460:                                              ; preds = %459
  %461 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %462 unwind label %551

462:                                              ; preds = %460
  store ptr %458, ptr %461, align 8, !tbaa !8
  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 nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  %463 = load ptr, ptr %407, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, i32 noundef %413) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %464 unwind label %555

464:                                              ; preds = %462
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull @.str.31)
          to label %465 unwind label %557

465:                                              ; preds = %464
  %466 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %467 unwind label %559

467:                                              ; preds = %465
  store ptr %463, ptr %466, align 8, !tbaa !8
  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 nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #8
  %468 = load ptr, ptr %411, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #8
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, i32 noundef %413) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull @.str.20, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %469 unwind label %563

469:                                              ; preds = %467
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.32)
          to label %470 unwind label %565

470:                                              ; preds = %469
  %471 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %472 unwind label %567

472:                                              ; preds = %470
  store ptr %468, ptr %471, align 8, !tbaa !8
  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 nonnull %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge481, label %363, !llvm.loop !61

473:                                              ; preds = %406, %402, %398, %394, %390, %386, %382, %378, %374, %370, %367, %363
  %474 = landingpad { ptr, i32 }
          cleanup
  br label %730

475:                                              ; preds = %410
  %476 = landingpad { ptr, i32 }
          cleanup
  br label %482

477:                                              ; preds = %414
  %478 = landingpad { ptr, i32 }
          cleanup
  br label %481

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

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

482:                                              ; preds = %481, %475
  %.pn391.pn = phi { ptr, i32 } [ %.pn391, %481 ], [ %476, %475 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #8
  br label %730

483:                                              ; preds = %417
  %484 = landingpad { ptr, i32 }
          cleanup
  br label %490

485:                                              ; preds = %419
  %486 = landingpad { ptr, i32 }
          cleanup
  br label %489

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

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

490:                                              ; preds = %489, %483
  %.pn394.pn = phi { ptr, i32 } [ %.pn394, %489 ], [ %484, %483 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #8
  br label %730

491:                                              ; preds = %422
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %498

493:                                              ; preds = %424
  %494 = landingpad { ptr, i32 }
          cleanup
  br label %497

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

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

498:                                              ; preds = %497, %491
  %.pn397.pn = phi { ptr, i32 } [ %.pn397, %497 ], [ %492, %491 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #8
  br label %730

499:                                              ; preds = %427
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %506

501:                                              ; preds = %429
  %502 = landingpad { ptr, i32 }
          cleanup
  br label %505

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

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

506:                                              ; preds = %505, %499
  %.pn400.pn = phi { ptr, i32 } [ %.pn400, %505 ], [ %500, %499 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #8
  br label %730

507:                                              ; preds = %432
  %508 = landingpad { ptr, i32 }
          cleanup
  br label %514

509:                                              ; preds = %434
  %510 = landingpad { ptr, i32 }
          cleanup
  br label %513

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

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

514:                                              ; preds = %513, %507
  %.pn403.pn = phi { ptr, i32 } [ %.pn403, %513 ], [ %508, %507 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #8
  br label %730

515:                                              ; preds = %437
  %516 = landingpad { ptr, i32 }
          cleanup
  br label %522

517:                                              ; preds = %439
  %518 = landingpad { ptr, i32 }
          cleanup
  br label %521

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

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

522:                                              ; preds = %521, %515
  %.pn406.pn = phi { ptr, i32 } [ %.pn406, %521 ], [ %516, %515 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #8
  br label %730

523:                                              ; preds = %442
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %530

525:                                              ; preds = %444
  %526 = landingpad { ptr, i32 }
          cleanup
  br label %529

527:                                              ; preds = %445
  %528 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %529

529:                                              ; preds = %527, %525
  %.pn409 = phi { ptr, i32 } [ %528, %527 ], [ %526, %525 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  br label %530

530:                                              ; preds = %529, %523
  %.pn409.pn = phi { ptr, i32 } [ %.pn409, %529 ], [ %524, %523 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #8
  br label %730

531:                                              ; preds = %447
  %532 = landingpad { ptr, i32 }
          cleanup
  br label %538

533:                                              ; preds = %449
  %534 = landingpad { ptr, i32 }
          cleanup
  br label %537

535:                                              ; preds = %450
  %536 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %537

537:                                              ; preds = %535, %533
  %.pn412 = phi { ptr, i32 } [ %536, %535 ], [ %534, %533 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  br label %538

538:                                              ; preds = %537, %531
  %.pn412.pn = phi { ptr, i32 } [ %.pn412, %537 ], [ %532, %531 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  br label %730

539:                                              ; preds = %452
  %540 = landingpad { ptr, i32 }
          cleanup
  br label %546

541:                                              ; preds = %454
  %542 = landingpad { ptr, i32 }
          cleanup
  br label %545

543:                                              ; preds = %455
  %544 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %545

545:                                              ; preds = %543, %541
  %.pn415 = phi { ptr, i32 } [ %544, %543 ], [ %542, %541 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  br label %546

546:                                              ; preds = %545, %539
  %.pn415.pn = phi { ptr, i32 } [ %.pn415, %545 ], [ %540, %539 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #8
  br label %730

547:                                              ; preds = %457
  %548 = landingpad { ptr, i32 }
          cleanup
  br label %554

549:                                              ; preds = %459
  %550 = landingpad { ptr, i32 }
          cleanup
  br label %553

551:                                              ; preds = %460
  %552 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %553

553:                                              ; preds = %551, %549
  %.pn418 = phi { ptr, i32 } [ %552, %551 ], [ %550, %549 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %554

554:                                              ; preds = %553, %547
  %.pn418.pn = phi { ptr, i32 } [ %.pn418, %553 ], [ %548, %547 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  br label %730

555:                                              ; preds = %462
  %556 = landingpad { ptr, i32 }
          cleanup
  br label %562

557:                                              ; preds = %464
  %558 = landingpad { ptr, i32 }
          cleanup
  br label %561

559:                                              ; preds = %465
  %560 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %561

561:                                              ; preds = %559, %557
  %.pn421 = phi { ptr, i32 } [ %560, %559 ], [ %558, %557 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  br label %562

562:                                              ; preds = %561, %555
  %.pn421.pn = phi { ptr, i32 } [ %.pn421, %561 ], [ %556, %555 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #8
  br label %730

563:                                              ; preds = %467
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %570

565:                                              ; preds = %469
  %566 = landingpad { ptr, i32 }
          cleanup
  br label %569

567:                                              ; preds = %470
  %568 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  br label %569

569:                                              ; preds = %567, %565
  %.pn424 = phi { ptr, i32 } [ %568, %567 ], [ %566, %565 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  br label %570

570:                                              ; preds = %569, %563
  %.pn424.pn = phi { ptr, i32 } [ %.pn424, %569 ], [ %564, %563 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  br label %730

571:                                              ; preds = %._crit_edge481
  %572 = getelementptr inbounds i8, ptr %1, i64 96
  store ptr %335, ptr %572, align 8, !tbaa !62
  %573 = load ptr, ptr %188, align 8, !tbaa !8
  %574 = invoke ptr @ggml_new_tensor_1d(ptr noundef %573, i32 noundef 0, i64 noundef %334)
          to label %575 unwind label %602

575:                                              ; preds = %571
  %576 = getelementptr inbounds i8, ptr %1, i64 104
  store ptr %574, ptr %576, align 8, !tbaa !63
  %577 = load ptr, ptr %572, align 8, !tbaa !62
  %578 = invoke i64 @ggml_nbytes(ptr noundef %577)
          to label %579 unwind label %604

579:                                              ; preds = %575
  %580 = load ptr, ptr %576, align 8, !tbaa !63
  %581 = invoke i64 @ggml_nbytes(ptr noundef %580)
          to label %582 unwind label %604

582:                                              ; preds = %579
  %583 = add i64 %581, %578
  %584 = uitofp i64 %583 to double
  %585 = fmul double %584, 0x3F50000000000000
  %586 = fmul double %585, 0x3F50000000000000
  %587 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.33, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, double noundef %586, i32 noundef %331)
  %588 = load i64, ptr @__const._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab.ne, align 4
  %589 = getelementptr inbounds i8, ptr %62, i64 4
  br label %590

590:                                              ; preds = %715, %582
  %.0307 = phi i64 [ 0, %582 ], [ %716, %715 ]
  %.0301 = phi i8 [ 0, %582 ], [ %spec.select, %715 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %59) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %60) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %61) #8
  %591 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %59, i64 noundef 4)
          to label %592 unwind label %606

592:                                              ; preds = %590
  %593 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %60, i64 noundef 4)
          to label %594 unwind label %606

594:                                              ; preds = %592
  %595 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %61, i64 noundef 4)
          to label %596 unwind label %606

596:                                              ; preds = %594
  %597 = load ptr, ptr %4, align 8, !tbaa !5
  %598 = getelementptr i8, ptr %597, i64 -24
  %599 = load i64, ptr %598, align 8
  %600 = getelementptr inbounds i8, ptr %4, i64 %599
  %601 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %600)
  br i1 %601, label %722, label %608

602:                                              ; preds = %571, %._crit_edge481
  %603 = landingpad { ptr, i32 }
          cleanup
  br label %730

604:                                              ; preds = %579, %575
  %605 = landingpad { ptr, i32 }
          cleanup
  br label %730

606:                                              ; preds = %594, %592, %590
  %607 = landingpad { ptr, i32 }
          cleanup
  br label %720

608:                                              ; preds = %596
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #8
  store i64 %588, ptr %62, align 8
  %609 = load i32, ptr %59, align 4, !tbaa !11
  %610 = icmp sgt i32 %609, 0
  br i1 %610, label %.lr.ph485, label %._crit_edge486

._crit_edge486:                                   ; preds = %615, %608
  %.0300.lcssa = phi i32 [ 1, %608 ], [ %617, %615 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #8
  %611 = load i32, ptr %60, align 4, !tbaa !11
  %612 = sext i32 %611 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, i64 noundef %612, i8 noundef signext 0, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %623 unwind label %637

.lr.ph485:                                        ; preds = %608, %615
  %indvars.iv505 = phi i64 [ %indvars.iv.next506, %615 ], [ 0, %608 ]
  %.0300482 = phi i32 [ %617, %615 ], [ 1, %608 ]
  %613 = getelementptr inbounds [2 x i32], ptr %62, i64 0, i64 %indvars.iv505
  %614 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %613, i64 noundef 4)
          to label %615 unwind label %621

615:                                              ; preds = %.lr.ph485
  %616 = load i32, ptr %613, align 4, !tbaa !11
  %617 = mul nsw i32 %616, %.0300482
  %indvars.iv.next506 = add nuw nsw i64 %indvars.iv505, 1
  %618 = load i32, ptr %59, align 4, !tbaa !11
  %619 = sext i32 %618 to i64
  %620 = icmp slt i64 %indvars.iv.next506, %619
  br i1 %620, label %.lr.ph485, label %._crit_edge486, !llvm.loop !64

621:                                              ; preds = %.lr.ph485
  %622 = landingpad { ptr, i32 }
          cleanup
  br label %719

623:                                              ; preds = %._crit_edge486
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #8
  %624 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %63, i64 noundef 0)
  %625 = load i32, ptr %60, align 4, !tbaa !11
  %626 = sext i32 %625 to i64
  %627 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef nonnull %624, i64 noundef %626)
          to label %628 unwind label %639

628:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #8
  %629 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %630 unwind label %641

630:                                              ; preds = %628
  store ptr %629, ptr %65, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #8
  %631 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %303) #8
  store ptr %631, ptr %66, align 8
  %632 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorEESD_(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef nonnull align 8 dereferenceable(8) %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #8
  br i1 %632, label %633, label %643

633:                                              ; preds = %630
  %634 = load ptr, ptr @stderr, align 8, !tbaa !8
  %635 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  %636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %634, ptr noundef nonnull @.str.34, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %635) #9
  br label %721

637:                                              ; preds = %._crit_edge486
  %638 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #8
  br label %718

639:                                              ; preds = %623
  %640 = landingpad { ptr, i32 }
          cleanup
  br label %717

641:                                              ; preds = %628
  %642 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #8
  br label %717

643:                                              ; preds = %630
  %644 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %303, ptr noundef nonnull align 8 dereferenceable(32) %63)
          to label %645 unwind label %654

645:                                              ; preds = %643
  %646 = load ptr, ptr %644, align 8, !tbaa !8
  %647 = invoke i64 @ggml_nelements(ptr noundef %646)
          to label %648 unwind label %654

648:                                              ; preds = %645
  %649 = sext i32 %.0300.lcssa to i64
  %.not380 = icmp eq i64 %647, %649
  br i1 %.not380, label %656, label %650

650:                                              ; preds = %648
  %651 = load ptr, ptr @stderr, align 8, !tbaa !8
  %652 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  %653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %651, ptr noundef nonnull @.str.35, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %652) #9
  br label %721

654:                                              ; preds = %645, %643
  %655 = landingpad { ptr, i32 }
          cleanup
  br label %717

656:                                              ; preds = %648
  %657 = getelementptr inbounds i8, ptr %646, i64 16
  %658 = load i64, ptr %657, align 8, !tbaa !39
  %659 = load i32, ptr %62, align 8, !tbaa !11
  %660 = sext i32 %659 to i64
  %.not381 = icmp eq i64 %658, %660
  br i1 %.not381, label %661, label %666

661:                                              ; preds = %656
  %662 = getelementptr inbounds i8, ptr %646, i64 24
  %663 = load i64, ptr %662, align 8, !tbaa !39
  %664 = load i32, ptr %589, align 4, !tbaa !11
  %665 = sext i32 %664 to i64
  %.not382 = icmp eq i64 %663, %665
  br i1 %.not382, label %678, label %666

666:                                              ; preds = %661, %656
  %667 = getelementptr inbounds i8, ptr %646, i64 16
  %668 = load ptr, ptr @stderr, align 8, !tbaa !8
  %669 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  %670 = load i64, ptr %667, align 8, !tbaa !39
  %671 = trunc i64 %670 to i32
  %672 = getelementptr inbounds i8, ptr %646, i64 24
  %673 = load i64, ptr %672, align 8, !tbaa !39
  %674 = trunc i64 %673 to i32
  %675 = load i32, ptr %62, align 8, !tbaa !11
  %676 = load i32, ptr %589, align 4, !tbaa !11
  %677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %668, ptr noundef nonnull @.str.36, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %669, i32 noundef %671, i32 noundef %674, i32 noundef %675, i32 noundef %676) #9
  br label %721

678:                                              ; preds = %661
  %679 = load i32, ptr %61, align 4, !tbaa !11
  %680 = invoke i64 @ggml_type_size(i32 noundef %679)
          to label %681 unwind label %.loopexit

681:                                              ; preds = %678
  %682 = mul i64 %680, %647
  %683 = load i32, ptr %646, align 8, !tbaa !65
  %684 = invoke i64 @ggml_blck_size(i32 noundef %683)
          to label %685 unwind label %.loopexit

685:                                              ; preds = %681
  %686 = invoke i64 @ggml_nbytes(ptr noundef nonnull %646)
          to label %687 unwind label %.loopexit

687:                                              ; preds = %685
  %688 = udiv i64 %682, %684
  %.not383 = icmp eq i64 %688, %686
  br i1 %.not383, label %695, label %689

689:                                              ; preds = %687
  %690 = load ptr, ptr @stderr, align 8, !tbaa !8
  %691 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  %692 = invoke i64 @ggml_nbytes(ptr noundef nonnull %646)
          to label %693 unwind label %.loopexit.split-lp

693:                                              ; preds = %689
  %694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %690, ptr noundef nonnull @.str.37, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, ptr noundef %691, i64 noundef %692, i64 noundef %682) #9
  br label %721

.loopexit:                                        ; preds = %678, %681, %685, %695, %699, %705, %712
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %717

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

695:                                              ; preds = %687
  %696 = getelementptr inbounds i8, ptr %646, i64 248
  %697 = load ptr, ptr %696, align 8, !tbaa !69
  %698 = invoke i64 @ggml_nbytes(ptr noundef nonnull %646)
          to label %699 unwind label %.loopexit

699:                                              ; preds = %695
  %700 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %4, ptr noundef %697, i64 noundef %698)
          to label %701 unwind label %.loopexit

701:                                              ; preds = %699
  %702 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.17)
  %703 = and i8 %.0301, 1
  %704 = icmp eq i8 %703, 0
  %or.cond = select i1 %702, i1 %704, i1 false
  br i1 %or.cond, label %705, label %712

705:                                              ; preds = %701
  %706 = load ptr, ptr %301, align 8, !tbaa !47
  %707 = getelementptr inbounds i8, ptr %706, i64 248
  %708 = load ptr, ptr %707, align 8, !tbaa !69
  %709 = load ptr, ptr %696, align 8, !tbaa !69
  %710 = invoke i64 @ggml_nbytes(ptr noundef nonnull %646)
          to label %711 unwind label %.loopexit

711:                                              ; preds = %705
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %708, ptr align 1 %709, i64 %710, i1 false)
  br label %712

712:                                              ; preds = %711, %701
  %713 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.19)
  %714 = invoke i64 @ggml_nbytes(ptr noundef nonnull %646)
          to label %715 unwind label %.loopexit

715:                                              ; preds = %712
  %spec.select = select i1 %713, i8 1, i8 %.0301
  %716 = add i64 %714, %.0307
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #8
  br label %590

717:                                              ; preds = %.loopexit, %.loopexit.split-lp, %654, %641, %639
  %.pn384.pn = phi { ptr, i32 } [ %642, %641 ], [ %640, %639 ], [ %655, %654 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  br label %718

718:                                              ; preds = %717, %637
  %.pn384.pn.pn = phi { ptr, i32 } [ %.pn384.pn, %717 ], [ %638, %637 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #8
  br label %719

719:                                              ; preds = %718, %621
  %.pn388 = phi { ptr, i32 } [ %622, %621 ], [ %.pn384.pn.pn, %718 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #8
  br label %720

720:                                              ; preds = %719, %606
  %.pn388.pn = phi { ptr, i32 } [ %.pn388, %719 ], [ %607, %606 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #8
  br label %730

721:                                              ; preds = %633, %650, %666, %693
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #8
  br label %729

722:                                              ; preds = %596
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %61) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %59) #8
  %723 = uitofp i64 %.0307 to double
  %724 = fmul double %723, 0x3F50000000000000
  %725 = fmul double %724, 0x3F50000000000000
  %726 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.38, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocab, double noundef %725)
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %4)
          to label %729 unwind label %727

727:                                              ; preds = %722
  %728 = landingpad { ptr, i32 }
          cleanup
  br label %730

729:                                              ; preds = %721, %.thread, %265, %85, %178, %722, %75
  %.10 = phi i1 [ false, %75 ], [ false, %85 ], [ false, %178 ], [ false, %721 ], [ false, %265 ], [ true, %722 ], [ false, %.thread ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %4) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %4) #8
  ret i1 %.10

730:                                              ; preds = %185, %602, %604, %336, %342, %347, %352, %357, %362, %570, %562, %554, %546, %538, %530, %522, %514, %506, %498, %490, %482, %473, %727, %720, %270, %268, %184, %134, %89, %79
  %.pn424.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %184 ], [ %135, %134 ], [ %90, %89 ], [ %80, %79 ], [ %186, %185 ], [ %728, %727 ], [ %.pn388.pn, %720 ], [ %271, %270 ], [ %269, %268 ], [ %.pn376, %362 ], [ %.pn374, %357 ], [ %.pn372, %352 ], [ %.pn370, %347 ], [ %.pn368, %342 ], [ %337, %336 ], [ %.pn424.pn, %570 ], [ %.pn421.pn, %562 ], [ %.pn418.pn, %554 ], [ %.pn415.pn, %546 ], [ %.pn412.pn, %538 ], [ %.pn409.pn, %530 ], [ %.pn406.pn, %522 ], [ %.pn403.pn, %514 ], [ %.pn400.pn, %506 ], [ %.pn397.pn, %498 ], [ %.pn394.pn, %490 ], [ %.pn391.pn, %482 ], [ %474, %473 ], [ %605, %604 ], [ %603, %602 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %4) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %4) #8
  resume { ptr, i32 } %.pn424.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 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 @_ZNSt6vectorI10gpt2_layerSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #2 align 2

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

declare ptr @ggml_new_tensor_2d(ptr noundef, i32 noundef, i64 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(96) ptr @_ZNSt6vectorI10gpt2_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 #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)) local_unnamed_addr #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) local_unnamed_addr #7

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

; 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 = { mustprogress 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 }
attributes #9 = { cold nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"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 20}
!14 = !{!"_ZTS12gpt2_hparams", !12, i64 0, !12, i64 4, !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20, !15, i64 24}
!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 = !{!22, !12, i64 0}
!22 = !{!"_ZTS10gpt2_model", !14, i64 0, !9, i64 32, !9, i64 40, !9, i64 48, !9, i64 56, !9, i64 64, !23, i64 72, !9, i64 96, !9, i64 104, !9, i64 112, !27, i64 120}
!23 = !{!"_ZTSSt6vectorI10gpt2_layerSaIS0_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseI10gpt2_layerSaIS0_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseI10gpt2_layerSaIS0_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseI10gpt2_layerSaIS0_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!27 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE", !28, i64 0}
!28 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !29, i64 0}
!29 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !30, i64 0, !32, i64 8}
!30 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !31, i64 0}
!31 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!32 = !{!"_ZTSSt15_Rb_tree_header", !33, i64 0, !35, i64 32}
!33 = !{!"_ZTSSt18_Rb_tree_node_base", !34, i64 0, !9, i64 8, !9, i64 16, !9, i64 24}
!34 = !{!"_ZTSSt14_Rb_tree_color", !10, i64 0}
!35 = !{!"long", !10, i64 0}
!36 = distinct !{!36, !37}
!37 = !{!"llvm.loop.mustprogress"}
!38 = !{!22, !12, i64 20}
!39 = !{!35, !35, i64 0}
!40 = !{!41, !41, i64 0}
!41 = !{!"bool", !10, i64 0}
!42 = !{!22, !9, i64 112}
!43 = !{!22, !9, i64 32}
!44 = !{!22, !9, i64 40}
!45 = !{!22, !9, i64 48}
!46 = !{!22, !9, i64 56}
!47 = !{!22, !9, i64 64}
!48 = !{!49, !9, i64 0}
!49 = !{!"_ZTS10gpt2_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, !9, i64 80, !9, i64 88}
!50 = !{!49, !9, i64 8}
!51 = !{!49, !9, i64 16}
!52 = !{!49, !9, i64 24}
!53 = !{!49, !9, i64 32}
!54 = !{!49, !9, i64 40}
!55 = !{!49, !9, i64 48}
!56 = !{!49, !9, i64 56}
!57 = !{!49, !9, i64 64}
!58 = !{!49, !9, i64 72}
!59 = !{!49, !9, i64 80}
!60 = !{!49, !9, i64 88}
!61 = distinct !{!61, !37}
!62 = !{!22, !9, i64 96}
!63 = !{!22, !9, i64 104}
!64 = distinct !{!64, !37}
!65 = !{!66, !67, i64 0}
!66 = !{!"_ZTS11ggml_tensor", !67, i64 0, !9, i64 8, !10, i64 16, !10, i64 48, !68, i64 80, !10, i64 84, !12, i64 148, !10, i64 152, !9, i64 232, !35, i64 240, !9, i64 248, !10, i64 256, !9, i64 320, !10, i64 328}
!67 = !{!"_ZTS9ggml_type", !10, i64 0}
!68 = !{!"_ZTS7ggml_op", !10, i64 0}
!69 = !{!66, !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