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

; 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.17" = type { %"struct.std::_Vector_base.18" }
%"struct.std::_Vector_base.18" = 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.ggml_tallocr = type { ptr, ptr, i64, i64 }
%"struct.std::_Rb_tree_iterator" = type { ptr }
%struct.gpt2_model = type { %struct.gpt2_hparams, ptr, ptr, ptr, ptr, ptr, %"class.std::vector.4", %struct.gpt2_kv_cache, 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 }
%struct.gpt2_kv_cache = type { ptr, ptr, i32, i32, i32, %"class.std::vector.9", ptr }
%"class.std::vector.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = type { %"struct.std::_Vector_base<gpt2_kv_cell, std::allocator<gpt2_kv_cell>>::_Vector_impl" }
%"struct.std::_Vector_base<gpt2_kv_cell, std::allocator<gpt2_kv_cell>>::_Vector_impl" = type { %"struct.std::_Vector_base<gpt2_kv_cell, std::allocator<gpt2_kv_cell>>::_Vector_impl_data" }
%"struct.std::_Vector_base<gpt2_kv_cell, std::allocator<gpt2_kv_cell>>::_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.19", %"class.std::map.24", %"class.std::vector" }
%"class.std::map.19" = type { %"class.std::_Rb_tree.20" }
%"class.std::_Rb_tree.20" = 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.24" = type { %"class.std::_Rb_tree.25" }
%"class.std::_Rb_tree.25" = 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_vocabii = 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 [36 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [14 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 [8 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [8 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 [15 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [40 x i8], align 1
@__const._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii.ne = external hidden unnamed_addr constant [2 x i32], align 4
@.str.36 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.40 = 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_vocabii(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(232) %1, ptr noundef nonnull align 8 dereferenceable(120) %2, i32 noundef %3, i32 noundef %4) #2 personality ptr @__gxx_personality_v0 {
  %6 = alloca i1, align 1
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::basic_ifstream", align 8
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::vector.17", align 8
  %22 = alloca %"class.std::allocator.0", align 1
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca ptr, align 8
  %27 = alloca i64, align 8
  %28 = alloca ptr, align 8
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i64, align 8
  %34 = alloca %struct.ggml_init_params, align 8
  %35 = alloca %struct.ggml_init_params, align 8
  %36 = alloca ptr, align 8
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator.0", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator.0", align 1
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::allocator.0", align 1
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator.0", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::allocator.0", align 1
  %51 = alloca i32, align 4
  %52 = alloca ptr, 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 %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca ptr, align 8
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i64, align 8
  %96 = alloca %struct.ggml_tallocr, align 8
  %97 = alloca %struct.ggml_tallocr, align 8
  %98 = alloca i64, align 8
  %99 = alloca i8, align 1
  %100 = alloca %"class.std::vector.17", align 8
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca [2 x i32], align 4
  %106 = alloca i32, align 4
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::allocator.0", align 1
  %109 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %110 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %111 = alloca ptr, align 8
  %112 = alloca i64, align 8
  store ptr %0, ptr %7, align 8, !tbaa !5
  store ptr %1, ptr %8, align 8, !tbaa !5
  store ptr %2, ptr %9, align 8, !tbaa !5
  store i32 %3, ptr %10, align 4, !tbaa !9
  store i32 %4, ptr %11, align 4, !tbaa !9
  %113 = load ptr, ptr %7, align 8, !tbaa !5
  %114 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %113) #8
  %115 = call i32 (ptr, ...) @printf(ptr noundef @.str, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %114)
  call void @llvm.lifetime.start.p0(i64 520, ptr %12) #8
  %116 = load ptr, ptr %7, align 8, !tbaa !5
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %12, ptr noundef nonnull align 8 dereferenceable(32) %116, i32 noundef 4)
  %117 = load ptr, ptr %12, align 8, !tbaa !11
  %118 = getelementptr i8, ptr %117, i64 -24
  %119 = load i64, ptr %118, align 8
  %120 = getelementptr inbounds i8, ptr %12, i64 %119
  %121 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %120)
          to label %122 unwind label %128

122:                                              ; preds = %5
  br i1 %121, label %123, label %132

123:                                              ; preds = %122
  %124 = load ptr, ptr @stderr, align 8, !tbaa !5
  %125 = load ptr, ptr %7, align 8, !tbaa !5
  %126 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %125) #8
  %127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %124, ptr noundef @.str.1, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %126) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %1546

128:                                              ; preds = %5
  %129 = landingpad { ptr, i32 }
          cleanup
  %130 = extractvalue { ptr, i32 } %129, 0
  store ptr %130, ptr %13, align 8
  %131 = extractvalue { ptr, i32 } %129, 1
  store i32 %131, ptr %14, align 4
  br label %1548

132:                                              ; preds = %122
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #8
  %133 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %16, i64 noundef 4)
          to label %134 unwind label %142

134:                                              ; preds = %132
  %135 = load i32, ptr %16, align 4, !tbaa !9
  %136 = icmp ne i32 %135, 1734831468
  br i1 %136, label %137, label %146

137:                                              ; preds = %134
  %138 = load ptr, ptr @stderr, align 8, !tbaa !5
  %139 = load ptr, ptr %7, align 8, !tbaa !5
  %140 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %139) #8
  %141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %138, ptr noundef @.str.2, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %140) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %147

142:                                              ; preds = %132
  %143 = landingpad { ptr, i32 }
          cleanup
  %144 = extractvalue { ptr, i32 } %143, 0
  store ptr %144, ptr %13, align 8
  %145 = extractvalue { ptr, i32 } %143, 1
  store i32 %145, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  br label %1548

146:                                              ; preds = %134
  store i32 0, ptr %15, align 4
  br label %147

147:                                              ; preds = %146, %137
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #8
  %148 = load i32, ptr %15, align 4
  switch i32 %148, label %1546 [
    i32 0, label %149
  ]

149:                                              ; preds = %147
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #8
  %150 = load ptr, ptr %8, align 8, !tbaa !5
  %151 = getelementptr inbounds %struct.gpt2_model, ptr %150, i32 0, i32 0
  store ptr %151, ptr %17, align 8, !tbaa !5
  %152 = load ptr, ptr %17, align 8, !tbaa !5
  %153 = getelementptr inbounds %struct.gpt2_hparams, ptr %152, i32 0, i32 0
  %154 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %153, i64 noundef 4)
          to label %155 unwind label %235

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

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

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

167:                                              ; preds = %163
  %168 = load ptr, ptr %17, align 8, !tbaa !5
  %169 = getelementptr inbounds %struct.gpt2_hparams, ptr %168, i32 0, i32 4
  %170 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %169, i64 noundef 4)
          to label %171 unwind label %235

171:                                              ; preds = %167
  %172 = load ptr, ptr %17, align 8, !tbaa !5
  %173 = getelementptr inbounds %struct.gpt2_hparams, ptr %172, i32 0, i32 5
  %174 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %173, i64 noundef 4)
          to label %175 unwind label %235

175:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #8
  %176 = load ptr, ptr %17, align 8, !tbaa !5
  %177 = getelementptr inbounds %struct.gpt2_hparams, ptr %176, i32 0, i32 5
  %178 = load i32, ptr %177, align 4, !tbaa !13
  %179 = sdiv i32 %178, 1000
  store i32 %179, ptr %18, align 4, !tbaa !9
  %180 = load ptr, ptr %17, align 8, !tbaa !5
  %181 = getelementptr inbounds %struct.gpt2_hparams, ptr %180, i32 0, i32 0
  %182 = load i32, ptr %181, align 4, !tbaa !16
  %183 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.3, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %182)
          to label %184 unwind label %239

184:                                              ; preds = %175
  %185 = load ptr, ptr %17, align 8, !tbaa !5
  %186 = getelementptr inbounds %struct.gpt2_hparams, ptr %185, i32 0, i32 1
  %187 = load i32, ptr %186, align 4, !tbaa !17
  %188 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.4, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %187)
          to label %189 unwind label %239

189:                                              ; preds = %184
  %190 = load ptr, ptr %17, align 8, !tbaa !5
  %191 = getelementptr inbounds %struct.gpt2_hparams, ptr %190, i32 0, i32 2
  %192 = load i32, ptr %191, align 4, !tbaa !18
  %193 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.5, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %192)
          to label %194 unwind label %239

194:                                              ; preds = %189
  %195 = load ptr, ptr %17, align 8, !tbaa !5
  %196 = getelementptr inbounds %struct.gpt2_hparams, ptr %195, i32 0, i32 3
  %197 = load i32, ptr %196, align 4, !tbaa !19
  %198 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.6, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %197)
          to label %199 unwind label %239

199:                                              ; preds = %194
  %200 = load ptr, ptr %17, align 8, !tbaa !5
  %201 = getelementptr inbounds %struct.gpt2_hparams, ptr %200, i32 0, i32 4
  %202 = load i32, ptr %201, align 4, !tbaa !20
  %203 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.7, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %202)
          to label %204 unwind label %239

204:                                              ; preds = %199
  %205 = load ptr, ptr %17, 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 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.8, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %207)
          to label %209 unwind label %239

209:                                              ; preds = %204
  %210 = load i32, ptr %18, align 4, !tbaa !9
  %211 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.9, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %210)
          to label %212 unwind label %239

212:                                              ; preds = %209
  %213 = load ptr, ptr %17, align 8, !tbaa !5
  %214 = getelementptr inbounds %struct.gpt2_hparams, ptr %213, i32 0, i32 5
  %215 = load i32, ptr %214, align 4, !tbaa !13
  %216 = srem i32 %215, 1000
  store i32 %216, ptr %214, align 4, !tbaa !13
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #8
  store i32 0, ptr %19, align 4, !tbaa !9
  %217 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %19, i64 noundef 4)
          to label %218 unwind label %244

218:                                              ; preds = %212
  %219 = load i32, ptr %19, align 4, !tbaa !9
  %220 = load ptr, ptr %8, align 8, !tbaa !5
  %221 = getelementptr inbounds %struct.gpt2_model, ptr %220, i32 0, i32 0
  %222 = getelementptr inbounds %struct.gpt2_hparams, ptr %221, i32 0, i32 0
  %223 = load i32, ptr %222, align 8, !tbaa !21
  %224 = icmp ne i32 %219, %223
  br i1 %224, label %225, label %248

225:                                              ; preds = %218
  %226 = load ptr, ptr @stderr, align 8, !tbaa !5
  %227 = load ptr, ptr %7, align 8, !tbaa !5
  %228 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %227) #8
  %229 = load i32, ptr %19, align 4, !tbaa !9
  %230 = load ptr, ptr %8, align 8, !tbaa !5
  %231 = getelementptr inbounds %struct.gpt2_model, ptr %230, i32 0, i32 0
  %232 = getelementptr inbounds %struct.gpt2_hparams, ptr %231, i32 0, i32 0
  %233 = load i32, ptr %232, align 8, !tbaa !21
  %234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %226, ptr noundef @.str.10, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %228, i32 noundef %229, i32 noundef %233) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %294

235:                                              ; preds = %171, %167, %163, %159, %155, %149
  %236 = landingpad { ptr, i32 }
          cleanup
  %237 = extractvalue { ptr, i32 } %236, 0
  store ptr %237, ptr %13, align 8
  %238 = extractvalue { ptr, i32 } %236, 1
  store i32 %238, ptr %14, align 4
  br label %243

239:                                              ; preds = %209, %204, %199, %194, %189, %184, %175
  %240 = landingpad { ptr, i32 }
          cleanup
  %241 = extractvalue { ptr, i32 } %240, 0
  store ptr %241, ptr %13, align 8
  %242 = extractvalue { ptr, i32 } %240, 1
  store i32 %242, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  br label %243

243:                                              ; preds = %239, %235
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  br label %1548

244:                                              ; preds = %212
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %13, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %14, align 4
  br label %315

248:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 32, ptr %20) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #8
  invoke void @_ZNSt6vectorIcSaIcEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef 128, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %249 unwind label %255

249:                                              ; preds = %248
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #8
  store i32 0, ptr %23, align 4, !tbaa !9
  br label %250

250:                                              ; preds = %286, %249
  %251 = load i32, ptr %23, align 4, !tbaa !9
  %252 = load i32, ptr %19, align 4, !tbaa !9
  %253 = icmp slt i32 %251, %252
  br i1 %253, label %259, label %254

254:                                              ; preds = %250
  store i32 2, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #8
  br label %293

255:                                              ; preds = %248
  %256 = landingpad { ptr, i32 }
          cleanup
  %257 = extractvalue { ptr, i32 } %256, 0
  store ptr %257, ptr %13, align 8
  %258 = extractvalue { ptr, i32 } %256, 1
  store i32 %258, ptr %14, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #8
  br label %314

259:                                              ; preds = %250
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #8
  %260 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %24, i64 noundef 4)
          to label %261 unwind label %289

261:                                              ; preds = %259
  %262 = load i32, ptr %24, align 4, !tbaa !9
  %263 = zext i32 %262 to i64
  invoke void @_ZNSt6vectorIcSaIcEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %263)
          to label %264 unwind label %289

264:                                              ; preds = %261
  %265 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  %266 = load i32, ptr %24, align 4, !tbaa !9
  %267 = zext i32 %266 to i64
  %268 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %265, i64 noundef %267)
          to label %269 unwind label %289

269:                                              ; preds = %264
  %270 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  %271 = load i32, ptr %24, align 4, !tbaa !9
  %272 = zext i32 %271 to i64
  %273 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %20, ptr noundef %270, i64 noundef %272)
          to label %274 unwind label %289

274:                                              ; preds = %269
  %275 = load i32, ptr %23, align 4, !tbaa !9
  %276 = load ptr, ptr %9, align 8, !tbaa !5
  %277 = getelementptr inbounds %struct.gpt_vocab, ptr %276, i32 0, i32 0
  %278 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessIS5_ESaISt4pairIKS5_iEEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %277, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %279 unwind label %289

279:                                              ; preds = %274
  store i32 %275, ptr %278, align 4, !tbaa !9
  %280 = load ptr, ptr %9, align 8, !tbaa !5
  %281 = getelementptr inbounds %struct.gpt_vocab, ptr %280, i32 0, i32 1
  %282 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %281, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %283 unwind label %289

283:                                              ; preds = %279
  %284 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %282, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %285 unwind label %289

285:                                              ; preds = %283
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  br label %286

286:                                              ; preds = %285
  %287 = load i32, ptr %23, align 4, !tbaa !9
  %288 = add nsw i32 %287, 1
  store i32 %288, ptr %23, align 4, !tbaa !9
  br label %250, !llvm.loop !41

289:                                              ; preds = %283, %279, %274, %269, %264, %261, %259
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %13, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #8
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  br label %314

293:                                              ; preds = %254
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #8
  store i32 0, ptr %15, align 4
  br label %294

294:                                              ; preds = %293, %225
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #8
  %295 = load i32, ptr %15, align 4
  switch i32 %295, label %1546 [
    i32 0, label %296
  ]

296:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #8
  %297 = load ptr, ptr %8, align 8, !tbaa !5
  %298 = getelementptr inbounds %struct.gpt2_model, ptr %297, i32 0, i32 0
  %299 = getelementptr inbounds %struct.gpt2_hparams, ptr %298, i32 0, i32 5
  %300 = load i32, ptr %299, align 4, !tbaa !43
  %301 = invoke i32 @ggml_ftype_to_ggml_type(i32 noundef %300)
          to label %302 unwind label %316

302:                                              ; preds = %296
  store i32 %301, ptr %25, align 4, !tbaa !44
  %303 = load i32, ptr %25, align 4, !tbaa !44
  %304 = icmp eq i32 %303, 39
  br i1 %304, label %305, label %320

305:                                              ; preds = %302
  %306 = load ptr, ptr @stderr, align 8, !tbaa !5
  %307 = load ptr, ptr %7, align 8, !tbaa !5
  %308 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %307) #8
  %309 = load ptr, ptr %8, align 8, !tbaa !5
  %310 = getelementptr inbounds %struct.gpt2_model, ptr %309, i32 0, i32 0
  %311 = getelementptr inbounds %struct.gpt2_hparams, ptr %310, i32 0, i32 5
  %312 = load i32, ptr %311, align 4, !tbaa !43
  %313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %306, ptr noundef @.str.11, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %308, i32 noundef %312) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %1544

314:                                              ; preds = %289, %255
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %20) #8
  br label %315

315:                                              ; preds = %314, %244
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #8
  br label %1548

316:                                              ; preds = %296
  %317 = landingpad { ptr, i32 }
          cleanup
  %318 = extractvalue { ptr, i32 } %317, 0
  store ptr %318, ptr %13, align 8
  %319 = extractvalue { ptr, i32 } %317, 1
  store i32 %319, ptr %14, align 4
  br label %1545

320:                                              ; preds = %302
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  %321 = load ptr, ptr %8, align 8, !tbaa !5
  %322 = getelementptr inbounds %struct.gpt2_model, ptr %321, i32 0, i32 8
  store ptr %322, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  store i64 0, ptr %27, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  %323 = load ptr, ptr %8, align 8, !tbaa !5
  %324 = getelementptr inbounds %struct.gpt2_model, ptr %323, i32 0, i32 0
  store ptr %324, ptr %28, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #8
  %325 = load ptr, ptr %28, align 8, !tbaa !5
  %326 = getelementptr inbounds %struct.gpt2_hparams, ptr %325, i32 0, i32 2
  %327 = load i32, ptr %326, align 4, !tbaa !18
  store i32 %327, ptr %29, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #8
  %328 = load ptr, ptr %28, align 8, !tbaa !5
  %329 = getelementptr inbounds %struct.gpt2_hparams, ptr %328, i32 0, i32 4
  %330 = load i32, ptr %329, align 4, !tbaa !20
  store i32 %330, ptr %30, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #8
  %331 = load ptr, ptr %28, align 8, !tbaa !5
  %332 = getelementptr inbounds %struct.gpt2_hparams, ptr %331, i32 0, i32 1
  %333 = load i32, ptr %332, align 4, !tbaa !17
  store i32 %333, ptr %31, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #8
  %334 = load ptr, ptr %28, align 8, !tbaa !5
  %335 = getelementptr inbounds %struct.gpt2_hparams, ptr %334, i32 0, i32 0
  %336 = load i32, ptr %335, align 4, !tbaa !16
  store i32 %336, ptr %32, align 4, !tbaa !9
  %337 = load i32, ptr %29, align 4, !tbaa !9
  %338 = sext i32 %337 to i64
  %339 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %338)
          to label %340 unwind label %541

340:                                              ; preds = %320
  %341 = load i64, ptr %27, align 8, !tbaa !46
  %342 = add i64 %341, %339
  store i64 %342, ptr %27, align 8, !tbaa !46
  %343 = load i32, ptr %29, align 4, !tbaa !9
  %344 = sext i32 %343 to i64
  %345 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %344)
          to label %346 unwind label %541

346:                                              ; preds = %340
  %347 = load i64, ptr %27, align 8, !tbaa !46
  %348 = add i64 %347, %345
  store i64 %348, ptr %27, align 8, !tbaa !46
  %349 = load i32, ptr %25, align 4, !tbaa !44
  %350 = load i32, ptr %32, align 4, !tbaa !9
  %351 = load i32, ptr %29, align 4, !tbaa !9
  %352 = mul nsw i32 %350, %351
  %353 = sext i32 %352 to i64
  %354 = invoke i64 @ggml_row_size(i32 noundef %349, i64 noundef %353)
          to label %355 unwind label %541

355:                                              ; preds = %346
  %356 = load i64, ptr %27, align 8, !tbaa !46
  %357 = add i64 %356, %354
  store i64 %357, ptr %27, align 8, !tbaa !46
  %358 = load i32, ptr %31, align 4, !tbaa !9
  %359 = load i32, ptr %29, align 4, !tbaa !9
  %360 = mul nsw i32 %358, %359
  %361 = sext i32 %360 to i64
  %362 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %361)
          to label %363 unwind label %541

363:                                              ; preds = %355
  %364 = load i64, ptr %27, align 8, !tbaa !46
  %365 = add i64 %364, %362
  store i64 %365, ptr %27, align 8, !tbaa !46
  %366 = load i32, ptr %25, align 4, !tbaa !44
  %367 = load i32, ptr %32, align 4, !tbaa !9
  %368 = load i32, ptr %29, align 4, !tbaa !9
  %369 = mul nsw i32 %367, %368
  %370 = sext i32 %369 to i64
  %371 = invoke i64 @ggml_row_size(i32 noundef %366, i64 noundef %370)
          to label %372 unwind label %541

372:                                              ; preds = %363
  %373 = load i64, ptr %27, align 8, !tbaa !46
  %374 = add i64 %373, %371
  store i64 %374, ptr %27, align 8, !tbaa !46
  %375 = load i32, ptr %30, align 4, !tbaa !9
  %376 = sext i32 %375 to i64
  %377 = load i32, ptr %29, align 4, !tbaa !9
  %378 = sext i32 %377 to i64
  %379 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %378)
          to label %380 unwind label %541

380:                                              ; preds = %372
  %381 = mul i64 %376, %379
  %382 = load i64, ptr %27, align 8, !tbaa !46
  %383 = add i64 %382, %381
  store i64 %383, ptr %27, align 8, !tbaa !46
  %384 = load i32, ptr %30, align 4, !tbaa !9
  %385 = sext i32 %384 to i64
  %386 = load i32, ptr %29, align 4, !tbaa !9
  %387 = sext i32 %386 to i64
  %388 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %387)
          to label %389 unwind label %541

389:                                              ; preds = %380
  %390 = mul i64 %385, %388
  %391 = load i64, ptr %27, align 8, !tbaa !46
  %392 = add i64 %391, %390
  store i64 %392, ptr %27, align 8, !tbaa !46
  %393 = load i32, ptr %30, align 4, !tbaa !9
  %394 = sext i32 %393 to i64
  %395 = load i32, ptr %29, align 4, !tbaa !9
  %396 = sext i32 %395 to i64
  %397 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %396)
          to label %398 unwind label %541

398:                                              ; preds = %389
  %399 = mul i64 %394, %397
  %400 = load i64, ptr %27, align 8, !tbaa !46
  %401 = add i64 %400, %399
  store i64 %401, ptr %27, align 8, !tbaa !46
  %402 = load i32, ptr %30, align 4, !tbaa !9
  %403 = sext i32 %402 to i64
  %404 = load i32, ptr %29, align 4, !tbaa !9
  %405 = sext i32 %404 to i64
  %406 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %405)
          to label %407 unwind label %541

407:                                              ; preds = %398
  %408 = mul i64 %403, %406
  %409 = load i64, ptr %27, align 8, !tbaa !46
  %410 = add i64 %409, %408
  store i64 %410, ptr %27, align 8, !tbaa !46
  %411 = load i32, ptr %30, align 4, !tbaa !9
  %412 = sext i32 %411 to i64
  %413 = load i32, ptr %25, align 4, !tbaa !44
  %414 = load i32, ptr %29, align 4, !tbaa !9
  %415 = mul nsw i32 3, %414
  %416 = load i32, ptr %29, align 4, !tbaa !9
  %417 = mul nsw i32 %415, %416
  %418 = sext i32 %417 to i64
  %419 = invoke i64 @ggml_row_size(i32 noundef %413, i64 noundef %418)
          to label %420 unwind label %541

420:                                              ; preds = %407
  %421 = mul i64 %412, %419
  %422 = load i64, ptr %27, align 8, !tbaa !46
  %423 = add i64 %422, %421
  store i64 %423, ptr %27, align 8, !tbaa !46
  %424 = load i32, ptr %30, align 4, !tbaa !9
  %425 = sext i32 %424 to i64
  %426 = load i32, ptr %29, align 4, !tbaa !9
  %427 = mul nsw i32 3, %426
  %428 = sext i32 %427 to i64
  %429 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %428)
          to label %430 unwind label %541

430:                                              ; preds = %420
  %431 = mul i64 %425, %429
  %432 = load i64, ptr %27, align 8, !tbaa !46
  %433 = add i64 %432, %431
  store i64 %433, ptr %27, align 8, !tbaa !46
  %434 = load i32, ptr %30, align 4, !tbaa !9
  %435 = sext i32 %434 to i64
  %436 = load i32, ptr %25, align 4, !tbaa !44
  %437 = load i32, ptr %29, align 4, !tbaa !9
  %438 = load i32, ptr %29, align 4, !tbaa !9
  %439 = mul nsw i32 %437, %438
  %440 = sext i32 %439 to i64
  %441 = invoke i64 @ggml_row_size(i32 noundef %436, i64 noundef %440)
          to label %442 unwind label %541

442:                                              ; preds = %430
  %443 = mul i64 %435, %441
  %444 = load i64, ptr %27, align 8, !tbaa !46
  %445 = add i64 %444, %443
  store i64 %445, ptr %27, align 8, !tbaa !46
  %446 = load i32, ptr %30, align 4, !tbaa !9
  %447 = sext i32 %446 to i64
  %448 = load i32, ptr %29, align 4, !tbaa !9
  %449 = sext i32 %448 to i64
  %450 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %449)
          to label %451 unwind label %541

451:                                              ; preds = %442
  %452 = mul i64 %447, %450
  %453 = load i64, ptr %27, align 8, !tbaa !46
  %454 = add i64 %453, %452
  store i64 %454, ptr %27, align 8, !tbaa !46
  %455 = load i32, ptr %30, align 4, !tbaa !9
  %456 = sext i32 %455 to i64
  %457 = load i32, ptr %25, align 4, !tbaa !44
  %458 = load i32, ptr %29, align 4, !tbaa !9
  %459 = mul nsw i32 4, %458
  %460 = load i32, ptr %29, align 4, !tbaa !9
  %461 = mul nsw i32 %459, %460
  %462 = sext i32 %461 to i64
  %463 = invoke i64 @ggml_row_size(i32 noundef %457, i64 noundef %462)
          to label %464 unwind label %541

464:                                              ; preds = %451
  %465 = mul i64 %456, %463
  %466 = load i64, ptr %27, align 8, !tbaa !46
  %467 = add i64 %466, %465
  store i64 %467, ptr %27, align 8, !tbaa !46
  %468 = load i32, ptr %30, align 4, !tbaa !9
  %469 = sext i32 %468 to i64
  %470 = load i32, ptr %29, align 4, !tbaa !9
  %471 = mul nsw i32 4, %470
  %472 = sext i32 %471 to i64
  %473 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %472)
          to label %474 unwind label %541

474:                                              ; preds = %464
  %475 = mul i64 %469, %473
  %476 = load i64, ptr %27, align 8, !tbaa !46
  %477 = add i64 %476, %475
  store i64 %477, ptr %27, align 8, !tbaa !46
  %478 = load i32, ptr %30, align 4, !tbaa !9
  %479 = sext i32 %478 to i64
  %480 = load i32, ptr %25, align 4, !tbaa !44
  %481 = load i32, ptr %29, align 4, !tbaa !9
  %482 = mul nsw i32 4, %481
  %483 = load i32, ptr %29, align 4, !tbaa !9
  %484 = mul nsw i32 %482, %483
  %485 = sext i32 %484 to i64
  %486 = invoke i64 @ggml_row_size(i32 noundef %480, i64 noundef %485)
          to label %487 unwind label %541

487:                                              ; preds = %474
  %488 = mul i64 %479, %486
  %489 = load i64, ptr %27, align 8, !tbaa !46
  %490 = add i64 %489, %488
  store i64 %490, ptr %27, align 8, !tbaa !46
  %491 = load i32, ptr %30, align 4, !tbaa !9
  %492 = sext i32 %491 to i64
  %493 = load i32, ptr %29, align 4, !tbaa !9
  %494 = mul nsw i32 4, %493
  %495 = sext i32 %494 to i64
  %496 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %495)
          to label %497 unwind label %541

497:                                              ; preds = %487
  %498 = mul i64 %492, %496
  %499 = load i64, ptr %27, align 8, !tbaa !46
  %500 = add i64 %499, %498
  store i64 %500, ptr %27, align 8, !tbaa !46
  %501 = load i32, ptr %30, align 4, !tbaa !9
  %502 = mul nsw i32 12, %501
  %503 = add nsw i32 6, %502
  %504 = mul nsw i32 %503, 128
  %505 = sext i32 %504 to i64
  %506 = load i64, ptr %27, align 8, !tbaa !46
  %507 = add i64 %506, %505
  store i64 %507, ptr %27, align 8, !tbaa !46
  %508 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.12, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef 336)
          to label %509 unwind label %541

509:                                              ; preds = %497
  %510 = load i64, ptr %27, align 8, !tbaa !46
  %511 = uitofp i64 %510 to double
  %512 = fdiv double %511, 0x4130000000000000
  %513 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.13, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, double noundef %512)
          to label %514 unwind label %541

514:                                              ; preds = %509
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  invoke void @ggml_log_set(ptr noundef @_ZL25ggml_log_callback_default14ggml_log_levelPKcPv, ptr noundef null)
          to label %515 unwind label %545

515:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #8
  %516 = load ptr, ptr %8, align 8, !tbaa !5
  %517 = getelementptr inbounds %struct.gpt2_model, ptr %516, i32 0, i32 0
  %518 = getelementptr inbounds %struct.gpt2_hparams, ptr %517, i32 0, i32 4
  %519 = load i32, ptr %518, align 8, !tbaa !47
  %520 = mul nsw i32 12, %519
  %521 = add nsw i32 8, %520
  %522 = sext i32 %521 to i64
  store i64 %522, ptr %33, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #8
  %523 = getelementptr inbounds %struct.ggml_init_params, ptr %34, i32 0, i32 0
  %524 = invoke i64 @ggml_tensor_overhead()
          to label %525 unwind label %549

525:                                              ; preds = %515
  %526 = load i64, ptr %33, align 8, !tbaa !46
  %527 = mul i64 %524, %526
  store i64 %527, ptr %523, align 8, !tbaa !48
  %528 = getelementptr inbounds %struct.ggml_init_params, ptr %34, i32 0, i32 1
  store ptr null, ptr %528, align 8, !tbaa !51
  %529 = getelementptr inbounds %struct.ggml_init_params, ptr %34, i32 0, i32 2
  store i8 1, ptr %529, align 8, !tbaa !52
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %35, ptr align 8 %34, i64 24, i1 false), !tbaa.struct !53
  %530 = invoke ptr @ggml_init(ptr noundef byval(%struct.ggml_init_params) align 8 %35)
          to label %531 unwind label %549

531:                                              ; preds = %525
  %532 = load ptr, ptr %8, align 8, !tbaa !5
  %533 = getelementptr inbounds %struct.gpt2_model, ptr %532, i32 0, i32 8
  store ptr %530, ptr %533, align 8, !tbaa !55
  %534 = load ptr, ptr %8, align 8, !tbaa !5
  %535 = getelementptr inbounds %struct.gpt2_model, ptr %534, i32 0, i32 8
  %536 = load ptr, ptr %535, align 8, !tbaa !55
  %537 = icmp ne ptr %536, null
  br i1 %537, label %553, label %538

538:                                              ; preds = %531
  %539 = load ptr, ptr @stderr, align 8, !tbaa !5
  %540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %539, ptr noundef @.str.14, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %554

541:                                              ; preds = %509, %497, %487, %474, %464, %451, %442, %430, %420, %407, %398, %389, %380, %372, %363, %355, %346, %340, %320
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %13, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  br label %1543

545:                                              ; preds = %1534, %576, %561, %514
  %546 = landingpad { ptr, i32 }
          cleanup
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %13, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %14, align 4
  br label %1543

549:                                              ; preds = %525, %515
  %550 = landingpad { ptr, i32 }
          cleanup
  %551 = extractvalue { ptr, i32 } %550, 0
  store ptr %551, ptr %13, align 8
  %552 = extractvalue { ptr, i32 } %550, 1
  store i32 %552, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  br label %1543

553:                                              ; preds = %531
  store i32 0, ptr %15, align 4
  br label %554

554:                                              ; preds = %553, %538
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #8
  %555 = load i32, ptr %15, align 4
  switch i32 %555, label %1542 [
    i32 0, label %556
  ]

556:                                              ; preds = %554
  %557 = load ptr, ptr %8, align 8, !tbaa !5
  %558 = getelementptr inbounds %struct.gpt2_model, ptr %557, i32 0, i32 9
  %559 = load ptr, ptr %558, align 8, !tbaa !56
  %560 = icmp ne ptr %559, null
  br i1 %560, label %568, label %561

561:                                              ; preds = %556
  %562 = load ptr, ptr @stderr, align 8, !tbaa !5
  %563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %562, ptr noundef @.str.15, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii) #8
  %564 = invoke ptr @ggml_backend_cpu_init()
          to label %565 unwind label %545

565:                                              ; preds = %561
  %566 = load ptr, ptr %8, align 8, !tbaa !5
  %567 = getelementptr inbounds %struct.gpt2_model, ptr %566, i32 0, i32 9
  store ptr %564, ptr %567, align 8, !tbaa !56
  br label %568

568:                                              ; preds = %565, %556
  %569 = load ptr, ptr %8, align 8, !tbaa !5
  %570 = getelementptr inbounds %struct.gpt2_model, ptr %569, i32 0, i32 9
  %571 = load ptr, ptr %570, align 8, !tbaa !56
  %572 = icmp ne ptr %571, null
  br i1 %572, label %576, label %573

573:                                              ; preds = %568
  %574 = load ptr, ptr @stderr, align 8, !tbaa !5
  %575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %574, ptr noundef @.str.16, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %1542

576:                                              ; preds = %568
  %577 = load ptr, ptr %8, align 8, !tbaa !5
  %578 = getelementptr inbounds %struct.gpt2_model, ptr %577, i32 0, i32 9
  %579 = load ptr, ptr %578, align 8, !tbaa !56
  %580 = load i64, ptr %27, align 8, !tbaa !46
  %581 = invoke ptr @ggml_backend_alloc_buffer(ptr noundef %579, i64 noundef %580)
          to label %582 unwind label %545

582:                                              ; preds = %576
  %583 = load ptr, ptr %8, align 8, !tbaa !5
  %584 = getelementptr inbounds %struct.gpt2_model, ptr %583, i32 0, i32 10
  store ptr %581, ptr %584, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  %585 = load ptr, ptr %8, align 8, !tbaa !5
  %586 = getelementptr inbounds %struct.gpt2_model, ptr %585, i32 0, i32 0
  store ptr %586, ptr %36, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #8
  %587 = load ptr, ptr %36, align 8, !tbaa !5
  %588 = getelementptr inbounds %struct.gpt2_hparams, ptr %587, i32 0, i32 2
  %589 = load i32, ptr %588, align 4, !tbaa !18
  store i32 %589, ptr %37, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #8
  %590 = load ptr, ptr %36, align 8, !tbaa !5
  %591 = getelementptr inbounds %struct.gpt2_hparams, ptr %590, i32 0, i32 4
  %592 = load i32, ptr %591, align 4, !tbaa !20
  store i32 %592, ptr %38, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #8
  %593 = load ptr, ptr %36, align 8, !tbaa !5
  %594 = getelementptr inbounds %struct.gpt2_hparams, ptr %593, i32 0, i32 1
  %595 = load i32, ptr %594, align 4, !tbaa !17
  store i32 %595, ptr %39, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #8
  %596 = load ptr, ptr %36, align 8, !tbaa !5
  %597 = getelementptr inbounds %struct.gpt2_hparams, ptr %596, i32 0, i32 0
  %598 = load i32, ptr %597, align 4, !tbaa !16
  store i32 %598, ptr %40, align 4, !tbaa !9
  %599 = load ptr, ptr %8, align 8, !tbaa !5
  %600 = getelementptr inbounds %struct.gpt2_model, ptr %599, i32 0, i32 6
  %601 = load i32, ptr %38, align 4, !tbaa !9
  %602 = sext i32 %601 to i64
  invoke void @_ZNSt6vectorI10gpt2_layerSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %600, i64 noundef %602)
          to label %603 unwind label %697

603:                                              ; preds = %582
  %604 = load ptr, ptr %26, align 8, !tbaa !5
  %605 = load ptr, ptr %604, align 8, !tbaa !5
  %606 = load i32, ptr %37, align 4, !tbaa !9
  %607 = sext i32 %606 to i64
  %608 = invoke ptr @ggml_new_tensor_1d(ptr noundef %605, i32 noundef 0, i64 noundef %607)
          to label %609 unwind label %697

609:                                              ; preds = %603
  %610 = load ptr, ptr %8, align 8, !tbaa !5
  %611 = getelementptr inbounds %struct.gpt2_model, ptr %610, i32 0, i32 1
  store ptr %608, ptr %611, align 8, !tbaa !58
  %612 = load ptr, ptr %26, align 8, !tbaa !5
  %613 = load ptr, ptr %612, align 8, !tbaa !5
  %614 = load i32, ptr %37, align 4, !tbaa !9
  %615 = sext i32 %614 to i64
  %616 = invoke ptr @ggml_new_tensor_1d(ptr noundef %613, i32 noundef 0, i64 noundef %615)
          to label %617 unwind label %697

617:                                              ; preds = %609
  %618 = load ptr, ptr %8, align 8, !tbaa !5
  %619 = getelementptr inbounds %struct.gpt2_model, ptr %618, i32 0, i32 2
  store ptr %616, ptr %619, align 8, !tbaa !59
  %620 = load ptr, ptr %26, align 8, !tbaa !5
  %621 = load ptr, ptr %620, align 8, !tbaa !5
  %622 = load i32, ptr %25, align 4, !tbaa !44
  %623 = load i32, ptr %37, align 4, !tbaa !9
  %624 = sext i32 %623 to i64
  %625 = load i32, ptr %40, align 4, !tbaa !9
  %626 = sext i32 %625 to i64
  %627 = invoke ptr @ggml_new_tensor_2d(ptr noundef %621, i32 noundef %622, i64 noundef %624, i64 noundef %626)
          to label %628 unwind label %697

628:                                              ; preds = %617
  %629 = load ptr, ptr %8, align 8, !tbaa !5
  %630 = getelementptr inbounds %struct.gpt2_model, ptr %629, i32 0, i32 3
  store ptr %627, ptr %630, align 8, !tbaa !60
  %631 = load ptr, ptr %26, align 8, !tbaa !5
  %632 = load ptr, ptr %631, align 8, !tbaa !5
  %633 = load i32, ptr %37, align 4, !tbaa !9
  %634 = sext i32 %633 to i64
  %635 = load i32, ptr %39, align 4, !tbaa !9
  %636 = sext i32 %635 to i64
  %637 = invoke ptr @ggml_new_tensor_2d(ptr noundef %632, i32 noundef 0, i64 noundef %634, i64 noundef %636)
          to label %638 unwind label %697

638:                                              ; preds = %628
  %639 = load ptr, ptr %8, align 8, !tbaa !5
  %640 = getelementptr inbounds %struct.gpt2_model, ptr %639, i32 0, i32 4
  store ptr %637, ptr %640, align 8, !tbaa !61
  %641 = load ptr, ptr %26, align 8, !tbaa !5
  %642 = load ptr, ptr %641, align 8, !tbaa !5
  %643 = load i32, ptr %25, align 4, !tbaa !44
  %644 = load i32, ptr %37, align 4, !tbaa !9
  %645 = sext i32 %644 to i64
  %646 = load i32, ptr %40, align 4, !tbaa !9
  %647 = sext i32 %646 to i64
  %648 = invoke ptr @ggml_new_tensor_2d(ptr noundef %642, i32 noundef %643, i64 noundef %645, i64 noundef %647)
          to label %649 unwind label %697

649:                                              ; preds = %638
  %650 = load ptr, ptr %8, align 8, !tbaa !5
  %651 = getelementptr inbounds %struct.gpt2_model, ptr %650, i32 0, i32 5
  store ptr %648, ptr %651, align 8, !tbaa !62
  %652 = load ptr, ptr %8, align 8, !tbaa !5
  %653 = getelementptr inbounds %struct.gpt2_model, ptr %652, i32 0, i32 1
  %654 = load ptr, ptr %653, align 8, !tbaa !58
  %655 = load ptr, ptr %8, align 8, !tbaa !5
  %656 = getelementptr inbounds %struct.gpt2_model, ptr %655, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %657 unwind label %701

657:                                              ; preds = %649
  %658 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %656, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %659 unwind label %705

659:                                              ; preds = %657
  store ptr %654, ptr %658, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  %660 = load ptr, ptr %8, align 8, !tbaa !5
  %661 = getelementptr inbounds %struct.gpt2_model, ptr %660, i32 0, i32 2
  %662 = load ptr, ptr %661, align 8, !tbaa !59
  %663 = load ptr, ptr %8, align 8, !tbaa !5
  %664 = getelementptr inbounds %struct.gpt2_model, ptr %663, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %665 unwind label %710

665:                                              ; preds = %659
  %666 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %664, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %667 unwind label %714

667:                                              ; preds = %665
  store ptr %662, ptr %666, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  %668 = load ptr, ptr %8, align 8, !tbaa !5
  %669 = getelementptr inbounds %struct.gpt2_model, ptr %668, i32 0, i32 3
  %670 = load ptr, ptr %669, align 8, !tbaa !60
  %671 = load ptr, ptr %8, align 8, !tbaa !5
  %672 = getelementptr inbounds %struct.gpt2_model, ptr %671, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %673 unwind label %719

673:                                              ; preds = %667
  %674 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %672, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %675 unwind label %723

675:                                              ; preds = %673
  store ptr %670, ptr %674, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #8
  %676 = load ptr, ptr %8, align 8, !tbaa !5
  %677 = getelementptr inbounds %struct.gpt2_model, ptr %676, i32 0, i32 4
  %678 = load ptr, ptr %677, align 8, !tbaa !61
  %679 = load ptr, ptr %8, align 8, !tbaa !5
  %680 = getelementptr inbounds %struct.gpt2_model, ptr %679, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %681 unwind label %728

681:                                              ; preds = %675
  %682 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %680, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %683 unwind label %732

683:                                              ; preds = %681
  store ptr %678, ptr %682, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  %684 = load ptr, ptr %8, align 8, !tbaa !5
  %685 = getelementptr inbounds %struct.gpt2_model, ptr %684, i32 0, i32 5
  %686 = load ptr, ptr %685, align 8, !tbaa !62
  %687 = load ptr, ptr %8, align 8, !tbaa !5
  %688 = getelementptr inbounds %struct.gpt2_model, ptr %687, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %50)
          to label %689 unwind label %737

689:                                              ; preds = %683
  %690 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %688, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %691 unwind label %741

691:                                              ; preds = %689
  store ptr %686, ptr %690, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #8
  store i32 0, ptr %51, align 4, !tbaa !9
  br label %692

692:                                              ; preds = %985, %691
  %693 = load i32, ptr %51, align 4, !tbaa !9
  %694 = load i32, ptr %38, align 4, !tbaa !9
  %695 = icmp slt i32 %693, %694
  br i1 %695, label %746, label %696

696:                                              ; preds = %692
  store i32 5, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  br label %1161

697:                                              ; preds = %638, %628, %617, %609, %603, %582
  %698 = landingpad { ptr, i32 }
          cleanup
  %699 = extractvalue { ptr, i32 } %698, 0
  store ptr %699, ptr %13, align 8
  %700 = extractvalue { ptr, i32 } %698, 1
  store i32 %700, ptr %14, align 4
  br label %1280

701:                                              ; preds = %649
  %702 = landingpad { ptr, i32 }
          cleanup
  %703 = extractvalue { ptr, i32 } %702, 0
  store ptr %703, ptr %13, align 8
  %704 = extractvalue { ptr, i32 } %702, 1
  store i32 %704, ptr %14, align 4
  br label %709

705:                                              ; preds = %657
  %706 = landingpad { ptr, i32 }
          cleanup
  %707 = extractvalue { ptr, i32 } %706, 0
  store ptr %707, ptr %13, align 8
  %708 = extractvalue { ptr, i32 } %706, 1
  store i32 %708, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  br label %709

709:                                              ; preds = %705, %701
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  br label %1280

710:                                              ; preds = %659
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %13, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %14, align 4
  br label %718

714:                                              ; preds = %665
  %715 = landingpad { ptr, i32 }
          cleanup
  %716 = extractvalue { ptr, i32 } %715, 0
  store ptr %716, ptr %13, align 8
  %717 = extractvalue { ptr, i32 } %715, 1
  store i32 %717, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %718

718:                                              ; preds = %714, %710
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #8
  br label %1280

719:                                              ; preds = %667
  %720 = landingpad { ptr, i32 }
          cleanup
  %721 = extractvalue { ptr, i32 } %720, 0
  store ptr %721, ptr %13, align 8
  %722 = extractvalue { ptr, i32 } %720, 1
  store i32 %722, ptr %14, align 4
  br label %727

723:                                              ; preds = %673
  %724 = landingpad { ptr, i32 }
          cleanup
  %725 = extractvalue { ptr, i32 } %724, 0
  store ptr %725, ptr %13, align 8
  %726 = extractvalue { ptr, i32 } %724, 1
  store i32 %726, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  br label %727

727:                                              ; preds = %723, %719
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #8
  br label %1280

728:                                              ; preds = %675
  %729 = landingpad { ptr, i32 }
          cleanup
  %730 = extractvalue { ptr, i32 } %729, 0
  store ptr %730, ptr %13, align 8
  %731 = extractvalue { ptr, i32 } %729, 1
  store i32 %731, ptr %14, align 4
  br label %736

732:                                              ; preds = %681
  %733 = landingpad { ptr, i32 }
          cleanup
  %734 = extractvalue { ptr, i32 } %733, 0
  store ptr %734, ptr %13, align 8
  %735 = extractvalue { ptr, i32 } %733, 1
  store i32 %735, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #8
  br label %736

736:                                              ; preds = %732, %728
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #8
  br label %1280

737:                                              ; preds = %683
  %738 = landingpad { ptr, i32 }
          cleanup
  %739 = extractvalue { ptr, i32 } %738, 0
  store ptr %739, ptr %13, align 8
  %740 = extractvalue { ptr, i32 } %738, 1
  store i32 %740, ptr %14, align 4
  br label %745

741:                                              ; preds = %689
  %742 = landingpad { ptr, i32 }
          cleanup
  %743 = extractvalue { ptr, i32 } %742, 0
  store ptr %743, ptr %13, align 8
  %744 = extractvalue { ptr, i32 } %742, 1
  store i32 %744, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %745

745:                                              ; preds = %741, %737
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %50) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #8
  br label %1280

746:                                              ; preds = %692
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #8
  %747 = load ptr, ptr %8, align 8, !tbaa !5
  %748 = getelementptr inbounds %struct.gpt2_model, ptr %747, i32 0, i32 6
  %749 = load i32, ptr %51, align 4, !tbaa !9
  %750 = sext i32 %749 to i64
  %751 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNSt6vectorI10gpt2_layerSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %748, i64 noundef %750) #8
  store ptr %751, ptr %52, align 8, !tbaa !5
  %752 = load ptr, ptr %26, align 8, !tbaa !5
  %753 = load ptr, ptr %752, align 8, !tbaa !5
  %754 = load i32, ptr %37, align 4, !tbaa !9
  %755 = sext i32 %754 to i64
  %756 = invoke ptr @ggml_new_tensor_1d(ptr noundef %753, i32 noundef 0, i64 noundef %755)
          to label %757 unwind label %988

757:                                              ; preds = %746
  %758 = load ptr, ptr %52, align 8, !tbaa !5
  %759 = getelementptr inbounds %struct.gpt2_layer, ptr %758, i32 0, i32 0
  store ptr %756, ptr %759, align 8, !tbaa !63
  %760 = load ptr, ptr %26, align 8, !tbaa !5
  %761 = load ptr, ptr %760, align 8, !tbaa !5
  %762 = load i32, ptr %37, align 4, !tbaa !9
  %763 = sext i32 %762 to i64
  %764 = invoke ptr @ggml_new_tensor_1d(ptr noundef %761, i32 noundef 0, i64 noundef %763)
          to label %765 unwind label %988

765:                                              ; preds = %757
  %766 = load ptr, ptr %52, align 8, !tbaa !5
  %767 = getelementptr inbounds %struct.gpt2_layer, ptr %766, i32 0, i32 1
  store ptr %764, ptr %767, align 8, !tbaa !65
  %768 = load ptr, ptr %26, align 8, !tbaa !5
  %769 = load ptr, ptr %768, align 8, !tbaa !5
  %770 = load i32, ptr %37, align 4, !tbaa !9
  %771 = sext i32 %770 to i64
  %772 = invoke ptr @ggml_new_tensor_1d(ptr noundef %769, i32 noundef 0, i64 noundef %771)
          to label %773 unwind label %988

773:                                              ; preds = %765
  %774 = load ptr, ptr %52, align 8, !tbaa !5
  %775 = getelementptr inbounds %struct.gpt2_layer, ptr %774, i32 0, i32 2
  store ptr %772, ptr %775, align 8, !tbaa !66
  %776 = load ptr, ptr %26, align 8, !tbaa !5
  %777 = load ptr, ptr %776, align 8, !tbaa !5
  %778 = load i32, ptr %37, align 4, !tbaa !9
  %779 = sext i32 %778 to i64
  %780 = invoke ptr @ggml_new_tensor_1d(ptr noundef %777, i32 noundef 0, i64 noundef %779)
          to label %781 unwind label %988

781:                                              ; preds = %773
  %782 = load ptr, ptr %52, align 8, !tbaa !5
  %783 = getelementptr inbounds %struct.gpt2_layer, ptr %782, i32 0, i32 3
  store ptr %780, ptr %783, align 8, !tbaa !67
  %784 = load ptr, ptr %26, align 8, !tbaa !5
  %785 = load ptr, ptr %784, align 8, !tbaa !5
  %786 = load i32, ptr %25, align 4, !tbaa !44
  %787 = load i32, ptr %37, align 4, !tbaa !9
  %788 = sext i32 %787 to i64
  %789 = load i32, ptr %37, align 4, !tbaa !9
  %790 = mul nsw i32 3, %789
  %791 = sext i32 %790 to i64
  %792 = invoke ptr @ggml_new_tensor_2d(ptr noundef %785, i32 noundef %786, i64 noundef %788, i64 noundef %791)
          to label %793 unwind label %988

793:                                              ; preds = %781
  %794 = load ptr, ptr %52, align 8, !tbaa !5
  %795 = getelementptr inbounds %struct.gpt2_layer, ptr %794, i32 0, i32 4
  store ptr %792, ptr %795, align 8, !tbaa !68
  %796 = load ptr, ptr %26, align 8, !tbaa !5
  %797 = load ptr, ptr %796, align 8, !tbaa !5
  %798 = load i32, ptr %37, align 4, !tbaa !9
  %799 = mul nsw i32 3, %798
  %800 = sext i32 %799 to i64
  %801 = invoke ptr @ggml_new_tensor_1d(ptr noundef %797, i32 noundef 0, i64 noundef %800)
          to label %802 unwind label %988

802:                                              ; preds = %793
  %803 = load ptr, ptr %52, align 8, !tbaa !5
  %804 = getelementptr inbounds %struct.gpt2_layer, ptr %803, i32 0, i32 5
  store ptr %801, ptr %804, align 8, !tbaa !69
  %805 = load ptr, ptr %26, align 8, !tbaa !5
  %806 = load ptr, ptr %805, align 8, !tbaa !5
  %807 = load i32, ptr %25, align 4, !tbaa !44
  %808 = load i32, ptr %37, align 4, !tbaa !9
  %809 = sext i32 %808 to i64
  %810 = load i32, ptr %37, align 4, !tbaa !9
  %811 = sext i32 %810 to i64
  %812 = invoke ptr @ggml_new_tensor_2d(ptr noundef %806, i32 noundef %807, i64 noundef %809, i64 noundef %811)
          to label %813 unwind label %988

813:                                              ; preds = %802
  %814 = load ptr, ptr %52, align 8, !tbaa !5
  %815 = getelementptr inbounds %struct.gpt2_layer, ptr %814, i32 0, i32 6
  store ptr %812, ptr %815, align 8, !tbaa !70
  %816 = load ptr, ptr %26, align 8, !tbaa !5
  %817 = load ptr, ptr %816, align 8, !tbaa !5
  %818 = load i32, ptr %37, align 4, !tbaa !9
  %819 = sext i32 %818 to i64
  %820 = invoke ptr @ggml_new_tensor_1d(ptr noundef %817, i32 noundef 0, i64 noundef %819)
          to label %821 unwind label %988

821:                                              ; preds = %813
  %822 = load ptr, ptr %52, align 8, !tbaa !5
  %823 = getelementptr inbounds %struct.gpt2_layer, ptr %822, i32 0, i32 7
  store ptr %820, ptr %823, align 8, !tbaa !71
  %824 = load ptr, ptr %26, align 8, !tbaa !5
  %825 = load ptr, ptr %824, align 8, !tbaa !5
  %826 = load i32, ptr %25, align 4, !tbaa !44
  %827 = load i32, ptr %37, align 4, !tbaa !9
  %828 = sext i32 %827 to i64
  %829 = load i32, ptr %37, align 4, !tbaa !9
  %830 = mul nsw i32 4, %829
  %831 = sext i32 %830 to i64
  %832 = invoke ptr @ggml_new_tensor_2d(ptr noundef %825, i32 noundef %826, i64 noundef %828, i64 noundef %831)
          to label %833 unwind label %988

833:                                              ; preds = %821
  %834 = load ptr, ptr %52, align 8, !tbaa !5
  %835 = getelementptr inbounds %struct.gpt2_layer, ptr %834, i32 0, i32 8
  store ptr %832, ptr %835, align 8, !tbaa !72
  %836 = load ptr, ptr %26, align 8, !tbaa !5
  %837 = load ptr, ptr %836, align 8, !tbaa !5
  %838 = load i32, ptr %37, align 4, !tbaa !9
  %839 = mul nsw i32 4, %838
  %840 = sext i32 %839 to i64
  %841 = invoke ptr @ggml_new_tensor_1d(ptr noundef %837, i32 noundef 0, i64 noundef %840)
          to label %842 unwind label %988

842:                                              ; preds = %833
  %843 = load ptr, ptr %52, align 8, !tbaa !5
  %844 = getelementptr inbounds %struct.gpt2_layer, ptr %843, i32 0, i32 9
  store ptr %841, ptr %844, align 8, !tbaa !73
  %845 = load ptr, ptr %26, align 8, !tbaa !5
  %846 = load ptr, ptr %845, align 8, !tbaa !5
  %847 = load i32, ptr %25, align 4, !tbaa !44
  %848 = load i32, ptr %37, align 4, !tbaa !9
  %849 = mul nsw i32 4, %848
  %850 = sext i32 %849 to i64
  %851 = load i32, ptr %37, align 4, !tbaa !9
  %852 = sext i32 %851 to i64
  %853 = invoke ptr @ggml_new_tensor_2d(ptr noundef %846, i32 noundef %847, i64 noundef %850, i64 noundef %852)
          to label %854 unwind label %988

854:                                              ; preds = %842
  %855 = load ptr, ptr %52, align 8, !tbaa !5
  %856 = getelementptr inbounds %struct.gpt2_layer, ptr %855, i32 0, i32 10
  store ptr %853, ptr %856, align 8, !tbaa !74
  %857 = load ptr, ptr %26, align 8, !tbaa !5
  %858 = load ptr, ptr %857, align 8, !tbaa !5
  %859 = load i32, ptr %37, align 4, !tbaa !9
  %860 = sext i32 %859 to i64
  %861 = invoke ptr @ggml_new_tensor_1d(ptr noundef %858, i32 noundef 0, i64 noundef %860)
          to label %862 unwind label %988

862:                                              ; preds = %854
  %863 = load ptr, ptr %52, align 8, !tbaa !5
  %864 = getelementptr inbounds %struct.gpt2_layer, ptr %863, i32 0, i32 11
  store ptr %861, ptr %864, align 8, !tbaa !75
  %865 = load ptr, ptr %52, align 8, !tbaa !5
  %866 = getelementptr inbounds %struct.gpt2_layer, ptr %865, i32 0, i32 0
  %867 = load ptr, ptr %866, align 8, !tbaa !63
  %868 = load ptr, ptr %8, align 8, !tbaa !5
  %869 = getelementptr inbounds %struct.gpt2_model, ptr %868, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #8
  %870 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, i32 noundef %870) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %871 unwind label %992

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

872:                                              ; preds = %871
  %873 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %869, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %874 unwind label %1000

874:                                              ; preds = %872
  store ptr %867, ptr %873, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  %875 = load ptr, ptr %52, align 8, !tbaa !5
  %876 = getelementptr inbounds %struct.gpt2_layer, ptr %875, i32 0, i32 1
  %877 = load ptr, ptr %876, align 8, !tbaa !65
  %878 = load ptr, ptr %8, align 8, !tbaa !5
  %879 = getelementptr inbounds %struct.gpt2_model, ptr %878, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #8
  %880 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, i32 noundef %880) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %881 unwind label %1006

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

882:                                              ; preds = %881
  %883 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %879, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %884 unwind label %1014

884:                                              ; preds = %882
  store ptr %877, ptr %883, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  %885 = load ptr, ptr %52, align 8, !tbaa !5
  %886 = getelementptr inbounds %struct.gpt2_layer, ptr %885, i32 0, i32 2
  %887 = load ptr, ptr %886, align 8, !tbaa !66
  %888 = load ptr, ptr %8, align 8, !tbaa !5
  %889 = getelementptr inbounds %struct.gpt2_model, ptr %888, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %59) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %61) #8
  %890 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %61, i32 noundef %890) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %891 unwind label %1020

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

892:                                              ; preds = %891
  %893 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %889, ptr noundef nonnull align 8 dereferenceable(32) %59)
          to label %894 unwind label %1028

894:                                              ; preds = %892
  store ptr %887, ptr %893, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  %895 = load ptr, ptr %52, align 8, !tbaa !5
  %896 = getelementptr inbounds %struct.gpt2_layer, ptr %895, i32 0, i32 3
  %897 = load ptr, ptr %896, align 8, !tbaa !67
  %898 = load ptr, ptr %8, align 8, !tbaa !5
  %899 = getelementptr inbounds %struct.gpt2_model, ptr %898, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #8
  %900 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, i32 noundef %900) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %63, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %901 unwind label %1034

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

902:                                              ; preds = %901
  %903 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %899, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %904 unwind label %1042

904:                                              ; preds = %902
  store ptr %897, ptr %903, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  %905 = load ptr, ptr %52, align 8, !tbaa !5
  %906 = getelementptr inbounds %struct.gpt2_layer, ptr %905, i32 0, i32 4
  %907 = load ptr, ptr %906, align 8, !tbaa !68
  %908 = load ptr, ptr %8, align 8, !tbaa !5
  %909 = getelementptr inbounds %struct.gpt2_model, ptr %908, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #8
  %910 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, i32 noundef %910) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %911 unwind label %1048

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

912:                                              ; preds = %911
  %913 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %909, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %914 unwind label %1056

914:                                              ; preds = %912
  store ptr %907, ptr %913, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  %915 = load ptr, ptr %52, align 8, !tbaa !5
  %916 = getelementptr inbounds %struct.gpt2_layer, ptr %915, i32 0, i32 5
  %917 = load ptr, ptr %916, align 8, !tbaa !69
  %918 = load ptr, ptr %8, align 8, !tbaa !5
  %919 = getelementptr inbounds %struct.gpt2_model, ptr %918, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #8
  %920 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, i32 noundef %920) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %921 unwind label %1062

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

922:                                              ; preds = %921
  %923 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %919, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %924 unwind label %1070

924:                                              ; preds = %922
  store ptr %917, ptr %923, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  %925 = load ptr, ptr %52, align 8, !tbaa !5
  %926 = getelementptr inbounds %struct.gpt2_layer, ptr %925, i32 0, i32 6
  %927 = load ptr, ptr %926, align 8, !tbaa !70
  %928 = load ptr, ptr %8, align 8, !tbaa !5
  %929 = getelementptr inbounds %struct.gpt2_model, ptr %928, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #8
  %930 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, i32 noundef %930) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %931 unwind label %1076

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

932:                                              ; preds = %931
  %933 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %929, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %934 unwind label %1084

934:                                              ; preds = %932
  store ptr %927, ptr %933, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  %935 = load ptr, ptr %52, align 8, !tbaa !5
  %936 = getelementptr inbounds %struct.gpt2_layer, ptr %935, i32 0, i32 7
  %937 = load ptr, ptr %936, align 8, !tbaa !71
  %938 = load ptr, ptr %8, align 8, !tbaa !5
  %939 = getelementptr inbounds %struct.gpt2_model, ptr %938, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #8
  %940 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %76, i32 noundef %940) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %941 unwind label %1090

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

942:                                              ; preds = %941
  %943 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %939, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %944 unwind label %1098

944:                                              ; preds = %942
  store ptr %937, ptr %943, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  %945 = load ptr, ptr %52, align 8, !tbaa !5
  %946 = getelementptr inbounds %struct.gpt2_layer, ptr %945, i32 0, i32 8
  %947 = load ptr, ptr %946, align 8, !tbaa !72
  %948 = load ptr, ptr %8, align 8, !tbaa !5
  %949 = getelementptr inbounds %struct.gpt2_model, ptr %948, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #8
  %950 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %79, i32 noundef %950) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %951 unwind label %1104

951:                                              ; preds = %944
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.31)
          to label %952 unwind label %1108

952:                                              ; preds = %951
  %953 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %949, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %954 unwind label %1112

954:                                              ; preds = %952
  store ptr %947, ptr %953, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  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 @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  %955 = load ptr, ptr %52, align 8, !tbaa !5
  %956 = getelementptr inbounds %struct.gpt2_layer, ptr %955, i32 0, i32 9
  %957 = load ptr, ptr %956, align 8, !tbaa !73
  %958 = load ptr, ptr %8, align 8, !tbaa !5
  %959 = getelementptr inbounds %struct.gpt2_model, ptr %958, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #8
  %960 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %82, i32 noundef %960) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %961 unwind label %1118

961:                                              ; preds = %954
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.32)
          to label %962 unwind label %1122

962:                                              ; preds = %961
  %963 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %959, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %964 unwind label %1126

964:                                              ; preds = %962
  store ptr %957, ptr %963, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  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 @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 32, ptr %80) #8
  %965 = load ptr, ptr %52, align 8, !tbaa !5
  %966 = getelementptr inbounds %struct.gpt2_layer, ptr %965, i32 0, i32 10
  %967 = load ptr, ptr %966, align 8, !tbaa !74
  %968 = load ptr, ptr %8, align 8, !tbaa !5
  %969 = getelementptr inbounds %struct.gpt2_model, ptr %968, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #8
  %970 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %85, i32 noundef %970) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %85)
          to label %971 unwind label %1132

971:                                              ; preds = %964
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef @.str.33)
          to label %972 unwind label %1136

972:                                              ; preds = %971
  %973 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %969, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %974 unwind label %1140

974:                                              ; preds = %972
  store ptr %967, ptr %973, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  %975 = load ptr, ptr %52, align 8, !tbaa !5
  %976 = getelementptr inbounds %struct.gpt2_layer, ptr %975, i32 0, i32 11
  %977 = load ptr, ptr %976, align 8, !tbaa !75
  %978 = load ptr, ptr %8, align 8, !tbaa !5
  %979 = getelementptr inbounds %struct.gpt2_model, ptr %978, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #8
  %980 = load i32, ptr %51, align 4, !tbaa !9
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, i32 noundef %980) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %981 unwind label %1146

981:                                              ; preds = %974
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(32) %87, ptr noundef @.str.34)
          to label %982 unwind label %1150

982:                                              ; preds = %981
  %983 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %979, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %984 unwind label %1154

984:                                              ; preds = %982
  store ptr %977, ptr %983, align 8, !tbaa !5
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  br label %985

985:                                              ; preds = %984
  %986 = load i32, ptr %51, align 4, !tbaa !9
  %987 = add nsw i32 %986, 1
  store i32 %987, ptr %51, align 4, !tbaa !9
  br label %692, !llvm.loop !76

988:                                              ; preds = %854, %842, %833, %821, %813, %802, %793, %781, %773, %765, %757, %746
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %13, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %14, align 4
  br label %1160

992:                                              ; preds = %862
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %13, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %14, align 4
  br label %1005

996:                                              ; preds = %871
  %997 = landingpad { ptr, i32 }
          cleanup
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %13, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %14, align 4
  br label %1004

1000:                                             ; preds = %872
  %1001 = landingpad { ptr, i32 }
          cleanup
  %1002 = extractvalue { ptr, i32 } %1001, 0
  store ptr %1002, ptr %13, align 8
  %1003 = extractvalue { ptr, i32 } %1001, 1
  store i32 %1003, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #8
  br label %1004

1004:                                             ; preds = %1000, %996
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  br label %1005

1005:                                             ; preds = %1004, %992
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #8
  br label %1160

1006:                                             ; preds = %874
  %1007 = landingpad { ptr, i32 }
          cleanup
  %1008 = extractvalue { ptr, i32 } %1007, 0
  store ptr %1008, ptr %13, align 8
  %1009 = extractvalue { ptr, i32 } %1007, 1
  store i32 %1009, ptr %14, align 4
  br label %1019

1010:                                             ; preds = %881
  %1011 = landingpad { ptr, i32 }
          cleanup
  %1012 = extractvalue { ptr, i32 } %1011, 0
  store ptr %1012, ptr %13, align 8
  %1013 = extractvalue { ptr, i32 } %1011, 1
  store i32 %1013, ptr %14, align 4
  br label %1018

1014:                                             ; preds = %882
  %1015 = landingpad { ptr, i32 }
          cleanup
  %1016 = extractvalue { ptr, i32 } %1015, 0
  store ptr %1016, ptr %13, align 8
  %1017 = extractvalue { ptr, i32 } %1015, 1
  store i32 %1017, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  br label %1018

1018:                                             ; preds = %1014, %1010
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  br label %1019

1019:                                             ; preds = %1018, %1006
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #8
  br label %1160

1020:                                             ; preds = %884
  %1021 = landingpad { ptr, i32 }
          cleanup
  %1022 = extractvalue { ptr, i32 } %1021, 0
  store ptr %1022, ptr %13, align 8
  %1023 = extractvalue { ptr, i32 } %1021, 1
  store i32 %1023, ptr %14, align 4
  br label %1033

1024:                                             ; preds = %891
  %1025 = landingpad { ptr, i32 }
          cleanup
  %1026 = extractvalue { ptr, i32 } %1025, 0
  store ptr %1026, ptr %13, align 8
  %1027 = extractvalue { ptr, i32 } %1025, 1
  store i32 %1027, ptr %14, align 4
  br label %1032

1028:                                             ; preds = %892
  %1029 = landingpad { ptr, i32 }
          cleanup
  %1030 = extractvalue { ptr, i32 } %1029, 0
  store ptr %1030, ptr %13, align 8
  %1031 = extractvalue { ptr, i32 } %1029, 1
  store i32 %1031, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #8
  br label %1032

1032:                                             ; preds = %1028, %1024
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #8
  br label %1033

1033:                                             ; preds = %1032, %1020
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %59) #8
  br label %1160

1034:                                             ; preds = %894
  %1035 = landingpad { ptr, i32 }
          cleanup
  %1036 = extractvalue { ptr, i32 } %1035, 0
  store ptr %1036, ptr %13, align 8
  %1037 = extractvalue { ptr, i32 } %1035, 1
  store i32 %1037, ptr %14, align 4
  br label %1047

1038:                                             ; preds = %901
  %1039 = landingpad { ptr, i32 }
          cleanup
  %1040 = extractvalue { ptr, i32 } %1039, 0
  store ptr %1040, ptr %13, align 8
  %1041 = extractvalue { ptr, i32 } %1039, 1
  store i32 %1041, ptr %14, align 4
  br label %1046

1042:                                             ; preds = %902
  %1043 = landingpad { ptr, i32 }
          cleanup
  %1044 = extractvalue { ptr, i32 } %1043, 0
  store ptr %1044, ptr %13, align 8
  %1045 = extractvalue { ptr, i32 } %1043, 1
  store i32 %1045, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #8
  br label %1046

1046:                                             ; preds = %1042, %1038
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  br label %1047

1047:                                             ; preds = %1046, %1034
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %63) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #8
  br label %1160

1048:                                             ; preds = %904
  %1049 = landingpad { ptr, i32 }
          cleanup
  %1050 = extractvalue { ptr, i32 } %1049, 0
  store ptr %1050, ptr %13, align 8
  %1051 = extractvalue { ptr, i32 } %1049, 1
  store i32 %1051, ptr %14, align 4
  br label %1061

1052:                                             ; preds = %911
  %1053 = landingpad { ptr, i32 }
          cleanup
  %1054 = extractvalue { ptr, i32 } %1053, 0
  store ptr %1054, ptr %13, align 8
  %1055 = extractvalue { ptr, i32 } %1053, 1
  store i32 %1055, ptr %14, align 4
  br label %1060

1056:                                             ; preds = %912
  %1057 = landingpad { ptr, i32 }
          cleanup
  %1058 = extractvalue { ptr, i32 } %1057, 0
  store ptr %1058, ptr %13, align 8
  %1059 = extractvalue { ptr, i32 } %1057, 1
  store i32 %1059, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  br label %1060

1060:                                             ; preds = %1056, %1052
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #8
  br label %1061

1061:                                             ; preds = %1060, %1048
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  br label %1160

1062:                                             ; preds = %914
  %1063 = landingpad { ptr, i32 }
          cleanup
  %1064 = extractvalue { ptr, i32 } %1063, 0
  store ptr %1064, ptr %13, align 8
  %1065 = extractvalue { ptr, i32 } %1063, 1
  store i32 %1065, ptr %14, align 4
  br label %1075

1066:                                             ; preds = %921
  %1067 = landingpad { ptr, i32 }
          cleanup
  %1068 = extractvalue { ptr, i32 } %1067, 0
  store ptr %1068, ptr %13, align 8
  %1069 = extractvalue { ptr, i32 } %1067, 1
  store i32 %1069, ptr %14, align 4
  br label %1074

1070:                                             ; preds = %922
  %1071 = landingpad { ptr, i32 }
          cleanup
  %1072 = extractvalue { ptr, i32 } %1071, 0
  store ptr %1072, ptr %13, align 8
  %1073 = extractvalue { ptr, i32 } %1071, 1
  store i32 %1073, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #8
  br label %1074

1074:                                             ; preds = %1070, %1066
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #8
  br label %1075

1075:                                             ; preds = %1074, %1062
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #8
  br label %1160

1076:                                             ; preds = %924
  %1077 = landingpad { ptr, i32 }
          cleanup
  %1078 = extractvalue { ptr, i32 } %1077, 0
  store ptr %1078, ptr %13, align 8
  %1079 = extractvalue { ptr, i32 } %1077, 1
  store i32 %1079, ptr %14, align 4
  br label %1089

1080:                                             ; preds = %931
  %1081 = landingpad { ptr, i32 }
          cleanup
  %1082 = extractvalue { ptr, i32 } %1081, 0
  store ptr %1082, ptr %13, align 8
  %1083 = extractvalue { ptr, i32 } %1081, 1
  store i32 %1083, ptr %14, align 4
  br label %1088

1084:                                             ; preds = %932
  %1085 = landingpad { ptr, i32 }
          cleanup
  %1086 = extractvalue { ptr, i32 } %1085, 0
  store ptr %1086, ptr %13, align 8
  %1087 = extractvalue { ptr, i32 } %1085, 1
  store i32 %1087, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %1088

1088:                                             ; preds = %1084, %1080
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  br label %1089

1089:                                             ; preds = %1088, %1076
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #8
  br label %1160

1090:                                             ; preds = %934
  %1091 = landingpad { ptr, i32 }
          cleanup
  %1092 = extractvalue { ptr, i32 } %1091, 0
  store ptr %1092, ptr %13, align 8
  %1093 = extractvalue { ptr, i32 } %1091, 1
  store i32 %1093, ptr %14, align 4
  br label %1103

1094:                                             ; preds = %941
  %1095 = landingpad { ptr, i32 }
          cleanup
  %1096 = extractvalue { ptr, i32 } %1095, 0
  store ptr %1096, ptr %13, align 8
  %1097 = extractvalue { ptr, i32 } %1095, 1
  store i32 %1097, ptr %14, align 4
  br label %1102

1098:                                             ; preds = %942
  %1099 = landingpad { ptr, i32 }
          cleanup
  %1100 = extractvalue { ptr, i32 } %1099, 0
  store ptr %1100, ptr %13, align 8
  %1101 = extractvalue { ptr, i32 } %1099, 1
  store i32 %1101, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  br label %1102

1102:                                             ; preds = %1098, %1094
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #8
  br label %1103

1103:                                             ; preds = %1102, %1090
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #8
  br label %1160

1104:                                             ; preds = %944
  %1105 = landingpad { ptr, i32 }
          cleanup
  %1106 = extractvalue { ptr, i32 } %1105, 0
  store ptr %1106, ptr %13, align 8
  %1107 = extractvalue { ptr, i32 } %1105, 1
  store i32 %1107, ptr %14, align 4
  br label %1117

1108:                                             ; preds = %951
  %1109 = landingpad { ptr, i32 }
          cleanup
  %1110 = extractvalue { ptr, i32 } %1109, 0
  store ptr %1110, ptr %13, align 8
  %1111 = extractvalue { ptr, i32 } %1109, 1
  store i32 %1111, ptr %14, align 4
  br label %1116

1112:                                             ; preds = %952
  %1113 = landingpad { ptr, i32 }
          cleanup
  %1114 = extractvalue { ptr, i32 } %1113, 0
  store ptr %1114, ptr %13, align 8
  %1115 = extractvalue { ptr, i32 } %1113, 1
  store i32 %1115, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  br label %1116

1116:                                             ; preds = %1112, %1108
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  br label %1117

1117:                                             ; preds = %1116, %1104
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #8
  br label %1160

1118:                                             ; preds = %954
  %1119 = landingpad { ptr, i32 }
          cleanup
  %1120 = extractvalue { ptr, i32 } %1119, 0
  store ptr %1120, ptr %13, align 8
  %1121 = extractvalue { ptr, i32 } %1119, 1
  store i32 %1121, ptr %14, align 4
  br label %1131

1122:                                             ; preds = %961
  %1123 = landingpad { ptr, i32 }
          cleanup
  %1124 = extractvalue { ptr, i32 } %1123, 0
  store ptr %1124, ptr %13, align 8
  %1125 = extractvalue { ptr, i32 } %1123, 1
  store i32 %1125, ptr %14, align 4
  br label %1130

1126:                                             ; preds = %962
  %1127 = landingpad { ptr, i32 }
          cleanup
  %1128 = extractvalue { ptr, i32 } %1127, 0
  store ptr %1128, ptr %13, align 8
  %1129 = extractvalue { ptr, i32 } %1127, 1
  store i32 %1129, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  br label %1130

1130:                                             ; preds = %1126, %1122
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  br label %1131

1131:                                             ; preds = %1130, %1118
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #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 32, ptr %80) #8
  br label %1160

1132:                                             ; preds = %964
  %1133 = landingpad { ptr, i32 }
          cleanup
  %1134 = extractvalue { ptr, i32 } %1133, 0
  store ptr %1134, ptr %13, align 8
  %1135 = extractvalue { ptr, i32 } %1133, 1
  store i32 %1135, ptr %14, align 4
  br label %1145

1136:                                             ; preds = %971
  %1137 = landingpad { ptr, i32 }
          cleanup
  %1138 = extractvalue { ptr, i32 } %1137, 0
  store ptr %1138, ptr %13, align 8
  %1139 = extractvalue { ptr, i32 } %1137, 1
  store i32 %1139, ptr %14, align 4
  br label %1144

1140:                                             ; preds = %972
  %1141 = landingpad { ptr, i32 }
          cleanup
  %1142 = extractvalue { ptr, i32 } %1141, 0
  store ptr %1142, ptr %13, align 8
  %1143 = extractvalue { ptr, i32 } %1141, 1
  store i32 %1143, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #8
  br label %1144

1144:                                             ; preds = %1140, %1136
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #8
  br label %1145

1145:                                             ; preds = %1144, %1132
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #8
  br label %1160

1146:                                             ; preds = %974
  %1147 = landingpad { ptr, i32 }
          cleanup
  %1148 = extractvalue { ptr, i32 } %1147, 0
  store ptr %1148, ptr %13, align 8
  %1149 = extractvalue { ptr, i32 } %1147, 1
  store i32 %1149, ptr %14, align 4
  br label %1159

1150:                                             ; preds = %981
  %1151 = landingpad { ptr, i32 }
          cleanup
  %1152 = extractvalue { ptr, i32 } %1151, 0
  store ptr %1152, ptr %13, align 8
  %1153 = extractvalue { ptr, i32 } %1151, 1
  store i32 %1153, ptr %14, align 4
  br label %1158

1154:                                             ; preds = %982
  %1155 = landingpad { ptr, i32 }
          cleanup
  %1156 = extractvalue { ptr, i32 } %1155, 0
  store ptr %1156, ptr %13, align 8
  %1157 = extractvalue { ptr, i32 } %1155, 1
  store i32 %1157, ptr %14, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #8
  br label %1158

1158:                                             ; preds = %1154, %1150
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #8
  br label %1159

1159:                                             ; preds = %1158, %1146
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #8
  br label %1160

1160:                                             ; preds = %1159, %1145, %1131, %1117, %1103, %1089, %1075, %1061, %1047, %1033, %1019, %1005, %988
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #8
  br label %1280

1161:                                             ; preds = %696
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  %1162 = load i32, ptr %10, align 4, !tbaa !9
  %1163 = load ptr, ptr %8, align 8, !tbaa !5
  %1164 = getelementptr inbounds %struct.gpt2_model, ptr %1163, i32 0, i32 0
  %1165 = getelementptr inbounds %struct.gpt2_hparams, ptr %1164, i32 0, i32 1
  store i32 %1162, ptr %1165, align 4, !tbaa !77
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #8
  %1166 = load ptr, ptr %8, align 8, !tbaa !5
  %1167 = getelementptr inbounds %struct.gpt2_model, ptr %1166, i32 0, i32 0
  store ptr %1167, ptr %89, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #8
  %1168 = load ptr, ptr %89, align 8, !tbaa !5
  %1169 = getelementptr inbounds %struct.gpt2_hparams, ptr %1168, i32 0, i32 2
  %1170 = load i32, ptr %1169, align 4, !tbaa !18
  store i32 %1170, ptr %90, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #8
  %1171 = load ptr, ptr %89, align 8, !tbaa !5
  %1172 = getelementptr inbounds %struct.gpt2_hparams, ptr %1171, i32 0, i32 4
  %1173 = load i32, ptr %1172, align 4, !tbaa !20
  store i32 %1173, ptr %91, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #8
  %1174 = load ptr, ptr %89, align 8, !tbaa !5
  %1175 = getelementptr inbounds %struct.gpt2_hparams, ptr %1174, i32 0, i32 1
  %1176 = load i32, ptr %1175, align 4, !tbaa !17
  store i32 %1176, ptr %92, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #8
  %1177 = load i32, ptr %91, align 4, !tbaa !9
  %1178 = load i32, ptr %92, align 4, !tbaa !9
  %1179 = mul nsw i32 %1177, %1178
  store i32 %1179, ptr %93, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #8
  %1180 = load i32, ptr %90, align 4, !tbaa !9
  %1181 = load i32, ptr %93, align 4, !tbaa !9
  %1182 = mul nsw i32 %1180, %1181
  store i32 %1182, ptr %94, align 4, !tbaa !9
  %1183 = load ptr, ptr %26, align 8, !tbaa !5
  %1184 = load ptr, ptr %1183, align 8, !tbaa !5
  %1185 = load i32, ptr %94, align 4, !tbaa !9
  %1186 = sext i32 %1185 to i64
  %1187 = invoke ptr @ggml_new_tensor_1d(ptr noundef %1184, i32 noundef 0, i64 noundef %1186)
          to label %1188 unwind label %1281

1188:                                             ; preds = %1161
  %1189 = load ptr, ptr %8, align 8, !tbaa !5
  %1190 = getelementptr inbounds %struct.gpt2_model, ptr %1189, i32 0, i32 7
  %1191 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1190, i32 0, i32 0
  store ptr %1187, ptr %1191, align 8, !tbaa !78
  %1192 = load ptr, ptr %26, align 8, !tbaa !5
  %1193 = load ptr, ptr %1192, align 8, !tbaa !5
  %1194 = load i32, ptr %94, align 4, !tbaa !9
  %1195 = sext i32 %1194 to i64
  %1196 = invoke ptr @ggml_new_tensor_1d(ptr noundef %1193, i32 noundef 0, i64 noundef %1195)
          to label %1197 unwind label %1281

1197:                                             ; preds = %1188
  %1198 = load ptr, ptr %8, align 8, !tbaa !5
  %1199 = getelementptr inbounds %struct.gpt2_model, ptr %1198, i32 0, i32 7
  %1200 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1199, i32 0, i32 1
  store ptr %1196, ptr %1200, align 8, !tbaa !79
  %1201 = load ptr, ptr %8, align 8, !tbaa !5
  %1202 = getelementptr inbounds %struct.gpt2_model, ptr %1201, i32 0, i32 7
  %1203 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1202, i32 0, i32 2
  store i32 0, ptr %1203, align 8, !tbaa !80
  %1204 = load i32, ptr %92, align 4, !tbaa !9
  %1205 = load ptr, ptr %8, align 8, !tbaa !5
  %1206 = getelementptr inbounds %struct.gpt2_model, ptr %1205, i32 0, i32 7
  %1207 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1206, i32 0, i32 3
  store i32 %1204, ptr %1207, align 4, !tbaa !81
  %1208 = load ptr, ptr %8, align 8, !tbaa !5
  %1209 = getelementptr inbounds %struct.gpt2_model, ptr %1208, i32 0, i32 7
  %1210 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1209, i32 0, i32 5
  %1211 = load i32, ptr %92, align 4, !tbaa !9
  %1212 = sext i32 %1211 to i64
  invoke void @_ZNSt6vectorI12gpt2_kv_cellSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1210, i64 noundef %1212)
          to label %1213 unwind label %1281

1213:                                             ; preds = %1197
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #8
  %1214 = load ptr, ptr %8, align 8, !tbaa !5
  %1215 = getelementptr inbounds %struct.gpt2_model, ptr %1214, i32 0, i32 7
  %1216 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1215, i32 0, i32 0
  %1217 = load ptr, ptr %1216, align 8, !tbaa !78
  %1218 = invoke i64 @ggml_nbytes(ptr noundef %1217)
          to label %1219 unwind label %1285

1219:                                             ; preds = %1213
  %1220 = load ptr, ptr %8, align 8, !tbaa !5
  %1221 = getelementptr inbounds %struct.gpt2_model, ptr %1220, i32 0, i32 7
  %1222 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1221, i32 0, i32 1
  %1223 = load ptr, ptr %1222, align 8, !tbaa !79
  %1224 = invoke i64 @ggml_nbytes(ptr noundef %1223)
          to label %1225 unwind label %1285

1225:                                             ; preds = %1219
  %1226 = add i64 %1218, %1224
  store i64 %1226, ptr %95, align 8, !tbaa !46
  %1227 = load i64, ptr %95, align 8, !tbaa !46
  %1228 = uitofp i64 %1227 to double
  %1229 = fdiv double %1228, 1.024000e+03
  %1230 = fdiv double %1229, 1.024000e+03
  %1231 = load i32, ptr %93, align 4, !tbaa !9
  %1232 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.35, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, double noundef %1230, i32 noundef %1231)
          to label %1233 unwind label %1285

1233:                                             ; preds = %1225
  %1234 = load ptr, ptr %8, align 8, !tbaa !5
  %1235 = getelementptr inbounds %struct.gpt2_model, ptr %1234, i32 0, i32 9
  %1236 = load ptr, ptr %1235, align 8, !tbaa !56
  %1237 = load i64, ptr %95, align 8, !tbaa !46
  %1238 = add i64 %1237, 256
  %1239 = invoke ptr @ggml_backend_alloc_buffer(ptr noundef %1236, i64 noundef %1238)
          to label %1240 unwind label %1285

1240:                                             ; preds = %1233
  %1241 = load ptr, ptr %8, align 8, !tbaa !5
  %1242 = getelementptr inbounds %struct.gpt2_model, ptr %1241, i32 0, i32 7
  %1243 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1242, i32 0, i32 6
  store ptr %1239, ptr %1243, align 8, !tbaa !82
  call void @llvm.lifetime.start.p0(i64 32, ptr %96) #8
  %1244 = load ptr, ptr %8, align 8, !tbaa !5
  %1245 = getelementptr inbounds %struct.gpt2_model, ptr %1244, i32 0, i32 7
  %1246 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1245, i32 0, i32 6
  %1247 = load ptr, ptr %1246, align 8, !tbaa !82
  invoke void @ggml_tallocr_new(ptr dead_on_unwind writable sret(%struct.ggml_tallocr) align 8 %96, ptr noundef %1247)
          to label %1248 unwind label %1289

1248:                                             ; preds = %1240
  %1249 = load ptr, ptr %8, align 8, !tbaa !5
  %1250 = getelementptr inbounds %struct.gpt2_model, ptr %1249, i32 0, i32 7
  %1251 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1250, i32 0, i32 0
  %1252 = load ptr, ptr %1251, align 8, !tbaa !78
  %1253 = invoke i32 @ggml_tallocr_alloc(ptr noundef %96, ptr noundef %1252)
          to label %1254 unwind label %1289

1254:                                             ; preds = %1248
  %1255 = load ptr, ptr %8, align 8, !tbaa !5
  %1256 = getelementptr inbounds %struct.gpt2_model, ptr %1255, i32 0, i32 7
  %1257 = getelementptr inbounds %struct.gpt2_kv_cache, ptr %1256, i32 0, i32 1
  %1258 = load ptr, ptr %1257, align 8, !tbaa !79
  %1259 = invoke i32 @ggml_tallocr_alloc(ptr noundef %96, ptr noundef %1258)
          to label %1260 unwind label %1289

1260:                                             ; preds = %1254
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #8
  call void @llvm.lifetime.end.p0(i64 8, 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
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %97) #8
  %1261 = load ptr, ptr %8, align 8, !tbaa !5
  %1262 = getelementptr inbounds %struct.gpt2_model, ptr %1261, i32 0, i32 10
  %1263 = load ptr, ptr %1262, align 8, !tbaa !57
  invoke void @ggml_tallocr_new(ptr dead_on_unwind writable sret(%struct.ggml_tallocr) align 8 %97, ptr noundef %1263)
          to label %1264 unwind label %1295

1264:                                             ; preds = %1260
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #8
  store i64 0, ptr %98, align 8, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #8
  store i8 0, ptr %99, align 1, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 24, ptr %100) #8
  call void @_ZNSt6vectorIcSaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  br label %1265

1265:                                             ; preds = %1519, %1264
  br label %1266

1266:                                             ; preds = %1265
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #8
  %1267 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %101, i64 noundef 4)
          to label %1268 unwind label %1299

1268:                                             ; preds = %1266
  %1269 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %102, i64 noundef 4)
          to label %1270 unwind label %1299

1270:                                             ; preds = %1268
  %1271 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %103, i64 noundef 4)
          to label %1272 unwind label %1299

1272:                                             ; preds = %1270
  %1273 = load ptr, ptr %12, align 8, !tbaa !11
  %1274 = getelementptr i8, ptr %1273, i64 -24
  %1275 = load i64, ptr %1274, align 8
  %1276 = getelementptr inbounds i8, ptr %12, i64 %1275
  %1277 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %1276)
          to label %1278 unwind label %1299

1278:                                             ; preds = %1272
  br i1 %1277, label %1279, label %1303

1279:                                             ; preds = %1278
  store i32 9, ptr %15, align 4
  br label %1517

1280:                                             ; preds = %1160, %745, %736, %727, %718, %709, %697
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  br label %1543

1281:                                             ; preds = %1197, %1188, %1161
  %1282 = landingpad { ptr, i32 }
          cleanup
  %1283 = extractvalue { ptr, i32 } %1282, 0
  store ptr %1283, ptr %13, align 8
  %1284 = extractvalue { ptr, i32 } %1282, 1
  store i32 %1284, ptr %14, align 4
  br label %1294

1285:                                             ; preds = %1233, %1225, %1219, %1213
  %1286 = landingpad { ptr, i32 }
          cleanup
  %1287 = extractvalue { ptr, i32 } %1286, 0
  store ptr %1287, ptr %13, align 8
  %1288 = extractvalue { ptr, i32 } %1286, 1
  store i32 %1288, ptr %14, align 4
  br label %1293

1289:                                             ; preds = %1254, %1248, %1240
  %1290 = landingpad { ptr, i32 }
          cleanup
  %1291 = extractvalue { ptr, i32 } %1290, 0
  store ptr %1291, ptr %13, align 8
  %1292 = extractvalue { ptr, i32 } %1290, 1
  store i32 %1292, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #8
  br label %1293

1293:                                             ; preds = %1289, %1285
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #8
  br label %1294

1294:                                             ; preds = %1293, %1281
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #8
  br label %1543

1295:                                             ; preds = %1260
  %1296 = landingpad { ptr, i32 }
          cleanup
  %1297 = extractvalue { ptr, i32 } %1296, 0
  store ptr %1297, ptr %13, align 8
  %1298 = extractvalue { ptr, i32 } %1296, 1
  store i32 %1298, ptr %14, align 4
  br label %1541

1299:                                             ; preds = %1272, %1270, %1268, %1266
  %1300 = landingpad { ptr, i32 }
          cleanup
  %1301 = extractvalue { ptr, i32 } %1300, 0
  store ptr %1301, ptr %13, align 8
  %1302 = extractvalue { ptr, i32 } %1300, 1
  store i32 %1302, ptr %14, align 4
  br label %1524

1303:                                             ; preds = %1278
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #8
  store i32 1, ptr %104, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %105, ptr align 4 @__const._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii.ne, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #8
  store i32 0, ptr %106, align 4, !tbaa !9
  br label %1304

1304:                                             ; preds = %1321, %1303
  %1305 = load i32, ptr %106, align 4, !tbaa !9
  %1306 = load i32, ptr %101, align 4, !tbaa !9
  %1307 = icmp slt i32 %1305, %1306
  br i1 %1307, label %1309, label %1308

1308:                                             ; preds = %1304
  store i32 10, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #8
  br label %1328

1309:                                             ; preds = %1304
  %1310 = load i32, ptr %106, align 4, !tbaa !9
  %1311 = sext i32 %1310 to i64
  %1312 = getelementptr inbounds [2 x i32], ptr %105, i64 0, i64 %1311
  %1313 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %1312, i64 noundef 4)
          to label %1314 unwind label %1324

1314:                                             ; preds = %1309
  %1315 = load i32, ptr %106, align 4, !tbaa !9
  %1316 = sext i32 %1315 to i64
  %1317 = getelementptr inbounds [2 x i32], ptr %105, i64 0, i64 %1316
  %1318 = load i32, ptr %1317, align 4, !tbaa !9
  %1319 = load i32, ptr %104, align 4, !tbaa !9
  %1320 = mul nsw i32 %1319, %1318
  store i32 %1320, ptr %104, align 4, !tbaa !9
  br label %1321

1321:                                             ; preds = %1314
  %1322 = load i32, ptr %106, align 4, !tbaa !9
  %1323 = add nsw i32 %1322, 1
  store i32 %1323, ptr %106, align 4, !tbaa !9
  br label %1304, !llvm.loop !83

1324:                                             ; preds = %1309
  %1325 = landingpad { ptr, i32 }
          cleanup
  %1326 = extractvalue { ptr, i32 } %1325, 0
  store ptr %1326, ptr %13, align 8
  %1327 = extractvalue { ptr, i32 } %1325, 1
  store i32 %1327, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #8
  br label %1523

1328:                                             ; preds = %1308
  call void @llvm.lifetime.start.p0(i64 32, ptr %107) #8
  %1329 = load i32, ptr %102, align 4, !tbaa !9
  %1330 = sext i32 %1329 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %108) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, i64 noundef %1330, i8 noundef signext 0, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %1331 unwind label %1352

1331:                                             ; preds = %1328
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #8
  %1332 = invoke noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %107, i64 noundef 0)
          to label %1333 unwind label %1356

1333:                                             ; preds = %1331
  %1334 = load i32, ptr %102, align 4, !tbaa !9
  %1335 = sext i32 %1334 to i64
  %1336 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %1332, i64 noundef %1335)
          to label %1337 unwind label %1356

1337:                                             ; preds = %1333
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #8
  %1338 = load ptr, ptr %8, align 8, !tbaa !5
  %1339 = getelementptr inbounds %struct.gpt2_model, ptr %1338, i32 0, i32 11
  %1340 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(48) %1339, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %1341 unwind label %1360

1341:                                             ; preds = %1337
  %1342 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %109, i32 0, i32 0
  store ptr %1340, ptr %1342, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #8
  %1343 = load ptr, ptr %8, align 8, !tbaa !5
  %1344 = getelementptr inbounds %struct.gpt2_model, ptr %1343, i32 0, i32 11
  %1345 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1344) #8
  %1346 = getelementptr inbounds %"struct.std::_Rb_tree_iterator", ptr %110, i32 0, i32 0
  store ptr %1345, ptr %1346, align 8
  %1347 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorEESD_(ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef nonnull align 8 dereferenceable(8) %110) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #8
  br i1 %1347, label %1348, label %1364

1348:                                             ; preds = %1341
  %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) %107) #8
  %1351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1349, ptr noundef @.str.36, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %1350) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %1516

1352:                                             ; preds = %1328
  %1353 = landingpad { ptr, i32 }
          cleanup
  %1354 = extractvalue { ptr, i32 } %1353, 0
  store ptr %1354, ptr %13, align 8
  %1355 = extractvalue { ptr, i32 } %1353, 1
  store i32 %1355, ptr %14, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #8
  br label %1522

1356:                                             ; preds = %1333, %1331
  %1357 = landingpad { ptr, i32 }
          cleanup
  %1358 = extractvalue { ptr, i32 } %1357, 0
  store ptr %1358, ptr %13, align 8
  %1359 = extractvalue { ptr, i32 } %1357, 1
  store i32 %1359, ptr %14, align 4
  br label %1521

1360:                                             ; preds = %1337
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %13, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #8
  br label %1521

1364:                                             ; preds = %1341
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #8
  %1365 = load ptr, ptr %8, align 8, !tbaa !5
  %1366 = getelementptr inbounds %struct.gpt2_model, ptr %1365, i32 0, i32 11
  %1367 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %1366, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %1368 unwind label %1384

1368:                                             ; preds = %1364
  %1369 = load ptr, ptr %1367, align 8, !tbaa !5
  store ptr %1369, ptr %111, align 8, !tbaa !5
  %1370 = load ptr, ptr %111, align 8, !tbaa !5
  %1371 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  %1372 = invoke ptr @ggml_set_name(ptr noundef %1370, ptr noundef %1371)
          to label %1373 unwind label %1384

1373:                                             ; preds = %1368
  %1374 = load ptr, ptr %111, align 8, !tbaa !5
  %1375 = invoke i64 @ggml_nelements(ptr noundef %1374)
          to label %1376 unwind label %1384

1376:                                             ; preds = %1373
  %1377 = load i32, ptr %104, align 4, !tbaa !9
  %1378 = sext i32 %1377 to i64
  %1379 = icmp ne i64 %1375, %1378
  br i1 %1379, label %1380, label %1388

1380:                                             ; preds = %1376
  %1381 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1382 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  %1383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1381, ptr noundef @.str.37, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %1382) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %1515

1384:                                             ; preds = %1373, %1368, %1364
  %1385 = landingpad { ptr, i32 }
          cleanup
  %1386 = extractvalue { ptr, i32 } %1385, 0
  store ptr %1386, ptr %13, align 8
  %1387 = extractvalue { ptr, i32 } %1385, 1
  store i32 %1387, ptr %14, align 4
  br label %1520

1388:                                             ; preds = %1376
  %1389 = load ptr, ptr %111, align 8, !tbaa !5
  %1390 = getelementptr inbounds %struct.ggml_tensor, ptr %1389, i32 0, i32 2
  %1391 = getelementptr inbounds [4 x i64], ptr %1390, i64 0, i64 0
  %1392 = load i64, ptr %1391, align 8, !tbaa !46
  %1393 = getelementptr inbounds [2 x i32], ptr %105, i64 0, i64 0
  %1394 = load i32, ptr %1393, align 4, !tbaa !9
  %1395 = sext i32 %1394 to i64
  %1396 = icmp ne i64 %1392, %1395
  br i1 %1396, label %1406, label %1397

1397:                                             ; preds = %1388
  %1398 = load ptr, ptr %111, align 8, !tbaa !5
  %1399 = getelementptr inbounds %struct.ggml_tensor, ptr %1398, i32 0, i32 2
  %1400 = getelementptr inbounds [4 x i64], ptr %1399, i64 0, i64 1
  %1401 = load i64, ptr %1400, align 8, !tbaa !46
  %1402 = getelementptr inbounds [2 x i32], ptr %105, i64 0, i64 1
  %1403 = load i32, ptr %1402, align 4, !tbaa !9
  %1404 = sext i32 %1403 to i64
  %1405 = icmp ne i64 %1401, %1404
  br i1 %1405, label %1406, label %1424

1406:                                             ; preds = %1397, %1388
  %1407 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1408 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  %1409 = load ptr, ptr %111, align 8, !tbaa !5
  %1410 = getelementptr inbounds %struct.ggml_tensor, ptr %1409, i32 0, i32 2
  %1411 = getelementptr inbounds [4 x i64], ptr %1410, i64 0, i64 0
  %1412 = load i64, ptr %1411, align 8, !tbaa !46
  %1413 = trunc i64 %1412 to i32
  %1414 = load ptr, ptr %111, align 8, !tbaa !5
  %1415 = getelementptr inbounds %struct.ggml_tensor, ptr %1414, i32 0, i32 2
  %1416 = getelementptr inbounds [4 x i64], ptr %1415, i64 0, i64 1
  %1417 = load i64, ptr %1416, align 8, !tbaa !46
  %1418 = trunc i64 %1417 to i32
  %1419 = getelementptr inbounds [2 x i32], ptr %105, i64 0, i64 0
  %1420 = load i32, ptr %1419, align 4, !tbaa !9
  %1421 = getelementptr inbounds [2 x i32], ptr %105, i64 0, i64 1
  %1422 = load i32, ptr %1421, align 4, !tbaa !9
  %1423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1407, ptr noundef @.str.38, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %1408, i32 noundef %1413, i32 noundef %1418, i32 noundef %1420, i32 noundef %1422) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %1515

1424:                                             ; preds = %1397
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #8
  %1425 = load i32, ptr %103, align 4, !tbaa !9
  %1426 = invoke i64 @ggml_type_size(i32 noundef %1425)
          to label %1427 unwind label %1453

1427:                                             ; preds = %1424
  store i64 %1426, ptr %112, align 8, !tbaa !46
  %1428 = load i32, ptr %104, align 4, !tbaa !9
  %1429 = sext i32 %1428 to i64
  %1430 = load i64, ptr %112, align 8, !tbaa !46
  %1431 = mul i64 %1429, %1430
  %1432 = load ptr, ptr %111, align 8, !tbaa !5
  %1433 = getelementptr inbounds %struct.ggml_tensor, ptr %1432, i32 0, i32 0
  %1434 = load i32, ptr %1433, align 8, !tbaa !84
  %1435 = invoke i64 @ggml_blck_size(i32 noundef %1434)
          to label %1436 unwind label %1453

1436:                                             ; preds = %1427
  %1437 = udiv i64 %1431, %1435
  %1438 = load ptr, ptr %111, align 8, !tbaa !5
  %1439 = invoke i64 @ggml_nbytes(ptr noundef %1438)
          to label %1440 unwind label %1453

1440:                                             ; preds = %1436
  %1441 = icmp ne i64 %1437, %1439
  br i1 %1441, label %1442, label %1457

1442:                                             ; preds = %1440
  %1443 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1444 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  %1445 = load ptr, ptr %111, align 8, !tbaa !5
  %1446 = invoke i64 @ggml_nbytes(ptr noundef %1445)
          to label %1447 unwind label %1453

1447:                                             ; preds = %1442
  %1448 = load i32, ptr %104, align 4, !tbaa !9
  %1449 = sext i32 %1448 to i64
  %1450 = load i64, ptr %112, align 8, !tbaa !46
  %1451 = mul i64 %1449, %1450
  %1452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1443, ptr noundef @.str.39, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %1444, i64 noundef %1446, i64 noundef %1451) #8
  store i1 false, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %1514

1453:                                             ; preds = %1508, %1504, %1492, %1490, %1485, %1483, %1479, %1478, %1475, %1472, %1466, %1460, %1457, %1442, %1436, %1427, %1424
  %1454 = landingpad { ptr, i32 }
          cleanup
  %1455 = extractvalue { ptr, i32 } %1454, 0
  store ptr %1455, ptr %13, align 8
  %1456 = extractvalue { ptr, i32 } %1454, 1
  store i32 %1456, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #8
  br label %1520

1457:                                             ; preds = %1440
  %1458 = load ptr, ptr %111, align 8, !tbaa !5
  %1459 = invoke i32 @ggml_tallocr_alloc(ptr noundef %97, ptr noundef %1458)
          to label %1460 unwind label %1453

1460:                                             ; preds = %1457
  %1461 = load ptr, ptr %8, align 8, !tbaa !5
  %1462 = getelementptr inbounds %struct.gpt2_model, ptr %1461, i32 0, i32 9
  %1463 = load ptr, ptr %1462, align 8, !tbaa !56
  %1464 = invoke zeroext i1 @ggml_backend_is_cpu(ptr noundef %1463)
          to label %1465 unwind label %1453

1465:                                             ; preds = %1460
  br i1 %1464, label %1466, label %1475

1466:                                             ; preds = %1465
  %1467 = load ptr, ptr %111, align 8, !tbaa !5
  %1468 = getelementptr inbounds %struct.ggml_tensor, ptr %1467, i32 0, i32 10
  %1469 = load ptr, ptr %1468, align 8, !tbaa !87
  %1470 = load ptr, ptr %111, align 8, !tbaa !5
  %1471 = invoke i64 @ggml_nbytes(ptr noundef %1470)
          to label %1472 unwind label %1453

1472:                                             ; preds = %1466
  %1473 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %1469, i64 noundef %1471)
          to label %1474 unwind label %1453

1474:                                             ; preds = %1472
  br label %1492

1475:                                             ; preds = %1465
  %1476 = load ptr, ptr %111, align 8, !tbaa !5
  %1477 = invoke i64 @ggml_nbytes(ptr noundef %1476)
          to label %1478 unwind label %1453

1478:                                             ; preds = %1475
  invoke void @_ZNSt6vectorIcSaIcEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %100, i64 noundef %1477)
          to label %1479 unwind label %1453

1479:                                             ; preds = %1478
  %1480 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  %1481 = load ptr, ptr %111, align 8, !tbaa !5
  %1482 = invoke i64 @ggml_nbytes(ptr noundef %1481)
          to label %1483 unwind label %1453

1483:                                             ; preds = %1479
  %1484 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef %1480, i64 noundef %1482)
          to label %1485 unwind label %1453

1485:                                             ; preds = %1483
  %1486 = load ptr, ptr %111, align 8, !tbaa !5
  %1487 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  %1488 = load ptr, ptr %111, align 8, !tbaa !5
  %1489 = invoke i64 @ggml_nbytes(ptr noundef %1488)
          to label %1490 unwind label %1453

1490:                                             ; preds = %1485
  invoke void @ggml_backend_tensor_set(ptr noundef %1486, ptr noundef %1487, i64 noundef 0, i64 noundef %1489)
          to label %1491 unwind label %1453

1491:                                             ; preds = %1490
  br label %1492

1492:                                             ; preds = %1491, %1474
  %1493 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef @.str.19)
          to label %1494 unwind label %1453

1494:                                             ; preds = %1492
  br i1 %1493, label %1495, label %1504

1495:                                             ; preds = %1494
  %1496 = load i8, ptr %99, align 1, !tbaa !54, !range !88, !noundef !89
  %1497 = trunc i8 %1496 to i1
  %1498 = zext i1 %1497 to i32
  %1499 = icmp eq i32 %1498, 0
  br i1 %1499, label %1500, label %1504

1500:                                             ; preds = %1495
  %1501 = load ptr, ptr %111, align 8, !tbaa !5
  %1502 = load ptr, ptr %8, align 8, !tbaa !5
  %1503 = getelementptr inbounds %struct.gpt2_model, ptr %1502, i32 0, i32 5
  store ptr %1501, ptr %1503, align 8, !tbaa !62
  br label %1504

1504:                                             ; preds = %1500, %1495, %1494
  %1505 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef @.str.21)
          to label %1506 unwind label %1453

1506:                                             ; preds = %1504
  br i1 %1505, label %1507, label %1508

1507:                                             ; preds = %1506
  store i8 1, ptr %99, align 1, !tbaa !54
  br label %1508

1508:                                             ; preds = %1507, %1506
  %1509 = load ptr, ptr %111, align 8, !tbaa !5
  %1510 = invoke i64 @ggml_nbytes(ptr noundef %1509)
          to label %1511 unwind label %1453

1511:                                             ; preds = %1508
  %1512 = load i64, ptr %98, align 8, !tbaa !46
  %1513 = add i64 %1512, %1510
  store i64 %1513, ptr %98, align 8, !tbaa !46
  store i32 0, ptr %15, align 4
  br label %1514

1514:                                             ; preds = %1511, %1447
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #8
  br label %1515

1515:                                             ; preds = %1514, %1406, %1380
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #8
  br label %1516

1516:                                             ; preds = %1515, %1348
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #8
  br label %1517

1517:                                             ; preds = %1516, %1279
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #8
  %1518 = load i32, ptr %15, align 4
  switch i32 %1518, label %1532 [
    i32 0, label %1519
    i32 9, label %1525
  ]

1519:                                             ; preds = %1517
  br label %1265, !llvm.loop !90

1520:                                             ; preds = %1453, %1384
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #8
  br label %1521

1521:                                             ; preds = %1520, %1360, %1356
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #8
  br label %1522

1522:                                             ; preds = %1521, %1352
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #8
  br label %1523

1523:                                             ; preds = %1522, %1324
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #8
  br label %1524

1524:                                             ; preds = %1523, %1299
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #8
  br label %1540

1525:                                             ; preds = %1517
  %1526 = load i64, ptr %98, align 8, !tbaa !46
  %1527 = uitofp i64 %1526 to double
  %1528 = fdiv double %1527, 1.024000e+03
  %1529 = fdiv double %1528, 1.024000e+03
  %1530 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.40, ptr noundef @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, double noundef %1529)
          to label %1531 unwind label %1536

1531:                                             ; preds = %1525
  store i32 0, ptr %15, align 4
  br label %1532

1532:                                             ; preds = %1531, %1517
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #8
  %1533 = load i32, ptr %15, align 4
  switch i32 %1533, label %1542 [
    i32 0, label %1534
  ]

1534:                                             ; preds = %1532
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %12)
          to label %1535 unwind label %545

1535:                                             ; preds = %1534
  store i1 true, ptr %6, align 1
  store i32 1, ptr %15, align 4
  br label %1542

1536:                                             ; preds = %1525
  %1537 = landingpad { ptr, i32 }
          cleanup
  %1538 = extractvalue { ptr, i32 } %1537, 0
  store ptr %1538, ptr %13, align 8
  %1539 = extractvalue { ptr, i32 } %1537, 1
  store i32 %1539, ptr %14, align 4
  br label %1540

1540:                                             ; preds = %1536, %1524
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #8
  br label %1541

1541:                                             ; preds = %1540, %1295
  call void @llvm.lifetime.end.p0(i64 32, ptr %97) #8
  br label %1543

1542:                                             ; preds = %1535, %1532, %573, %554
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %1544

1543:                                             ; preds = %1541, %1294, %1280, %549, %545, %541
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  br label %1545

1544:                                             ; preds = %1542, %305
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #8
  br label %1546

1545:                                             ; preds = %1543, %316
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #8
  br label %1548

1546:                                             ; preds = %1544, %294, %147, %123
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %12) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %12) #8
  %1547 = load i1, ptr %6, align 1
  ret i1 %1547

1548:                                             ; preds = %1545, %315, %243, %142, %128
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %12) #8
  call void @llvm.lifetime.end.p0(i64 520, ptr %12) #8
  br label %1549

1549:                                             ; preds = %1548
  %1550 = load ptr, ptr %13, align 8
  %1551 = load i32, ptr %14, align 4
  %1552 = insertvalue { ptr, i32 } poison, ptr %1550, 0
  %1553 = insertvalue { ptr, i32 } %1552, i32 %1551, 1
  resume { ptr, i32 } %1553
}

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 void @ggml_log_set(ptr noundef, ptr noundef) #3

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL25ggml_log_callback_default14ggml_log_levelPKcPv(i32 noundef, ptr noundef, ptr noundef) #2

declare i64 @ggml_tensor_overhead() #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

declare ptr @ggml_backend_cpu_init() #3

declare ptr @ggml_backend_alloc_buffer(ptr noundef, i64 noundef) #3

; 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

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

declare i64 @ggml_nbytes(ptr noundef) #3

declare void @ggml_tallocr_new(ptr dead_on_unwind writable sret(%struct.ggml_tallocr) align 8, ptr noundef) #3

declare i32 @ggml_tallocr_alloc(ptr noundef, ptr noundef) #3

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

; 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 ptr @ggml_set_name(ptr noundef, ptr noundef) #3

declare i64 @ggml_nelements(ptr noundef) #3

declare i64 @ggml_type_size(i32 noundef) #3

declare i64 @ggml_blck_size(i32 noundef) #3

declare zeroext i1 @ggml_backend_is_cpu(ptr noundef) #3

declare void @ggml_backend_tensor_set(ptr noundef, ptr noundef, i64 noundef, i64 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 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !8, i64 0}
!13 = !{!14, !10, i64 20}
!14 = !{!"_ZTS12gpt2_hparams", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12, !10, i64 16, !10, i64 20, !15, i64 24}
!15 = !{!"float", !7, i64 0}
!16 = !{!14, !10, i64 0}
!17 = !{!14, !10, i64 4}
!18 = !{!14, !10, i64 8}
!19 = !{!14, !10, i64 12}
!20 = !{!14, !10, i64 16}
!21 = !{!22, !10, 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, !27, i64 96, !6, i64 160, !6, i64 168, !6, i64 176, !32, i64 184}
!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 = !{!"_ZTS13gpt2_kv_cache", !6, i64 0, !6, i64 8, !10, i64 16, !10, i64 20, !10, i64 24, !28, i64 32, !6, i64 56}
!28 = !{!"_ZTSSt6vectorI12gpt2_kv_cellSaIS0_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseI12gpt2_kv_cellSaIS0_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseI12gpt2_kv_cellSaIS0_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseI12gpt2_kv_cellSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!32 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE", !33, i64 0}
!33 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !34, i64 0}
!34 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !35, i64 0, !37, i64 8}
!35 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !36, i64 0}
!36 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!37 = !{!"_ZTSSt15_Rb_tree_header", !38, i64 0, !40, i64 32}
!38 = !{!"_ZTSSt18_Rb_tree_node_base", !39, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!39 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!40 = !{!"long", !7, i64 0}
!41 = distinct !{!41, !42}
!42 = !{!"llvm.loop.mustprogress"}
!43 = !{!22, !10, i64 20}
!44 = !{!45, !45, i64 0}
!45 = !{!"_ZTS9ggml_type", !7, i64 0}
!46 = !{!40, !40, i64 0}
!47 = !{!22, !10, i64 16}
!48 = !{!49, !40, i64 0}
!49 = !{!"_ZTS16ggml_init_params", !40, i64 0, !6, i64 8, !50, i64 16}
!50 = !{!"bool", !7, i64 0}
!51 = !{!49, !6, i64 8}
!52 = !{!49, !50, i64 16}
!53 = !{i64 0, i64 8, !46, i64 8, i64 8, !5, i64 16, i64 1, !54}
!54 = !{!50, !50, i64 0}
!55 = !{!22, !6, i64 160}
!56 = !{!22, !6, i64 168}
!57 = !{!22, !6, i64 176}
!58 = !{!22, !6, i64 32}
!59 = !{!22, !6, i64 40}
!60 = !{!22, !6, i64 48}
!61 = !{!22, !6, i64 56}
!62 = !{!22, !6, i64 64}
!63 = !{!64, !6, i64 0}
!64 = !{!"_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}
!65 = !{!64, !6, i64 8}
!66 = !{!64, !6, i64 16}
!67 = !{!64, !6, i64 24}
!68 = !{!64, !6, i64 32}
!69 = !{!64, !6, i64 40}
!70 = !{!64, !6, i64 48}
!71 = !{!64, !6, i64 56}
!72 = !{!64, !6, i64 64}
!73 = !{!64, !6, i64 72}
!74 = !{!64, !6, i64 80}
!75 = !{!64, !6, i64 88}
!76 = distinct !{!76, !42}
!77 = !{!22, !10, i64 4}
!78 = !{!22, !6, i64 96}
!79 = !{!22, !6, i64 104}
!80 = !{!22, !10, i64 112}
!81 = !{!22, !10, i64 116}
!82 = !{!22, !6, i64 152}
!83 = distinct !{!83, !42}
!84 = !{!85, !45, i64 0}
!85 = !{!"_ZTS11ggml_tensor", !45, i64 0, !6, i64 8, !7, i64 16, !7, i64 48, !86, i64 80, !7, i64 84, !10, i64 148, !7, i64 152, !6, i64 232, !40, i64 240, !6, i64 248, !7, i64 256, !6, i64 320, !7, i64 328}
!86 = !{!"_ZTS7ggml_op", !7, i64 0}
!87 = !{!85, !6, i64 248}
!88 = !{i8 0, i8 2}
!89 = !{}
!90 = distinct !{!90, !42}


; 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.17" = type { %"struct.std::_Vector_base.18" }
%"struct.std::_Vector_base.18" = 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.ggml_tallocr = type { ptr, ptr, i64, i64 }
%"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_vocabii = 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 [36 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [14 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 [8 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [8 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 [15 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [40 x i8], align 1
@__const._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii.ne = external hidden unnamed_addr constant [2 x i32], align 4
@.str.36 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.40 = 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_vocabii(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(232) %1, ptr noundef nonnull align 8 dereferenceable(120) %2, i32 noundef %3, i32 noundef %4) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %6 = alloca %"class.std::basic_ifstream", align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::vector.17", align 8
  %11 = alloca %"class.std::allocator.0", align 1
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca %struct.ggml_init_params, align 8
  %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::allocator.0", align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %struct.ggml_tallocr, align 8
  %62 = alloca %struct.ggml_tallocr, align 8
  %63 = alloca %"class.std::vector.17", align 8
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca [2 x i32], align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::allocator.0", align 1
  %70 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %71 = alloca %"struct.std::_Rb_tree_iterator", align 8
  %72 = tail call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %73 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %72)
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %6) #7
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1ERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %6, ptr noundef nonnull align 8 dereferenceable(32) %0, i32 noundef 4)
  %74 = load ptr, ptr %6, align 8, !tbaa !5
  %75 = getelementptr i8, ptr %74, i64 -24
  %76 = load i64, ptr %75, align 8
  %77 = getelementptr inbounds i8, ptr %6, i64 %76
  %78 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %77)
          to label %79 unwind label %84

79:                                               ; preds = %5
  br i1 %78, label %80, label %86

80:                                               ; preds = %79
  %81 = load ptr, ptr @stderr, align 8, !tbaa !8
  %82 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %83 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %81, ptr noundef nonnull @.str.1, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %82) #8
  br label %787

84:                                               ; preds = %5
  %85 = landingpad { ptr, i32 }
          cleanup
  br label %788

86:                                               ; preds = %79
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #7
  %87 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %7, i64 noundef 4)
          to label %88 unwind label %94

88:                                               ; preds = %86
  %89 = load i32, ptr %7, align 4, !tbaa !11
  %.not = icmp eq i32 %89, 1734831468
  br i1 %.not, label %.critedge, label %90

90:                                               ; preds = %88
  %91 = load ptr, ptr @stderr, align 8, !tbaa !8
  %92 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %93 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %91, ptr noundef nonnull @.str.2, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %92) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #7
  br label %787

94:                                               ; preds = %86
  %95 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #7
  br label %788

.critedge:                                        ; preds = %88
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #7
  %96 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %1, i64 noundef 4)
          to label %97 unwind label %139

97:                                               ; preds = %.critedge
  %98 = getelementptr inbounds i8, ptr %1, i64 4
  %99 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %98, i64 noundef 4)
          to label %100 unwind label %139

100:                                              ; preds = %97
  %101 = getelementptr inbounds i8, ptr %1, i64 8
  %102 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %101, i64 noundef 4)
          to label %103 unwind label %139

103:                                              ; preds = %100
  %104 = getelementptr inbounds i8, ptr %1, i64 12
  %105 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %104, i64 noundef 4)
          to label %106 unwind label %139

106:                                              ; preds = %103
  %107 = getelementptr inbounds i8, ptr %1, i64 16
  %108 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %107, i64 noundef 4)
          to label %109 unwind label %139

109:                                              ; preds = %106
  %110 = getelementptr inbounds i8, ptr %1, i64 20
  %111 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %110, i64 noundef 4)
          to label %112 unwind label %139

112:                                              ; preds = %109
  %113 = load i32, ptr %110, align 4, !tbaa !13
  %114 = sdiv i32 %113, 1000
  %115 = load i32, ptr %1, align 8, !tbaa !16
  %116 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.3, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %115)
  %117 = load i32, ptr %98, align 4, !tbaa !17
  %118 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.4, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %117)
  %119 = load i32, ptr %101, align 8, !tbaa !18
  %120 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.5, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %119)
  %121 = load i32, ptr %104, align 4, !tbaa !19
  %122 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.6, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %121)
  %123 = load i32, ptr %107, align 8, !tbaa !20
  %124 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.7, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %123)
  %125 = load i32, ptr %110, align 4, !tbaa !13
  %126 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.8, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %125)
  %127 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.9, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef %114)
  %128 = load i32, ptr %110, align 4, !tbaa !13
  %129 = srem i32 %128, 1000
  store i32 %129, ptr %110, align 4, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #7
  store i32 0, ptr %8, align 4, !tbaa !11
  %130 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %8, i64 noundef 4)
          to label %131 unwind label %141

131:                                              ; preds = %112
  %132 = load i32, ptr %8, align 4, !tbaa !11
  %133 = load i32, ptr %1, align 8, !tbaa !21
  %.not386 = icmp eq i32 %132, %133
  br i1 %.not386, label %143, label %.thread

.thread:                                          ; preds = %131
  %134 = load ptr, ptr @stderr, align 8, !tbaa !8
  %135 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %136 = load i32, ptr %8, align 4, !tbaa !11
  %137 = load i32, ptr %1, align 8, !tbaa !21
  %138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %134, ptr noundef nonnull @.str.10, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %135, i32 noundef %136, i32 noundef %137) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  br label %787

139:                                              ; preds = %109, %106, %103, %100, %97, %.critedge
  %140 = landingpad { ptr, i32 }
          cleanup
  br label %788

141:                                              ; preds = %112
  %142 = landingpad { ptr, i32 }
          cleanup
  br label %189

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

144:                                              ; preds = %143
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #7
  store i32 0, ptr %12, align 4, !tbaa !11
  %145 = load i32, ptr %8, align 4, !tbaa !11
  %146 = icmp sgt i32 %145, 0
  br i1 %146, label %.lr.ph, label %._crit_edge

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

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

150:                                              ; preds = %.lr.ph, %172
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #7
  %151 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %13, i64 noundef 4)
          to label %152 unwind label %177

152:                                              ; preds = %150
  %153 = load i32, ptr %13, align 4, !tbaa !11
  %154 = zext i32 %153 to i64
  invoke void @_ZNSt6vectorIcSaIcEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %154)
          to label %155 unwind label %177

155:                                              ; preds = %152
  %156 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %157 = load i32, ptr %13, align 4, !tbaa !11
  %158 = zext i32 %157 to i64
  %159 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef %156, i64 noundef %158)
          to label %160 unwind label %177

160:                                              ; preds = %155
  %161 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  %162 = load i32, ptr %13, align 4, !tbaa !11
  %163 = zext i32 %162 to i64
  %164 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKcm(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef %161, i64 noundef %163)
          to label %165 unwind label %177

165:                                              ; preds = %160
  %166 = load i32, ptr %12, align 4, !tbaa !11
  %167 = 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) %9)
          to label %168 unwind label %177

168:                                              ; preds = %165
  store i32 %166, ptr %167, align 4, !tbaa !11
  %169 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt3mapIiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4lessIiESaISt4pairIKiS5_EEEixERS9_(ptr noundef nonnull align 8 dereferenceable(48) %147, ptr noundef nonnull align 4 dereferenceable(4) %12)
          to label %170 unwind label %177

170:                                              ; preds = %168
  %171 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %169, ptr noundef nonnull align 8 dereferenceable(32) %9)
          to label %172 unwind label %177

172:                                              ; preds = %170
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #7
  %173 = load i32, ptr %12, align 4, !tbaa !11
  %174 = add nsw i32 %173, 1
  store i32 %174, ptr %12, align 4, !tbaa !11
  %175 = load i32, ptr %8, align 4, !tbaa !11
  %176 = icmp slt i32 %174, %175
  br i1 %176, label %150, label %._crit_edge, !llvm.loop !41

177:                                              ; preds = %170, %168, %165, %160, %155, %152, %150
  %178 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #7
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  br label %188

._crit_edge:                                      ; preds = %172, %144
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #7
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  %179 = load i32, ptr %110, align 4, !tbaa !43
  %180 = invoke i32 @ggml_ftype_to_ggml_type(i32 noundef %179)
          to label %181 unwind label %190

181:                                              ; preds = %._crit_edge
  %182 = icmp eq i32 %180, 39
  br i1 %182, label %183, label %192

183:                                              ; preds = %181
  %184 = load ptr, ptr @stderr, align 8, !tbaa !8
  %185 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %0) #7
  %186 = load i32, ptr %110, align 4, !tbaa !43
  %187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %184, ptr noundef nonnull @.str.11, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %185, i32 noundef %186) #8
  br label %787

188:                                              ; preds = %177, %148
  %.pn = phi { ptr, i32 } [ %178, %177 ], [ %149, %148 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #7
  br label %189

189:                                              ; preds = %188, %141
  %.pn.pn = phi { ptr, i32 } [ %.pn, %188 ], [ %142, %141 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  br label %788

190:                                              ; preds = %._crit_edge
  %191 = landingpad { ptr, i32 }
          cleanup
  br label %788

192:                                              ; preds = %181
  %193 = getelementptr inbounds i8, ptr %1, i64 160
  %194 = load i32, ptr %101, align 8, !tbaa !18
  %195 = load i32, ptr %107, align 8, !tbaa !20
  %196 = load i32, ptr %98, align 4, !tbaa !17
  %197 = load i32, ptr %1, align 8, !tbaa !16
  %198 = sext i32 %194 to i64
  %199 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %198)
          to label %200 unwind label %274

200:                                              ; preds = %192
  %201 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %198)
          to label %202 unwind label %274

202:                                              ; preds = %200
  %203 = mul nsw i32 %197, %194
  %204 = sext i32 %203 to i64
  %205 = invoke i64 @ggml_row_size(i32 noundef %180, i64 noundef %204)
          to label %206 unwind label %274

206:                                              ; preds = %202
  %207 = mul nsw i32 %196, %194
  %208 = sext i32 %207 to i64
  %209 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %208)
          to label %210 unwind label %274

210:                                              ; preds = %206
  %211 = invoke i64 @ggml_row_size(i32 noundef %180, i64 noundef %204)
          to label %212 unwind label %274

212:                                              ; preds = %210
  %213 = sext i32 %195 to i64
  %214 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %198)
          to label %215 unwind label %274

215:                                              ; preds = %212
  %216 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %198)
          to label %217 unwind label %274

217:                                              ; preds = %215
  %218 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %198)
          to label %219 unwind label %274

219:                                              ; preds = %217
  %220 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %198)
          to label %221 unwind label %274

221:                                              ; preds = %219
  %222 = mul nsw i32 %194, 3
  %223 = mul nsw i32 %222, %194
  %224 = sext i32 %223 to i64
  %225 = invoke i64 @ggml_row_size(i32 noundef %180, i64 noundef %224)
          to label %226 unwind label %274

226:                                              ; preds = %221
  %227 = sext i32 %222 to i64
  %228 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %227)
          to label %229 unwind label %274

229:                                              ; preds = %226
  %230 = mul nsw i32 %194, %194
  %231 = zext nneg i32 %230 to i64
  %232 = invoke i64 @ggml_row_size(i32 noundef %180, i64 noundef %231)
          to label %233 unwind label %274

233:                                              ; preds = %229
  %234 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %198)
          to label %235 unwind label %274

235:                                              ; preds = %233
  %236 = shl nsw i32 %194, 2
  %237 = mul nsw i32 %236, %194
  %238 = sext i32 %237 to i64
  %239 = invoke i64 @ggml_row_size(i32 noundef %180, i64 noundef %238)
          to label %240 unwind label %274

240:                                              ; preds = %235
  %241 = sext i32 %236 to i64
  %242 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %241)
          to label %243 unwind label %274

243:                                              ; preds = %240
  %244 = invoke i64 @ggml_row_size(i32 noundef %180, i64 noundef %238)
          to label %245 unwind label %274

245:                                              ; preds = %243
  %246 = invoke i64 @ggml_row_size(i32 noundef 0, i64 noundef %241)
          to label %247 unwind label %274

247:                                              ; preds = %245
  %248 = mul i32 %195, 1536
  %249 = add i32 %248, 768
  %250 = sext i32 %249 to i64
  %reass.add = add i64 %216, %214
  %reass.add475 = add i64 %reass.add, %218
  %reass.add476 = add i64 %reass.add475, %220
  %reass.add477 = add i64 %reass.add476, %225
  %reass.add478 = add i64 %reass.add477, %228
  %reass.add479 = add i64 %reass.add478, %232
  %reass.add480 = add i64 %reass.add479, %234
  %reass.add481 = add i64 %reass.add480, %239
  %reass.add482 = add i64 %reass.add481, %242
  %reass.add483 = add i64 %reass.add482, %244
  %reass.add484 = add i64 %reass.add483, %246
  %reass.mul = mul i64 %reass.add484, %213
  %251 = add i64 %199, %250
  %252 = add i64 %251, %201
  %253 = add i64 %252, %205
  %254 = add i64 %253, %209
  %255 = add i64 %254, %211
  %256 = add i64 %255, %reass.mul
  %257 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.12, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, i32 noundef 336)
  %258 = uitofp i64 %256 to double
  %259 = fmul double %258, 0x3EB0000000000000
  %260 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.13, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, double noundef %259)
  invoke void @ggml_log_set(ptr noundef nonnull @_ZL25ggml_log_callback_default14ggml_log_levelPKcPv, ptr noundef null)
          to label %261 unwind label %276

261:                                              ; preds = %247
  %262 = load i32, ptr %107, align 8, !tbaa !44
  %263 = invoke i64 @ggml_tensor_overhead()
          to label %264 unwind label %278

264:                                              ; preds = %261
  %265 = mul nsw i32 %262, 12
  %266 = add nsw i32 %265, 8
  %267 = sext i32 %266 to i64
  %268 = mul i64 %263, %267
  store i64 %268, ptr %14, align 8, !tbaa !45
  %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %14, i64 8
  store ptr null, ptr %.sroa.5.0..sroa_idx, align 8, !tbaa !8
  %.sroa.6.0..sroa_idx = getelementptr inbounds i8, ptr %14, i64 16
  store i8 1, ptr %.sroa.6.0..sroa_idx, align 8, !tbaa !46
  %269 = invoke ptr @ggml_init(ptr noundef nonnull byval(%struct.ggml_init_params) align 8 %14)
          to label %270 unwind label %278

270:                                              ; preds = %264
  store ptr %269, ptr %193, align 8, !tbaa !48
  %.not389.not = icmp eq ptr %269, null
  br i1 %.not389.not, label %271, label %.critedge459

271:                                              ; preds = %270
  %272 = load ptr, ptr @stderr, align 8, !tbaa !8
  %273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %272, ptr noundef nonnull @.str.14, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii) #8
  br label %787

274:                                              ; preds = %245, %243, %240, %235, %233, %229, %226, %221, %219, %217, %215, %212, %210, %206, %202, %200, %192
  %275 = landingpad { ptr, i32 }
          cleanup
  br label %788

276:                                              ; preds = %781, %.thread461, %282, %247
  %277 = landingpad { ptr, i32 }
          cleanup
  br label %788

278:                                              ; preds = %264, %261
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %788

.critedge459:                                     ; preds = %270
  %280 = getelementptr inbounds i8, ptr %1, i64 168
  %281 = load ptr, ptr %280, align 8, !tbaa !49
  %.not390 = icmp eq ptr %281, null
  br i1 %.not390, label %282, label %.thread461

282:                                              ; preds = %.critedge459
  %283 = load ptr, ptr @stderr, align 8, !tbaa !8
  %284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %283, ptr noundef nonnull @.str.15, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii) #8
  %285 = invoke ptr @ggml_backend_cpu_init()
          to label %286 unwind label %276

286:                                              ; preds = %282
  store ptr %285, ptr %280, align 8, !tbaa !49
  %.not391 = icmp eq ptr %285, null
  br i1 %.not391, label %287, label %.thread461

287:                                              ; preds = %286
  %288 = load ptr, ptr @stderr, align 8, !tbaa !8
  %289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %288, ptr noundef nonnull @.str.16, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii) #8
  br label %787

.thread461:                                       ; preds = %.critedge459, %286
  %290 = phi ptr [ %285, %286 ], [ %281, %.critedge459 ]
  %291 = invoke ptr @ggml_backend_alloc_buffer(ptr noundef nonnull %290, i64 noundef %256)
          to label %292 unwind label %276

292:                                              ; preds = %.thread461
  %293 = getelementptr inbounds i8, ptr %1, i64 176
  store ptr %291, ptr %293, align 8, !tbaa !50
  %294 = load i32, ptr %101, align 8, !tbaa !18
  %295 = load i32, ptr %107, align 8, !tbaa !20
  %296 = load i32, ptr %98, align 4, !tbaa !17
  %297 = load i32, ptr %1, align 8, !tbaa !16
  %298 = getelementptr inbounds i8, ptr %1, i64 72
  %299 = sext i32 %295 to i64
  invoke void @_ZNSt6vectorI10gpt2_layerSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %298, i64 noundef %299)
          to label %300 unwind label %357

300:                                              ; preds = %292
  %301 = load ptr, ptr %193, align 8, !tbaa !8
  %302 = sext i32 %294 to i64
  %303 = invoke ptr @ggml_new_tensor_1d(ptr noundef %301, i32 noundef 0, i64 noundef %302)
          to label %304 unwind label %357

304:                                              ; preds = %300
  %305 = getelementptr inbounds i8, ptr %1, i64 32
  store ptr %303, ptr %305, align 8, !tbaa !51
  %306 = load ptr, ptr %193, align 8, !tbaa !8
  %307 = invoke ptr @ggml_new_tensor_1d(ptr noundef %306, i32 noundef 0, i64 noundef %302)
          to label %308 unwind label %357

308:                                              ; preds = %304
  %309 = getelementptr inbounds i8, ptr %1, i64 40
  store ptr %307, ptr %309, align 8, !tbaa !52
  %310 = load ptr, ptr %193, align 8, !tbaa !8
  %311 = sext i32 %297 to i64
  %312 = invoke ptr @ggml_new_tensor_2d(ptr noundef %310, i32 noundef %180, i64 noundef %302, i64 noundef %311)
          to label %313 unwind label %357

313:                                              ; preds = %308
  %314 = getelementptr inbounds i8, ptr %1, i64 48
  store ptr %312, ptr %314, align 8, !tbaa !53
  %315 = load ptr, ptr %193, align 8, !tbaa !8
  %316 = sext i32 %296 to i64
  %317 = invoke ptr @ggml_new_tensor_2d(ptr noundef %315, i32 noundef 0, i64 noundef %302, i64 noundef %316)
          to label %318 unwind label %357

318:                                              ; preds = %313
  %319 = getelementptr inbounds i8, ptr %1, i64 56
  store ptr %317, ptr %319, align 8, !tbaa !54
  %320 = load ptr, ptr %193, align 8, !tbaa !8
  %321 = invoke ptr @ggml_new_tensor_2d(ptr noundef %320, i32 noundef %180, i64 noundef %302, i64 noundef %311)
          to label %322 unwind label %357

322:                                              ; preds = %318
  %323 = getelementptr inbounds i8, ptr %1, i64 64
  store ptr %321, ptr %323, align 8, !tbaa !55
  %324 = load ptr, ptr %305, align 8, !tbaa !51
  %325 = getelementptr inbounds i8, ptr %1, i64 184
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.17, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %326 unwind label %359

326:                                              ; preds = %322
  %327 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %328 unwind label %361

328:                                              ; preds = %326
  store ptr %324, ptr %327, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  %329 = load ptr, ptr %309, align 8, !tbaa !52
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.18, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %330 unwind label %364

330:                                              ; preds = %328
  %331 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %332 unwind label %366

332:                                              ; preds = %330
  store ptr %329, ptr %331, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  %333 = load ptr, ptr %314, align 8, !tbaa !53
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.19, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %334 unwind label %369

334:                                              ; preds = %332
  %335 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %336 unwind label %371

336:                                              ; preds = %334
  store ptr %333, ptr %335, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  %337 = load ptr, ptr %319, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %338 unwind label %374

338:                                              ; preds = %336
  %339 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %340 unwind label %376

340:                                              ; preds = %338
  store ptr %337, ptr %339, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  %341 = load ptr, ptr %323, align 8, !tbaa !55
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.21, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %342 unwind label %379

342:                                              ; preds = %340
  %343 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %344 unwind label %381

344:                                              ; preds = %342
  store ptr %341, ptr %343, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  %345 = icmp sgt i32 %295, 0
  br i1 %345, label %.lr.ph506, label %._crit_edge507

.lr.ph506:                                        ; preds = %344
  %346 = mul nsw i32 %294, 3
  %347 = sext i32 %346 to i64
  %348 = shl nsw i32 %294, 2
  %349 = sext i32 %348 to i64
  %wide.trip.count = zext nneg i32 %295 to i64
  br label %384

._crit_edge507:                                   ; preds = %493, %344
  store i32 %3, ptr %98, align 4, !tbaa !56
  %350 = load i32, ptr %101, align 8, !tbaa !18
  %351 = load i32, ptr %107, align 8, !tbaa !20
  %352 = mul nsw i32 %351, %3
  %353 = mul nsw i32 %352, %350
  %354 = load ptr, ptr %193, align 8, !tbaa !8
  %355 = sext i32 %353 to i64
  %356 = invoke ptr @ggml_new_tensor_1d(ptr noundef %354, i32 noundef 0, i64 noundef %355)
          to label %592 unwind label %642

357:                                              ; preds = %318, %313, %308, %304, %300, %292
  %358 = landingpad { ptr, i32 }
          cleanup
  br label %788

359:                                              ; preds = %322
  %360 = landingpad { ptr, i32 }
          cleanup
  br label %363

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

363:                                              ; preds = %361, %359
  %.pn392 = phi { ptr, i32 } [ %362, %361 ], [ %360, %359 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #7
  br label %788

364:                                              ; preds = %328
  %365 = landingpad { ptr, i32 }
          cleanup
  br label %368

366:                                              ; preds = %330
  %367 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  br label %368

368:                                              ; preds = %366, %364
  %.pn394 = phi { ptr, i32 } [ %367, %366 ], [ %365, %364 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %788

369:                                              ; preds = %332
  %370 = landingpad { ptr, i32 }
          cleanup
  br label %373

371:                                              ; preds = %334
  %372 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #7
  br label %373

373:                                              ; preds = %371, %369
  %.pn396 = phi { ptr, i32 } [ %372, %371 ], [ %370, %369 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #7
  br label %788

374:                                              ; preds = %336
  %375 = landingpad { ptr, i32 }
          cleanup
  br label %378

376:                                              ; preds = %338
  %377 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #7
  br label %378

378:                                              ; preds = %376, %374
  %.pn398 = phi { ptr, i32 } [ %377, %376 ], [ %375, %374 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #7
  br label %788

379:                                              ; preds = %340
  %380 = landingpad { ptr, i32 }
          cleanup
  br label %383

381:                                              ; preds = %342
  %382 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  br label %383

383:                                              ; preds = %381, %379
  %.pn400 = phi { ptr, i32 } [ %382, %381 ], [ %380, %379 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %788

384:                                              ; preds = %.lr.ph506, %493
  %indvars.iv = phi i64 [ 0, %.lr.ph506 ], [ %indvars.iv.next, %493 ]
  %385 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNSt6vectorI10gpt2_layerSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %298, i64 noundef %indvars.iv) #7
  %386 = load ptr, ptr %193, align 8, !tbaa !8
  %387 = invoke ptr @ggml_new_tensor_1d(ptr noundef %386, i32 noundef 0, i64 noundef %302)
          to label %388 unwind label %494

388:                                              ; preds = %384
  store ptr %387, ptr %385, align 8, !tbaa !57
  %389 = load ptr, ptr %193, align 8, !tbaa !8
  %390 = invoke ptr @ggml_new_tensor_1d(ptr noundef %389, i32 noundef 0, i64 noundef %302)
          to label %391 unwind label %494

391:                                              ; preds = %388
  %392 = getelementptr inbounds i8, ptr %385, i64 8
  store ptr %390, ptr %392, align 8, !tbaa !59
  %393 = load ptr, ptr %193, align 8, !tbaa !8
  %394 = invoke ptr @ggml_new_tensor_1d(ptr noundef %393, i32 noundef 0, i64 noundef %302)
          to label %395 unwind label %494

395:                                              ; preds = %391
  %396 = getelementptr inbounds i8, ptr %385, i64 16
  store ptr %394, ptr %396, align 8, !tbaa !60
  %397 = load ptr, ptr %193, align 8, !tbaa !8
  %398 = invoke ptr @ggml_new_tensor_1d(ptr noundef %397, i32 noundef 0, i64 noundef %302)
          to label %399 unwind label %494

399:                                              ; preds = %395
  %400 = getelementptr inbounds i8, ptr %385, i64 24
  store ptr %398, ptr %400, align 8, !tbaa !61
  %401 = load ptr, ptr %193, align 8, !tbaa !8
  %402 = invoke ptr @ggml_new_tensor_2d(ptr noundef %401, i32 noundef %180, i64 noundef %302, i64 noundef %347)
          to label %403 unwind label %494

403:                                              ; preds = %399
  %404 = getelementptr inbounds i8, ptr %385, i64 32
  store ptr %402, ptr %404, align 8, !tbaa !62
  %405 = load ptr, ptr %193, align 8, !tbaa !8
  %406 = invoke ptr @ggml_new_tensor_1d(ptr noundef %405, i32 noundef 0, i64 noundef %347)
          to label %407 unwind label %494

407:                                              ; preds = %403
  %408 = getelementptr inbounds i8, ptr %385, i64 40
  store ptr %406, ptr %408, align 8, !tbaa !63
  %409 = load ptr, ptr %193, align 8, !tbaa !8
  %410 = invoke ptr @ggml_new_tensor_2d(ptr noundef %409, i32 noundef %180, i64 noundef %302, i64 noundef %302)
          to label %411 unwind label %494

411:                                              ; preds = %407
  %412 = getelementptr inbounds i8, ptr %385, i64 48
  store ptr %410, ptr %412, align 8, !tbaa !64
  %413 = load ptr, ptr %193, align 8, !tbaa !8
  %414 = invoke ptr @ggml_new_tensor_1d(ptr noundef %413, i32 noundef 0, i64 noundef %302)
          to label %415 unwind label %494

415:                                              ; preds = %411
  %416 = getelementptr inbounds i8, ptr %385, i64 56
  store ptr %414, ptr %416, align 8, !tbaa !65
  %417 = load ptr, ptr %193, align 8, !tbaa !8
  %418 = invoke ptr @ggml_new_tensor_2d(ptr noundef %417, i32 noundef %180, i64 noundef %302, i64 noundef %349)
          to label %419 unwind label %494

419:                                              ; preds = %415
  %420 = getelementptr inbounds i8, ptr %385, i64 64
  store ptr %418, ptr %420, align 8, !tbaa !66
  %421 = load ptr, ptr %193, align 8, !tbaa !8
  %422 = invoke ptr @ggml_new_tensor_1d(ptr noundef %421, i32 noundef 0, i64 noundef %349)
          to label %423 unwind label %494

423:                                              ; preds = %419
  %424 = getelementptr inbounds i8, ptr %385, i64 72
  store ptr %422, ptr %424, align 8, !tbaa !67
  %425 = load ptr, ptr %193, align 8, !tbaa !8
  %426 = invoke ptr @ggml_new_tensor_2d(ptr noundef %425, i32 noundef %180, i64 noundef %349, i64 noundef %302)
          to label %427 unwind label %494

427:                                              ; preds = %423
  %428 = getelementptr inbounds i8, ptr %385, i64 80
  store ptr %426, ptr %428, align 8, !tbaa !68
  %429 = load ptr, ptr %193, align 8, !tbaa !8
  %430 = invoke ptr @ggml_new_tensor_1d(ptr noundef %429, i32 noundef 0, i64 noundef %302)
          to label %431 unwind label %494

431:                                              ; preds = %427
  %432 = getelementptr inbounds i8, ptr %385, i64 88
  store ptr %430, ptr %432, align 8, !tbaa !69
  %433 = load ptr, ptr %385, align 8, !tbaa !57
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #7
  %434 = 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 %27, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %435 unwind label %496

435:                                              ; preds = %431
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull @.str.23)
          to label %436 unwind label %498

436:                                              ; preds = %435
  %437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %25)
          to label %438 unwind label %500

438:                                              ; preds = %436
  store ptr %433, ptr %437, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  %439 = load ptr, ptr %392, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %440 unwind label %504

440:                                              ; preds = %438
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %29, ptr noundef nonnull @.str.24)
          to label %441 unwind label %506

441:                                              ; preds = %440
  %442 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %443 unwind label %508

443:                                              ; preds = %441
  store ptr %439, ptr %442, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  %444 = load ptr, ptr %396, align 8, !tbaa !60
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %445 unwind label %512

445:                                              ; preds = %443
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %31, ptr noundef nonnull align 8 dereferenceable(32) %32, ptr noundef nonnull @.str.25)
          to label %446 unwind label %514

446:                                              ; preds = %445
  %447 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %448 unwind label %516

448:                                              ; preds = %446
  store ptr %444, ptr %447, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  %449 = load ptr, ptr %400, align 8, !tbaa !61
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %450 unwind label %520

450:                                              ; preds = %448
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef nonnull @.str.26)
          to label %451 unwind label %522

451:                                              ; preds = %450
  %452 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %453 unwind label %524

453:                                              ; preds = %451
  store ptr %449, ptr %452, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  %454 = load ptr, ptr %404, align 8, !tbaa !62
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %455 unwind label %528

455:                                              ; preds = %453
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull @.str.27)
          to label %456 unwind label %530

456:                                              ; preds = %455
  %457 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %458 unwind label %532

458:                                              ; preds = %456
  store ptr %454, ptr %457, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  %459 = load ptr, ptr %408, align 8, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %460 unwind label %536

460:                                              ; preds = %458
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull @.str.28)
          to label %461 unwind label %538

461:                                              ; preds = %460
  %462 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %463 unwind label %540

463:                                              ; preds = %461
  store ptr %459, ptr %462, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #7
  %464 = load ptr, ptr %412, align 8, !tbaa !64
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %465 unwind label %544

465:                                              ; preds = %463
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull @.str.29)
          to label %466 unwind label %546

466:                                              ; preds = %465
  %467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %43)
          to label %468 unwind label %548

468:                                              ; preds = %466
  store ptr %464, ptr %467, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  %469 = load ptr, ptr %416, align 8, !tbaa !65
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %470 unwind label %552

470:                                              ; preds = %468
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull @.str.30)
          to label %471 unwind label %554

471:                                              ; preds = %470
  %472 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %473 unwind label %556

473:                                              ; preds = %471
  store ptr %469, ptr %472, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  %474 = load ptr, ptr %420, align 8, !tbaa !66
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %475 unwind label %560

475:                                              ; preds = %473
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull @.str.31)
          to label %476 unwind label %562

476:                                              ; preds = %475
  %477 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %478 unwind label %564

478:                                              ; preds = %476
  store ptr %474, ptr %477, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  %479 = load ptr, ptr %424, align 8, !tbaa !67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %480 unwind label %568

480:                                              ; preds = %478
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef nonnull @.str.32)
          to label %481 unwind label %570

481:                                              ; preds = %480
  %482 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %483 unwind label %572

483:                                              ; preds = %481
  store ptr %479, ptr %482, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  %484 = load ptr, ptr %428, align 8, !tbaa !68
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %485 unwind label %576

485:                                              ; preds = %483
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull @.str.33)
          to label %486 unwind label %578

486:                                              ; preds = %485
  %487 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %488 unwind label %580

488:                                              ; preds = %486
  store ptr %484, ptr %487, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  %489 = load ptr, ptr %432, align 8, !tbaa !69
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #7
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, i32 noundef %434) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %59, ptr noundef nonnull @.str.22, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %490 unwind label %584

490:                                              ; preds = %488
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull @.str.34)
          to label %491 unwind label %586

491:                                              ; preds = %490
  %492 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixEOS5_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %493 unwind label %588

493:                                              ; preds = %491
  store ptr %489, ptr %492, align 8, !tbaa !8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge507, label %384, !llvm.loop !70

494:                                              ; preds = %427, %423, %419, %415, %411, %407, %403, %399, %395, %391, %388, %384
  %495 = landingpad { ptr, i32 }
          cleanup
  br label %788

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

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

500:                                              ; preds = %436
  %501 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #7
  br label %502

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

503:                                              ; preds = %502, %496
  %.pn417.pn = phi { ptr, i32 } [ %.pn417, %502 ], [ %497, %496 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %25) #7
  br label %788

504:                                              ; preds = %438
  %505 = landingpad { ptr, i32 }
          cleanup
  br label %511

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

508:                                              ; preds = %441
  %509 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #7
  br label %510

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

511:                                              ; preds = %510, %504
  %.pn420.pn = phi { ptr, i32 } [ %.pn420, %510 ], [ %505, %504 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #7
  br label %788

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

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

516:                                              ; preds = %446
  %517 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #7
  br label %518

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

519:                                              ; preds = %518, %512
  %.pn423.pn = phi { ptr, i32 } [ %.pn423, %518 ], [ %513, %512 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #7
  br label %788

520:                                              ; preds = %448
  %521 = landingpad { ptr, i32 }
          cleanup
  br label %527

522:                                              ; preds = %450
  %523 = landingpad { ptr, i32 }
          cleanup
  br label %526

524:                                              ; preds = %451
  %525 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #7
  br label %526

526:                                              ; preds = %524, %522
  %.pn426 = phi { ptr, i32 } [ %525, %524 ], [ %523, %522 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br label %527

527:                                              ; preds = %526, %520
  %.pn426.pn = phi { ptr, i32 } [ %.pn426, %526 ], [ %521, %520 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #7
  br label %788

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

530:                                              ; preds = %455
  %531 = landingpad { ptr, i32 }
          cleanup
  br label %534

532:                                              ; preds = %456
  %533 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  br label %534

534:                                              ; preds = %532, %530
  %.pn429 = phi { ptr, i32 } [ %533, %532 ], [ %531, %530 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #7
  br label %535

535:                                              ; preds = %534, %528
  %.pn429.pn = phi { ptr, i32 } [ %.pn429, %534 ], [ %529, %528 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  br label %788

536:                                              ; preds = %458
  %537 = landingpad { ptr, i32 }
          cleanup
  br label %543

538:                                              ; preds = %460
  %539 = landingpad { ptr, i32 }
          cleanup
  br label %542

540:                                              ; preds = %461
  %541 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #7
  br label %542

542:                                              ; preds = %540, %538
  %.pn432 = phi { ptr, i32 } [ %541, %540 ], [ %539, %538 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %543

543:                                              ; preds = %542, %536
  %.pn432.pn = phi { ptr, i32 } [ %.pn432, %542 ], [ %537, %536 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #7
  br label %788

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

546:                                              ; preds = %465
  %547 = landingpad { ptr, i32 }
          cleanup
  br label %550

548:                                              ; preds = %466
  %549 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  br label %550

550:                                              ; preds = %548, %546
  %.pn435 = phi { ptr, i32 } [ %549, %548 ], [ %547, %546 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #7
  br label %551

551:                                              ; preds = %550, %544
  %.pn435.pn = phi { ptr, i32 } [ %.pn435, %550 ], [ %545, %544 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %788

552:                                              ; preds = %468
  %553 = landingpad { ptr, i32 }
          cleanup
  br label %559

554:                                              ; preds = %470
  %555 = landingpad { ptr, i32 }
          cleanup
  br label %558

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

558:                                              ; preds = %556, %554
  %.pn438 = phi { ptr, i32 } [ %557, %556 ], [ %555, %554 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %559

559:                                              ; preds = %558, %552
  %.pn438.pn = phi { ptr, i32 } [ %.pn438, %558 ], [ %553, %552 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #7
  br label %788

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

562:                                              ; preds = %475
  %563 = landingpad { ptr, i32 }
          cleanup
  br label %566

564:                                              ; preds = %476
  %565 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #7
  br label %566

566:                                              ; preds = %564, %562
  %.pn441 = phi { ptr, i32 } [ %565, %564 ], [ %563, %562 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #7
  br label %567

567:                                              ; preds = %566, %560
  %.pn441.pn = phi { ptr, i32 } [ %.pn441, %566 ], [ %561, %560 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #7
  br label %788

568:                                              ; preds = %478
  %569 = landingpad { ptr, i32 }
          cleanup
  br label %575

570:                                              ; preds = %480
  %571 = landingpad { ptr, i32 }
          cleanup
  br label %574

572:                                              ; preds = %481
  %573 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #7
  br label %574

574:                                              ; preds = %572, %570
  %.pn444 = phi { ptr, i32 } [ %573, %572 ], [ %571, %570 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #7
  br label %575

575:                                              ; preds = %574, %568
  %.pn444.pn = phi { ptr, i32 } [ %.pn444, %574 ], [ %569, %568 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #7
  br label %788

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

578:                                              ; preds = %485
  %579 = landingpad { ptr, i32 }
          cleanup
  br label %582

580:                                              ; preds = %486
  %581 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #7
  br label %582

582:                                              ; preds = %580, %578
  %.pn447 = phi { ptr, i32 } [ %581, %580 ], [ %579, %578 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #7
  br label %583

583:                                              ; preds = %582, %576
  %.pn447.pn = phi { ptr, i32 } [ %.pn447, %582 ], [ %577, %576 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #7
  br label %788

584:                                              ; preds = %488
  %585 = landingpad { ptr, i32 }
          cleanup
  br label %591

586:                                              ; preds = %490
  %587 = landingpad { ptr, i32 }
          cleanup
  br label %590

588:                                              ; preds = %491
  %589 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #7
  br label %590

590:                                              ; preds = %588, %586
  %.pn450 = phi { ptr, i32 } [ %589, %588 ], [ %587, %586 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #7
  br label %591

591:                                              ; preds = %590, %584
  %.pn450.pn = phi { ptr, i32 } [ %.pn450, %590 ], [ %585, %584 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #7
  br label %788

592:                                              ; preds = %._crit_edge507
  %593 = getelementptr inbounds i8, ptr %1, i64 96
  store ptr %356, ptr %593, align 8, !tbaa !71
  %594 = load ptr, ptr %193, align 8, !tbaa !8
  %595 = invoke ptr @ggml_new_tensor_1d(ptr noundef %594, i32 noundef 0, i64 noundef %355)
          to label %596 unwind label %642

596:                                              ; preds = %592
  %597 = getelementptr inbounds i8, ptr %1, i64 104
  store ptr %595, ptr %597, align 8, !tbaa !72
  %598 = getelementptr inbounds i8, ptr %1, i64 112
  store i32 0, ptr %598, align 8, !tbaa !73
  %599 = getelementptr inbounds i8, ptr %1, i64 116
  store i32 %3, ptr %599, align 4, !tbaa !74
  %600 = getelementptr inbounds i8, ptr %1, i64 128
  %601 = sext i32 %3 to i64
  invoke void @_ZNSt6vectorI12gpt2_kv_cellSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %600, i64 noundef %601)
          to label %602 unwind label %642

602:                                              ; preds = %596
  %603 = load ptr, ptr %593, align 8, !tbaa !71
  %604 = invoke i64 @ggml_nbytes(ptr noundef %603)
          to label %605 unwind label %644

605:                                              ; preds = %602
  %606 = load ptr, ptr %597, align 8, !tbaa !72
  %607 = invoke i64 @ggml_nbytes(ptr noundef %606)
          to label %608 unwind label %644

608:                                              ; preds = %605
  %609 = add i64 %607, %604
  %610 = uitofp i64 %609 to double
  %611 = fmul double %610, 0x3F50000000000000
  %612 = fmul double %611, 0x3F50000000000000
  %613 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.35, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, double noundef %612, i32 noundef %352)
  %614 = load ptr, ptr %280, align 8, !tbaa !49
  %615 = add i64 %609, 256
  %616 = invoke ptr @ggml_backend_alloc_buffer(ptr noundef %614, i64 noundef %615)
          to label %617 unwind label %644

617:                                              ; preds = %608
  %618 = getelementptr inbounds i8, ptr %1, i64 152
  store ptr %616, ptr %618, align 8, !tbaa !75
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #7
  invoke void @ggml_tallocr_new(ptr dead_on_unwind nonnull writable sret(%struct.ggml_tallocr) align 8 %61, ptr noundef %616)
          to label %619 unwind label %646

619:                                              ; preds = %617
  %620 = load ptr, ptr %593, align 8, !tbaa !71
  %621 = invoke i32 @ggml_tallocr_alloc(ptr noundef nonnull %61, ptr noundef %620)
          to label %622 unwind label %646

622:                                              ; preds = %619
  %623 = load ptr, ptr %597, align 8, !tbaa !72
  %624 = invoke i32 @ggml_tallocr_alloc(ptr noundef nonnull %61, ptr noundef %623)
          to label %625 unwind label %646

625:                                              ; preds = %622
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #7
  %626 = load ptr, ptr %293, align 8, !tbaa !50
  invoke void @ggml_tallocr_new(ptr dead_on_unwind nonnull writable sret(%struct.ggml_tallocr) align 8 %62, ptr noundef %626)
          to label %627 unwind label %648

627:                                              ; preds = %625
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %63) #7
  call void @_ZNSt6vectorIcSaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  %628 = load i64, ptr @__const._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii.ne, align 4
  %629 = getelementptr inbounds i8, ptr %67, i64 4
  br label %630

630:                                              ; preds = %774, %627
  %.0326 = phi i64 [ 0, %627 ], [ %775, %774 ]
  %.0320 = phi i8 [ 0, %627 ], [ %spec.select, %774 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #7
  %631 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %64, i64 noundef 4)
          to label %632 unwind label %650

632:                                              ; preds = %630
  %633 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %65, i64 noundef 4)
          to label %634 unwind label %650

634:                                              ; preds = %632
  %635 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %66, i64 noundef 4)
          to label %636 unwind label %650

636:                                              ; preds = %634
  %637 = load ptr, ptr %6, align 8, !tbaa !5
  %638 = getelementptr i8, ptr %637, i64 -24
  %639 = load i64, ptr %638, align 8
  %640 = getelementptr inbounds i8, ptr %6, i64 %639
  %641 = call noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv(ptr noundef nonnull align 8 dereferenceable(264) %640)
  br i1 %641, label %781, label %652

642:                                              ; preds = %596, %592, %._crit_edge507
  %643 = landingpad { ptr, i32 }
          cleanup
  br label %788

644:                                              ; preds = %608, %605, %602
  %645 = landingpad { ptr, i32 }
          cleanup
  br label %788

646:                                              ; preds = %622, %619, %617
  %647 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #7
  br label %788

648:                                              ; preds = %625
  %649 = landingpad { ptr, i32 }
          cleanup
  br label %786

650:                                              ; preds = %634, %632, %630
  %651 = landingpad { ptr, i32 }
          cleanup
  br label %779

652:                                              ; preds = %636
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #7
  store i64 %628, ptr %67, align 8
  %653 = load i32, ptr %64, align 4, !tbaa !11
  %654 = icmp sgt i32 %653, 0
  br i1 %654, label %.lr.ph511, label %._crit_edge512

._crit_edge512:                                   ; preds = %659, %652
  %.0319.lcssa = phi i32 [ 1, %652 ], [ %661, %659 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #7
  %655 = load i32, ptr %65, align 4, !tbaa !11
  %656 = sext i32 %655 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %69) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEmcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, i64 noundef %656, i8 noundef signext 0, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %667 unwind label %681

.lr.ph511:                                        ; preds = %652, %659
  %indvars.iv531 = phi i64 [ %indvars.iv.next532, %659 ], [ 0, %652 ]
  %.0319508 = phi i32 [ %661, %659 ], [ 1, %652 ]
  %657 = getelementptr inbounds [2 x i32], ptr %67, i64 0, i64 %indvars.iv531
  %658 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %657, i64 noundef 4)
          to label %659 unwind label %665

659:                                              ; preds = %.lr.ph511
  %660 = load i32, ptr %657, align 4, !tbaa !11
  %661 = mul nsw i32 %660, %.0319508
  %indvars.iv.next532 = add nuw nsw i64 %indvars.iv531, 1
  %662 = load i32, ptr %64, align 4, !tbaa !11
  %663 = sext i32 %662 to i64
  %664 = icmp slt i64 %indvars.iv.next532, %663
  br i1 %664, label %.lr.ph511, label %._crit_edge512, !llvm.loop !76

665:                                              ; preds = %.lr.ph511
  %666 = landingpad { ptr, i32 }
          cleanup
  br label %778

667:                                              ; preds = %._crit_edge512
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #7
  %668 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %68, i64 noundef 0)
  %669 = load i32, ptr %65, align 4, !tbaa !11
  %670 = sext i32 %669 to i64
  %671 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef nonnull %668, i64 noundef %670)
          to label %672 unwind label %683

672:                                              ; preds = %667
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #7
  %673 = invoke ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %674 unwind label %685

674:                                              ; preds = %672
  store ptr %673, ptr %70, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #7
  %675 = call ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %325) #7
  store ptr %675, ptr %71, align 8
  %676 = call noundef zeroext i1 @_ZSteqRKSt17_Rb_tree_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorEESD_(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 8 dereferenceable(8) %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  br i1 %676, label %677, label %687

677:                                              ; preds = %674
  %678 = load ptr, ptr @stderr, align 8, !tbaa !8
  %679 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  %680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %678, ptr noundef nonnull @.str.36, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %679) #8
  br label %780

681:                                              ; preds = %._crit_edge512
  %682 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #7
  br label %777

683:                                              ; preds = %667
  %684 = landingpad { ptr, i32 }
          cleanup
  br label %776

685:                                              ; preds = %672
  %686 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #7
  br label %776

687:                                              ; preds = %674
  %688 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEEixERSB_(ptr noundef nonnull align 8 dereferenceable(48) %325, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %689 unwind label %701

689:                                              ; preds = %687
  %690 = load ptr, ptr %688, align 8, !tbaa !8
  %691 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  %692 = invoke ptr @ggml_set_name(ptr noundef %690, ptr noundef %691)
          to label %693 unwind label %701

693:                                              ; preds = %689
  %694 = invoke i64 @ggml_nelements(ptr noundef %690)
          to label %695 unwind label %701

695:                                              ; preds = %693
  %696 = sext i32 %.0319.lcssa to i64
  %.not405 = icmp eq i64 %694, %696
  br i1 %.not405, label %703, label %697

697:                                              ; preds = %695
  %698 = load ptr, ptr @stderr, align 8, !tbaa !8
  %699 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  %700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %698, ptr noundef nonnull @.str.37, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %699) #8
  br label %780

701:                                              ; preds = %693, %689, %687
  %702 = landingpad { ptr, i32 }
          cleanup
  br label %776

703:                                              ; preds = %695
  %704 = getelementptr inbounds i8, ptr %690, i64 16
  %705 = load i64, ptr %704, align 8, !tbaa !45
  %706 = load i32, ptr %67, align 8, !tbaa !11
  %707 = sext i32 %706 to i64
  %.not406 = icmp eq i64 %705, %707
  br i1 %.not406, label %708, label %713

708:                                              ; preds = %703
  %709 = getelementptr inbounds i8, ptr %690, i64 24
  %710 = load i64, ptr %709, align 8, !tbaa !45
  %711 = load i32, ptr %629, align 4, !tbaa !11
  %712 = sext i32 %711 to i64
  %.not407 = icmp eq i64 %710, %712
  br i1 %.not407, label %725, label %713

713:                                              ; preds = %708, %703
  %714 = getelementptr inbounds i8, ptr %690, i64 16
  %715 = load ptr, ptr @stderr, align 8, !tbaa !8
  %716 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  %717 = load i64, ptr %714, align 8, !tbaa !45
  %718 = trunc i64 %717 to i32
  %719 = getelementptr inbounds i8, ptr %690, i64 24
  %720 = load i64, ptr %719, align 8, !tbaa !45
  %721 = trunc i64 %720 to i32
  %722 = load i32, ptr %67, align 8, !tbaa !11
  %723 = load i32, ptr %629, align 4, !tbaa !11
  %724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %715, ptr noundef nonnull @.str.38, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %716, i32 noundef %718, i32 noundef %721, i32 noundef %722, i32 noundef %723) #8
  br label %780

725:                                              ; preds = %708
  %726 = load i32, ptr %66, align 4, !tbaa !11
  %727 = invoke i64 @ggml_type_size(i32 noundef %726)
          to label %728 unwind label %.loopexit

728:                                              ; preds = %725
  %729 = mul i64 %727, %694
  %730 = load i32, ptr %690, align 8, !tbaa !77
  %731 = invoke i64 @ggml_blck_size(i32 noundef %730)
          to label %732 unwind label %.loopexit

732:                                              ; preds = %728
  %733 = invoke i64 @ggml_nbytes(ptr noundef nonnull %690)
          to label %734 unwind label %.loopexit

734:                                              ; preds = %732
  %735 = udiv i64 %729, %731
  %.not408 = icmp eq i64 %735, %733
  br i1 %.not408, label %742, label %736

736:                                              ; preds = %734
  %737 = load ptr, ptr @stderr, align 8, !tbaa !8
  %738 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  %739 = invoke i64 @ggml_nbytes(ptr noundef nonnull %690)
          to label %740 unwind label %.loopexit.split-lp

740:                                              ; preds = %736
  %741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %737, ptr noundef nonnull @.str.39, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, ptr noundef %738, i64 noundef %739, i64 noundef %729) #8
  br label %780

.loopexit:                                        ; preds = %725, %728, %732, %742, %744, %748, %752, %754, %756, %757, %760, %762, %765, %771
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %776

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

742:                                              ; preds = %734
  %743 = invoke i32 @ggml_tallocr_alloc(ptr noundef nonnull %62, ptr noundef nonnull %690)
          to label %744 unwind label %.loopexit

744:                                              ; preds = %742
  %745 = load ptr, ptr %280, align 8, !tbaa !49
  %746 = invoke zeroext i1 @ggml_backend_is_cpu(ptr noundef %745)
          to label %747 unwind label %.loopexit

747:                                              ; preds = %744
  br i1 %746, label %748, label %754

748:                                              ; preds = %747
  %749 = getelementptr inbounds i8, ptr %690, i64 248
  %750 = load ptr, ptr %749, align 8, !tbaa !81
  %751 = invoke i64 @ggml_nbytes(ptr noundef nonnull %690)
          to label %752 unwind label %.loopexit

752:                                              ; preds = %748
  %753 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef %750, i64 noundef %751)
          to label %766 unwind label %.loopexit

754:                                              ; preds = %747
  %755 = invoke i64 @ggml_nbytes(ptr noundef nonnull %690)
          to label %756 unwind label %.loopexit

756:                                              ; preds = %754
  invoke void @_ZNSt6vectorIcSaIcEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %755)
          to label %757 unwind label %.loopexit

757:                                              ; preds = %756
  %758 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  %759 = invoke i64 @ggml_nbytes(ptr noundef nonnull %690)
          to label %760 unwind label %.loopexit

760:                                              ; preds = %757
  %761 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSi4readEPcl(ptr noundef nonnull align 8 dereferenceable(16) %6, ptr noundef %758, i64 noundef %759)
          to label %762 unwind label %.loopexit

762:                                              ; preds = %760
  %763 = call noundef ptr @_ZNSt6vectorIcSaIcEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  %764 = invoke i64 @ggml_nbytes(ptr noundef nonnull %690)
          to label %765 unwind label %.loopexit

765:                                              ; preds = %762
  invoke void @ggml_backend_tensor_set(ptr noundef nonnull %690, ptr noundef %763, i64 noundef 0, i64 noundef %764)
          to label %766 unwind label %.loopexit

766:                                              ; preds = %765, %752
  %767 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull @.str.19)
  %768 = and i8 %.0320, 1
  %769 = icmp eq i8 %768, 0
  %or.cond = select i1 %767, i1 %769, i1 false
  br i1 %or.cond, label %770, label %771

770:                                              ; preds = %766
  store ptr %690, ptr %323, align 8, !tbaa !55
  br label %771

771:                                              ; preds = %770, %766
  %772 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull @.str.21)
  %773 = invoke i64 @ggml_nbytes(ptr noundef nonnull %690)
          to label %774 unwind label %.loopexit

774:                                              ; preds = %771
  %spec.select = select i1 %772, i8 1, i8 %.0320
  %775 = add i64 %773, %.0326
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #7
  br label %630

776:                                              ; preds = %.loopexit, %.loopexit.split-lp, %701, %685, %683
  %.pn409.pn = phi { ptr, i32 } [ %686, %685 ], [ %684, %683 ], [ %702, %701 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  br label %777

777:                                              ; preds = %776, %681
  %.pn409.pn.pn = phi { ptr, i32 } [ %.pn409.pn, %776 ], [ %682, %681 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #7
  br label %778

778:                                              ; preds = %777, %665
  %.pn413 = phi { ptr, i32 } [ %666, %665 ], [ %.pn409.pn.pn, %777 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  br label %779

779:                                              ; preds = %778, %650
  %.pn413.pn = phi { ptr, i32 } [ %.pn413, %778 ], [ %651, %650 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #7
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #7
  br label %786

780:                                              ; preds = %677, %697, %713, %740
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #7
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  br label %787

781:                                              ; preds = %636
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #7
  %782 = uitofp i64 %.0326 to double
  %783 = fmul double %782, 0x3F50000000000000
  %784 = fmul double %783, 0x3F50000000000000
  %785 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.40, ptr noundef nonnull @__func__._Z15gpt2_model_loadRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10gpt2_modelR9gpt_vocabii, double noundef %784)
  call void @_ZNSt6vectorIcSaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %6)
          to label %787 unwind label %276

786:                                              ; preds = %779, %648
  %.pn413.pn.pn = phi { ptr, i32 } [ %.pn413.pn, %779 ], [ %649, %648 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #7
  br label %788

787:                                              ; preds = %780, %.thread, %271, %90, %183, %781, %287, %80
  %.10 = phi i1 [ false, %80 ], [ false, %90 ], [ false, %183 ], [ false, %780 ], [ false, %287 ], [ false, %271 ], [ true, %781 ], [ false, %.thread ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %6) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %6) #7
  ret i1 %.10

788:                                              ; preds = %190, %642, %646, %644, %357, %363, %368, %373, %378, %383, %591, %583, %575, %567, %559, %551, %543, %535, %527, %519, %511, %503, %494, %786, %278, %276, %274, %189, %139, %94, %84
  %.pn450.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn, %189 ], [ %140, %139 ], [ %95, %94 ], [ %85, %84 ], [ %191, %190 ], [ %277, %276 ], [ %.pn413.pn.pn, %786 ], [ %279, %278 ], [ %275, %274 ], [ %.pn400, %383 ], [ %.pn398, %378 ], [ %.pn396, %373 ], [ %.pn394, %368 ], [ %.pn392, %363 ], [ %358, %357 ], [ %.pn450.pn, %591 ], [ %.pn447.pn, %583 ], [ %.pn444.pn, %575 ], [ %.pn441.pn, %567 ], [ %.pn438.pn, %559 ], [ %.pn435.pn, %551 ], [ %.pn432.pn, %543 ], [ %.pn429.pn, %535 ], [ %.pn426.pn, %527 ], [ %.pn423.pn, %519 ], [ %.pn420.pn, %511 ], [ %.pn417.pn, %503 ], [ %495, %494 ], [ %643, %642 ], [ %647, %646 ], [ %645, %644 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %6) #7
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %6) #7
  resume { ptr, i32 } %.pn450.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 void @ggml_log_set(ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL25ggml_log_callback_default14ggml_log_levelPKcPv(i32 noundef, ptr noundef, ptr noundef) #2

declare i64 @ggml_tensor_overhead() local_unnamed_addr #4

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

declare ptr @ggml_backend_cpu_init() local_unnamed_addr #4

declare ptr @ggml_backend_alloc_buffer(ptr noundef, i64 noundef) local_unnamed_addr #4

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

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

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

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

declare i64 @ggml_nbytes(ptr noundef) local_unnamed_addr #4

declare void @ggml_tallocr_new(ptr dead_on_unwind writable sret(%struct.ggml_tallocr) align 8, ptr noundef) local_unnamed_addr #4

declare i32 @ggml_tallocr_alloc(ptr noundef, ptr noundef) local_unnamed_addr #4

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

; 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 ptr @ggml_set_name(ptr noundef, ptr noundef) local_unnamed_addr #4

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

declare zeroext i1 @ggml_backend_is_cpu(ptr noundef) local_unnamed_addr #4

declare void @ggml_backend_tensor_set(ptr noundef, ptr noundef, i64 noundef, i64 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 #6

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #2 align 2

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !10, i64 0}
!13 = !{!14, !12, i64 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, !27, i64 96, !9, i64 160, !9, i64 168, !9, i64 176, !32, i64 184}
!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 = !{!"_ZTS13gpt2_kv_cache", !9, i64 0, !9, i64 8, !12, i64 16, !12, i64 20, !12, i64 24, !28, i64 32, !9, i64 56}
!28 = !{!"_ZTSSt6vectorI12gpt2_kv_cellSaIS0_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseI12gpt2_kv_cellSaIS0_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseI12gpt2_kv_cellSaIS0_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseI12gpt2_kv_cellSaIS0_EE17_Vector_impl_dataE", !9, i64 0, !9, i64 8, !9, i64 16}
!32 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEP11ggml_tensorSt4lessIS5_ESaISt4pairIKS5_S7_EEE", !33, i64 0}
!33 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE", !34, i64 0}
!34 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_P11ggml_tensorESt10_Select1stISA_ESt4lessIS5_ESaISA_EE13_Rb_tree_implISE_Lb1EEE", !35, i64 0, !37, i64 8}
!35 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEE", !36, i64 0}
!36 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE"}
!37 = !{!"_ZTSSt15_Rb_tree_header", !38, i64 0, !40, i64 32}
!38 = !{!"_ZTSSt18_Rb_tree_node_base", !39, i64 0, !9, i64 8, !9, i64 16, !9, i64 24}
!39 = !{!"_ZTSSt14_Rb_tree_color", !10, i64 0}
!40 = !{!"long", !10, i64 0}
!41 = distinct !{!41, !42}
!42 = !{!"llvm.loop.mustprogress"}
!43 = !{!22, !12, i64 20}
!44 = !{!22, !12, i64 16}
!45 = !{!40, !40, i64 0}
!46 = !{!47, !47, i64 0}
!47 = !{!"bool", !10, i64 0}
!48 = !{!22, !9, i64 160}
!49 = !{!22, !9, i64 168}
!50 = !{!22, !9, i64 176}
!51 = !{!22, !9, i64 32}
!52 = !{!22, !9, i64 40}
!53 = !{!22, !9, i64 48}
!54 = !{!22, !9, i64 56}
!55 = !{!22, !9, i64 64}
!56 = !{!22, !12, i64 4}
!57 = !{!58, !9, i64 0}
!58 = !{!"_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}
!59 = !{!58, !9, i64 8}
!60 = !{!58, !9, i64 16}
!61 = !{!58, !9, i64 24}
!62 = !{!58, !9, i64 32}
!63 = !{!58, !9, i64 40}
!64 = !{!58, !9, i64 48}
!65 = !{!58, !9, i64 56}
!66 = !{!58, !9, i64 64}
!67 = !{!58, !9, i64 72}
!68 = !{!58, !9, i64 80}
!69 = !{!58, !9, i64 88}
!70 = distinct !{!70, !42}
!71 = !{!22, !9, i64 96}
!72 = !{!22, !9, i64 104}
!73 = !{!22, !12, i64 112}
!74 = !{!22, !12, i64 116}
!75 = !{!22, !9, i64 152}
!76 = distinct !{!76, !42}
!77 = !{!78, !79, i64 0}
!78 = !{!"_ZTS11ggml_tensor", !79, i64 0, !9, i64 8, !10, i64 16, !10, i64 48, !80, i64 80, !10, i64 84, !12, i64 148, !10, i64 152, !9, i64 232, !40, i64 240, !9, i64 248, !10, i64 256, !9, i64 320, !10, i64 328}
!79 = !{!"_ZTS9ggml_type", !10, i64 0}
!80 = !{!"_ZTS7ggml_op", !10, i64 0}
!81 = !{!78, !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