; LLVM IR from hbatagelo/abcg :: abcg/external/glslang/glslang/MachineIndependent (Scan)

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

%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"struct.std::__detail::_Node_iterator.104" = type { %"struct.std::__detail::_Node_iterator_base.105" }
%"struct.std::__detail::_Node_iterator_base.105" = type { ptr }
%"class.glslang::TScanContext" = type <{ ptr, ptr, i8, i8, i8, i8, [4 x i8], %"struct.glslang::TSourceLoc", ptr, ptr, ptr, i32, [4 x i8] }>
%"struct.glslang::TSourceLoc" = type { ptr, i32, i32, i32 }
%"struct.std::pair.106" = type <{ ptr, i32, [4 x i8] }>
%"class.glslang::TParseVersions" = type { ptr, i8, i32, ptr, i32, i32, %"struct.glslang::SpvVersion", ptr, %"class.glslang::TMap", %"class.glslang::TMap.3", i32, i32, ptr }
%"struct.glslang::SpvVersion" = type <{ i32, i32, i32, i32, i8, [3 x i8] }>
%"class.glslang::TMap" = type { %"class.std::map" }
%"class.std::map" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, glslang::TExtensionBehavior>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, glslang::TExtensionBehavior>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>, glslang::pool_allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, glslang::TExtensionBehavior>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, glslang::TExtensionBehavior>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, glslang::TExtensionBehavior>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>, glslang::pool_allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, glslang::TExtensionBehavior>>>::_Rb_tree_impl" = type { %"class.glslang::pool_allocator", [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.glslang::pool_allocator" = type { ptr }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.glslang::TMap.3" = type { %"class.std::map.4" }
%"class.std::map.4" = type { %"class.std::_Rb_tree.5" }
%"class.std::_Rb_tree.5" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, unsigned int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, unsigned int>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>, glslang::pool_allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, unsigned int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, unsigned int>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, unsigned int>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>, glslang::pool_allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, unsigned int>>>::_Rb_tree_impl" = type { %"class.glslang::pool_allocator.6", [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.glslang::pool_allocator.6" = type { ptr }
%"class.glslang::TParserToken" = type { ptr }
%struct.anon = type { %"struct.glslang::TSourceLoc", %union.anon, ptr }
%union.anon = type { ptr }
%"class.glslang::TParseContextBase" = type { %"class.glslang::TParseVersions", ptr, ptr, i32, i32, i32, i32, i32, ptr, i8, i8, %"class.glslang::TList", %"class.glslang::TList.8", %"struct.glslang::TPragma", i32, i32, i8, %"class.glslang::TVector", ptr, ptr, %struct.TBuiltInResource, ptr, %"class.std::__cxx11::basic_string", %"class.std::function", %"class.std::function.19", %"class.std::function.21", %"class.std::function.23", %"class.std::function.25", ptr, i32, i32, i32, %"class.glslang::TMap.28", i32, %"class.glslang::TMap.33" }
%"class.glslang::TList" = type { %"class.std::__cxx11::list" }
%"class.std::__cxx11::list" = type { %"class.std::__cxx11::_List_base" }
%"class.std::__cxx11::_List_base" = type { %"struct.std::__cxx11::_List_base<glslang::TVector<TIntermNode *> *, glslang::pool_allocator<glslang::TVector<TIntermNode *> *>>::_List_impl" }
%"struct.std::__cxx11::_List_base<glslang::TVector<TIntermNode *> *, glslang::pool_allocator<glslang::TVector<TIntermNode *> *>>::_List_impl" = type { %"class.glslang::pool_allocator.7", %"struct.std::__detail::_List_node_header" }
%"class.glslang::pool_allocator.7" = type { ptr }
%"struct.std::__detail::_List_node_header" = type { %"struct.std::__detail::_List_node_base", i64 }
%"struct.std::__detail::_List_node_base" = type { ptr, ptr }
%"class.glslang::TList.8" = type { %"class.std::__cxx11::list.9" }
%"class.std::__cxx11::list.9" = type { %"class.std::__cxx11::_List_base.10" }
%"class.std::__cxx11::_List_base.10" = type { %"struct.std::__cxx11::_List_base<int, glslang::pool_allocator<int>>::_List_impl" }
%"struct.std::__cxx11::_List_base<int, glslang::pool_allocator<int>>::_List_impl" = type { %"class.glslang::pool_allocator.11", %"struct.std::__detail::_List_node_header" }
%"class.glslang::pool_allocator.11" = type { ptr }
%"struct.glslang::TPragma" = type { i8, i8, %"class.glslang::TPragmaTable" }
%"class.glslang::TPragmaTable" = type { %"class.glslang::TMap.12" }
%"class.glslang::TMap.12" = type { %"class.std::map.13" }
%"class.std::map.13" = type { %"class.std::_Rb_tree.14" }
%"class.std::_Rb_tree.14" = type { %"struct.std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>, glslang::pool_allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>, glslang::pool_allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>>>>::_Rb_tree_impl" = type { %"class.glslang::pool_allocator.15", [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.glslang::pool_allocator.15" = type { ptr }
%"class.glslang::TVector" = type { %"class.std::vector" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<glslang::TSymbol *, glslang::pool_allocator<glslang::TSymbol *>>::_Vector_impl" }
%"struct.std::_Vector_base<glslang::TSymbol *, glslang::pool_allocator<glslang::TSymbol *>>::_Vector_impl" = type { %"class.glslang::pool_allocator.16", %"struct.std::_Vector_base<glslang::TSymbol *, glslang::pool_allocator<glslang::TSymbol *>>::_Vector_impl_data" }
%"class.glslang::pool_allocator.16" = type { ptr }
%"struct.std::_Vector_base<glslang::TSymbol *, glslang::pool_allocator<glslang::TSymbol *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.TBuiltInResource = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.TLimits }
%struct.TLimits = type { i8, i8, i8, i8, i8, i8, i8, i8, i8 }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>::_Alloc_hider", i64, %union.anon.18 }
%"struct.std::__cxx11::basic_string<char, std::char_traits<char>, glslang::pool_allocator<char>>::_Alloc_hider" = type { %"class.glslang::pool_allocator.17", ptr }
%"class.glslang::pool_allocator.17" = type { ptr }
%union.anon.18 = type { i64, [8 x i8] }
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::function.19" = type { %"class.std::_Function_base", ptr }
%"class.std::function.21" = type { %"class.std::_Function_base", ptr }
%"class.std::function.23" = type { %"class.std::_Function_base", ptr }
%"class.std::function.25" = type { %"class.std::_Function_base", ptr }
%"class.glslang::TMap.28" = type { %"class.std::map.29" }
%"class.std::map.29" = type { %"class.std::_Rb_tree.30" }
%"class.std::_Rb_tree.30" = type { %"struct.std::_Rb_tree<int, std::pair<const int, glslang::TVariable *>, std::_Select1st<std::pair<const int, glslang::TVariable *>>, std::less<int>, glslang::pool_allocator<std::pair<const int, glslang::TVariable *>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, glslang::TVariable *>, std::_Select1st<std::pair<const int, glslang::TVariable *>>, std::less<int>, glslang::pool_allocator<std::pair<const int, glslang::TVariable *>>>::_Rb_tree_impl" = type { %"class.glslang::pool_allocator.31", [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.glslang::pool_allocator.31" = type { ptr }
%"class.glslang::TMap.33" = type { %"class.std::map.34" }
%"class.std::map.34" = type { %"class.std::_Rb_tree.35" }
%"class.std::_Rb_tree.35" = type { %"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int>>, std::less<int>, glslang::pool_allocator<std::pair<const int, int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, std::pair<const int, int>, std::_Select1st<std::pair<const int, int>>, std::less<int>, glslang::pool_allocator<std::pair<const int, int>>>::_Rb_tree_impl" = type { %"class.glslang::pool_allocator.36", [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.glslang::pool_allocator.36" = type { ptr }
%class.TInfoSink = type { %"class.glslang::TInfoSinkBase", %"class.glslang::TInfoSinkBase" }
%"class.glslang::TInfoSinkBase" = type <{ %"class.std::__cxx11::basic_string.96", i32, [4 x i8] }>
%"class.std::__cxx11::basic_string.96" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon.100 }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon.100 = type { i64, [8 x i8] }

@_ZN12_GLOBAL__N_110KeywordMapE = external hidden global ptr, align 8
@.str.47 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZN12_GLOBAL__N_111ReservedSetE = external hidden global ptr, align 8
@.str.441 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.442 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.443 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.444 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.445 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.446 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.447 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.448 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.449 = external hidden unnamed_addr constant [31 x i8], align 1
@_ZN7glslangL23AEP_tessellation_shaderE = external hidden constant [2 x ptr], align 16
@.str.450 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZN7glslangL41E_GL_OES_shader_multisample_interpolationE = external hidden constant ptr, align 8
@__const._ZN7glslang12TScanContext18tokenizeIdentifierEv.layoutExts = external hidden unnamed_addr constant [2 x ptr], align 16
@.str.453 = external hidden unnamed_addr constant [26 x i8], align 1
@_ZN7glslangL18AEP_texture_bufferE = external hidden constant [2 x ptr], align 16
@_ZN7glslangL26AEP_texture_cube_map_arrayE = external hidden constant [2 x ptr], align 16
@.str.454 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.455 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.456 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.457 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.458 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.459 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.460 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.461 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.462 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.463 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.464 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.465 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.466 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.467 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.468 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.469 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.470 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.471 = external hidden unnamed_addr constant [23 x i8], align 1
@_ZN7glslangL28E_GL_ARB_texture_multisampleE = external hidden constant ptr, align 8
@_ZN7glslangL45E_GL_OES_texture_storage_multisample_2d_arrayE = external hidden constant ptr, align 8
@.str.472 = external hidden unnamed_addr constant [25 x i8], align 1
@_ZN7glslangL26E_GL_ARB_texture_rectangleE = external hidden constant ptr, align 8
@.str.473 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.474 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.475 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.476 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.477 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.478 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.479 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.480 = external hidden unnamed_addr constant [35 x i8], align 1
@_ZN7glslangL15AEP_gpu_shader5E = external hidden constant [2 x ptr], align 16
@.str.481 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.482 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.483 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.484 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.485 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.486 = external hidden unnamed_addr constant [24 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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN7glslang12TScanContext18tokenizeIdentifierEv(ptr noundef nonnull align 8 dereferenceable(76) %0) #2 align 2 {
  %2 = alloca i32, align 4
  %3 = alloca ptr, align 8
  %4 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %5 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %6 = alloca %"struct.std::__detail::_Node_iterator.104", align 8
  %7 = alloca %"struct.std::__detail::_Node_iterator.104", align 8
  %8 = alloca i32, align 4
  %9 = alloca i8, align 1
  %10 = alloca i8, align 1
  %11 = alloca i32, align 4
  %12 = alloca [2 x ptr], align 16
  store ptr %0, ptr %3, align 8, !tbaa !5
  %13 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #5
  %14 = load ptr, ptr @_ZN12_GLOBAL__N_111ReservedSetE, align 8, !tbaa !5
  %15 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 10
  %16 = call ptr @_ZNSt13unordered_setIPKcN12_GLOBAL__N_18str_hashENS2_6str_eqESaIS1_EE4findERKS1_(ptr noundef nonnull align 8 dereferenceable(56) %14, ptr noundef nonnull align 8 dereferenceable(8) %15)
  %17 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %4, i32 0, i32 0
  %18 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %17, i32 0, i32 0
  store ptr %16, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #5
  %19 = load ptr, ptr @_ZN12_GLOBAL__N_111ReservedSetE, align 8, !tbaa !5
  %20 = call ptr @_ZNSt13unordered_setIPKcN12_GLOBAL__N_18str_hashENS2_6str_eqESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %19) #5
  %21 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %5, i32 0, i32 0
  %22 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %21, i32 0, i32 0
  store ptr %20, ptr %22, align 8
  %23 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseIPKcLb1EEES5_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %5) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #5
  br i1 %23, label %24, label %26

24:                                               ; preds = %1
  %25 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %25, ptr %2, align 4
  br label %1772

26:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #5
  %27 = load ptr, ptr @_ZN12_GLOBAL__N_110KeywordMapE, align 8, !tbaa !5
  %28 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 10
  %29 = call ptr @_ZNSt13unordered_mapIPKciN12_GLOBAL__N_18str_hashENS2_6str_eqESaISt4pairIKS1_iEEE4findERS6_(ptr noundef nonnull align 8 dereferenceable(56) %27, ptr noundef nonnull align 8 dereferenceable(8) %28)
  %30 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.104", ptr %6, i32 0, i32 0
  %31 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.105", ptr %30, i32 0, i32 0
  store ptr %29, ptr %31, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #5
  %32 = load ptr, ptr @_ZN12_GLOBAL__N_110KeywordMapE, align 8, !tbaa !5
  %33 = call ptr @_ZNSt13unordered_mapIPKciN12_GLOBAL__N_18str_hashENS2_6str_eqESaISt4pairIKS1_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %32) #5
  %34 = getelementptr inbounds %"struct.std::__detail::_Node_iterator.104", ptr %7, i32 0, i32 0
  %35 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base.105", ptr %34, i32 0, i32 0
  store ptr %33, ptr %35, align 8
  %36 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKPKciELb1EEES8_(ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 8 dereferenceable(8) %7) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #5
  br i1 %36, label %37, label %39

37:                                               ; preds = %26
  %38 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %38, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

39:                                               ; preds = %26
  %40 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKPKciELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #5
  %41 = getelementptr inbounds %"struct.std::pair.106", ptr %40, i32 0, i32 1
  %42 = load i32, ptr %41, align 8, !tbaa !9
  %43 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  store i32 %42, ptr %43, align 8, !tbaa !12
  %44 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %45 = load i32, ptr %44, align 8, !tbaa !12
  switch i32 %45, label %1764 [
    i32 258, label %46
    i32 663, label %46
    i32 643, label %46
    i32 644, label %46
    i32 645, label %46
    i32 649, label %46
    i32 650, label %46
    i32 651, label %46
    i32 653, label %46
    i32 648, label %46
    i32 654, label %46
    i32 652, label %46
    i32 655, label %46
    i32 656, label %46
    i32 658, label %46
    i32 660, label %49
    i32 661, label %61
    i32 662, label %61
    i32 665, label %73
    i32 646, label %106
    i32 657, label %110
    i32 659, label %110
    i32 647, label %135
    i32 259, label %135
    i32 262, label %135
    i32 260, label %135
    i32 263, label %135
    i32 264, label %135
    i32 265, label %135
    i32 272, label %135
    i32 273, label %135
    i32 274, label %135
    i32 266, label %135
    i32 267, label %135
    i32 268, label %135
    i32 275, label %135
    i32 276, label %135
    i32 277, label %135
    i32 287, label %135
    i32 289, label %135
    i32 639, label %139
    i32 667, label %159
    i32 666, label %184
    i32 642, label %212
    i32 628, label %223
    i32 633, label %238
    i32 634, label %262
    i32 635, label %290
    i32 703, label %306
    i32 691, label %318
    i32 316, label %330
    i32 317, label %330
    i32 679, label %345
    i32 680, label %345
    i32 681, label %345
    i32 682, label %345
    i32 683, label %345
    i32 415, label %345
    i32 684, label %363
    i32 685, label %363
    i32 686, label %363
    i32 687, label %363
    i32 688, label %363
    i32 416, label %363
    i32 417, label %388
    i32 414, label %416
    i32 692, label %438
    i32 697, label %438
    i32 698, label %438
    i32 699, label %438
    i32 700, label %438
    i32 702, label %438
    i32 701, label %438
    i32 694, label %438
    i32 695, label %438
    i32 696, label %438
    i32 693, label %461
    i32 689, label %502
    i32 690, label %541
    i32 677, label %563
    i32 664, label %565
    i32 668, label %590
    i32 629, label %624
    i32 630, label %624
    i32 631, label %624
    i32 632, label %624
    i32 278, label %626
    i32 279, label %626
    i32 280, label %626
    i32 281, label %626
    i32 282, label %626
    i32 283, label %626
    i32 284, label %626
    i32 285, label %626
    i32 286, label %626
    i32 357, label %628
    i32 358, label %628
    i32 359, label %628
    i32 378, label %628
    i32 379, label %628
    i32 380, label %628
    i32 381, label %628
    i32 382, label %628
    i32 383, label %628
    i32 384, label %628
    i32 385, label %628
    i32 386, label %628
    i32 466, label %630
    i32 467, label %630
    i32 468, label %630
    i32 484, label %630
    i32 485, label %630
    i32 486, label %630
    i32 475, label %630
    i32 476, label %630
    i32 477, label %630
    i32 510, label %633
    i32 511, label %633
    i32 522, label %633
    i32 523, label %633
    i32 516, label %633
    i32 517, label %633
    i32 481, label %651
    i32 482, label %651
    i32 483, label %651
    i32 520, label %674
    i32 521, label %674
    i32 469, label %712
    i32 470, label %712
    i32 471, label %712
    i32 472, label %712
    i32 473, label %712
    i32 474, label %712
    i32 478, label %712
    i32 479, label %712
    i32 480, label %712
    i32 487, label %712
    i32 488, label %712
    i32 489, label %712
    i32 512, label %715
    i32 513, label %715
    i32 514, label %715
    i32 515, label %715
    i32 518, label %715
    i32 519, label %715
    i32 524, label %715
    i32 525, label %715
    i32 490, label %733
    i32 491, label %733
    i32 492, label %733
    i32 526, label %756
    i32 527, label %756
    i32 493, label %794
    i32 494, label %794
    i32 495, label %794
    i32 496, label %794
    i32 497, label %794
    i32 498, label %794
    i32 528, label %797
    i32 529, label %797
    i32 530, label %797
    i32 531, label %797
    i32 320, label %815
    i32 354, label %815
    i32 355, label %815
    i32 356, label %815
    i32 322, label %863
    i32 323, label %863
    i32 330, label %863
    i32 331, label %863
    i32 332, label %863
    i32 333, label %863
    i32 334, label %863
    i32 335, label %863
    i32 328, label %896
    i32 329, label %896
    i32 348, label %896
    i32 349, label %896
    i32 350, label %896
    i32 351, label %896
    i32 352, label %896
    i32 353, label %896
    i32 326, label %929
    i32 327, label %929
    i32 342, label %929
    i32 343, label %929
    i32 344, label %929
    i32 345, label %929
    i32 346, label %929
    i32 347, label %929
    i32 324, label %969
    i32 325, label %969
    i32 336, label %969
    i32 337, label %969
    i32 338, label %969
    i32 339, label %969
    i32 340, label %969
    i32 341, label %969
    i32 319, label %995
    i32 366, label %995
    i32 367, label %995
    i32 368, label %995
    i32 369, label %995
    i32 370, label %995
    i32 371, label %995
    i32 396, label %995
    i32 397, label %995
    i32 398, label %995
    i32 399, label %995
    i32 400, label %995
    i32 401, label %995
    i32 402, label %995
    i32 403, label %995
    i32 404, label %995
    i32 321, label %1021
    i32 372, label %1021
    i32 373, label %1021
    i32 374, label %1021
    i32 375, label %1021
    i32 376, label %1021
    i32 377, label %1021
    i32 405, label %1021
    i32 406, label %1021
    i32 407, label %1021
    i32 408, label %1021
    i32 409, label %1021
    i32 410, label %1021
    i32 411, label %1021
    i32 412, label %1021
    i32 413, label %1021
    i32 318, label %1047
    i32 360, label %1047
    i32 361, label %1047
    i32 362, label %1047
    i32 363, label %1087
    i32 364, label %1087
    i32 365, label %1087
    i32 387, label %1087
    i32 388, label %1087
    i32 389, label %1087
    i32 390, label %1087
    i32 391, label %1087
    i32 392, label %1087
    i32 393, label %1087
    i32 394, label %1087
    i32 395, label %1087
    i32 421, label %1120
    i32 422, label %1120
    i32 423, label %1120
    i32 424, label %1120
    i32 532, label %1163
    i32 533, label %1163
    i32 534, label %1163
    i32 261, label %1175
    i32 269, label %1175
    i32 270, label %1175
    i32 271, label %1175
    i32 291, label %1175
    i32 292, label %1175
    i32 293, label %1175
    i32 294, label %1175
    i32 295, label %1175
    i32 296, label %1175
    i32 297, label %1175
    i32 298, label %1175
    i32 299, label %1175
    i32 300, label %1175
    i32 301, label %1175
    i32 288, label %1178
    i32 290, label %1202
    i32 304, label %1226
    i32 306, label %1226
    i32 307, label %1226
    i32 308, label %1226
    i32 309, label %1226
    i32 310, label %1226
    i32 311, label %1226
    i32 312, label %1226
    i32 313, label %1226
    i32 314, label %1226
    i32 315, label %1226
    i32 305, label %1226
    i32 302, label %1226
    i32 303, label %1226
    i32 428, label %1238
    i32 445, label %1238
    i32 427, label %1238
    i32 446, label %1238
    i32 447, label %1238
    i32 432, label %1241
    i32 433, label %1241
    i32 434, label %1244
    i32 435, label %1267
    i32 436, label %1267
    i32 437, label %1290
    i32 438, label %1290
    i32 439, label %1290
    i32 440, label %1332
    i32 441, label %1332
    i32 442, label %1332
    i32 425, label %1381
    i32 429, label %1381
    i32 430, label %1391
    i32 431, label %1391
    i32 426, label %1435
    i32 443, label %1474
    i32 444, label %1500
    i32 539, label %1519
    i32 537, label %1519
    i32 536, label %1519
    i32 540, label %1519
    i32 544, label %1519
    i32 542, label %1519
    i32 543, label %1519
    i32 545, label %1519
    i32 546, label %1519
    i32 547, label %1519
    i32 548, label %1519
    i32 549, label %1519
    i32 550, label %1519
    i32 551, label %1519
    i32 552, label %1519
    i32 535, label %1519
    i32 541, label %1519
    i32 538, label %1519
    i32 564, label %1531
    i32 565, label %1531
    i32 566, label %1531
    i32 567, label %1531
    i32 568, label %1531
    i32 569, label %1531
    i32 448, label %1543
    i32 449, label %1543
    i32 450, label %1543
    i32 451, label %1543
    i32 452, label %1543
    i32 453, label %1543
    i32 454, label %1543
    i32 455, label %1543
    i32 456, label %1543
    i32 457, label %1543
    i32 458, label %1543
    i32 459, label %1543
    i32 460, label %1543
    i32 461, label %1543
    i32 462, label %1543
    i32 463, label %1543
    i32 464, label %1543
    i32 465, label %1543
    i32 499, label %1543
    i32 500, label %1543
    i32 501, label %1543
    i32 502, label %1543
    i32 503, label %1543
    i32 504, label %1543
    i32 505, label %1543
    i32 506, label %1543
    i32 507, label %1543
    i32 508, label %1543
    i32 509, label %1543
    i32 553, label %1543
    i32 554, label %1543
    i32 555, label %1543
    i32 556, label %1543
    i32 557, label %1543
    i32 558, label %1543
    i32 559, label %1543
    i32 560, label %1543
    i32 561, label %1543
    i32 562, label %1543
    i32 563, label %1543
    i32 570, label %1543
    i32 571, label %1543
    i32 704, label %1562
    i32 706, label %1574
    i32 705, label %1596
    i32 710, label %1618
    i32 707, label %1664
    i32 708, label %1664
    i32 709, label %1664
    i32 418, label %1696
    i32 420, label %1715
    i32 419, label %1715
    i32 678, label %1734
    i32 572, label %1746
    i32 573, label %1746
    i32 574, label %1746
    i32 575, label %1746
    i32 576, label %1746
    i32 577, label %1746
    i32 578, label %1746
    i32 579, label %1746
    i32 580, label %1746
    i32 581, label %1746
  ]

46:                                               ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %47 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %48 = load i32, ptr %47, align 8, !tbaa !12
  store i32 %48, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

49:                                               ; preds = %39
  %50 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %51 = load ptr, ptr %50, align 8, !tbaa !16
  %52 = load ptr, ptr %51, align 8, !tbaa !17
  %53 = getelementptr inbounds ptr, ptr %52, i64 8
  %54 = load ptr, ptr %53, align 8
  %55 = call noundef zeroext i1 %54(ptr noundef nonnull align 8 dereferenceable(192) %51, ptr noundef @.str.441)
  br i1 %55, label %58, label %56

56:                                               ; preds = %49
  %57 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %57, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

58:                                               ; preds = %49
  %59 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %60 = load i32, ptr %59, align 8, !tbaa !12
  store i32 %60, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

61:                                               ; preds = %39, %39
  %62 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %63 = load ptr, ptr %62, align 8, !tbaa !16
  %64 = load ptr, ptr %63, align 8, !tbaa !17
  %65 = getelementptr inbounds ptr, ptr %64, i64 8
  %66 = load ptr, ptr %65, align 8
  %67 = call noundef zeroext i1 %66(ptr noundef nonnull align 8 dereferenceable(192) %63, ptr noundef @.str.442)
  br i1 %67, label %70, label %68

68:                                               ; preds = %61
  %69 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %69, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

70:                                               ; preds = %61
  %71 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %72 = load i32, ptr %71, align 8, !tbaa !12
  store i32 %72, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

73:                                               ; preds = %39
  %74 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 5
  store i8 1, ptr %74, align 1, !tbaa !19
  %75 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %76 = load ptr, ptr %75, align 8, !tbaa !16
  %77 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %76)
  br i1 %77, label %78, label %84

78:                                               ; preds = %73
  %79 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %80 = load ptr, ptr %79, align 8, !tbaa !16
  %81 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %80, i32 0, i32 4
  %82 = load i32, ptr %81, align 8, !tbaa !20
  %83 = icmp slt i32 %82, 310
  br i1 %83, label %101, label %84

84:                                               ; preds = %78, %73
  %85 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %86 = load ptr, ptr %85, align 8, !tbaa !16
  %87 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %86)
  br i1 %87, label %103, label %88

88:                                               ; preds = %84
  %89 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %90 = load ptr, ptr %89, align 8, !tbaa !16
  %91 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %90, i32 0, i32 4
  %92 = load i32, ptr %91, align 8, !tbaa !20
  %93 = icmp slt i32 %92, 430
  br i1 %93, label %94, label %103

94:                                               ; preds = %88
  %95 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %96 = load ptr, ptr %95, align 8, !tbaa !16
  %97 = load ptr, ptr %96, align 8, !tbaa !17
  %98 = getelementptr inbounds ptr, ptr %97, i64 8
  %99 = load ptr, ptr %98, align 8
  %100 = call noundef zeroext i1 %99(ptr noundef nonnull align 8 dereferenceable(192) %96, ptr noundef @.str.443)
  br i1 %100, label %103, label %101

101:                                              ; preds = %94, %78
  %102 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %102, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

103:                                              ; preds = %94, %88, %84
  %104 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %105 = load i32, ptr %104, align 8, !tbaa !12
  store i32 %105, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

106:                                              ; preds = %39
  %107 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 3
  store i8 1, ptr %107, align 1, !tbaa !42
  %108 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %109 = load i32, ptr %108, align 8, !tbaa !12
  store i32 %109, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

110:                                              ; preds = %39, %39
  %111 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %112 = load ptr, ptr %111, align 8, !tbaa !16
  %113 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %112)
  br i1 %113, label %114, label %120

114:                                              ; preds = %110
  %115 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %116 = load ptr, ptr %115, align 8, !tbaa !16
  %117 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %116, i32 0, i32 4
  %118 = load i32, ptr %117, align 8, !tbaa !20
  %119 = icmp slt i32 %118, 300
  br i1 %119, label %130, label %120

120:                                              ; preds = %114, %110
  %121 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %122 = load ptr, ptr %121, align 8, !tbaa !16
  %123 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %122)
  br i1 %123, label %132, label %124

124:                                              ; preds = %120
  %125 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %126 = load ptr, ptr %125, align 8, !tbaa !16
  %127 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %126, i32 0, i32 4
  %128 = load i32, ptr %127, align 8, !tbaa !20
  %129 = icmp slt i32 %128, 130
  br i1 %129, label %130, label %132

130:                                              ; preds = %124, %114
  %131 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %132

132:                                              ; preds = %130, %124, %120
  %133 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %134 = load i32, ptr %133, align 8, !tbaa !12
  store i32 %134, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

135:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %136 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %136, align 8, !tbaa !43
  %137 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %138 = load i32, ptr %137, align 8, !tbaa !12
  store i32 %138, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

139:                                              ; preds = %39
  %140 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 10
  %141 = load ptr, ptr %140, align 8, !tbaa !44
  %142 = call i32 @strcmp(ptr noundef @.str.47, ptr noundef %141) #6
  %143 = icmp eq i32 %142, 0
  br i1 %143, label %144, label %150

144:                                              ; preds = %139
  %145 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 8
  %146 = load ptr, ptr %145, align 8, !tbaa !45
  %147 = getelementptr inbounds %"class.glslang::TParserToken", ptr %146, i32 0, i32 0
  %148 = load ptr, ptr %147, align 8, !tbaa !46
  %149 = getelementptr inbounds %struct.anon, ptr %148, i32 0, i32 1
  store i8 1, ptr %149, align 8, !tbaa !48
  br label %156

150:                                              ; preds = %139
  %151 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 8
  %152 = load ptr, ptr %151, align 8, !tbaa !45
  %153 = getelementptr inbounds %"class.glslang::TParserToken", ptr %152, i32 0, i32 0
  %154 = load ptr, ptr %153, align 8, !tbaa !46
  %155 = getelementptr inbounds %struct.anon, ptr %154, i32 0, i32 1
  store i8 0, ptr %155, align 8, !tbaa !48
  br label %156

156:                                              ; preds = %150, %144
  %157 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %158 = load i32, ptr %157, align 8, !tbaa !12
  store i32 %158, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

159:                                              ; preds = %39
  %160 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %161 = load ptr, ptr %160, align 8, !tbaa !16
  %162 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %161)
  br i1 %162, label %163, label %169

163:                                              ; preds = %159
  %164 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %165 = load ptr, ptr %164, align 8, !tbaa !16
  %166 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %165, i32 0, i32 4
  %167 = load i32, ptr %166, align 8, !tbaa !20
  %168 = icmp slt i32 %167, 300
  br i1 %168, label %179, label %169

169:                                              ; preds = %163, %159
  %170 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %171 = load ptr, ptr %170, align 8, !tbaa !16
  %172 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %171)
  br i1 %172, label %181, label %173

173:                                              ; preds = %169
  %174 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %175 = load ptr, ptr %174, align 8, !tbaa !16
  %176 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %175, i32 0, i32 4
  %177 = load i32, ptr %176, align 8, !tbaa !20
  %178 = icmp slt i32 %177, 130
  br i1 %178, label %179, label %181

179:                                              ; preds = %173, %163
  %180 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %180, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

181:                                              ; preds = %173, %169
  %182 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %183 = load i32, ptr %182, align 8, !tbaa !12
  store i32 %183, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

184:                                              ; preds = %39
  %185 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %186 = load ptr, ptr %185, align 8, !tbaa !16
  %187 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %186)
  br i1 %187, label %188, label %196

188:                                              ; preds = %184
  %189 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %190 = load ptr, ptr %189, align 8, !tbaa !16
  %191 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %190, i32 0, i32 4
  %192 = load i32, ptr %191, align 8, !tbaa !20
  %193 = icmp slt i32 %192, 300
  br i1 %193, label %194, label %196

194:                                              ; preds = %188
  %195 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %209

196:                                              ; preds = %188, %184
  %197 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %198 = load ptr, ptr %197, align 8, !tbaa !16
  %199 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %198)
  br i1 %199, label %208, label %200

200:                                              ; preds = %196
  %201 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %202 = load ptr, ptr %201, align 8, !tbaa !16
  %203 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %202, i32 0, i32 4
  %204 = load i32, ptr %203, align 8, !tbaa !20
  %205 = icmp slt i32 %204, 130
  br i1 %205, label %206, label %208

206:                                              ; preds = %200
  %207 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %207, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

208:                                              ; preds = %200, %196
  br label %209

209:                                              ; preds = %208, %194
  %210 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %211 = load i32, ptr %210, align 8, !tbaa !12
  store i32 %211, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

212:                                              ; preds = %39
  %213 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %214 = load ptr, ptr %213, align 8, !tbaa !16
  %215 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %214, i32 0, i32 4
  %216 = load i32, ptr %215, align 8, !tbaa !20
  %217 = icmp slt i32 %216, 120
  br i1 %217, label %218, label %220

218:                                              ; preds = %212
  %219 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %219, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

220:                                              ; preds = %212
  %221 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %222 = load i32, ptr %221, align 8, !tbaa !12
  store i32 %222, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

223:                                              ; preds = %39
  %224 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %225 = load ptr, ptr %224, align 8, !tbaa !16
  %226 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %225)
  br i1 %226, label %235, label %227

227:                                              ; preds = %223
  %228 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %229 = load ptr, ptr %228, align 8, !tbaa !16
  %230 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %229, i32 0, i32 4
  %231 = load i32, ptr %230, align 8, !tbaa !20
  %232 = icmp slt i32 %231, 120
  br i1 %232, label %233, label %235

233:                                              ; preds = %227
  %234 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %234, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

235:                                              ; preds = %227, %223
  %236 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %237 = load i32, ptr %236, align 8, !tbaa !12
  store i32 %237, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

238:                                              ; preds = %39
  %239 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %240 = load ptr, ptr %239, align 8, !tbaa !16
  %241 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %240)
  br i1 %241, label %242, label %248

242:                                              ; preds = %238
  %243 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %244 = load ptr, ptr %243, align 8, !tbaa !16
  %245 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %244, i32 0, i32 4
  %246 = load i32, ptr %245, align 8, !tbaa !20
  %247 = icmp slt i32 %246, 300
  br i1 %247, label %258, label %248

248:                                              ; preds = %242, %238
  %249 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %250 = load ptr, ptr %249, align 8, !tbaa !16
  %251 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %250)
  br i1 %251, label %260, label %252

252:                                              ; preds = %248
  %253 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %254 = load ptr, ptr %253, align 8, !tbaa !16
  %255 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %254, i32 0, i32 4
  %256 = load i32, ptr %255, align 8, !tbaa !20
  %257 = icmp slt i32 %256, 140
  br i1 %257, label %258, label %260

258:                                              ; preds = %252, %242
  %259 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %259, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

260:                                              ; preds = %252, %248
  %261 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %261, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

262:                                              ; preds = %39
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #5
  %263 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %264 = load ptr, ptr %263, align 8, !tbaa !16
  %265 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %264)
  br i1 %265, label %266, label %272

266:                                              ; preds = %262
  %267 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %268 = load ptr, ptr %267, align 8, !tbaa !16
  %269 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %268, i32 0, i32 4
  %270 = load i32, ptr %269, align 8, !tbaa !20
  %271 = icmp sge i32 %270, 300
  br i1 %271, label %284, label %272

272:                                              ; preds = %266, %262
  %273 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %274 = load ptr, ptr %273, align 8, !tbaa !16
  %275 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %274)
  br i1 %275, label %282, label %276

276:                                              ; preds = %272
  %277 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %278 = load ptr, ptr %277, align 8, !tbaa !16
  %279 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %278, i32 0, i32 4
  %280 = load i32, ptr %279, align 8, !tbaa !20
  %281 = icmp sge i32 %280, 420
  br label %282

282:                                              ; preds = %276, %272
  %283 = phi i1 [ false, %272 ], [ %281, %276 ]
  br label %284

284:                                              ; preds = %282, %266
  %285 = phi i1 [ true, %266 ], [ %283, %282 ]
  %286 = zext i1 %285 to i8
  store i8 %286, ptr %9, align 1, !tbaa !49
  %287 = load i8, ptr %9, align 1, !tbaa !49, !range !50, !noundef !51
  %288 = trunc i8 %287 to i1
  %289 = call noundef i32 @_ZN7glslang12TScanContext20identifierOrReservedEb(ptr noundef nonnull align 8 dereferenceable(76) %13, i1 noundef zeroext %288)
  store i32 %289, ptr %2, align 4
  store i32 1, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #5
  br label %1771

290:                                              ; preds = %39
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #5
  %291 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %292 = load ptr, ptr %291, align 8, !tbaa !16
  %293 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %292)
  br i1 %293, label %300, label %294

294:                                              ; preds = %290
  %295 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %296 = load ptr, ptr %295, align 8, !tbaa !16
  %297 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %296, i32 0, i32 4
  %298 = load i32, ptr %297, align 8, !tbaa !20
  %299 = icmp sge i32 %298, 130
  br label %300

300:                                              ; preds = %294, %290
  %301 = phi i1 [ true, %290 ], [ %299, %294 ]
  %302 = zext i1 %301 to i8
  store i8 %302, ptr %10, align 1, !tbaa !49
  %303 = load i8, ptr %10, align 1, !tbaa !49, !range !50, !noundef !51
  %304 = trunc i8 %303 to i1
  %305 = call noundef i32 @_ZN7glslang12TScanContext20identifierOrReservedEb(ptr noundef nonnull align 8 dereferenceable(76) %13, i1 noundef zeroext %304)
  store i32 %305, ptr %2, align 4
  store i32 1, ptr %8, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #5
  br label %1771

306:                                              ; preds = %39
  %307 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %308 = load ptr, ptr %307, align 8, !tbaa !16
  %309 = load ptr, ptr %308, align 8, !tbaa !17
  %310 = getelementptr inbounds ptr, ptr %309, i64 8
  %311 = load ptr, ptr %310, align 8
  %312 = call noundef zeroext i1 %311(ptr noundef nonnull align 8 dereferenceable(192) %308, ptr noundef @.str.444)
  br i1 %312, label %313, label %316

313:                                              ; preds = %306
  %314 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %315 = load i32, ptr %314, align 8, !tbaa !12
  store i32 %315, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

316:                                              ; preds = %306
  %317 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 130)
  store i32 %317, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

318:                                              ; preds = %39
  %319 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %320 = load ptr, ptr %319, align 8, !tbaa !16
  %321 = load ptr, ptr %320, align 8, !tbaa !17
  %322 = getelementptr inbounds ptr, ptr %321, i64 8
  %323 = load ptr, ptr %322, align 8
  %324 = call noundef zeroext i1 %323(ptr noundef nonnull align 8 dereferenceable(192) %320, ptr noundef @.str.445)
  br i1 %324, label %325, label %328

325:                                              ; preds = %318
  %326 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %327 = load i32, ptr %326, align 8, !tbaa !12
  store i32 %327, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

328:                                              ; preds = %318
  %329 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %329, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

330:                                              ; preds = %39, %39
  %331 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %332 = load ptr, ptr %331, align 8, !tbaa !16
  %333 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %332)
  br i1 %333, label %334, label %342

334:                                              ; preds = %330
  %335 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %336 = load ptr, ptr %335, align 8, !tbaa !16
  %337 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %336, i32 0, i32 4
  %338 = load i32, ptr %337, align 8, !tbaa !20
  %339 = icmp sge i32 %338, 300
  br i1 %339, label %340, label %342

340:                                              ; preds = %334
  %341 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %342

342:                                              ; preds = %340, %334, %330
  %343 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %344 = load i32, ptr %343, align 8, !tbaa !12
  store i32 %344, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

345:                                              ; preds = %39, %39, %39, %39, %39, %39
  %346 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %347 = load ptr, ptr %346, align 8, !tbaa !16
  %348 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %347, i32 0, i32 2
  %349 = load ptr, ptr %348, align 8, !tbaa !52
  %350 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %349)
  br i1 %350, label %358, label %351

351:                                              ; preds = %345
  %352 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %353 = load ptr, ptr %352, align 8, !tbaa !16
  %354 = load ptr, ptr %353, align 8, !tbaa !17
  %355 = getelementptr inbounds ptr, ptr %354, i64 8
  %356 = load ptr, ptr %355, align 8
  %357 = call noundef zeroext i1 %356(ptr noundef nonnull align 8 dereferenceable(192) %353, ptr noundef @.str.446)
  br i1 %357, label %358, label %361

358:                                              ; preds = %351, %345
  %359 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %360 = load i32, ptr %359, align 8, !tbaa !12
  store i32 %360, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

361:                                              ; preds = %351
  %362 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %362, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

363:                                              ; preds = %39, %39, %39, %39, %39, %39
  %364 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %365 = load ptr, ptr %364, align 8, !tbaa !16
  %366 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %365, i32 0, i32 2
  %367 = load ptr, ptr %366, align 8, !tbaa !52
  %368 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %367)
  br i1 %368, label %383, label %369

369:                                              ; preds = %363
  %370 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %371 = load ptr, ptr %370, align 8, !tbaa !16
  %372 = load ptr, ptr %371, align 8, !tbaa !17
  %373 = getelementptr inbounds ptr, ptr %372, i64 8
  %374 = load ptr, ptr %373, align 8
  %375 = call noundef zeroext i1 %374(ptr noundef nonnull align 8 dereferenceable(192) %371, ptr noundef @.str.442)
  br i1 %375, label %383, label %376

376:                                              ; preds = %369
  %377 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %378 = load ptr, ptr %377, align 8, !tbaa !16
  %379 = load ptr, ptr %378, align 8, !tbaa !17
  %380 = getelementptr inbounds ptr, ptr %379, i64 8
  %381 = load ptr, ptr %380, align 8
  %382 = call noundef zeroext i1 %381(ptr noundef nonnull align 8 dereferenceable(192) %378, ptr noundef @.str.447)
  br i1 %382, label %383, label %386

383:                                              ; preds = %376, %369, %363
  %384 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %385 = load i32, ptr %384, align 8, !tbaa !12
  store i32 %385, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

386:                                              ; preds = %376
  %387 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %387, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

388:                                              ; preds = %39
  %389 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %390 = load ptr, ptr %389, align 8, !tbaa !16
  %391 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %390, i32 0, i32 2
  %392 = load ptr, ptr %391, align 8, !tbaa !52
  %393 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %392)
  br i1 %393, label %411, label %394

394:                                              ; preds = %388
  %395 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %396 = load ptr, ptr %395, align 8, !tbaa !16
  %397 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %396)
  br i1 %397, label %414, label %398

398:                                              ; preds = %394
  %399 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %400 = load ptr, ptr %399, align 8, !tbaa !16
  %401 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %400, i32 0, i32 4
  %402 = load i32, ptr %401, align 8, !tbaa !20
  %403 = icmp sge i32 %402, 460
  br i1 %403, label %404, label %414

404:                                              ; preds = %398
  %405 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %406 = load ptr, ptr %405, align 8, !tbaa !16
  %407 = load ptr, ptr %406, align 8, !tbaa !17
  %408 = getelementptr inbounds ptr, ptr %407, i64 8
  %409 = load ptr, ptr %408, align 8
  %410 = call noundef zeroext i1 %409(ptr noundef nonnull align 8 dereferenceable(192) %406, ptr noundef @.str.447)
  br i1 %410, label %411, label %414

411:                                              ; preds = %404, %388
  %412 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %413 = load i32, ptr %412, align 8, !tbaa !12
  store i32 %413, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

414:                                              ; preds = %404, %398, %394
  %415 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %415, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

416:                                              ; preds = %39
  %417 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %418 = load ptr, ptr %417, align 8, !tbaa !16
  %419 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %418)
  br i1 %419, label %420, label %426

420:                                              ; preds = %416
  %421 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %422 = load ptr, ptr %421, align 8, !tbaa !16
  %423 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %422, i32 0, i32 4
  %424 = load i32, ptr %423, align 8, !tbaa !20
  %425 = icmp sge i32 %424, 310
  br i1 %425, label %433, label %426

426:                                              ; preds = %420, %416
  %427 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %428 = load ptr, ptr %427, align 8, !tbaa !16
  %429 = load ptr, ptr %428, align 8, !tbaa !17
  %430 = getelementptr inbounds ptr, ptr %429, i64 8
  %431 = load ptr, ptr %430, align 8
  %432 = call noundef zeroext i1 %431(ptr noundef nonnull align 8 dereferenceable(192) %428, ptr noundef @.str.448)
  br i1 %432, label %433, label %436

433:                                              ; preds = %426, %420
  %434 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %435 = load i32, ptr %434, align 8, !tbaa !12
  store i32 %435, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

436:                                              ; preds = %426
  %437 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 420)
  store i32 %437, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

438:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %439 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %440 = load ptr, ptr %439, align 8, !tbaa !16
  %441 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %440)
  br i1 %441, label %442, label %451

442:                                              ; preds = %438
  %443 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %444 = load ptr, ptr %443, align 8, !tbaa !16
  %445 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %444, i32 0, i32 4
  %446 = load i32, ptr %445, align 8, !tbaa !20
  %447 = icmp sge i32 %446, 310
  br i1 %447, label %448, label %451

448:                                              ; preds = %442
  %449 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %450 = load i32, ptr %449, align 8, !tbaa !12
  store i32 %450, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

451:                                              ; preds = %442, %438
  %452 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %453 = load ptr, ptr %452, align 8, !tbaa !16
  %454 = load ptr, ptr %453, align 8, !tbaa !17
  %455 = getelementptr inbounds ptr, ptr %454, i64 8
  %456 = load ptr, ptr %455, align 8
  %457 = call noundef zeroext i1 %456(ptr noundef nonnull align 8 dereferenceable(192) %453, ptr noundef @.str.449)
  %458 = zext i1 %457 to i64
  %459 = select i1 %457, i32 130, i32 420
  %460 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef %459)
  store i32 %460, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

461:                                              ; preds = %39
  %462 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %463 = load ptr, ptr %462, align 8, !tbaa !16
  %464 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %463)
  br i1 %464, label %465, label %474

465:                                              ; preds = %461
  %466 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %467 = load ptr, ptr %466, align 8, !tbaa !16
  %468 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %467, i32 0, i32 4
  %469 = load i32, ptr %468, align 8, !tbaa !20
  %470 = icmp sge i32 %469, 310
  br i1 %470, label %471, label %474

471:                                              ; preds = %465
  %472 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %473 = load i32, ptr %472, align 8, !tbaa !12
  store i32 %473, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

474:                                              ; preds = %465, %461
  %475 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %476 = load ptr, ptr %475, align 8, !tbaa !16
  %477 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %476, i32 0, i32 2
  %478 = load ptr, ptr %477, align 8, !tbaa !52
  %479 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %478)
  br i1 %479, label %499, label %480

480:                                              ; preds = %474
  %481 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %482 = load ptr, ptr %481, align 8, !tbaa !16
  %483 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %482)
  br i1 %483, label %497, label %484

484:                                              ; preds = %480
  %485 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %486 = load ptr, ptr %485, align 8, !tbaa !16
  %487 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %486, i32 0, i32 4
  %488 = load i32, ptr %487, align 8, !tbaa !20
  %489 = icmp slt i32 %488, 420
  br i1 %489, label %490, label %499

490:                                              ; preds = %484
  %491 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %492 = load ptr, ptr %491, align 8, !tbaa !16
  %493 = load ptr, ptr %492, align 8, !tbaa !17
  %494 = getelementptr inbounds ptr, ptr %493, i64 8
  %495 = load ptr, ptr %494, align 8
  %496 = call noundef zeroext i1 %495(ptr noundef nonnull align 8 dereferenceable(192) %492, ptr noundef @.str.449)
  br i1 %496, label %499, label %497

497:                                              ; preds = %490, %480
  %498 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %499

499:                                              ; preds = %497, %490, %484, %474
  %500 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %501 = load i32, ptr %500, align 8, !tbaa !12
  store i32 %501, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

502:                                              ; preds = %39
  %503 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %504 = load ptr, ptr %503, align 8, !tbaa !16
  %505 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %504, i32 0, i32 2
  %506 = load ptr, ptr %505, align 8, !tbaa !52
  %507 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %506)
  br i1 %507, label %536, label %508

508:                                              ; preds = %502
  %509 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %510 = load ptr, ptr %509, align 8, !tbaa !16
  %511 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %510)
  br i1 %511, label %512, label %525

512:                                              ; preds = %508
  %513 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %514 = load ptr, ptr %513, align 8, !tbaa !16
  %515 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %514, i32 0, i32 4
  %516 = load i32, ptr %515, align 8, !tbaa !20
  %517 = icmp sge i32 %516, 320
  br i1 %517, label %536, label %518

518:                                              ; preds = %512
  %519 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %520 = load ptr, ptr %519, align 8, !tbaa !16
  %521 = load ptr, ptr %520, align 8, !tbaa !17
  %522 = getelementptr inbounds ptr, ptr %521, i64 9
  %523 = load ptr, ptr %522, align 8
  %524 = call noundef zeroext i1 %523(ptr noundef nonnull align 8 dereferenceable(192) %520, i32 noundef 2, ptr noundef @_ZN7glslangL23AEP_tessellation_shaderE)
  br i1 %524, label %536, label %525

525:                                              ; preds = %518, %508
  %526 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %527 = load ptr, ptr %526, align 8, !tbaa !16
  %528 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %527)
  br i1 %528, label %539, label %529

529:                                              ; preds = %525
  %530 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %531 = load ptr, ptr %530, align 8, !tbaa !16
  %532 = load ptr, ptr %531, align 8, !tbaa !17
  %533 = getelementptr inbounds ptr, ptr %532, i64 8
  %534 = load ptr, ptr %533, align 8
  %535 = call noundef zeroext i1 %534(ptr noundef nonnull align 8 dereferenceable(192) %531, ptr noundef @.str.450)
  br i1 %535, label %536, label %539

536:                                              ; preds = %529, %518, %512, %502
  %537 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %538 = load i32, ptr %537, align 8, !tbaa !12
  store i32 %538, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

539:                                              ; preds = %529, %525
  %540 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 400)
  store i32 %540, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

541:                                              ; preds = %39
  %542 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %543 = load ptr, ptr %542, align 8, !tbaa !16
  %544 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %543)
  br i1 %544, label %545, label %551

545:                                              ; preds = %541
  %546 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %547 = load ptr, ptr %546, align 8, !tbaa !16
  %548 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %547, i32 0, i32 4
  %549 = load i32, ptr %548, align 8, !tbaa !20
  %550 = icmp sge i32 %549, 320
  br i1 %550, label %558, label %551

551:                                              ; preds = %545, %541
  %552 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %553 = load ptr, ptr %552, align 8, !tbaa !16
  %554 = load ptr, ptr %553, align 8, !tbaa !17
  %555 = getelementptr inbounds ptr, ptr %554, i64 9
  %556 = load ptr, ptr %555, align 8
  %557 = call noundef zeroext i1 %556(ptr noundef nonnull align 8 dereferenceable(192) %553, i32 noundef 1, ptr noundef @_ZN7glslangL41E_GL_OES_shader_multisample_interpolationE)
  br i1 %557, label %558, label %561

558:                                              ; preds = %551, %545
  %559 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %560 = load i32, ptr %559, align 8, !tbaa !12
  store i32 %560, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

561:                                              ; preds = %551
  %562 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 400)
  store i32 %562, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

563:                                              ; preds = %39
  %564 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 400)
  store i32 %564, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

565:                                              ; preds = %39
  %566 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %567 = load ptr, ptr %566, align 8, !tbaa !16
  %568 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %567)
  br i1 %568, label %569, label %575

569:                                              ; preds = %565
  %570 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %571 = load ptr, ptr %570, align 8, !tbaa !16
  %572 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %571, i32 0, i32 4
  %573 = load i32, ptr %572, align 8, !tbaa !20
  %574 = icmp slt i32 %573, 300
  br i1 %574, label %585, label %575

575:                                              ; preds = %569, %565
  %576 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %577 = load ptr, ptr %576, align 8, !tbaa !16
  %578 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %577)
  br i1 %578, label %587, label %579

579:                                              ; preds = %575
  %580 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %581 = load ptr, ptr %580, align 8, !tbaa !16
  %582 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %581, i32 0, i32 4
  %583 = load i32, ptr %582, align 8, !tbaa !20
  %584 = icmp slt i32 %583, 140
  br i1 %584, label %585, label %587

585:                                              ; preds = %579, %569
  %586 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %586, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

587:                                              ; preds = %579, %575
  %588 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %589 = load i32, ptr %588, align 8, !tbaa !12
  store i32 %589, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

590:                                              ; preds = %39
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #5
  store i32 2, ptr %11, align 4, !tbaa !102
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #5
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %12, ptr align 16 @__const._ZN7glslang12TScanContext18tokenizeIdentifierEv.layoutExts, i64 16, i1 false)
  %591 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %592 = load ptr, ptr %591, align 8, !tbaa !16
  %593 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %592)
  br i1 %593, label %594, label %600

594:                                              ; preds = %590
  %595 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %596 = load ptr, ptr %595, align 8, !tbaa !16
  %597 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %596, i32 0, i32 4
  %598 = load i32, ptr %597, align 8, !tbaa !20
  %599 = icmp slt i32 %598, 300
  br i1 %599, label %618, label %600

600:                                              ; preds = %594, %590
  %601 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %602 = load ptr, ptr %601, align 8, !tbaa !16
  %603 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %602)
  br i1 %603, label %620, label %604

604:                                              ; preds = %600
  %605 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %606 = load ptr, ptr %605, align 8, !tbaa !16
  %607 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %606, i32 0, i32 4
  %608 = load i32, ptr %607, align 8, !tbaa !20
  %609 = icmp slt i32 %608, 140
  br i1 %609, label %610, label %620

610:                                              ; preds = %604
  %611 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %612 = load ptr, ptr %611, align 8, !tbaa !16
  %613 = getelementptr inbounds [2 x ptr], ptr %12, i64 0, i64 0
  %614 = load ptr, ptr %612, align 8, !tbaa !17
  %615 = getelementptr inbounds ptr, ptr %614, i64 9
  %616 = load ptr, ptr %615, align 8
  %617 = call noundef zeroext i1 %616(ptr noundef nonnull align 8 dereferenceable(192) %612, i32 noundef 2, ptr noundef %613)
  br i1 %617, label %620, label %618

618:                                              ; preds = %610, %594
  %619 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %619, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %623

620:                                              ; preds = %610, %604, %600
  %621 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %622 = load i32, ptr %621, align 8, !tbaa !12
  store i32 %622, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %623

623:                                              ; preds = %620, %618
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #5
  br label %1771

624:                                              ; preds = %39, %39, %39, %39
  %625 = call noundef i32 @_ZN7glslang12TScanContext16precisionKeywordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %625, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

626:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39
  %627 = call noundef i32 @_ZN7glslang12TScanContext6matNxMEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %627, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

628:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %629 = call noundef i32 @_ZN7glslang12TScanContext4dMatEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %629, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

630:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39
  %631 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %631, align 8, !tbaa !43
  %632 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %13, i1 noundef zeroext false)
  store i32 %632, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

633:                                              ; preds = %39, %39, %39, %39, %39, %39
  %634 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %634, align 8, !tbaa !43
  %635 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %636 = load ptr, ptr %635, align 8, !tbaa !16
  %637 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %636, i32 0, i32 2
  %638 = load ptr, ptr %637, align 8, !tbaa !52
  %639 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %638)
  br i1 %639, label %647, label %640

640:                                              ; preds = %633
  %641 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %642 = load ptr, ptr %641, align 8, !tbaa !16
  %643 = load ptr, ptr %642, align 8, !tbaa !17
  %644 = getelementptr inbounds ptr, ptr %643, i64 8
  %645 = load ptr, ptr %644, align 8
  %646 = call noundef zeroext i1 %645(ptr noundef nonnull align 8 dereferenceable(192) %642, ptr noundef @.str.453)
  br i1 %646, label %647, label %649

647:                                              ; preds = %640, %633
  %648 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %13, i1 noundef zeroext false)
  store i32 %648, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

649:                                              ; preds = %640
  %650 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %650, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

651:                                              ; preds = %39, %39, %39
  %652 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %652, align 8, !tbaa !43
  %653 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %654 = load ptr, ptr %653, align 8, !tbaa !16
  %655 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %654)
  br i1 %655, label %656, label %662

656:                                              ; preds = %651
  %657 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %658 = load ptr, ptr %657, align 8, !tbaa !16
  %659 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %658, i32 0, i32 4
  %660 = load i32, ptr %659, align 8, !tbaa !20
  %661 = icmp sge i32 %660, 320
  br i1 %661, label %669, label %662

662:                                              ; preds = %656, %651
  %663 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %664 = load ptr, ptr %663, align 8, !tbaa !16
  %665 = load ptr, ptr %664, align 8, !tbaa !17
  %666 = getelementptr inbounds ptr, ptr %665, i64 9
  %667 = load ptr, ptr %666, align 8
  %668 = call noundef zeroext i1 %667(ptr noundef nonnull align 8 dereferenceable(192) %664, i32 noundef 2, ptr noundef @_ZN7glslangL18AEP_texture_bufferE)
  br i1 %668, label %669, label %672

669:                                              ; preds = %662, %656
  %670 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %671 = load i32, ptr %670, align 8, !tbaa !12
  store i32 %671, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

672:                                              ; preds = %662
  %673 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %13, i1 noundef zeroext false)
  store i32 %673, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

674:                                              ; preds = %39, %39
  %675 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %675, align 8, !tbaa !43
  %676 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %677 = load ptr, ptr %676, align 8, !tbaa !16
  %678 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %677, i32 0, i32 2
  %679 = load ptr, ptr %678, align 8, !tbaa !52
  %680 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %679)
  br i1 %680, label %688, label %681

681:                                              ; preds = %674
  %682 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %683 = load ptr, ptr %682, align 8, !tbaa !16
  %684 = load ptr, ptr %683, align 8, !tbaa !17
  %685 = getelementptr inbounds ptr, ptr %684, i64 8
  %686 = load ptr, ptr %685, align 8
  %687 = call noundef zeroext i1 %686(ptr noundef nonnull align 8 dereferenceable(192) %683, ptr noundef @.str.453)
  br i1 %687, label %688, label %710

688:                                              ; preds = %681, %674
  %689 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %690 = load ptr, ptr %689, align 8, !tbaa !16
  %691 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %690)
  br i1 %691, label %692, label %698

692:                                              ; preds = %688
  %693 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %694 = load ptr, ptr %693, align 8, !tbaa !16
  %695 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %694, i32 0, i32 4
  %696 = load i32, ptr %695, align 8, !tbaa !20
  %697 = icmp sge i32 %696, 320
  br i1 %697, label %705, label %698

698:                                              ; preds = %692, %688
  %699 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %700 = load ptr, ptr %699, align 8, !tbaa !16
  %701 = load ptr, ptr %700, align 8, !tbaa !17
  %702 = getelementptr inbounds ptr, ptr %701, i64 9
  %703 = load ptr, ptr %702, align 8
  %704 = call noundef zeroext i1 %703(ptr noundef nonnull align 8 dereferenceable(192) %700, i32 noundef 2, ptr noundef @_ZN7glslangL18AEP_texture_bufferE)
  br i1 %704, label %705, label %708

705:                                              ; preds = %698, %692
  %706 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %707 = load i32, ptr %706, align 8, !tbaa !12
  store i32 %707, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

708:                                              ; preds = %698
  %709 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %13, i1 noundef zeroext false)
  store i32 %709, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

710:                                              ; preds = %681
  %711 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %711, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

712:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %713 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %713, align 8, !tbaa !43
  %714 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %13, i1 noundef zeroext true)
  store i32 %714, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

715:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39
  %716 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %716, align 8, !tbaa !43
  %717 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %718 = load ptr, ptr %717, align 8, !tbaa !16
  %719 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %718, i32 0, i32 2
  %720 = load ptr, ptr %719, align 8, !tbaa !52
  %721 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %720)
  br i1 %721, label %729, label %722

722:                                              ; preds = %715
  %723 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %724 = load ptr, ptr %723, align 8, !tbaa !16
  %725 = load ptr, ptr %724, align 8, !tbaa !17
  %726 = getelementptr inbounds ptr, ptr %725, i64 8
  %727 = load ptr, ptr %726, align 8
  %728 = call noundef zeroext i1 %727(ptr noundef nonnull align 8 dereferenceable(192) %724, ptr noundef @.str.453)
  br i1 %728, label %729, label %731

729:                                              ; preds = %722, %715
  %730 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %13, i1 noundef zeroext true)
  store i32 %730, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

731:                                              ; preds = %722
  %732 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %732, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

733:                                              ; preds = %39, %39, %39
  %734 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %734, align 8, !tbaa !43
  %735 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %736 = load ptr, ptr %735, align 8, !tbaa !16
  %737 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %736)
  br i1 %737, label %738, label %744

738:                                              ; preds = %733
  %739 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %740 = load ptr, ptr %739, align 8, !tbaa !16
  %741 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %740, i32 0, i32 4
  %742 = load i32, ptr %741, align 8, !tbaa !20
  %743 = icmp sge i32 %742, 320
  br i1 %743, label %751, label %744

744:                                              ; preds = %738, %733
  %745 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %746 = load ptr, ptr %745, align 8, !tbaa !16
  %747 = load ptr, ptr %746, align 8, !tbaa !17
  %748 = getelementptr inbounds ptr, ptr %747, i64 9
  %749 = load ptr, ptr %748, align 8
  %750 = call noundef zeroext i1 %749(ptr noundef nonnull align 8 dereferenceable(192) %746, i32 noundef 2, ptr noundef @_ZN7glslangL26AEP_texture_cube_map_arrayE)
  br i1 %750, label %751, label %754

751:                                              ; preds = %744, %738
  %752 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %753 = load i32, ptr %752, align 8, !tbaa !12
  store i32 %753, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

754:                                              ; preds = %744
  %755 = call noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %755, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

756:                                              ; preds = %39, %39
  %757 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %757, align 8, !tbaa !43
  %758 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %759 = load ptr, ptr %758, align 8, !tbaa !16
  %760 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %759, i32 0, i32 2
  %761 = load ptr, ptr %760, align 8, !tbaa !52
  %762 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %761)
  br i1 %762, label %770, label %763

763:                                              ; preds = %756
  %764 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %765 = load ptr, ptr %764, align 8, !tbaa !16
  %766 = load ptr, ptr %765, align 8, !tbaa !17
  %767 = getelementptr inbounds ptr, ptr %766, i64 8
  %768 = load ptr, ptr %767, align 8
  %769 = call noundef zeroext i1 %768(ptr noundef nonnull align 8 dereferenceable(192) %765, ptr noundef @.str.453)
  br i1 %769, label %770, label %792

770:                                              ; preds = %763, %756
  %771 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %772 = load ptr, ptr %771, align 8, !tbaa !16
  %773 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %772)
  br i1 %773, label %774, label %780

774:                                              ; preds = %770
  %775 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %776 = load ptr, ptr %775, align 8, !tbaa !16
  %777 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %776, i32 0, i32 4
  %778 = load i32, ptr %777, align 8, !tbaa !20
  %779 = icmp sge i32 %778, 320
  br i1 %779, label %787, label %780

780:                                              ; preds = %774, %770
  %781 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %782 = load ptr, ptr %781, align 8, !tbaa !16
  %783 = load ptr, ptr %782, align 8, !tbaa !17
  %784 = getelementptr inbounds ptr, ptr %783, i64 9
  %785 = load ptr, ptr %784, align 8
  %786 = call noundef zeroext i1 %785(ptr noundef nonnull align 8 dereferenceable(192) %782, i32 noundef 2, ptr noundef @_ZN7glslangL26AEP_texture_cube_map_arrayE)
  br i1 %786, label %787, label %790

787:                                              ; preds = %780, %774
  %788 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %789 = load i32, ptr %788, align 8, !tbaa !12
  store i32 %789, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

790:                                              ; preds = %780
  %791 = call noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %791, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

792:                                              ; preds = %763
  %793 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %793, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

794:                                              ; preds = %39, %39, %39, %39, %39, %39
  %795 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %795, align 8, !tbaa !43
  %796 = call noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %796, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

797:                                              ; preds = %39, %39, %39, %39
  %798 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %798, align 8, !tbaa !43
  %799 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %800 = load ptr, ptr %799, align 8, !tbaa !16
  %801 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %800, i32 0, i32 2
  %802 = load ptr, ptr %801, align 8, !tbaa !52
  %803 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %802)
  br i1 %803, label %811, label %804

804:                                              ; preds = %797
  %805 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %806 = load ptr, ptr %805, align 8, !tbaa !16
  %807 = load ptr, ptr %806, align 8, !tbaa !17
  %808 = getelementptr inbounds ptr, ptr %807, i64 8
  %809 = load ptr, ptr %808, align 8
  %810 = call noundef zeroext i1 %809(ptr noundef nonnull align 8 dereferenceable(192) %806, ptr noundef @.str.453)
  br i1 %810, label %811, label %813

811:                                              ; preds = %804, %797
  %812 = call noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %812, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

813:                                              ; preds = %804
  %814 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %814, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

815:                                              ; preds = %39, %39, %39, %39
  %816 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %816, align 8, !tbaa !43
  %817 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %818 = load ptr, ptr %817, align 8, !tbaa !16
  %819 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %818)
  br i1 %819, label %858, label %820

820:                                              ; preds = %815
  %821 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %822 = load ptr, ptr %821, align 8, !tbaa !16
  %823 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %822, i32 0, i32 4
  %824 = load i32, ptr %823, align 8, !tbaa !20
  %825 = icmp slt i32 %824, 150
  br i1 %825, label %858, label %826

826:                                              ; preds = %820
  %827 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %828 = load ptr, ptr %827, align 8, !tbaa !16
  %829 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %828, i32 0, i32 2
  %830 = load ptr, ptr %829, align 8, !tbaa !52
  %831 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %830)
  br i1 %831, label %860, label %832

832:                                              ; preds = %826
  %833 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %834 = load ptr, ptr %833, align 8, !tbaa !16
  %835 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %834, i32 0, i32 4
  %836 = load i32, ptr %835, align 8, !tbaa !20
  %837 = icmp slt i32 %836, 400
  br i1 %837, label %838, label %860

838:                                              ; preds = %832
  %839 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %840 = load ptr, ptr %839, align 8, !tbaa !16
  %841 = load ptr, ptr %840, align 8, !tbaa !17
  %842 = getelementptr inbounds ptr, ptr %841, i64 8
  %843 = load ptr, ptr %842, align 8
  %844 = call noundef zeroext i1 %843(ptr noundef nonnull align 8 dereferenceable(192) %840, ptr noundef @.str.454)
  br i1 %844, label %860, label %845

845:                                              ; preds = %838
  %846 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %847 = load ptr, ptr %846, align 8, !tbaa !16
  %848 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %847, i32 0, i32 4
  %849 = load i32, ptr %848, align 8, !tbaa !20
  %850 = icmp slt i32 %849, 410
  br i1 %850, label %851, label %860

851:                                              ; preds = %845
  %852 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %853 = load ptr, ptr %852, align 8, !tbaa !16
  %854 = load ptr, ptr %853, align 8, !tbaa !17
  %855 = getelementptr inbounds ptr, ptr %854, i64 8
  %856 = load ptr, ptr %855, align 8
  %857 = call noundef zeroext i1 %856(ptr noundef nonnull align 8 dereferenceable(192) %853, ptr noundef @.str.455)
  br i1 %857, label %860, label %858

858:                                              ; preds = %851, %820, %815
  %859 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %860

860:                                              ; preds = %858, %851, %845, %838, %832, %826
  %861 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %862 = load i32, ptr %861, align 8, !tbaa !12
  store i32 %862, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

863:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39
  %864 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %864, align 8, !tbaa !43
  %865 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %866 = load ptr, ptr %865, align 8, !tbaa !16
  %867 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %866, i32 0, i32 2
  %868 = load ptr, ptr %867, align 8, !tbaa !52
  %869 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %868)
  br i1 %869, label %891, label %870

870:                                              ; preds = %863
  %871 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %872 = load ptr, ptr %871, align 8, !tbaa !16
  %873 = load ptr, ptr %872, align 8, !tbaa !17
  %874 = getelementptr inbounds ptr, ptr %873, i64 8
  %875 = load ptr, ptr %874, align 8
  %876 = call noundef zeroext i1 %875(ptr noundef nonnull align 8 dereferenceable(192) %872, ptr noundef @.str.456)
  br i1 %876, label %891, label %877

877:                                              ; preds = %870
  %878 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %879 = load ptr, ptr %878, align 8, !tbaa !16
  %880 = load ptr, ptr %879, align 8, !tbaa !17
  %881 = getelementptr inbounds ptr, ptr %880, i64 8
  %882 = load ptr, ptr %881, align 8
  %883 = call noundef zeroext i1 %882(ptr noundef nonnull align 8 dereferenceable(192) %879, ptr noundef @.str.457)
  br i1 %883, label %891, label %884

884:                                              ; preds = %877
  %885 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %886 = load ptr, ptr %885, align 8, !tbaa !16
  %887 = load ptr, ptr %886, align 8, !tbaa !17
  %888 = getelementptr inbounds ptr, ptr %887, i64 8
  %889 = load ptr, ptr %888, align 8
  %890 = call noundef zeroext i1 %889(ptr noundef nonnull align 8 dereferenceable(192) %886, ptr noundef @.str.458)
  br i1 %890, label %891, label %894

891:                                              ; preds = %884, %877, %870, %863
  %892 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %893 = load i32, ptr %892, align 8, !tbaa !12
  store i32 %893, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

894:                                              ; preds = %884
  %895 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %895, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

896:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39
  %897 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %897, align 8, !tbaa !43
  %898 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %899 = load ptr, ptr %898, align 8, !tbaa !16
  %900 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %899, i32 0, i32 2
  %901 = load ptr, ptr %900, align 8, !tbaa !52
  %902 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %901)
  br i1 %902, label %924, label %903

903:                                              ; preds = %896
  %904 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %905 = load ptr, ptr %904, align 8, !tbaa !16
  %906 = load ptr, ptr %905, align 8, !tbaa !17
  %907 = getelementptr inbounds ptr, ptr %906, i64 8
  %908 = load ptr, ptr %907, align 8
  %909 = call noundef zeroext i1 %908(ptr noundef nonnull align 8 dereferenceable(192) %905, ptr noundef @.str.457)
  br i1 %909, label %924, label %910

910:                                              ; preds = %903
  %911 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %912 = load ptr, ptr %911, align 8, !tbaa !16
  %913 = load ptr, ptr %912, align 8, !tbaa !17
  %914 = getelementptr inbounds ptr, ptr %913, i64 8
  %915 = load ptr, ptr %914, align 8
  %916 = call noundef zeroext i1 %915(ptr noundef nonnull align 8 dereferenceable(192) %912, ptr noundef @.str.459)
  br i1 %916, label %924, label %917

917:                                              ; preds = %910
  %918 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %919 = load ptr, ptr %918, align 8, !tbaa !16
  %920 = load ptr, ptr %919, align 8, !tbaa !17
  %921 = getelementptr inbounds ptr, ptr %920, i64 8
  %922 = load ptr, ptr %921, align 8
  %923 = call noundef zeroext i1 %922(ptr noundef nonnull align 8 dereferenceable(192) %919, ptr noundef @.str.460)
  br i1 %923, label %924, label %927

924:                                              ; preds = %917, %910, %903, %896
  %925 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %926 = load i32, ptr %925, align 8, !tbaa !12
  store i32 %926, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

927:                                              ; preds = %917
  %928 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %928, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

929:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39
  %930 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %930, align 8, !tbaa !43
  %931 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %932 = load ptr, ptr %931, align 8, !tbaa !16
  %933 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %932, i32 0, i32 2
  %934 = load ptr, ptr %933, align 8, !tbaa !52
  %935 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %934)
  br i1 %935, label %964, label %936

936:                                              ; preds = %929
  %937 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %938 = load ptr, ptr %937, align 8, !tbaa !16
  %939 = load ptr, ptr %938, align 8, !tbaa !17
  %940 = getelementptr inbounds ptr, ptr %939, i64 8
  %941 = load ptr, ptr %940, align 8
  %942 = call noundef zeroext i1 %941(ptr noundef nonnull align 8 dereferenceable(192) %938, ptr noundef @.str.461)
  br i1 %942, label %964, label %943

943:                                              ; preds = %936
  %944 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %945 = load ptr, ptr %944, align 8, !tbaa !16
  %946 = load ptr, ptr %945, align 8, !tbaa !17
  %947 = getelementptr inbounds ptr, ptr %946, i64 8
  %948 = load ptr, ptr %947, align 8
  %949 = call noundef zeroext i1 %948(ptr noundef nonnull align 8 dereferenceable(192) %945, ptr noundef @.str.462)
  br i1 %949, label %964, label %950

950:                                              ; preds = %943
  %951 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %952 = load ptr, ptr %951, align 8, !tbaa !16
  %953 = load ptr, ptr %952, align 8, !tbaa !17
  %954 = getelementptr inbounds ptr, ptr %953, i64 8
  %955 = load ptr, ptr %954, align 8
  %956 = call noundef zeroext i1 %955(ptr noundef nonnull align 8 dereferenceable(192) %952, ptr noundef @.str.457)
  br i1 %956, label %964, label %957

957:                                              ; preds = %950
  %958 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %959 = load ptr, ptr %958, align 8, !tbaa !16
  %960 = load ptr, ptr %959, align 8, !tbaa !17
  %961 = getelementptr inbounds ptr, ptr %960, i64 8
  %962 = load ptr, ptr %961, align 8
  %963 = call noundef zeroext i1 %962(ptr noundef nonnull align 8 dereferenceable(192) %959, ptr noundef @.str.463)
  br i1 %963, label %964, label %967

964:                                              ; preds = %957, %950, %943, %936, %929
  %965 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %966 = load i32, ptr %965, align 8, !tbaa !12
  store i32 %966, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

967:                                              ; preds = %957
  %968 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %968, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

969:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39
  %970 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %970, align 8, !tbaa !43
  %971 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %972 = load ptr, ptr %971, align 8, !tbaa !16
  %973 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %972, i32 0, i32 2
  %974 = load ptr, ptr %973, align 8, !tbaa !52
  %975 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %974)
  br i1 %975, label %990, label %976

976:                                              ; preds = %969
  %977 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %978 = load ptr, ptr %977, align 8, !tbaa !16
  %979 = load ptr, ptr %978, align 8, !tbaa !17
  %980 = getelementptr inbounds ptr, ptr %979, i64 8
  %981 = load ptr, ptr %980, align 8
  %982 = call noundef zeroext i1 %981(ptr noundef nonnull align 8 dereferenceable(192) %978, ptr noundef @.str.457)
  br i1 %982, label %990, label %983

983:                                              ; preds = %976
  %984 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %985 = load ptr, ptr %984, align 8, !tbaa !16
  %986 = load ptr, ptr %985, align 8, !tbaa !17
  %987 = getelementptr inbounds ptr, ptr %986, i64 8
  %988 = load ptr, ptr %987, align 8
  %989 = call noundef zeroext i1 %988(ptr noundef nonnull align 8 dereferenceable(192) %985, ptr noundef @.str.464)
  br i1 %989, label %990, label %993

990:                                              ; preds = %983, %976, %969
  %991 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %992 = load i32, ptr %991, align 8, !tbaa !12
  store i32 %992, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

993:                                              ; preds = %983
  %994 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %994, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

995:                                              ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %996 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %996, align 8, !tbaa !43
  %997 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %998 = load ptr, ptr %997, align 8, !tbaa !16
  %999 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %998, i32 0, i32 2
  %1000 = load ptr, ptr %999, align 8, !tbaa !52
  %1001 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1000)
  br i1 %1001, label %1016, label %1002

1002:                                             ; preds = %995
  %1003 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1004 = load ptr, ptr %1003, align 8, !tbaa !16
  %1005 = load ptr, ptr %1004, align 8, !tbaa !17
  %1006 = getelementptr inbounds ptr, ptr %1005, i64 8
  %1007 = load ptr, ptr %1006, align 8
  %1008 = call noundef zeroext i1 %1007(ptr noundef nonnull align 8 dereferenceable(192) %1004, ptr noundef @.str.457)
  br i1 %1008, label %1016, label %1009

1009:                                             ; preds = %1002
  %1010 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1011 = load ptr, ptr %1010, align 8, !tbaa !16
  %1012 = load ptr, ptr %1011, align 8, !tbaa !17
  %1013 = getelementptr inbounds ptr, ptr %1012, i64 8
  %1014 = load ptr, ptr %1013, align 8
  %1015 = call noundef zeroext i1 %1014(ptr noundef nonnull align 8 dereferenceable(192) %1011, ptr noundef @.str.465)
  br i1 %1015, label %1016, label %1019

1016:                                             ; preds = %1009, %1002, %995
  %1017 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1018 = load i32, ptr %1017, align 8, !tbaa !12
  store i32 %1018, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1019:                                             ; preds = %1009
  %1020 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1020, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1021:                                             ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %1022 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1022, align 8, !tbaa !43
  %1023 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1024 = load ptr, ptr %1023, align 8, !tbaa !16
  %1025 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1024, i32 0, i32 2
  %1026 = load ptr, ptr %1025, align 8, !tbaa !52
  %1027 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1026)
  br i1 %1027, label %1042, label %1028

1028:                                             ; preds = %1021
  %1029 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1030 = load ptr, ptr %1029, align 8, !tbaa !16
  %1031 = load ptr, ptr %1030, align 8, !tbaa !17
  %1032 = getelementptr inbounds ptr, ptr %1031, i64 8
  %1033 = load ptr, ptr %1032, align 8
  %1034 = call noundef zeroext i1 %1033(ptr noundef nonnull align 8 dereferenceable(192) %1030, ptr noundef @.str.457)
  br i1 %1034, label %1042, label %1035

1035:                                             ; preds = %1028
  %1036 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1037 = load ptr, ptr %1036, align 8, !tbaa !16
  %1038 = load ptr, ptr %1037, align 8, !tbaa !17
  %1039 = getelementptr inbounds ptr, ptr %1038, i64 8
  %1040 = load ptr, ptr %1039, align 8
  %1041 = call noundef zeroext i1 %1040(ptr noundef nonnull align 8 dereferenceable(192) %1037, ptr noundef @.str.466)
  br i1 %1041, label %1042, label %1045

1042:                                             ; preds = %1035, %1028, %1021
  %1043 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1044 = load i32, ptr %1043, align 8, !tbaa !12
  store i32 %1044, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1045:                                             ; preds = %1035
  %1046 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1046, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1047:                                             ; preds = %39, %39, %39, %39
  %1048 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1048, align 8, !tbaa !43
  %1049 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1050 = load ptr, ptr %1049, align 8, !tbaa !16
  %1051 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1050, i32 0, i32 2
  %1052 = load ptr, ptr %1051, align 8, !tbaa !52
  %1053 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1052)
  br i1 %1053, label %1082, label %1054

1054:                                             ; preds = %1047
  %1055 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1056 = load ptr, ptr %1055, align 8, !tbaa !16
  %1057 = load ptr, ptr %1056, align 8, !tbaa !17
  %1058 = getelementptr inbounds ptr, ptr %1057, i64 8
  %1059 = load ptr, ptr %1058, align 8
  %1060 = call noundef zeroext i1 %1059(ptr noundef nonnull align 8 dereferenceable(192) %1056, ptr noundef @.str.467)
  br i1 %1060, label %1082, label %1061

1061:                                             ; preds = %1054
  %1062 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1063 = load ptr, ptr %1062, align 8, !tbaa !16
  %1064 = load ptr, ptr %1063, align 8, !tbaa !17
  %1065 = getelementptr inbounds ptr, ptr %1064, i64 8
  %1066 = load ptr, ptr %1065, align 8
  %1067 = call noundef zeroext i1 %1066(ptr noundef nonnull align 8 dereferenceable(192) %1063, ptr noundef @.str.462)
  br i1 %1067, label %1082, label %1068

1068:                                             ; preds = %1061
  %1069 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1070 = load ptr, ptr %1069, align 8, !tbaa !16
  %1071 = load ptr, ptr %1070, align 8, !tbaa !17
  %1072 = getelementptr inbounds ptr, ptr %1071, i64 8
  %1073 = load ptr, ptr %1072, align 8
  %1074 = call noundef zeroext i1 %1073(ptr noundef nonnull align 8 dereferenceable(192) %1070, ptr noundef @.str.457)
  br i1 %1074, label %1082, label %1075

1075:                                             ; preds = %1068
  %1076 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1077 = load ptr, ptr %1076, align 8, !tbaa !16
  %1078 = load ptr, ptr %1077, align 8, !tbaa !17
  %1079 = getelementptr inbounds ptr, ptr %1078, i64 8
  %1080 = load ptr, ptr %1079, align 8
  %1081 = call noundef zeroext i1 %1080(ptr noundef nonnull align 8 dereferenceable(192) %1077, ptr noundef @.str.468)
  br i1 %1081, label %1082, label %1085

1082:                                             ; preds = %1075, %1068, %1061, %1054, %1047
  %1083 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1084 = load i32, ptr %1083, align 8, !tbaa !12
  store i32 %1084, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1085:                                             ; preds = %1075
  %1086 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1086, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1087:                                             ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %1088 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1088, align 8, !tbaa !43
  %1089 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1090 = load ptr, ptr %1089, align 8, !tbaa !16
  %1091 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1090, i32 0, i32 2
  %1092 = load ptr, ptr %1091, align 8, !tbaa !52
  %1093 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1092)
  br i1 %1093, label %1115, label %1094

1094:                                             ; preds = %1087
  %1095 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1096 = load ptr, ptr %1095, align 8, !tbaa !16
  %1097 = load ptr, ptr %1096, align 8, !tbaa !17
  %1098 = getelementptr inbounds ptr, ptr %1097, i64 8
  %1099 = load ptr, ptr %1098, align 8
  %1100 = call noundef zeroext i1 %1099(ptr noundef nonnull align 8 dereferenceable(192) %1096, ptr noundef @.str.467)
  br i1 %1100, label %1115, label %1101

1101:                                             ; preds = %1094
  %1102 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1103 = load ptr, ptr %1102, align 8, !tbaa !16
  %1104 = load ptr, ptr %1103, align 8, !tbaa !17
  %1105 = getelementptr inbounds ptr, ptr %1104, i64 8
  %1106 = load ptr, ptr %1105, align 8
  %1107 = call noundef zeroext i1 %1106(ptr noundef nonnull align 8 dereferenceable(192) %1103, ptr noundef @.str.457)
  br i1 %1107, label %1115, label %1108

1108:                                             ; preds = %1101
  %1109 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1110 = load ptr, ptr %1109, align 8, !tbaa !16
  %1111 = load ptr, ptr %1110, align 8, !tbaa !17
  %1112 = getelementptr inbounds ptr, ptr %1111, i64 8
  %1113 = load ptr, ptr %1112, align 8
  %1114 = call noundef zeroext i1 %1113(ptr noundef nonnull align 8 dereferenceable(192) %1110, ptr noundef @.str.468)
  br i1 %1114, label %1115, label %1118

1115:                                             ; preds = %1108, %1101, %1094, %1087
  %1116 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1117 = load i32, ptr %1116, align 8, !tbaa !12
  store i32 %1117, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1118:                                             ; preds = %1108
  %1119 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1119, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1120:                                             ; preds = %39, %39, %39, %39
  %1121 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1121, align 8, !tbaa !43
  %1122 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1123 = load ptr, ptr %1122, align 8, !tbaa !16
  %1124 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1123)
  br i1 %1124, label %1125, label %1131

1125:                                             ; preds = %1120
  %1126 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1127 = load ptr, ptr %1126, align 8, !tbaa !16
  %1128 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1127, i32 0, i32 4
  %1129 = load i32, ptr %1128, align 8, !tbaa !20
  %1130 = icmp sge i32 %1129, 320
  br i1 %1130, label %1138, label %1131

1131:                                             ; preds = %1125, %1120
  %1132 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1133 = load ptr, ptr %1132, align 8, !tbaa !16
  %1134 = load ptr, ptr %1133, align 8, !tbaa !17
  %1135 = getelementptr inbounds ptr, ptr %1134, i64 9
  %1136 = load ptr, ptr %1135, align 8
  %1137 = call noundef zeroext i1 %1136(ptr noundef nonnull align 8 dereferenceable(192) %1133, i32 noundef 2, ptr noundef @_ZN7glslangL26AEP_texture_cube_map_arrayE)
  br i1 %1137, label %1138, label %1141

1138:                                             ; preds = %1131, %1125
  %1139 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1140 = load i32, ptr %1139, align 8, !tbaa !12
  store i32 %1140, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1141:                                             ; preds = %1131
  %1142 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1143 = load ptr, ptr %1142, align 8, !tbaa !16
  %1144 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1143)
  br i1 %1144, label %1158, label %1145

1145:                                             ; preds = %1141
  %1146 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1147 = load ptr, ptr %1146, align 8, !tbaa !16
  %1148 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1147, i32 0, i32 4
  %1149 = load i32, ptr %1148, align 8, !tbaa !20
  %1150 = icmp slt i32 %1149, 400
  br i1 %1150, label %1151, label %1160

1151:                                             ; preds = %1145
  %1152 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1153 = load ptr, ptr %1152, align 8, !tbaa !16
  %1154 = load ptr, ptr %1153, align 8, !tbaa !17
  %1155 = getelementptr inbounds ptr, ptr %1154, i64 8
  %1156 = load ptr, ptr %1155, align 8
  %1157 = call noundef zeroext i1 %1156(ptr noundef nonnull align 8 dereferenceable(192) %1153, ptr noundef @.str.469)
  br i1 %1157, label %1160, label %1158

1158:                                             ; preds = %1151, %1141
  %1159 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %1160

1160:                                             ; preds = %1158, %1151, %1145
  %1161 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1162 = load i32, ptr %1161, align 8, !tbaa !12
  store i32 %1162, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1163:                                             ; preds = %39, %39, %39
  %1164 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1165 = load ptr, ptr %1164, align 8, !tbaa !16
  %1166 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1165, i32 0, i32 6
  %1167 = getelementptr inbounds %"struct.glslang::SpvVersion", ptr %1166, i32 0, i32 2
  %1168 = load i32, ptr %1167, align 8, !tbaa !103
  %1169 = icmp sgt i32 %1168, 0
  br i1 %1169, label %1170, label %1173

1170:                                             ; preds = %1163
  %1171 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1172 = load i32, ptr %1171, align 8, !tbaa !12
  store i32 %1172, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1173:                                             ; preds = %1163
  %1174 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1174, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1175:                                             ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %1176 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1176, align 8, !tbaa !43
  %1177 = call noundef i32 @_ZN7glslang12TScanContext18nonreservedKeywordEii(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 300, i32 noundef 130)
  store i32 %1177, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1178:                                             ; preds = %39
  %1179 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1179, align 8, !tbaa !43
  %1180 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1181 = load ptr, ptr %1180, align 8, !tbaa !16
  %1182 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1181)
  br i1 %1182, label %1183, label %1199

1183:                                             ; preds = %1178
  %1184 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1185 = load ptr, ptr %1184, align 8, !tbaa !16
  %1186 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1185, i32 0, i32 4
  %1187 = load i32, ptr %1186, align 8, !tbaa !20
  %1188 = icmp slt i32 %1187, 300
  br i1 %1188, label %1189, label %1199

1189:                                             ; preds = %1183
  %1190 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1191 = load ptr, ptr %1190, align 8, !tbaa !16
  %1192 = load ptr, ptr %1191, align 8, !tbaa !17
  %1193 = getelementptr inbounds ptr, ptr %1192, i64 8
  %1194 = load ptr, ptr %1193, align 8
  %1195 = call noundef zeroext i1 %1194(ptr noundef nonnull align 8 dereferenceable(192) %1191, ptr noundef @.str.470)
  br i1 %1195, label %1198, label %1196

1196:                                             ; preds = %1189
  %1197 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %1198

1198:                                             ; preds = %1196, %1189
  br label %1199

1199:                                             ; preds = %1198, %1183, %1178
  %1200 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1201 = load i32, ptr %1200, align 8, !tbaa !12
  store i32 %1201, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1202:                                             ; preds = %39
  %1203 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1203, align 8, !tbaa !43
  %1204 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1205 = load ptr, ptr %1204, align 8, !tbaa !16
  %1206 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1205)
  br i1 %1206, label %1207, label %1223

1207:                                             ; preds = %1202
  %1208 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1209 = load ptr, ptr %1208, align 8, !tbaa !16
  %1210 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1209, i32 0, i32 4
  %1211 = load i32, ptr %1210, align 8, !tbaa !20
  %1212 = icmp slt i32 %1211, 300
  br i1 %1212, label %1213, label %1223

1213:                                             ; preds = %1207
  %1214 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1215 = load ptr, ptr %1214, align 8, !tbaa !16
  %1216 = load ptr, ptr %1215, align 8, !tbaa !17
  %1217 = getelementptr inbounds ptr, ptr %1216, i64 8
  %1218 = load ptr, ptr %1217, align 8
  %1219 = call noundef zeroext i1 %1218(ptr noundef nonnull align 8 dereferenceable(192) %1215, ptr noundef @.str.471)
  br i1 %1219, label %1222, label %1220

1220:                                             ; preds = %1213
  %1221 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %1222

1222:                                             ; preds = %1220, %1213
  br label %1223

1223:                                             ; preds = %1222, %1207, %1202
  %1224 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1225 = load i32, ptr %1224, align 8, !tbaa !12
  store i32 %1225, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1226:                                             ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %1227 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1228 = load ptr, ptr %1227, align 8, !tbaa !16
  %1229 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1228, i32 0, i32 6
  %1230 = getelementptr inbounds %"struct.glslang::SpvVersion", ptr %1229, i32 0, i32 2
  %1231 = load i32, ptr %1230, align 8, !tbaa !103
  %1232 = icmp sgt i32 %1231, 0
  br i1 %1232, label %1233, label %1236

1233:                                             ; preds = %1226
  %1234 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1235 = load i32, ptr %1234, align 8, !tbaa !12
  store i32 %1235, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1236:                                             ; preds = %1226
  %1237 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1237, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1238:                                             ; preds = %39, %39, %39, %39, %39
  %1239 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1239, align 8, !tbaa !43
  %1240 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 130)
  store i32 %1240, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1241:                                             ; preds = %39, %39
  %1242 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1242, align 8, !tbaa !43
  %1243 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 140)
  store i32 %1243, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1244:                                             ; preds = %39
  %1245 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1245, align 8, !tbaa !43
  %1246 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1247 = load ptr, ptr %1246, align 8, !tbaa !16
  %1248 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1247)
  br i1 %1248, label %1249, label %1255

1249:                                             ; preds = %1244
  %1250 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1251 = load ptr, ptr %1250, align 8, !tbaa !16
  %1252 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1251, i32 0, i32 4
  %1253 = load i32, ptr %1252, align 8, !tbaa !20
  %1254 = icmp sge i32 %1253, 320
  br i1 %1254, label %1262, label %1255

1255:                                             ; preds = %1249, %1244
  %1256 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1257 = load ptr, ptr %1256, align 8, !tbaa !16
  %1258 = load ptr, ptr %1257, align 8, !tbaa !17
  %1259 = getelementptr inbounds ptr, ptr %1258, i64 9
  %1260 = load ptr, ptr %1259, align 8
  %1261 = call noundef zeroext i1 %1260(ptr noundef nonnull align 8 dereferenceable(192) %1257, i32 noundef 2, ptr noundef @_ZN7glslangL18AEP_texture_bufferE)
  br i1 %1261, label %1262, label %1265

1262:                                             ; preds = %1255, %1249
  %1263 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1264 = load i32, ptr %1263, align 8, !tbaa !12
  store i32 %1264, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1265:                                             ; preds = %1255
  %1266 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 130)
  store i32 %1266, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1267:                                             ; preds = %39, %39
  %1268 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1268, align 8, !tbaa !43
  %1269 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1270 = load ptr, ptr %1269, align 8, !tbaa !16
  %1271 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1270)
  br i1 %1271, label %1272, label %1278

1272:                                             ; preds = %1267
  %1273 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1274 = load ptr, ptr %1273, align 8, !tbaa !16
  %1275 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1274, i32 0, i32 4
  %1276 = load i32, ptr %1275, align 8, !tbaa !20
  %1277 = icmp sge i32 %1276, 320
  br i1 %1277, label %1285, label %1278

1278:                                             ; preds = %1272, %1267
  %1279 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1280 = load ptr, ptr %1279, align 8, !tbaa !16
  %1281 = load ptr, ptr %1280, align 8, !tbaa !17
  %1282 = getelementptr inbounds ptr, ptr %1281, i64 9
  %1283 = load ptr, ptr %1282, align 8
  %1284 = call noundef zeroext i1 %1283(ptr noundef nonnull align 8 dereferenceable(192) %1280, i32 noundef 2, ptr noundef @_ZN7glslangL18AEP_texture_bufferE)
  br i1 %1284, label %1285, label %1288

1285:                                             ; preds = %1278, %1272
  %1286 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1287 = load i32, ptr %1286, align 8, !tbaa !12
  store i32 %1287, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1288:                                             ; preds = %1278
  %1289 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 140)
  store i32 %1289, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1290:                                             ; preds = %39, %39, %39
  %1291 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1291, align 8, !tbaa !43
  %1292 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1293 = load ptr, ptr %1292, align 8, !tbaa !16
  %1294 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1293)
  br i1 %1294, label %1295, label %1304

1295:                                             ; preds = %1290
  %1296 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1297 = load ptr, ptr %1296, align 8, !tbaa !16
  %1298 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1297, i32 0, i32 4
  %1299 = load i32, ptr %1298, align 8, !tbaa !20
  %1300 = icmp sge i32 %1299, 310
  br i1 %1300, label %1301, label %1304

1301:                                             ; preds = %1295
  %1302 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1303 = load i32, ptr %1302, align 8, !tbaa !12
  store i32 %1303, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1304:                                             ; preds = %1295, %1290
  %1305 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1306 = load ptr, ptr %1305, align 8, !tbaa !16
  %1307 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1306)
  br i1 %1307, label %1330, label %1308

1308:                                             ; preds = %1304
  %1309 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1310 = load ptr, ptr %1309, align 8, !tbaa !16
  %1311 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1310, i32 0, i32 4
  %1312 = load i32, ptr %1311, align 8, !tbaa !20
  %1313 = icmp sgt i32 %1312, 140
  br i1 %1313, label %1327, label %1314

1314:                                             ; preds = %1308
  %1315 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1316 = load ptr, ptr %1315, align 8, !tbaa !16
  %1317 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1316, i32 0, i32 4
  %1318 = load i32, ptr %1317, align 8, !tbaa !20
  %1319 = icmp eq i32 %1318, 140
  br i1 %1319, label %1320, label %1330

1320:                                             ; preds = %1314
  %1321 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1322 = load ptr, ptr %1321, align 8, !tbaa !16
  %1323 = load ptr, ptr %1322, align 8, !tbaa !17
  %1324 = getelementptr inbounds ptr, ptr %1323, i64 9
  %1325 = load ptr, ptr %1324, align 8
  %1326 = call noundef zeroext i1 %1325(ptr noundef nonnull align 8 dereferenceable(192) %1322, i32 noundef 1, ptr noundef @_ZN7glslangL28E_GL_ARB_texture_multisampleE)
  br i1 %1326, label %1327, label %1330

1327:                                             ; preds = %1320, %1308
  %1328 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1329 = load i32, ptr %1328, align 8, !tbaa !12
  store i32 %1329, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1330:                                             ; preds = %1320, %1314, %1304
  %1331 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 150)
  store i32 %1331, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1332:                                             ; preds = %39, %39, %39
  %1333 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1333, align 8, !tbaa !43
  %1334 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1335 = load ptr, ptr %1334, align 8, !tbaa !16
  %1336 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1335)
  br i1 %1336, label %1337, label %1343

1337:                                             ; preds = %1332
  %1338 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1339 = load ptr, ptr %1338, align 8, !tbaa !16
  %1340 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1339, i32 0, i32 4
  %1341 = load i32, ptr %1340, align 8, !tbaa !20
  %1342 = icmp sge i32 %1341, 320
  br i1 %1342, label %1350, label %1343

1343:                                             ; preds = %1337, %1332
  %1344 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1345 = load ptr, ptr %1344, align 8, !tbaa !16
  %1346 = load ptr, ptr %1345, align 8, !tbaa !17
  %1347 = getelementptr inbounds ptr, ptr %1346, i64 9
  %1348 = load ptr, ptr %1347, align 8
  %1349 = call noundef zeroext i1 %1348(ptr noundef nonnull align 8 dereferenceable(192) %1345, i32 noundef 1, ptr noundef @_ZN7glslangL45E_GL_OES_texture_storage_multisample_2d_arrayE)
  br i1 %1349, label %1350, label %1353

1350:                                             ; preds = %1343, %1337
  %1351 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1352 = load i32, ptr %1351, align 8, !tbaa !12
  store i32 %1352, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1353:                                             ; preds = %1343
  %1354 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1355 = load ptr, ptr %1354, align 8, !tbaa !16
  %1356 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1355)
  br i1 %1356, label %1379, label %1357

1357:                                             ; preds = %1353
  %1358 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1359 = load ptr, ptr %1358, align 8, !tbaa !16
  %1360 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1359, i32 0, i32 4
  %1361 = load i32, ptr %1360, align 8, !tbaa !20
  %1362 = icmp sgt i32 %1361, 140
  br i1 %1362, label %1376, label %1363

1363:                                             ; preds = %1357
  %1364 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1365 = load ptr, ptr %1364, align 8, !tbaa !16
  %1366 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1365, i32 0, i32 4
  %1367 = load i32, ptr %1366, align 8, !tbaa !20
  %1368 = icmp eq i32 %1367, 140
  br i1 %1368, label %1369, label %1379

1369:                                             ; preds = %1363
  %1370 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1371 = load ptr, ptr %1370, align 8, !tbaa !16
  %1372 = load ptr, ptr %1371, align 8, !tbaa !17
  %1373 = getelementptr inbounds ptr, ptr %1372, i64 9
  %1374 = load ptr, ptr %1373, align 8
  %1375 = call noundef zeroext i1 %1374(ptr noundef nonnull align 8 dereferenceable(192) %1371, i32 noundef 1, ptr noundef @_ZN7glslangL28E_GL_ARB_texture_multisampleE)
  br i1 %1375, label %1376, label %1379

1376:                                             ; preds = %1369, %1357
  %1377 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1378 = load i32, ptr %1377, align 8, !tbaa !12
  store i32 %1378, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1379:                                             ; preds = %1369, %1363, %1353
  %1380 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %13, i32 noundef 150)
  store i32 %1380, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1381:                                             ; preds = %39, %39
  %1382 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1382, align 8, !tbaa !43
  %1383 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1384 = load ptr, ptr %1383, align 8, !tbaa !16
  %1385 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1384)
  br i1 %1385, label %1386, label %1388

1386:                                             ; preds = %1381
  %1387 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %1388

1388:                                             ; preds = %1386, %1381
  %1389 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1390 = load i32, ptr %1389, align 8, !tbaa !12
  store i32 %1390, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1391:                                             ; preds = %39, %39
  %1392 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1392, align 8, !tbaa !43
  %1393 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1394 = load ptr, ptr %1393, align 8, !tbaa !16
  %1395 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1394)
  br i1 %1395, label %1396, label %1398

1396:                                             ; preds = %1391
  %1397 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %1432

1398:                                             ; preds = %1391
  %1399 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1400 = load ptr, ptr %1399, align 8, !tbaa !16
  %1401 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1400, i32 0, i32 4
  %1402 = load i32, ptr %1401, align 8, !tbaa !20
  %1403 = icmp slt i32 %1402, 140
  br i1 %1403, label %1404, label %1431

1404:                                             ; preds = %1398
  %1405 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1406 = load ptr, ptr %1405, align 8, !tbaa !16
  %1407 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1406, i32 0, i32 2
  %1408 = load ptr, ptr %1407, align 8, !tbaa !52
  %1409 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1408)
  br i1 %1409, label %1431, label %1410

1410:                                             ; preds = %1404
  %1411 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1412 = load ptr, ptr %1411, align 8, !tbaa !16
  %1413 = load ptr, ptr %1412, align 8, !tbaa !17
  %1414 = getelementptr inbounds ptr, ptr %1413, i64 8
  %1415 = load ptr, ptr %1414, align 8
  %1416 = call noundef zeroext i1 %1415(ptr noundef nonnull align 8 dereferenceable(192) %1412, ptr noundef @.str.472)
  br i1 %1416, label %1431, label %1417

1417:                                             ; preds = %1410
  %1418 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1419 = load ptr, ptr %1418, align 8, !tbaa !16
  %1420 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions13relaxedErrorsEv(ptr noundef nonnull align 8 dereferenceable(192) %1419)
  br i1 %1420, label %1421, label %1428

1421:                                             ; preds = %1417
  %1422 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1423 = load ptr, ptr %1422, align 8, !tbaa !16
  %1424 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 7
  %1425 = load ptr, ptr %1423, align 8, !tbaa !17
  %1426 = getelementptr inbounds ptr, ptr %1425, i64 5
  %1427 = load ptr, ptr %1426, align 8
  call void %1427(ptr noundef nonnull align 8 dereferenceable(192) %1423, ptr noundef nonnull align 8 dereferenceable(24) %1424, i32 noundef 1, ptr noundef @_ZN7glslangL26E_GL_ARB_texture_rectangleE, ptr noundef @.str.473)
  br label %1430

1428:                                             ; preds = %1417
  %1429 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %1430

1430:                                             ; preds = %1428, %1421
  br label %1431

1431:                                             ; preds = %1430, %1410, %1404, %1398
  br label %1432

1432:                                             ; preds = %1431, %1396
  %1433 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1434 = load i32, ptr %1433, align 8, !tbaa !12
  store i32 %1434, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1435:                                             ; preds = %39
  %1436 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1436, align 8, !tbaa !43
  %1437 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1438 = load ptr, ptr %1437, align 8, !tbaa !16
  %1439 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1438)
  br i1 %1439, label %1440, label %1448

1440:                                             ; preds = %1435
  %1441 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1442 = load ptr, ptr %1441, align 8, !tbaa !16
  %1443 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1442, i32 0, i32 4
  %1444 = load i32, ptr %1443, align 8, !tbaa !20
  %1445 = icmp eq i32 %1444, 300
  br i1 %1445, label %1446, label %1448

1446:                                             ; preds = %1440
  %1447 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  br label %1471

1448:                                             ; preds = %1440, %1435
  %1449 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1450 = load ptr, ptr %1449, align 8, !tbaa !16
  %1451 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1450)
  br i1 %1451, label %1452, label %1458

1452:                                             ; preds = %1448
  %1453 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1454 = load ptr, ptr %1453, align 8, !tbaa !16
  %1455 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1454, i32 0, i32 4
  %1456 = load i32, ptr %1455, align 8, !tbaa !20
  %1457 = icmp slt i32 %1456, 300
  br i1 %1457, label %1468, label %1458

1458:                                             ; preds = %1452, %1448
  %1459 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1460 = load ptr, ptr %1459, align 8, !tbaa !16
  %1461 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1460)
  br i1 %1461, label %1470, label %1462

1462:                                             ; preds = %1458
  %1463 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1464 = load ptr, ptr %1463, align 8, !tbaa !16
  %1465 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1464, i32 0, i32 4
  %1466 = load i32, ptr %1465, align 8, !tbaa !20
  %1467 = icmp slt i32 %1466, 130
  br i1 %1467, label %1468, label %1470

1468:                                             ; preds = %1462, %1452
  %1469 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1469, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1470:                                             ; preds = %1462, %1458
  br label %1471

1471:                                             ; preds = %1470, %1446
  %1472 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1473 = load i32, ptr %1472, align 8, !tbaa !12
  store i32 %1473, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1474:                                             ; preds = %39
  %1475 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1475, align 8, !tbaa !43
  %1476 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1477 = load ptr, ptr %1476, align 8, !tbaa !16
  %1478 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1477, i32 0, i32 2
  %1479 = load ptr, ptr %1478, align 8, !tbaa !52
  %1480 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1479)
  br i1 %1480, label %1495, label %1481

1481:                                             ; preds = %1474
  %1482 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1483 = load ptr, ptr %1482, align 8, !tbaa !16
  %1484 = load ptr, ptr %1483, align 8, !tbaa !17
  %1485 = getelementptr inbounds ptr, ptr %1484, i64 8
  %1486 = load ptr, ptr %1485, align 8
  %1487 = call noundef zeroext i1 %1486(ptr noundef nonnull align 8 dereferenceable(192) %1483, ptr noundef @.str.474)
  br i1 %1487, label %1495, label %1488

1488:                                             ; preds = %1481
  %1489 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1490 = load ptr, ptr %1489, align 8, !tbaa !16
  %1491 = load ptr, ptr %1490, align 8, !tbaa !17
  %1492 = getelementptr inbounds ptr, ptr %1491, i64 8
  %1493 = load ptr, ptr %1492, align 8
  %1494 = call noundef zeroext i1 %1493(ptr noundef nonnull align 8 dereferenceable(192) %1490, ptr noundef @.str.475)
  br i1 %1494, label %1495, label %1498

1495:                                             ; preds = %1488, %1481, %1474
  %1496 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1497 = load i32, ptr %1496, align 8, !tbaa !12
  store i32 %1497, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1498:                                             ; preds = %1488
  %1499 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1499, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1500:                                             ; preds = %39
  %1501 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1501, align 8, !tbaa !43
  %1502 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1503 = load ptr, ptr %1502, align 8, !tbaa !16
  %1504 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1503, i32 0, i32 2
  %1505 = load ptr, ptr %1504, align 8, !tbaa !52
  %1506 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1505)
  br i1 %1506, label %1514, label %1507

1507:                                             ; preds = %1500
  %1508 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1509 = load ptr, ptr %1508, align 8, !tbaa !16
  %1510 = load ptr, ptr %1509, align 8, !tbaa !17
  %1511 = getelementptr inbounds ptr, ptr %1510, i64 8
  %1512 = load ptr, ptr %1511, align 8
  %1513 = call noundef zeroext i1 %1512(ptr noundef nonnull align 8 dereferenceable(192) %1509, ptr noundef @.str.476)
  br i1 %1513, label %1514, label %1517

1514:                                             ; preds = %1507, %1500
  %1515 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1516 = load i32, ptr %1515, align 8, !tbaa !12
  store i32 %1516, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1517:                                             ; preds = %1507
  %1518 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1518, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1519:                                             ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %1520 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1521 = load ptr, ptr %1520, align 8, !tbaa !16
  %1522 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1521, i32 0, i32 6
  %1523 = getelementptr inbounds %"struct.glslang::SpvVersion", ptr %1522, i32 0, i32 2
  %1524 = load i32, ptr %1523, align 8, !tbaa !103
  %1525 = icmp sgt i32 %1524, 0
  br i1 %1525, label %1526, label %1529

1526:                                             ; preds = %1519
  %1527 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1528 = load i32, ptr %1527, align 8, !tbaa !12
  store i32 %1528, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1529:                                             ; preds = %1519
  %1530 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1530, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1531:                                             ; preds = %39, %39, %39, %39, %39, %39
  %1532 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1533 = load ptr, ptr %1532, align 8, !tbaa !16
  %1534 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1533, i32 0, i32 6
  %1535 = getelementptr inbounds %"struct.glslang::SpvVersion", ptr %1534, i32 0, i32 2
  %1536 = load i32, ptr %1535, align 8, !tbaa !103
  %1537 = icmp sgt i32 %1536, 0
  br i1 %1537, label %1538, label %1541

1538:                                             ; preds = %1531
  %1539 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1540 = load i32, ptr %1539, align 8, !tbaa !12
  store i32 %1540, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1541:                                             ; preds = %1531
  %1542 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1542, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1543:                                             ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %1544 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1544, align 8, !tbaa !43
  %1545 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1546 = load ptr, ptr %1545, align 8, !tbaa !16
  %1547 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1546, i32 0, i32 2
  %1548 = load ptr, ptr %1547, align 8, !tbaa !52
  %1549 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1548)
  br i1 %1549, label %1557, label %1550

1550:                                             ; preds = %1543
  %1551 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1552 = load ptr, ptr %1551, align 8, !tbaa !16
  %1553 = load ptr, ptr %1552, align 8, !tbaa !17
  %1554 = getelementptr inbounds ptr, ptr %1553, i64 8
  %1555 = load ptr, ptr %1554, align 8
  %1556 = call noundef zeroext i1 %1555(ptr noundef nonnull align 8 dereferenceable(192) %1552, ptr noundef @.str.477)
  br i1 %1556, label %1557, label %1560

1557:                                             ; preds = %1550, %1543
  %1558 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1559 = load i32, ptr %1558, align 8, !tbaa !12
  store i32 %1559, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1560:                                             ; preds = %1550
  %1561 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1561, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1562:                                             ; preds = %39
  %1563 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1564 = load ptr, ptr %1563, align 8, !tbaa !16
  %1565 = load ptr, ptr %1564, align 8, !tbaa !17
  %1566 = getelementptr inbounds ptr, ptr %1565, i64 8
  %1567 = load ptr, ptr %1566, align 8
  %1568 = call noundef zeroext i1 %1567(ptr noundef nonnull align 8 dereferenceable(192) %1564, ptr noundef @.str.478)
  br i1 %1568, label %1569, label %1572

1569:                                             ; preds = %1562
  %1570 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1571 = load i32, ptr %1570, align 8, !tbaa !12
  store i32 %1571, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1572:                                             ; preds = %1562
  %1573 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1573, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1574:                                             ; preds = %39
  %1575 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1576 = load ptr, ptr %1575, align 8, !tbaa !16
  %1577 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1576)
  br i1 %1577, label %1584, label %1578

1578:                                             ; preds = %1574
  %1579 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1580 = load ptr, ptr %1579, align 8, !tbaa !16
  %1581 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1580, i32 0, i32 4
  %1582 = load i32, ptr %1581, align 8, !tbaa !20
  %1583 = icmp sge i32 %1582, 450
  br i1 %1583, label %1591, label %1584

1584:                                             ; preds = %1578, %1574
  %1585 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1586 = load ptr, ptr %1585, align 8, !tbaa !16
  %1587 = load ptr, ptr %1586, align 8, !tbaa !17
  %1588 = getelementptr inbounds ptr, ptr %1587, i64 8
  %1589 = load ptr, ptr %1588, align 8
  %1590 = call noundef zeroext i1 %1589(ptr noundef nonnull align 8 dereferenceable(192) %1586, ptr noundef @.str.479)
  br i1 %1590, label %1591, label %1594

1591:                                             ; preds = %1584, %1578
  %1592 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1593 = load i32, ptr %1592, align 8, !tbaa !12
  store i32 %1593, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1594:                                             ; preds = %1584
  %1595 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1595, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1596:                                             ; preds = %39
  %1597 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1598 = load ptr, ptr %1597, align 8, !tbaa !16
  %1599 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1598)
  br i1 %1599, label %1606, label %1600

1600:                                             ; preds = %1596
  %1601 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1602 = load ptr, ptr %1601, align 8, !tbaa !16
  %1603 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1602, i32 0, i32 4
  %1604 = load i32, ptr %1603, align 8, !tbaa !20
  %1605 = icmp sge i32 %1604, 450
  br i1 %1605, label %1613, label %1606

1606:                                             ; preds = %1600, %1596
  %1607 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1608 = load ptr, ptr %1607, align 8, !tbaa !16
  %1609 = load ptr, ptr %1608, align 8, !tbaa !17
  %1610 = getelementptr inbounds ptr, ptr %1609, i64 8
  %1611 = load ptr, ptr %1610, align 8
  %1612 = call noundef zeroext i1 %1611(ptr noundef nonnull align 8 dereferenceable(192) %1608, ptr noundef @.str.480)
  br i1 %1612, label %1613, label %1616

1613:                                             ; preds = %1606, %1600
  %1614 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1615 = load i32, ptr %1614, align 8, !tbaa !12
  store i32 %1615, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1616:                                             ; preds = %1606
  %1617 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1617, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1618:                                             ; preds = %39
  %1619 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1620 = load ptr, ptr %1619, align 8, !tbaa !16
  %1621 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1620)
  br i1 %1621, label %1622, label %1635

1622:                                             ; preds = %1618
  %1623 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1624 = load ptr, ptr %1623, align 8, !tbaa !16
  %1625 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1624, i32 0, i32 4
  %1626 = load i32, ptr %1625, align 8, !tbaa !20
  %1627 = icmp sge i32 %1626, 320
  br i1 %1627, label %1645, label %1628

1628:                                             ; preds = %1622
  %1629 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1630 = load ptr, ptr %1629, align 8, !tbaa !16
  %1631 = load ptr, ptr %1630, align 8, !tbaa !17
  %1632 = getelementptr inbounds ptr, ptr %1631, i64 9
  %1633 = load ptr, ptr %1632, align 8
  %1634 = call noundef zeroext i1 %1633(ptr noundef nonnull align 8 dereferenceable(192) %1630, i32 noundef 2, ptr noundef @_ZN7glslangL15AEP_gpu_shader5E)
  br i1 %1634, label %1645, label %1635

1635:                                             ; preds = %1628, %1618
  %1636 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1637 = load ptr, ptr %1636, align 8, !tbaa !16
  %1638 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1637)
  br i1 %1638, label %1648, label %1639

1639:                                             ; preds = %1635
  %1640 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1641 = load ptr, ptr %1640, align 8, !tbaa !16
  %1642 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1641, i32 0, i32 4
  %1643 = load i32, ptr %1642, align 8, !tbaa !20
  %1644 = icmp sge i32 %1643, 400
  br i1 %1644, label %1645, label %1648

1645:                                             ; preds = %1639, %1628, %1622
  %1646 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1647 = load i32, ptr %1646, align 8, !tbaa !12
  store i32 %1647, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1648:                                             ; preds = %1639, %1635
  %1649 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1650 = load ptr, ptr %1649, align 8, !tbaa !16
  %1651 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1650)
  br i1 %1651, label %1652, label %1662

1652:                                             ; preds = %1648
  %1653 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1654 = load ptr, ptr %1653, align 8, !tbaa !16
  %1655 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1654, i32 0, i32 4
  %1656 = load i32, ptr %1655, align 8, !tbaa !20
  %1657 = icmp eq i32 %1656, 310
  br i1 %1657, label %1658, label %1662

1658:                                             ; preds = %1652
  %1659 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  %1660 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1661 = load i32, ptr %1660, align 8, !tbaa !12
  store i32 %1661, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1662:                                             ; preds = %1652, %1648
  %1663 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1663, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1664:                                             ; preds = %39, %39, %39
  %1665 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1666 = load ptr, ptr %1665, align 8, !tbaa !16
  %1667 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1666)
  br i1 %1667, label %1674, label %1668

1668:                                             ; preds = %1664
  %1669 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1670 = load ptr, ptr %1669, align 8, !tbaa !16
  %1671 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1670, i32 0, i32 4
  %1672 = load i32, ptr %1671, align 8, !tbaa !20
  %1673 = icmp sge i32 %1672, 450
  br i1 %1673, label %1691, label %1674

1674:                                             ; preds = %1668, %1664
  %1675 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1676 = load ptr, ptr %1675, align 8, !tbaa !16
  %1677 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1676)
  br i1 %1677, label %1678, label %1684

1678:                                             ; preds = %1674
  %1679 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1680 = load ptr, ptr %1679, align 8, !tbaa !16
  %1681 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1680, i32 0, i32 4
  %1682 = load i32, ptr %1681, align 8, !tbaa !20
  %1683 = icmp sge i32 %1682, 320
  br i1 %1683, label %1691, label %1684

1684:                                             ; preds = %1678, %1674
  %1685 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1686 = load ptr, ptr %1685, align 8, !tbaa !16
  %1687 = load ptr, ptr %1686, align 8, !tbaa !17
  %1688 = getelementptr inbounds ptr, ptr %1687, i64 8
  %1689 = load ptr, ptr %1688, align 8
  %1690 = call noundef zeroext i1 %1689(ptr noundef nonnull align 8 dereferenceable(192) %1686, ptr noundef @.str.481)
  br i1 %1690, label %1691, label %1694

1691:                                             ; preds = %1684, %1678, %1668
  %1692 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1693 = load i32, ptr %1692, align 8, !tbaa !12
  store i32 %1693, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1694:                                             ; preds = %1684
  %1695 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1695, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1696:                                             ; preds = %39
  %1697 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1697, align 8, !tbaa !43
  %1698 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1699 = load ptr, ptr %1698, align 8, !tbaa !16
  %1700 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1699, i32 0, i32 2
  %1701 = load ptr, ptr %1700, align 8, !tbaa !52
  %1702 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1701)
  br i1 %1702, label %1710, label %1703

1703:                                             ; preds = %1696
  %1704 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1705 = load ptr, ptr %1704, align 8, !tbaa !16
  %1706 = load ptr, ptr %1705, align 8, !tbaa !17
  %1707 = getelementptr inbounds ptr, ptr %1706, i64 8
  %1708 = load ptr, ptr %1707, align 8
  %1709 = call noundef zeroext i1 %1708(ptr noundef nonnull align 8 dereferenceable(192) %1705, ptr noundef @.str.482)
  br i1 %1709, label %1710, label %1713

1710:                                             ; preds = %1703, %1696
  %1711 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1712 = load i32, ptr %1711, align 8, !tbaa !12
  store i32 %1712, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1713:                                             ; preds = %1703
  %1714 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1714, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1715:                                             ; preds = %39, %39
  %1716 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 2
  store i8 1, ptr %1716, align 8, !tbaa !43
  %1717 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1718 = load ptr, ptr %1717, align 8, !tbaa !16
  %1719 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1718, i32 0, i32 2
  %1720 = load ptr, ptr %1719, align 8, !tbaa !52
  %1721 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1720)
  br i1 %1721, label %1729, label %1722

1722:                                             ; preds = %1715
  %1723 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1724 = load ptr, ptr %1723, align 8, !tbaa !16
  %1725 = load ptr, ptr %1724, align 8, !tbaa !17
  %1726 = getelementptr inbounds ptr, ptr %1725, i64 8
  %1727 = load ptr, ptr %1726, align 8
  %1728 = call noundef zeroext i1 %1727(ptr noundef nonnull align 8 dereferenceable(192) %1724, ptr noundef @.str.483)
  br i1 %1728, label %1729, label %1732

1729:                                             ; preds = %1722, %1715
  %1730 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1731 = load i32, ptr %1730, align 8, !tbaa !12
  store i32 %1731, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1732:                                             ; preds = %1722
  %1733 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1733, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1734:                                             ; preds = %39
  %1735 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1736 = load ptr, ptr %1735, align 8, !tbaa !16
  %1737 = load ptr, ptr %1736, align 8, !tbaa !17
  %1738 = getelementptr inbounds ptr, ptr %1737, i64 8
  %1739 = load ptr, ptr %1738, align 8
  %1740 = call noundef zeroext i1 %1739(ptr noundef nonnull align 8 dereferenceable(192) %1736, ptr noundef @.str.484)
  br i1 %1740, label %1741, label %1744

1741:                                             ; preds = %1734
  %1742 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1743 = load i32, ptr %1742, align 8, !tbaa !12
  store i32 %1743, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1744:                                             ; preds = %1734
  %1745 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1745, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1746:                                             ; preds = %39, %39, %39, %39, %39, %39, %39, %39, %39, %39
  %1747 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1748 = load ptr, ptr %1747, align 8, !tbaa !16
  %1749 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1748, i32 0, i32 2
  %1750 = load ptr, ptr %1749, align 8, !tbaa !52
  %1751 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1750)
  br i1 %1751, label %1759, label %1752

1752:                                             ; preds = %1746
  %1753 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1754 = load ptr, ptr %1753, align 8, !tbaa !16
  %1755 = load ptr, ptr %1754, align 8, !tbaa !17
  %1756 = getelementptr inbounds ptr, ptr %1755, i64 8
  %1757 = load ptr, ptr %1756, align 8
  %1758 = call noundef zeroext i1 %1757(ptr noundef nonnull align 8 dereferenceable(192) %1754, ptr noundef @.str.485)
  br i1 %1758, label %1759, label %1762

1759:                                             ; preds = %1752, %1746
  %1760 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 11
  %1761 = load i32, ptr %1760, align 8, !tbaa !12
  store i32 %1761, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1762:                                             ; preds = %1752
  %1763 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %13)
  store i32 %1763, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1764:                                             ; preds = %39
  %1765 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 1
  %1766 = load ptr, ptr %1765, align 8, !tbaa !16
  %1767 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1766, i32 0, i32 3
  %1768 = load ptr, ptr %1767, align 8, !tbaa !104
  %1769 = getelementptr inbounds %class.TInfoSink, ptr %1768, i32 0, i32 0
  %1770 = getelementptr inbounds %"class.glslang::TScanContext", ptr %13, i32 0, i32 7
  call void @_ZN7glslang13TInfoSinkBase7messageENS_11TPrefixTypeEPKcRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(36) %1769, i32 noundef 3, ptr noundef @.str.486, ptr noundef nonnull align 8 dereferenceable(24) %1770)
  store i32 0, ptr %2, align 4
  store i32 1, ptr %8, align 4
  br label %1771

1771:                                             ; preds = %1764, %1762, %1759, %1744, %1741, %1732, %1729, %1713, %1710, %1694, %1691, %1662, %1658, %1645, %1616, %1613, %1594, %1591, %1572, %1569, %1560, %1557, %1541, %1538, %1529, %1526, %1517, %1514, %1498, %1495, %1471, %1468, %1432, %1388, %1379, %1376, %1350, %1330, %1327, %1301, %1288, %1285, %1265, %1262, %1241, %1238, %1236, %1233, %1223, %1199, %1175, %1173, %1170, %1160, %1138, %1118, %1115, %1085, %1082, %1045, %1042, %1019, %1016, %993, %990, %967, %964, %927, %924, %894, %891, %860, %813, %811, %794, %792, %790, %787, %754, %751, %731, %729, %712, %710, %708, %705, %672, %669, %649, %647, %630, %628, %626, %624, %623, %587, %585, %563, %561, %558, %539, %536, %499, %471, %451, %448, %436, %433, %414, %411, %386, %383, %361, %358, %342, %328, %325, %316, %313, %300, %284, %260, %258, %235, %233, %220, %218, %209, %206, %181, %179, %156, %135, %132, %106, %103, %101, %70, %68, %58, %56, %46, %37
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #5
  br label %1772

1772:                                             ; preds = %1771, %24
  %1773 = load i32, ptr %2, align 4
  ret i32 %1773
}

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

; Function Attrs: mustprogress uwtable
declare hidden ptr @_ZNSt13unordered_setIPKcN12_GLOBAL__N_18str_hashENS2_6str_eqESaIS1_EE4findERKS1_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden ptr @_ZNSt13unordered_setIPKcN12_GLOBAL__N_18str_hashENS2_6str_eqESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76)) #2 align 2

; Function Attrs: mustprogress uwtable
declare hidden ptr @_ZNSt13unordered_mapIPKciN12_GLOBAL__N_18str_hashENS2_6str_eqESaISt4pairIKS1_iEEE4findERS6_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden ptr @_ZNSt13unordered_mapIPKciN12_GLOBAL__N_18str_hashENS2_6str_eqESaISt4pairIKS1_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76)) #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192)) #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext20identifierOrReservedEb(ptr noundef nonnull align 8 dereferenceable(76), i1 noundef zeroext) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76), i32 noundef) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext16precisionKeywordEv(ptr noundef nonnull align 8 dereferenceable(76)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext6matNxMEv(ptr noundef nonnull align 8 dereferenceable(76)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext4dMatEv(ptr noundef nonnull align 8 dereferenceable(76)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76), i1 noundef zeroext) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext18nonreservedKeywordEii(ptr noundef nonnull align 8 dereferenceable(76), i32 noundef, i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK7glslang14TParseVersions13relaxedErrorsEv(ptr noundef nonnull align 8 dereferenceable(192)) #3 align 2

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

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

!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, !11, i64 8}
!10 = !{!"_ZTSSt4pairIKPKciE", !6, i64 0, !11, i64 8}
!11 = !{!"int", !7, i64 0}
!12 = !{!13, !11, i64 72}
!13 = !{!"_ZTSN7glslang12TScanContextE", !6, i64 8, !14, i64 16, !14, i64 17, !14, i64 18, !14, i64 19, !15, i64 24, !6, i64 48, !6, i64 56, !6, i64 64, !11, i64 72}
!14 = !{!"bool", !7, i64 0}
!15 = !{!"_ZTSN7glslang10TSourceLocE", !6, i64 0, !11, i64 8, !11, i64 12, !11, i64 16}
!16 = !{!13, !6, i64 8}
!17 = !{!18, !18, i64 0}
!18 = !{!"vtable pointer", !8, i64 0}
!19 = !{!13, !14, i64 19}
!20 = !{!21, !11, i64 24}
!21 = !{!"_ZTSN7glslang14TParseVersionsE", !14, i64 8, !22, i64 12, !6, i64 16, !11, i64 24, !23, i64 28, !24, i64 32, !6, i64 56, !25, i64 64, !36, i64 120, !41, i64 176, !11, i64 180, !6, i64 184}
!22 = !{!"_ZTS8EProfile", !7, i64 0}
!23 = !{!"_ZTS11EShLanguage", !7, i64 0}
!24 = !{!"_ZTSN7glslang10SpvVersionE", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !14, i64 16}
!25 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_18TExtensionBehaviorESt4lessIS7_EEE", !26, i64 0}
!26 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS4_18TExtensionBehaviorESt4lessIS7_ENS5_ISt4pairIKS7_S8_EEEE", !27, i64 0}
!27 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_NS4_18TExtensionBehaviorEESt10_Select1stISB_ESt4lessIS7_ENS5_ISB_EEE", !28, i64 0}
!28 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_NS4_18TExtensionBehaviorEESt10_Select1stISB_ESt4lessIS7_ENS5_ISB_EEE13_Rb_tree_implISF_Lb1EEE", !29, i64 0, !30, i64 8, !32, i64 16}
!29 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEENS_18TExtensionBehaviorEEEEE", !6, i64 0}
!30 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEEE", !31, i64 0}
!31 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEE"}
!32 = !{!"_ZTSSt15_Rb_tree_header", !33, i64 0, !35, i64 32}
!33 = !{!"_ZTSSt18_Rb_tree_node_base", !34, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!34 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!35 = !{!"long", !7, i64 0}
!36 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEjSt4lessIS7_EEE", !37, i64 0}
!37 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEjSt4lessIS7_ENS5_ISt4pairIKS7_jEEEE", !38, i64 0}
!38 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_jESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE", !39, i64 0}
!39 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_jESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE13_Rb_tree_implISE_Lb1EEE", !40, i64 0, !30, i64 8, !32, i64 16}
!40 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEEjEEEE", !6, i64 0}
!41 = !{!"_ZTS11EShMessages", !7, i64 0}
!42 = !{!13, !14, i64 17}
!43 = !{!13, !14, i64 16}
!44 = !{!13, !6, i64 64}
!45 = !{!13, !6, i64 48}
!46 = !{!47, !6, i64 0}
!47 = !{!"_ZTSN7glslang12TParserTokenE", !6, i64 0}
!48 = !{!7, !7, i64 0}
!49 = !{!14, !14, i64 0}
!50 = !{i8 0, i8 2}
!51 = !{}
!52 = !{!53, !6, i64 200}
!53 = !{!"_ZTSN7glslang17TParseContextBaseE", !21, i64 0, !6, i64 192, !6, i64 200, !11, i64 208, !11, i64 212, !11, i64 216, !11, i64 220, !11, i64 224, !6, i64 232, !14, i64 240, !14, i64 241, !54, i64 248, !61, i64 280, !66, i64 312, !11, i64 376, !11, i64 380, !14, i64 384, !73, i64 392, !6, i64 424, !6, i64 432, !79, i64 440, !6, i64 824, !81, i64 832, !84, i64 872, !86, i64 904, !87, i64 936, !88, i64 968, !89, i64 1000, !6, i64 1032, !11, i64 1040, !11, i64 1044, !11, i64 1048, !90, i64 1056, !11, i64 1112, !97, i64 1120}
!54 = !{!"_ZTSN7glslang5TListIPNS_7TVectorIP11TIntermNodeEEEE", !55, i64 0}
!55 = !{!"_ZTSNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEEE", !56, i64 0}
!56 = !{!"_ZTSNSt7__cxx1110_List_baseIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEEE", !57, i64 0}
!57 = !{!"_ZTSNSt7__cxx1110_List_baseIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE10_List_implE", !58, i64 0, !59, i64 8}
!58 = !{!"_ZTSN7glslang14pool_allocatorISt10_List_nodeIPNS_7TVectorIP11TIntermNodeEEEEE", !6, i64 0}
!59 = !{!"_ZTSNSt8__detail17_List_node_headerE", !60, i64 0, !35, i64 16}
!60 = !{!"_ZTSNSt8__detail15_List_node_baseE", !6, i64 0, !6, i64 8}
!61 = !{!"_ZTSN7glslang5TListIiEE", !62, i64 0}
!62 = !{!"_ZTSNSt7__cxx114listIiN7glslang14pool_allocatorIiEEEE", !63, i64 0}
!63 = !{!"_ZTSNSt7__cxx1110_List_baseIiN7glslang14pool_allocatorIiEEEE", !64, i64 0}
!64 = !{!"_ZTSNSt7__cxx1110_List_baseIiN7glslang14pool_allocatorIiEEE10_List_implE", !65, i64 0, !59, i64 8}
!65 = !{!"_ZTSN7glslang14pool_allocatorISt10_List_nodeIiEEE", !6, i64 0}
!66 = !{!"_ZTSN7glslang7TPragmaE", !14, i64 0, !14, i64 1, !67, i64 8}
!67 = !{!"_ZTSN7glslang12TPragmaTableE", !68, i64 0}
!68 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEES7_St4lessIS7_EEE", !69, i64 0}
!69 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEES7_St4lessIS7_ENS5_ISt4pairIKS7_S7_EEEE", !70, i64 0}
!70 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_S7_ESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE", !71, i64 0}
!71 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_S7_ESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE13_Rb_tree_implISE_Lb1EEE", !72, i64 0, !30, i64 8, !32, i64 16}
!72 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEES8_EEEE", !6, i64 0}
!73 = !{!"_ZTSN7glslang7TVectorIPNS_7TSymbolEEE", !74, i64 0}
!74 = !{!"_ZTSSt6vectorIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE", !75, i64 0}
!75 = !{!"_ZTSSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE12_Vector_implE", !77, i64 0, !78, i64 8}
!77 = !{!"_ZTSN7glslang14pool_allocatorIPNS_7TSymbolEEE", !6, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!79 = !{!"_ZTS16TBuiltInResource", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !11, i64 16, !11, i64 20, !11, i64 24, !11, i64 28, !11, i64 32, !11, i64 36, !11, i64 40, !11, i64 44, !11, i64 48, !11, i64 52, !11, i64 56, !11, i64 60, !11, i64 64, !11, i64 68, !11, i64 72, !11, i64 76, !11, i64 80, !11, i64 84, !11, i64 88, !11, i64 92, !11, i64 96, !11, i64 100, !11, i64 104, !11, i64 108, !11, i64 112, !11, i64 116, !11, i64 120, !11, i64 124, !11, i64 128, !11, i64 132, !11, i64 136, !11, i64 140, !11, i64 144, !11, i64 148, !11, i64 152, !11, i64 156, !11, i64 160, !11, i64 164, !11, i64 168, !11, i64 172, !11, i64 176, !11, i64 180, !11, i64 184, !11, i64 188, !11, i64 192, !11, i64 196, !11, i64 200, !11, i64 204, !11, i64 208, !11, i64 212, !11, i64 216, !11, i64 220, !11, i64 224, !11, i64 228, !11, i64 232, !11, i64 236, !11, i64 240, !11, i64 244, !11, i64 248, !11, i64 252, !11, i64 256, !11, i64 260, !11, i64 264, !11, i64 268, !11, i64 272, !11, i64 276, !11, i64 280, !11, i64 284, !11, i64 288, !11, i64 292, !11, i64 296, !11, i64 300, !11, i64 304, !11, i64 308, !11, i64 312, !11, i64 316, !11, i64 320, !11, i64 324, !11, i64 328, !11, i64 332, !11, i64 336, !11, i64 340, !11, i64 344, !11, i64 348, !11, i64 352, !11, i64 356, !11, i64 360, !11, i64 364, !11, i64 368, !80, i64 372}
!80 = !{!"_ZTS7TLimits", !14, i64 0, !14, i64 1, !14, i64 2, !14, i64 3, !14, i64 4, !14, i64 5, !14, i64 6, !14, i64 7, !14, i64 8}
!81 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEE", !82, i64 0, !35, i64 16, !7, i64 24}
!82 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE12_Alloc_hiderE", !83, i64 0, !6, i64 8}
!83 = !{!"_ZTSN7glslang14pool_allocatorIcEE", !6, i64 0}
!84 = !{!"_ZTSSt8functionIFviibiPKcEE", !85, i64 0, !6, i64 24}
!85 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!86 = !{!"_ZTSSt8functionIFviRKN7glslang7TVectorINSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_14pool_allocatorIcEEEEEEEE", !85, i64 0, !6, i64 24}
!87 = !{!"_ZTSSt8functionIFviiPKcEE", !85, i64 0, !6, i64 24}
!88 = !{!"_ZTSSt8functionIFviPKcS1_EE", !85, i64 0, !6, i64 24}
!89 = !{!"_ZTSSt8functionIFviPKcEE", !85, i64 0, !6, i64 24}
!90 = !{!"_ZTSN7glslang4TMapIiPNS_9TVariableESt4lessIiEEE", !91, i64 0}
!91 = !{!"_ZTSSt3mapIiPN7glslang9TVariableESt4lessIiENS0_14pool_allocatorISt4pairIKiS2_EEEE", !92, i64 0}
!92 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiPN7glslang9TVariableEESt10_Select1stIS5_ESt4lessIiENS2_14pool_allocatorIS5_EEE", !93, i64 0}
!93 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiPN7glslang9TVariableEESt10_Select1stIS5_ESt4lessIiENS2_14pool_allocatorIS5_EEE13_Rb_tree_implIS9_Lb1EEE", !94, i64 0, !95, i64 8, !32, i64 16}
!94 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKiPNS_9TVariableEEEEE", !6, i64 0}
!95 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !96, i64 0}
!96 = !{!"_ZTSSt4lessIiE"}
!97 = !{!"_ZTSN7glslang4TMapIiiSt4lessIiEEE", !98, i64 0}
!98 = !{!"_ZTSSt3mapIiiSt4lessIiEN7glslang14pool_allocatorISt4pairIKiiEEEE", !99, i64 0}
!99 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiEN7glslang14pool_allocatorIS2_EEE", !100, i64 0}
!100 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiEN7glslang14pool_allocatorIS2_EEE13_Rb_tree_implIS6_Lb1EEE", !101, i64 0, !95, i64 8, !32, i64 16}
!101 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEEE", !6, i64 0}
!102 = !{!11, !11, i64 0}
!103 = !{!21, !11, i64 40}
!104 = !{!21, !6, i64 16}


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

%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"struct.std::__detail::_Node_iterator.104" = type { %"struct.std::__detail::_Node_iterator_base.105" }
%"struct.std::__detail::_Node_iterator_base.105" = type { ptr }

@_ZN12_GLOBAL__N_110KeywordMapE = external hidden local_unnamed_addr global ptr, align 8
@.str.47 = external hidden unnamed_addr constant [5 x i8], align 1
@_ZN12_GLOBAL__N_111ReservedSetE = external hidden local_unnamed_addr global ptr, align 8
@.str.441 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.442 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.443 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.444 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.445 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.446 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.447 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.448 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.449 = external hidden unnamed_addr constant [31 x i8], align 1
@_ZN7glslangL23AEP_tessellation_shaderE = external hidden constant [2 x ptr], align 16
@.str.450 = external hidden unnamed_addr constant [27 x i8], align 1
@_ZN7glslangL41E_GL_OES_shader_multisample_interpolationE = external hidden constant ptr, align 8
@__const._ZN7glslang12TScanContext18tokenizeIdentifierEv.layoutExts = external hidden unnamed_addr constant [2 x ptr], align 16
@.str.453 = external hidden unnamed_addr constant [26 x i8], align 1
@_ZN7glslangL18AEP_texture_bufferE = external hidden constant [2 x ptr], align 16
@_ZN7glslangL26AEP_texture_cube_map_arrayE = external hidden constant [2 x ptr], align 16
@.str.454 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.455 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.456 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.457 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.458 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.459 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.460 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.461 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.462 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.463 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.464 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.465 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.466 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.467 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.468 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.469 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.470 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.471 = external hidden unnamed_addr constant [23 x i8], align 1
@_ZN7glslangL28E_GL_ARB_texture_multisampleE = external hidden constant ptr, align 8
@_ZN7glslangL45E_GL_OES_texture_storage_multisample_2d_arrayE = external hidden constant ptr, align 8
@.str.472 = external hidden unnamed_addr constant [25 x i8], align 1
@_ZN7glslangL26E_GL_ARB_texture_rectangleE = external hidden constant ptr, align 8
@.str.473 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.474 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.475 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.476 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.477 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.478 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.479 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.480 = external hidden unnamed_addr constant [35 x i8], align 1
@_ZN7glslangL15AEP_gpu_shader5E = external hidden constant [2 x ptr], align 16
@.str.481 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.482 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.483 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.484 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.485 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.486 = external hidden unnamed_addr constant [24 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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN7glslang12TScanContext18tokenizeIdentifierEv(ptr noundef nonnull align 8 dereferenceable(76) %0) local_unnamed_addr #2 align 2 {
  %2 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %3 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %4 = alloca %"struct.std::__detail::_Node_iterator.104", align 8
  %5 = alloca %"struct.std::__detail::_Node_iterator.104", align 8
  %6 = alloca [2 x ptr], align 16
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %2) #5
  %7 = load ptr, ptr @_ZN12_GLOBAL__N_111ReservedSetE, align 8, !tbaa !5
  %8 = getelementptr inbounds i8, ptr %0, i64 64
  %9 = tail call ptr @_ZNSt13unordered_setIPKcN12_GLOBAL__N_18str_hashENS2_6str_eqESaIS1_EE4findERKS1_(ptr noundef nonnull align 8 dereferenceable(56) %7, ptr noundef nonnull align 8 dereferenceable(8) %8)
  store ptr %9, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #5
  %10 = load ptr, ptr @_ZN12_GLOBAL__N_111ReservedSetE, align 8, !tbaa !5
  %11 = tail call ptr @_ZNSt13unordered_setIPKcN12_GLOBAL__N_18str_hashENS2_6str_eqESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %10) #5
  store ptr %11, ptr %3, align 8
  %12 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseIPKcLb1EEES5_(ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %2) #5
  br i1 %12, label %13, label %15

13:                                               ; preds = %1
  %14 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1413

15:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #5
  %16 = load ptr, ptr @_ZN12_GLOBAL__N_110KeywordMapE, align 8, !tbaa !5
  %17 = call ptr @_ZNSt13unordered_mapIPKciN12_GLOBAL__N_18str_hashENS2_6str_eqESaISt4pairIKS1_iEEE4findERS6_(ptr noundef nonnull align 8 dereferenceable(56) %16, ptr noundef nonnull align 8 dereferenceable(8) %8)
  store ptr %17, ptr %4, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #5
  %18 = load ptr, ptr @_ZN12_GLOBAL__N_110KeywordMapE, align 8, !tbaa !5
  %19 = call ptr @_ZNSt13unordered_mapIPKciN12_GLOBAL__N_18str_hashENS2_6str_eqESaISt4pairIKS1_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %18) #5
  store ptr %19, ptr %5, align 8
  %20 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKPKciELb1EEES8_(ptr noundef nonnull align 8 dereferenceable(8) %4, ptr noundef nonnull align 8 dereferenceable(8) %5) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #5
  br i1 %20, label %21, label %23

21:                                               ; preds = %15
  %22 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

23:                                               ; preds = %15
  %24 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKPKciELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #5
  %25 = getelementptr inbounds i8, ptr %24, i64 8
  %26 = load i32, ptr %25, align 8, !tbaa !9
  %27 = getelementptr inbounds i8, ptr %0, i64 72
  store i32 %26, ptr %27, align 8, !tbaa !12
  switch i32 %26, label %1406 [
    i32 258, label %1412
    i32 663, label %1412
    i32 643, label %1412
    i32 644, label %1412
    i32 645, label %1412
    i32 649, label %1412
    i32 650, label %1412
    i32 651, label %1412
    i32 653, label %1412
    i32 648, label %1412
    i32 654, label %1412
    i32 652, label %1412
    i32 655, label %1412
    i32 656, label %1412
    i32 658, label %1412
    i32 660, label %28
    i32 661, label %39
    i32 662, label %39
    i32 665, label %50
    i32 646, label %75
    i32 657, label %77
    i32 659, label %77
    i32 647, label %96
    i32 259, label %96
    i32 262, label %96
    i32 260, label %96
    i32 263, label %96
    i32 264, label %96
    i32 265, label %96
    i32 272, label %96
    i32 273, label %96
    i32 274, label %96
    i32 266, label %96
    i32 267, label %96
    i32 268, label %96
    i32 275, label %96
    i32 276, label %96
    i32 277, label %96
    i32 287, label %96
    i32 289, label %96
    i32 639, label %98
    i32 667, label %107
    i32 666, label %126
    i32 642, label %147
    i32 628, label %155
    i32 633, label %168
    i32 634, label %187
    i32 635, label %205
    i32 703, label %217
    i32 691, label %228
    i32 316, label %239
    i32 317, label %239
    i32 679, label %252
    i32 680, label %252
    i32 681, label %252
    i32 682, label %252
    i32 683, label %252
    i32 415, label %252
    i32 684, label %268
    i32 685, label %268
    i32 686, label %268
    i32 687, label %268
    i32 688, label %268
    i32 416, label %268
    i32 417, label %290
    i32 414, label %313
    i32 692, label %330
    i32 697, label %330
    i32 698, label %330
    i32 699, label %330
    i32 700, label %330
    i32 702, label %330
    i32 701, label %330
    i32 694, label %330
    i32 695, label %330
    i32 696, label %330
    i32 693, label %347
    i32 689, label %378
    i32 690, label %410
    i32 677, label %427
    i32 664, label %429
    i32 668, label %448
    i32 629, label %473
    i32 630, label %473
    i32 631, label %473
    i32 632, label %473
    i32 278, label %475
    i32 279, label %475
    i32 280, label %475
    i32 281, label %475
    i32 282, label %475
    i32 283, label %475
    i32 284, label %475
    i32 285, label %475
    i32 286, label %475
    i32 357, label %477
    i32 358, label %477
    i32 359, label %477
    i32 378, label %477
    i32 379, label %477
    i32 380, label %477
    i32 381, label %477
    i32 382, label %477
    i32 383, label %477
    i32 384, label %477
    i32 385, label %477
    i32 386, label %477
    i32 466, label %479
    i32 467, label %479
    i32 468, label %479
    i32 484, label %479
    i32 485, label %479
    i32 486, label %479
    i32 475, label %479
    i32 476, label %479
    i32 477, label %479
    i32 510, label %482
    i32 511, label %482
    i32 522, label %482
    i32 523, label %482
    i32 516, label %482
    i32 517, label %482
    i32 481, label %499
    i32 482, label %499
    i32 483, label %499
    i32 520, label %517
    i32 521, label %517
    i32 469, label %548
    i32 470, label %548
    i32 471, label %548
    i32 472, label %548
    i32 473, label %548
    i32 474, label %548
    i32 478, label %548
    i32 479, label %548
    i32 480, label %548
    i32 487, label %548
    i32 488, label %548
    i32 489, label %548
    i32 512, label %551
    i32 513, label %551
    i32 514, label %551
    i32 515, label %551
    i32 518, label %551
    i32 519, label %551
    i32 524, label %551
    i32 525, label %551
    i32 490, label %568
    i32 491, label %568
    i32 492, label %568
    i32 526, label %586
    i32 527, label %586
    i32 493, label %617
    i32 494, label %617
    i32 495, label %617
    i32 496, label %617
    i32 497, label %617
    i32 498, label %617
    i32 528, label %620
    i32 529, label %620
    i32 530, label %620
    i32 531, label %620
    i32 320, label %637
    i32 354, label %637
    i32 355, label %637
    i32 356, label %637
    i32 322, label %675
    i32 323, label %675
    i32 330, label %675
    i32 331, label %675
    i32 332, label %675
    i32 333, label %675
    i32 334, label %675
    i32 335, label %675
    i32 328, label %704
    i32 329, label %704
    i32 348, label %704
    i32 349, label %704
    i32 350, label %704
    i32 351, label %704
    i32 352, label %704
    i32 353, label %704
    i32 326, label %733
    i32 327, label %733
    i32 342, label %733
    i32 343, label %733
    i32 344, label %733
    i32 345, label %733
    i32 346, label %733
    i32 347, label %733
    i32 324, label %768
    i32 325, label %768
    i32 336, label %768
    i32 337, label %768
    i32 338, label %768
    i32 339, label %768
    i32 340, label %768
    i32 341, label %768
    i32 319, label %791
    i32 366, label %791
    i32 367, label %791
    i32 368, label %791
    i32 369, label %791
    i32 370, label %791
    i32 371, label %791
    i32 396, label %791
    i32 397, label %791
    i32 398, label %791
    i32 399, label %791
    i32 400, label %791
    i32 401, label %791
    i32 402, label %791
    i32 403, label %791
    i32 404, label %791
    i32 321, label %814
    i32 372, label %814
    i32 373, label %814
    i32 374, label %814
    i32 375, label %814
    i32 376, label %814
    i32 377, label %814
    i32 405, label %814
    i32 406, label %814
    i32 407, label %814
    i32 408, label %814
    i32 409, label %814
    i32 410, label %814
    i32 411, label %814
    i32 412, label %814
    i32 413, label %814
    i32 318, label %837
    i32 360, label %837
    i32 361, label %837
    i32 362, label %837
    i32 363, label %872
    i32 364, label %872
    i32 365, label %872
    i32 387, label %872
    i32 388, label %872
    i32 389, label %872
    i32 390, label %872
    i32 391, label %872
    i32 392, label %872
    i32 393, label %872
    i32 394, label %872
    i32 395, label %872
    i32 421, label %901
    i32 422, label %901
    i32 423, label %901
    i32 424, label %901
    i32 532, label %934
    i32 533, label %934
    i32 534, label %934
    i32 261, label %942
    i32 269, label %942
    i32 270, label %942
    i32 271, label %942
    i32 291, label %942
    i32 292, label %942
    i32 293, label %942
    i32 294, label %942
    i32 295, label %942
    i32 296, label %942
    i32 297, label %942
    i32 298, label %942
    i32 299, label %942
    i32 300, label %942
    i32 301, label %942
    i32 288, label %945
    i32 290, label %964
    i32 304, label %983
    i32 306, label %983
    i32 307, label %983
    i32 308, label %983
    i32 309, label %983
    i32 310, label %983
    i32 311, label %983
    i32 312, label %983
    i32 313, label %983
    i32 314, label %983
    i32 315, label %983
    i32 305, label %983
    i32 302, label %983
    i32 303, label %983
    i32 428, label %991
    i32 445, label %991
    i32 427, label %991
    i32 446, label %991
    i32 447, label %991
    i32 432, label %994
    i32 433, label %994
    i32 434, label %997
    i32 435, label %1015
    i32 436, label %1015
    i32 437, label %1033
    i32 438, label %1033
    i32 439, label %1033
    i32 440, label %1062
    i32 441, label %1062
    i32 442, label %1062
    i32 425, label %1097
    i32 429, label %1097
    i32 430, label %1106
    i32 431, label %1106
    i32 426, label %1141
    i32 443, label %1169
    i32 444, label %1192
    i32 539, label %1209
    i32 537, label %1209
    i32 536, label %1209
    i32 540, label %1209
    i32 544, label %1209
    i32 542, label %1209
    i32 543, label %1209
    i32 545, label %1209
    i32 546, label %1209
    i32 547, label %1209
    i32 548, label %1209
    i32 549, label %1209
    i32 550, label %1209
    i32 551, label %1209
    i32 552, label %1209
    i32 535, label %1209
    i32 541, label %1209
    i32 538, label %1209
    i32 564, label %1217
    i32 565, label %1217
    i32 566, label %1217
    i32 567, label %1217
    i32 568, label %1217
    i32 569, label %1217
    i32 448, label %1225
    i32 449, label %1225
    i32 450, label %1225
    i32 451, label %1225
    i32 452, label %1225
    i32 453, label %1225
    i32 454, label %1225
    i32 455, label %1225
    i32 456, label %1225
    i32 457, label %1225
    i32 458, label %1225
    i32 459, label %1225
    i32 460, label %1225
    i32 461, label %1225
    i32 462, label %1225
    i32 463, label %1225
    i32 464, label %1225
    i32 465, label %1225
    i32 499, label %1225
    i32 500, label %1225
    i32 501, label %1225
    i32 502, label %1225
    i32 503, label %1225
    i32 504, label %1225
    i32 505, label %1225
    i32 506, label %1225
    i32 507, label %1225
    i32 508, label %1225
    i32 509, label %1225
    i32 553, label %1225
    i32 554, label %1225
    i32 555, label %1225
    i32 556, label %1225
    i32 557, label %1225
    i32 558, label %1225
    i32 559, label %1225
    i32 560, label %1225
    i32 561, label %1225
    i32 562, label %1225
    i32 563, label %1225
    i32 570, label %1225
    i32 571, label %1225
    i32 704, label %1242
    i32 706, label %1253
    i32 705, label %1270
    i32 710, label %1287
    i32 707, label %1322
    i32 708, label %1322
    i32 709, label %1322
    i32 418, label %1345
    i32 420, label %1362
    i32 419, label %1362
    i32 678, label %1379
    i32 572, label %1390
    i32 573, label %1390
    i32 574, label %1390
    i32 575, label %1390
    i32 576, label %1390
    i32 577, label %1390
    i32 578, label %1390
    i32 579, label %1390
    i32 580, label %1390
    i32 581, label %1390
  ]

28:                                               ; preds = %23
  %29 = getelementptr inbounds i8, ptr %0, i64 8
  %30 = load ptr, ptr %29, align 8, !tbaa !16
  %31 = load ptr, ptr %30, align 8, !tbaa !17
  %32 = getelementptr inbounds i8, ptr %31, i64 64
  %33 = load ptr, ptr %32, align 8
  %34 = call noundef zeroext i1 %33(ptr noundef nonnull align 8 dereferenceable(192) %30, ptr noundef nonnull @.str.441)
  br i1 %34, label %37, label %35

35:                                               ; preds = %28
  %36 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

37:                                               ; preds = %28
  %38 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

39:                                               ; preds = %23, %23
  %40 = getelementptr inbounds i8, ptr %0, i64 8
  %41 = load ptr, ptr %40, align 8, !tbaa !16
  %42 = load ptr, ptr %41, align 8, !tbaa !17
  %43 = getelementptr inbounds i8, ptr %42, i64 64
  %44 = load ptr, ptr %43, align 8
  %45 = call noundef zeroext i1 %44(ptr noundef nonnull align 8 dereferenceable(192) %41, ptr noundef nonnull @.str.442)
  br i1 %45, label %48, label %46

46:                                               ; preds = %39
  %47 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

48:                                               ; preds = %39
  %49 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

50:                                               ; preds = %23
  %51 = getelementptr inbounds i8, ptr %0, i64 19
  store i8 1, ptr %51, align 1, !tbaa !19
  %52 = getelementptr inbounds i8, ptr %0, i64 8
  %53 = load ptr, ptr %52, align 8, !tbaa !16
  %54 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %53)
  %.pre32 = load ptr, ptr %52, align 8, !tbaa !16
  br i1 %54, label %55, label %59

55:                                               ; preds = %50
  %56 = getelementptr inbounds i8, ptr %.pre32, i64 24
  %57 = load i32, ptr %56, align 8, !tbaa !20
  %58 = icmp slt i32 %57, 310
  br i1 %58, label %71, label %59

59:                                               ; preds = %55, %50
  %60 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre32)
  br i1 %60, label %73, label %61

61:                                               ; preds = %59
  %62 = load ptr, ptr %52, align 8, !tbaa !16
  %63 = getelementptr inbounds i8, ptr %62, i64 24
  %64 = load i32, ptr %63, align 8, !tbaa !20
  %65 = icmp slt i32 %64, 430
  br i1 %65, label %66, label %73

66:                                               ; preds = %61
  %67 = load ptr, ptr %62, align 8, !tbaa !17
  %68 = getelementptr inbounds i8, ptr %67, i64 64
  %69 = load ptr, ptr %68, align 8
  %70 = call noundef zeroext i1 %69(ptr noundef nonnull align 8 dereferenceable(192) %62, ptr noundef nonnull @.str.443)
  br i1 %70, label %73, label %71

71:                                               ; preds = %66, %55
  %72 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

73:                                               ; preds = %66, %61, %59
  %74 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

75:                                               ; preds = %23
  %76 = getelementptr inbounds i8, ptr %0, i64 17
  store i8 1, ptr %76, align 1, !tbaa !42
  br label %1412

77:                                               ; preds = %23, %23
  %78 = getelementptr inbounds i8, ptr %0, i64 8
  %79 = load ptr, ptr %78, align 8, !tbaa !16
  %80 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %79)
  %.pre31 = load ptr, ptr %78, align 8, !tbaa !16
  br i1 %80, label %81, label %85

81:                                               ; preds = %77
  %82 = getelementptr inbounds i8, ptr %.pre31, i64 24
  %83 = load i32, ptr %82, align 8, !tbaa !20
  %84 = icmp slt i32 %83, 300
  br i1 %84, label %92, label %85

85:                                               ; preds = %81, %77
  %86 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre31)
  br i1 %86, label %94, label %87

87:                                               ; preds = %85
  %88 = load ptr, ptr %78, align 8, !tbaa !16
  %89 = getelementptr inbounds i8, ptr %88, i64 24
  %90 = load i32, ptr %89, align 8, !tbaa !20
  %91 = icmp slt i32 %90, 130
  br i1 %91, label %92, label %94

92:                                               ; preds = %87, %81
  %93 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %94

94:                                               ; preds = %92, %87, %85
  %95 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

96:                                               ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %97 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %97, align 8, !tbaa !43
  br label %1412

98:                                               ; preds = %23
  %99 = load ptr, ptr %8, align 8, !tbaa !44
  %100 = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) @.str.47, ptr noundef nonnull dereferenceable(1) %99) #6
  %101 = icmp eq i32 %100, 0
  %102 = getelementptr inbounds i8, ptr %0, i64 48
  %103 = load ptr, ptr %102, align 8, !tbaa !45
  %104 = load ptr, ptr %103, align 8, !tbaa !46
  %105 = getelementptr inbounds i8, ptr %104, i64 24
  %. = zext i1 %101 to i8
  store i8 %., ptr %105, align 8, !tbaa !48
  %106 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

107:                                              ; preds = %23
  %108 = getelementptr inbounds i8, ptr %0, i64 8
  %109 = load ptr, ptr %108, align 8, !tbaa !16
  %110 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %109)
  %.pre30 = load ptr, ptr %108, align 8, !tbaa !16
  br i1 %110, label %111, label %115

111:                                              ; preds = %107
  %112 = getelementptr inbounds i8, ptr %.pre30, i64 24
  %113 = load i32, ptr %112, align 8, !tbaa !20
  %114 = icmp slt i32 %113, 300
  br i1 %114, label %122, label %115

115:                                              ; preds = %111, %107
  %116 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre30)
  br i1 %116, label %124, label %117

117:                                              ; preds = %115
  %118 = load ptr, ptr %108, align 8, !tbaa !16
  %119 = getelementptr inbounds i8, ptr %118, i64 24
  %120 = load i32, ptr %119, align 8, !tbaa !20
  %121 = icmp slt i32 %120, 130
  br i1 %121, label %122, label %124

122:                                              ; preds = %117, %111
  %123 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

124:                                              ; preds = %117, %115
  %125 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

126:                                              ; preds = %23
  %127 = getelementptr inbounds i8, ptr %0, i64 8
  %128 = load ptr, ptr %127, align 8, !tbaa !16
  %129 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %128)
  %.pre29 = load ptr, ptr %127, align 8, !tbaa !16
  br i1 %129, label %130, label %136

130:                                              ; preds = %126
  %131 = getelementptr inbounds i8, ptr %.pre29, i64 24
  %132 = load i32, ptr %131, align 8, !tbaa !20
  %133 = icmp slt i32 %132, 300
  br i1 %133, label %134, label %136

134:                                              ; preds = %130
  %135 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %145

136:                                              ; preds = %130, %126
  %137 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre29)
  br i1 %137, label %145, label %138

138:                                              ; preds = %136
  %139 = load ptr, ptr %127, align 8, !tbaa !16
  %140 = getelementptr inbounds i8, ptr %139, i64 24
  %141 = load i32, ptr %140, align 8, !tbaa !20
  %142 = icmp slt i32 %141, 130
  br i1 %142, label %143, label %145

143:                                              ; preds = %138
  %144 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

145:                                              ; preds = %136, %138, %134
  %146 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

147:                                              ; preds = %23
  %148 = getelementptr inbounds i8, ptr %0, i64 8
  %149 = load ptr, ptr %148, align 8, !tbaa !16
  %150 = getelementptr inbounds i8, ptr %149, i64 24
  %151 = load i32, ptr %150, align 8, !tbaa !20
  %152 = icmp slt i32 %151, 120
  br i1 %152, label %153, label %1412

153:                                              ; preds = %147
  %154 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

155:                                              ; preds = %23
  %156 = getelementptr inbounds i8, ptr %0, i64 8
  %157 = load ptr, ptr %156, align 8, !tbaa !16
  %158 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %157)
  br i1 %158, label %166, label %159

159:                                              ; preds = %155
  %160 = load ptr, ptr %156, align 8, !tbaa !16
  %161 = getelementptr inbounds i8, ptr %160, i64 24
  %162 = load i32, ptr %161, align 8, !tbaa !20
  %163 = icmp slt i32 %162, 120
  br i1 %163, label %164, label %166

164:                                              ; preds = %159
  %165 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

166:                                              ; preds = %159, %155
  %167 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

168:                                              ; preds = %23
  %169 = getelementptr inbounds i8, ptr %0, i64 8
  %170 = load ptr, ptr %169, align 8, !tbaa !16
  %171 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %170)
  %.pre28 = load ptr, ptr %169, align 8, !tbaa !16
  br i1 %171, label %172, label %176

172:                                              ; preds = %168
  %173 = getelementptr inbounds i8, ptr %.pre28, i64 24
  %174 = load i32, ptr %173, align 8, !tbaa !20
  %175 = icmp slt i32 %174, 300
  br i1 %175, label %183, label %176

176:                                              ; preds = %172, %168
  %177 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre28)
  br i1 %177, label %185, label %178

178:                                              ; preds = %176
  %179 = load ptr, ptr %169, align 8, !tbaa !16
  %180 = getelementptr inbounds i8, ptr %179, i64 24
  %181 = load i32, ptr %180, align 8, !tbaa !20
  %182 = icmp slt i32 %181, 140
  br i1 %182, label %183, label %185

183:                                              ; preds = %178, %172
  %184 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

185:                                              ; preds = %178, %176
  %186 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

187:                                              ; preds = %23
  %188 = getelementptr inbounds i8, ptr %0, i64 8
  %189 = load ptr, ptr %188, align 8, !tbaa !16
  %190 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %189)
  %.pre27 = load ptr, ptr %188, align 8, !tbaa !16
  br i1 %190, label %191, label %195

191:                                              ; preds = %187
  %192 = getelementptr inbounds i8, ptr %.pre27, i64 24
  %193 = load i32, ptr %192, align 8, !tbaa !20
  %194 = icmp sgt i32 %193, 299
  br i1 %194, label %202, label %195

195:                                              ; preds = %191, %187
  %196 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre27)
  br i1 %196, label %202, label %197

197:                                              ; preds = %195
  %198 = load ptr, ptr %188, align 8, !tbaa !16
  %199 = getelementptr inbounds i8, ptr %198, i64 24
  %200 = load i32, ptr %199, align 8, !tbaa !20
  %201 = icmp sgt i32 %200, 419
  br label %202

202:                                              ; preds = %195, %197, %191
  %203 = phi i1 [ true, %191 ], [ false, %195 ], [ %201, %197 ]
  %204 = call noundef i32 @_ZN7glslang12TScanContext20identifierOrReservedEb(ptr noundef nonnull align 8 dereferenceable(76) %0, i1 noundef zeroext %203)
  br label %1412

205:                                              ; preds = %23
  %206 = getelementptr inbounds i8, ptr %0, i64 8
  %207 = load ptr, ptr %206, align 8, !tbaa !16
  %208 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %207)
  br i1 %208, label %214, label %209

209:                                              ; preds = %205
  %210 = load ptr, ptr %206, align 8, !tbaa !16
  %211 = getelementptr inbounds i8, ptr %210, i64 24
  %212 = load i32, ptr %211, align 8, !tbaa !20
  %213 = icmp sgt i32 %212, 129
  br label %214

214:                                              ; preds = %209, %205
  %215 = phi i1 [ true, %205 ], [ %213, %209 ]
  %216 = call noundef i32 @_ZN7glslang12TScanContext20identifierOrReservedEb(ptr noundef nonnull align 8 dereferenceable(76) %0, i1 noundef zeroext %215)
  br label %1412

217:                                              ; preds = %23
  %218 = getelementptr inbounds i8, ptr %0, i64 8
  %219 = load ptr, ptr %218, align 8, !tbaa !16
  %220 = load ptr, ptr %219, align 8, !tbaa !17
  %221 = getelementptr inbounds i8, ptr %220, i64 64
  %222 = load ptr, ptr %221, align 8
  %223 = call noundef zeroext i1 %222(ptr noundef nonnull align 8 dereferenceable(192) %219, ptr noundef nonnull @.str.444)
  br i1 %223, label %224, label %226

224:                                              ; preds = %217
  %225 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

226:                                              ; preds = %217
  %227 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 130)
  br label %1412

228:                                              ; preds = %23
  %229 = getelementptr inbounds i8, ptr %0, i64 8
  %230 = load ptr, ptr %229, align 8, !tbaa !16
  %231 = load ptr, ptr %230, align 8, !tbaa !17
  %232 = getelementptr inbounds i8, ptr %231, i64 64
  %233 = load ptr, ptr %232, align 8
  %234 = call noundef zeroext i1 %233(ptr noundef nonnull align 8 dereferenceable(192) %230, ptr noundef nonnull @.str.445)
  br i1 %234, label %235, label %237

235:                                              ; preds = %228
  %236 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

237:                                              ; preds = %228
  %238 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

239:                                              ; preds = %23, %23
  %240 = getelementptr inbounds i8, ptr %0, i64 8
  %241 = load ptr, ptr %240, align 8, !tbaa !16
  %242 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %241)
  br i1 %242, label %243, label %250

243:                                              ; preds = %239
  %244 = load ptr, ptr %240, align 8, !tbaa !16
  %245 = getelementptr inbounds i8, ptr %244, i64 24
  %246 = load i32, ptr %245, align 8, !tbaa !20
  %247 = icmp sgt i32 %246, 299
  br i1 %247, label %248, label %250

248:                                              ; preds = %243
  %249 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %250

250:                                              ; preds = %248, %243, %239
  %251 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

252:                                              ; preds = %23, %23, %23, %23, %23, %23
  %253 = getelementptr inbounds i8, ptr %0, i64 8
  %254 = load ptr, ptr %253, align 8, !tbaa !16
  %255 = getelementptr inbounds i8, ptr %254, i64 200
  %256 = load ptr, ptr %255, align 8, !tbaa !49
  %257 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %256)
  br i1 %257, label %264, label %258

258:                                              ; preds = %252
  %259 = load ptr, ptr %253, align 8, !tbaa !16
  %260 = load ptr, ptr %259, align 8, !tbaa !17
  %261 = getelementptr inbounds i8, ptr %260, i64 64
  %262 = load ptr, ptr %261, align 8
  %263 = call noundef zeroext i1 %262(ptr noundef nonnull align 8 dereferenceable(192) %259, ptr noundef nonnull @.str.446)
  br i1 %263, label %264, label %266

264:                                              ; preds = %258, %252
  %265 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

266:                                              ; preds = %258
  %267 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

268:                                              ; preds = %23, %23, %23, %23, %23, %23
  %269 = getelementptr inbounds i8, ptr %0, i64 8
  %270 = load ptr, ptr %269, align 8, !tbaa !16
  %271 = getelementptr inbounds i8, ptr %270, i64 200
  %272 = load ptr, ptr %271, align 8, !tbaa !49
  %273 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %272)
  br i1 %273, label %286, label %274

274:                                              ; preds = %268
  %275 = load ptr, ptr %269, align 8, !tbaa !16
  %276 = load ptr, ptr %275, align 8, !tbaa !17
  %277 = getelementptr inbounds i8, ptr %276, i64 64
  %278 = load ptr, ptr %277, align 8
  %279 = call noundef zeroext i1 %278(ptr noundef nonnull align 8 dereferenceable(192) %275, ptr noundef nonnull @.str.442)
  br i1 %279, label %286, label %280

280:                                              ; preds = %274
  %281 = load ptr, ptr %269, align 8, !tbaa !16
  %282 = load ptr, ptr %281, align 8, !tbaa !17
  %283 = getelementptr inbounds i8, ptr %282, i64 64
  %284 = load ptr, ptr %283, align 8
  %285 = call noundef zeroext i1 %284(ptr noundef nonnull align 8 dereferenceable(192) %281, ptr noundef nonnull @.str.447)
  br i1 %285, label %286, label %288

286:                                              ; preds = %280, %274, %268
  %287 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

288:                                              ; preds = %280
  %289 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

290:                                              ; preds = %23
  %291 = getelementptr inbounds i8, ptr %0, i64 8
  %292 = load ptr, ptr %291, align 8, !tbaa !16
  %293 = getelementptr inbounds i8, ptr %292, i64 200
  %294 = load ptr, ptr %293, align 8, !tbaa !49
  %295 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %294)
  br i1 %295, label %309, label %296

296:                                              ; preds = %290
  %297 = load ptr, ptr %291, align 8, !tbaa !16
  %298 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %297)
  br i1 %298, label %311, label %299

299:                                              ; preds = %296
  %300 = load ptr, ptr %291, align 8, !tbaa !16
  %301 = getelementptr inbounds i8, ptr %300, i64 24
  %302 = load i32, ptr %301, align 8, !tbaa !20
  %303 = icmp sgt i32 %302, 459
  br i1 %303, label %304, label %311

304:                                              ; preds = %299
  %305 = load ptr, ptr %300, align 8, !tbaa !17
  %306 = getelementptr inbounds i8, ptr %305, i64 64
  %307 = load ptr, ptr %306, align 8
  %308 = call noundef zeroext i1 %307(ptr noundef nonnull align 8 dereferenceable(192) %300, ptr noundef nonnull @.str.447)
  br i1 %308, label %309, label %311

309:                                              ; preds = %304, %290
  %310 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

311:                                              ; preds = %304, %299, %296
  %312 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

313:                                              ; preds = %23
  %314 = getelementptr inbounds i8, ptr %0, i64 8
  %315 = load ptr, ptr %314, align 8, !tbaa !16
  %316 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %315)
  %.pre26 = load ptr, ptr %314, align 8, !tbaa !16
  br i1 %316, label %317, label %321

317:                                              ; preds = %313
  %318 = getelementptr inbounds i8, ptr %.pre26, i64 24
  %319 = load i32, ptr %318, align 8, !tbaa !20
  %320 = icmp sgt i32 %319, 309
  br i1 %320, label %326, label %321

321:                                              ; preds = %317, %313
  %322 = load ptr, ptr %.pre26, align 8, !tbaa !17
  %323 = getelementptr inbounds i8, ptr %322, i64 64
  %324 = load ptr, ptr %323, align 8
  %325 = call noundef zeroext i1 %324(ptr noundef nonnull align 8 dereferenceable(192) %.pre26, ptr noundef nonnull @.str.448)
  br i1 %325, label %326, label %328

326:                                              ; preds = %321, %317
  %327 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

328:                                              ; preds = %321
  %329 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 420)
  br label %1412

330:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %331 = getelementptr inbounds i8, ptr %0, i64 8
  %332 = load ptr, ptr %331, align 8, !tbaa !16
  %333 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %332)
  %.pre25 = load ptr, ptr %331, align 8, !tbaa !16
  br i1 %333, label %334, label %340

334:                                              ; preds = %330
  %335 = getelementptr inbounds i8, ptr %.pre25, i64 24
  %336 = load i32, ptr %335, align 8, !tbaa !20
  %337 = icmp sgt i32 %336, 309
  br i1 %337, label %338, label %340

338:                                              ; preds = %334
  %339 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

340:                                              ; preds = %334, %330
  %341 = load ptr, ptr %.pre25, align 8, !tbaa !17
  %342 = getelementptr inbounds i8, ptr %341, i64 64
  %343 = load ptr, ptr %342, align 8
  %344 = call noundef zeroext i1 %343(ptr noundef nonnull align 8 dereferenceable(192) %.pre25, ptr noundef nonnull @.str.449)
  %345 = select i1 %344, i32 130, i32 420
  %346 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef %345)
  br label %1412

347:                                              ; preds = %23
  %348 = getelementptr inbounds i8, ptr %0, i64 8
  %349 = load ptr, ptr %348, align 8, !tbaa !16
  %350 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %349)
  %.pre24 = load ptr, ptr %348, align 8, !tbaa !16
  br i1 %350, label %351, label %357

351:                                              ; preds = %347
  %352 = getelementptr inbounds i8, ptr %.pre24, i64 24
  %353 = load i32, ptr %352, align 8, !tbaa !20
  %354 = icmp sgt i32 %353, 309
  br i1 %354, label %355, label %357

355:                                              ; preds = %351
  %356 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

357:                                              ; preds = %351, %347
  %358 = getelementptr inbounds i8, ptr %.pre24, i64 200
  %359 = load ptr, ptr %358, align 8, !tbaa !49
  %360 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %359)
  br i1 %360, label %376, label %361

361:                                              ; preds = %357
  %362 = load ptr, ptr %348, align 8, !tbaa !16
  %363 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %362)
  br i1 %363, label %374, label %364

364:                                              ; preds = %361
  %365 = load ptr, ptr %348, align 8, !tbaa !16
  %366 = getelementptr inbounds i8, ptr %365, i64 24
  %367 = load i32, ptr %366, align 8, !tbaa !20
  %368 = icmp slt i32 %367, 420
  br i1 %368, label %369, label %376

369:                                              ; preds = %364
  %370 = load ptr, ptr %365, align 8, !tbaa !17
  %371 = getelementptr inbounds i8, ptr %370, i64 64
  %372 = load ptr, ptr %371, align 8
  %373 = call noundef zeroext i1 %372(ptr noundef nonnull align 8 dereferenceable(192) %365, ptr noundef nonnull @.str.449)
  br i1 %373, label %376, label %374

374:                                              ; preds = %369, %361
  %375 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %376

376:                                              ; preds = %374, %369, %364, %357
  %377 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

378:                                              ; preds = %23
  %379 = getelementptr inbounds i8, ptr %0, i64 8
  %380 = load ptr, ptr %379, align 8, !tbaa !16
  %381 = getelementptr inbounds i8, ptr %380, i64 200
  %382 = load ptr, ptr %381, align 8, !tbaa !49
  %383 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %382)
  br i1 %383, label %406, label %384

384:                                              ; preds = %378
  %385 = load ptr, ptr %379, align 8, !tbaa !16
  %386 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %385)
  br i1 %386, label %387, label %397

387:                                              ; preds = %384
  %388 = load ptr, ptr %379, align 8, !tbaa !16
  %389 = getelementptr inbounds i8, ptr %388, i64 24
  %390 = load i32, ptr %389, align 8, !tbaa !20
  %391 = icmp sgt i32 %390, 319
  br i1 %391, label %406, label %392

392:                                              ; preds = %387
  %393 = load ptr, ptr %388, align 8, !tbaa !17
  %394 = getelementptr inbounds i8, ptr %393, i64 72
  %395 = load ptr, ptr %394, align 8
  %396 = call noundef zeroext i1 %395(ptr noundef nonnull align 8 dereferenceable(192) %388, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL23AEP_tessellation_shaderE)
  br i1 %396, label %406, label %397

397:                                              ; preds = %392, %384
  %398 = load ptr, ptr %379, align 8, !tbaa !16
  %399 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %398)
  br i1 %399, label %408, label %400

400:                                              ; preds = %397
  %401 = load ptr, ptr %379, align 8, !tbaa !16
  %402 = load ptr, ptr %401, align 8, !tbaa !17
  %403 = getelementptr inbounds i8, ptr %402, i64 64
  %404 = load ptr, ptr %403, align 8
  %405 = call noundef zeroext i1 %404(ptr noundef nonnull align 8 dereferenceable(192) %401, ptr noundef nonnull @.str.450)
  br i1 %405, label %406, label %408

406:                                              ; preds = %400, %392, %387, %378
  %407 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

408:                                              ; preds = %400, %397
  %409 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 400)
  br label %1412

410:                                              ; preds = %23
  %411 = getelementptr inbounds i8, ptr %0, i64 8
  %412 = load ptr, ptr %411, align 8, !tbaa !16
  %413 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %412)
  %.pre23 = load ptr, ptr %411, align 8, !tbaa !16
  br i1 %413, label %414, label %418

414:                                              ; preds = %410
  %415 = getelementptr inbounds i8, ptr %.pre23, i64 24
  %416 = load i32, ptr %415, align 8, !tbaa !20
  %417 = icmp sgt i32 %416, 319
  br i1 %417, label %423, label %418

418:                                              ; preds = %414, %410
  %419 = load ptr, ptr %.pre23, align 8, !tbaa !17
  %420 = getelementptr inbounds i8, ptr %419, i64 72
  %421 = load ptr, ptr %420, align 8
  %422 = call noundef zeroext i1 %421(ptr noundef nonnull align 8 dereferenceable(192) %.pre23, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL41E_GL_OES_shader_multisample_interpolationE)
  br i1 %422, label %423, label %425

423:                                              ; preds = %418, %414
  %424 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

425:                                              ; preds = %418
  %426 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 400)
  br label %1412

427:                                              ; preds = %23
  %428 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 400)
  br label %1412

429:                                              ; preds = %23
  %430 = getelementptr inbounds i8, ptr %0, i64 8
  %431 = load ptr, ptr %430, align 8, !tbaa !16
  %432 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %431)
  %.pre22 = load ptr, ptr %430, align 8, !tbaa !16
  br i1 %432, label %433, label %437

433:                                              ; preds = %429
  %434 = getelementptr inbounds i8, ptr %.pre22, i64 24
  %435 = load i32, ptr %434, align 8, !tbaa !20
  %436 = icmp slt i32 %435, 300
  br i1 %436, label %444, label %437

437:                                              ; preds = %433, %429
  %438 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre22)
  br i1 %438, label %446, label %439

439:                                              ; preds = %437
  %440 = load ptr, ptr %430, align 8, !tbaa !16
  %441 = getelementptr inbounds i8, ptr %440, i64 24
  %442 = load i32, ptr %441, align 8, !tbaa !20
  %443 = icmp slt i32 %442, 140
  br i1 %443, label %444, label %446

444:                                              ; preds = %439, %433
  %445 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

446:                                              ; preds = %439, %437
  %447 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

448:                                              ; preds = %23
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %6) #5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16) %6, ptr noundef nonnull align 16 dereferenceable(16) @__const._ZN7glslang12TScanContext18tokenizeIdentifierEv.layoutExts, i64 16, i1 false)
  %449 = getelementptr inbounds i8, ptr %0, i64 8
  %450 = load ptr, ptr %449, align 8, !tbaa !16
  %451 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %450)
  %.pre21 = load ptr, ptr %449, align 8, !tbaa !16
  br i1 %451, label %452, label %456

452:                                              ; preds = %448
  %453 = getelementptr inbounds i8, ptr %.pre21, i64 24
  %454 = load i32, ptr %453, align 8, !tbaa !20
  %455 = icmp slt i32 %454, 300
  br i1 %455, label %468, label %456

456:                                              ; preds = %452, %448
  %457 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre21)
  br i1 %457, label %470, label %458

458:                                              ; preds = %456
  %459 = load ptr, ptr %449, align 8, !tbaa !16
  %460 = getelementptr inbounds i8, ptr %459, i64 24
  %461 = load i32, ptr %460, align 8, !tbaa !20
  %462 = icmp slt i32 %461, 140
  br i1 %462, label %463, label %470

463:                                              ; preds = %458
  %464 = load ptr, ptr %459, align 8, !tbaa !17
  %465 = getelementptr inbounds i8, ptr %464, i64 72
  %466 = load ptr, ptr %465, align 8
  %467 = call noundef zeroext i1 %466(ptr noundef nonnull align 8 dereferenceable(192) %459, i32 noundef 2, ptr noundef nonnull %6)
  br i1 %467, label %470, label %468

468:                                              ; preds = %463, %452
  %469 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %472

470:                                              ; preds = %463, %458, %456
  %471 = load i32, ptr %27, align 8, !tbaa !12
  br label %472

472:                                              ; preds = %470, %468
  %.0 = phi i32 [ %469, %468 ], [ %471, %470 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %6) #5
  br label %1412

473:                                              ; preds = %23, %23, %23, %23
  %474 = call noundef i32 @_ZN7glslang12TScanContext16precisionKeywordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

475:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23
  %476 = call noundef i32 @_ZN7glslang12TScanContext6matNxMEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

477:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %478 = call noundef i32 @_ZN7glslang12TScanContext4dMatEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

479:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23
  %480 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %480, align 8, !tbaa !43
  %481 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %0, i1 noundef zeroext false)
  br label %1412

482:                                              ; preds = %23, %23, %23, %23, %23, %23
  %483 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %483, align 8, !tbaa !43
  %484 = getelementptr inbounds i8, ptr %0, i64 8
  %485 = load ptr, ptr %484, align 8, !tbaa !16
  %486 = getelementptr inbounds i8, ptr %485, i64 200
  %487 = load ptr, ptr %486, align 8, !tbaa !49
  %488 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %487)
  br i1 %488, label %495, label %489

489:                                              ; preds = %482
  %490 = load ptr, ptr %484, align 8, !tbaa !16
  %491 = load ptr, ptr %490, align 8, !tbaa !17
  %492 = getelementptr inbounds i8, ptr %491, i64 64
  %493 = load ptr, ptr %492, align 8
  %494 = call noundef zeroext i1 %493(ptr noundef nonnull align 8 dereferenceable(192) %490, ptr noundef nonnull @.str.453)
  br i1 %494, label %495, label %497

495:                                              ; preds = %489, %482
  %496 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %0, i1 noundef zeroext false)
  br label %1412

497:                                              ; preds = %489
  %498 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

499:                                              ; preds = %23, %23, %23
  %500 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %500, align 8, !tbaa !43
  %501 = getelementptr inbounds i8, ptr %0, i64 8
  %502 = load ptr, ptr %501, align 8, !tbaa !16
  %503 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %502)
  %.pre20 = load ptr, ptr %501, align 8, !tbaa !16
  br i1 %503, label %504, label %508

504:                                              ; preds = %499
  %505 = getelementptr inbounds i8, ptr %.pre20, i64 24
  %506 = load i32, ptr %505, align 8, !tbaa !20
  %507 = icmp sgt i32 %506, 319
  br i1 %507, label %513, label %508

508:                                              ; preds = %504, %499
  %509 = load ptr, ptr %.pre20, align 8, !tbaa !17
  %510 = getelementptr inbounds i8, ptr %509, i64 72
  %511 = load ptr, ptr %510, align 8
  %512 = call noundef zeroext i1 %511(ptr noundef nonnull align 8 dereferenceable(192) %.pre20, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL18AEP_texture_bufferE)
  br i1 %512, label %513, label %515

513:                                              ; preds = %508, %504
  %514 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

515:                                              ; preds = %508
  %516 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %0, i1 noundef zeroext false)
  br label %1412

517:                                              ; preds = %23, %23
  %518 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %518, align 8, !tbaa !43
  %519 = getelementptr inbounds i8, ptr %0, i64 8
  %520 = load ptr, ptr %519, align 8, !tbaa !16
  %521 = getelementptr inbounds i8, ptr %520, i64 200
  %522 = load ptr, ptr %521, align 8, !tbaa !49
  %523 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %522)
  br i1 %523, label %530, label %524

524:                                              ; preds = %517
  %525 = load ptr, ptr %519, align 8, !tbaa !16
  %526 = load ptr, ptr %525, align 8, !tbaa !17
  %527 = getelementptr inbounds i8, ptr %526, i64 64
  %528 = load ptr, ptr %527, align 8
  %529 = call noundef zeroext i1 %528(ptr noundef nonnull align 8 dereferenceable(192) %525, ptr noundef nonnull @.str.453)
  br i1 %529, label %530, label %546

530:                                              ; preds = %524, %517
  %531 = load ptr, ptr %519, align 8, !tbaa !16
  %532 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %531)
  %.pre19 = load ptr, ptr %519, align 8, !tbaa !16
  br i1 %532, label %533, label %537

533:                                              ; preds = %530
  %534 = getelementptr inbounds i8, ptr %.pre19, i64 24
  %535 = load i32, ptr %534, align 8, !tbaa !20
  %536 = icmp sgt i32 %535, 319
  br i1 %536, label %542, label %537

537:                                              ; preds = %533, %530
  %538 = load ptr, ptr %.pre19, align 8, !tbaa !17
  %539 = getelementptr inbounds i8, ptr %538, i64 72
  %540 = load ptr, ptr %539, align 8
  %541 = call noundef zeroext i1 %540(ptr noundef nonnull align 8 dereferenceable(192) %.pre19, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL18AEP_texture_bufferE)
  br i1 %541, label %542, label %544

542:                                              ; preds = %537, %533
  %543 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

544:                                              ; preds = %537
  %545 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %0, i1 noundef zeroext false)
  br label %1412

546:                                              ; preds = %524
  %547 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

548:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %549 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %549, align 8, !tbaa !43
  %550 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %0, i1 noundef zeroext true)
  br label %1412

551:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23
  %552 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %552, align 8, !tbaa !43
  %553 = getelementptr inbounds i8, ptr %0, i64 8
  %554 = load ptr, ptr %553, align 8, !tbaa !16
  %555 = getelementptr inbounds i8, ptr %554, i64 200
  %556 = load ptr, ptr %555, align 8, !tbaa !49
  %557 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %556)
  br i1 %557, label %564, label %558

558:                                              ; preds = %551
  %559 = load ptr, ptr %553, align 8, !tbaa !16
  %560 = load ptr, ptr %559, align 8, !tbaa !17
  %561 = getelementptr inbounds i8, ptr %560, i64 64
  %562 = load ptr, ptr %561, align 8
  %563 = call noundef zeroext i1 %562(ptr noundef nonnull align 8 dereferenceable(192) %559, ptr noundef nonnull @.str.453)
  br i1 %563, label %564, label %566

564:                                              ; preds = %558, %551
  %565 = call noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76) %0, i1 noundef zeroext true)
  br label %1412

566:                                              ; preds = %558
  %567 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

568:                                              ; preds = %23, %23, %23
  %569 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %569, align 8, !tbaa !43
  %570 = getelementptr inbounds i8, ptr %0, i64 8
  %571 = load ptr, ptr %570, align 8, !tbaa !16
  %572 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %571)
  %.pre18 = load ptr, ptr %570, align 8, !tbaa !16
  br i1 %572, label %573, label %577

573:                                              ; preds = %568
  %574 = getelementptr inbounds i8, ptr %.pre18, i64 24
  %575 = load i32, ptr %574, align 8, !tbaa !20
  %576 = icmp sgt i32 %575, 319
  br i1 %576, label %582, label %577

577:                                              ; preds = %573, %568
  %578 = load ptr, ptr %.pre18, align 8, !tbaa !17
  %579 = getelementptr inbounds i8, ptr %578, i64 72
  %580 = load ptr, ptr %579, align 8
  %581 = call noundef zeroext i1 %580(ptr noundef nonnull align 8 dereferenceable(192) %.pre18, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL26AEP_texture_cube_map_arrayE)
  br i1 %581, label %582, label %584

582:                                              ; preds = %577, %573
  %583 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

584:                                              ; preds = %577
  %585 = call noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

586:                                              ; preds = %23, %23
  %587 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %587, align 8, !tbaa !43
  %588 = getelementptr inbounds i8, ptr %0, i64 8
  %589 = load ptr, ptr %588, align 8, !tbaa !16
  %590 = getelementptr inbounds i8, ptr %589, i64 200
  %591 = load ptr, ptr %590, align 8, !tbaa !49
  %592 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %591)
  br i1 %592, label %599, label %593

593:                                              ; preds = %586
  %594 = load ptr, ptr %588, align 8, !tbaa !16
  %595 = load ptr, ptr %594, align 8, !tbaa !17
  %596 = getelementptr inbounds i8, ptr %595, i64 64
  %597 = load ptr, ptr %596, align 8
  %598 = call noundef zeroext i1 %597(ptr noundef nonnull align 8 dereferenceable(192) %594, ptr noundef nonnull @.str.453)
  br i1 %598, label %599, label %615

599:                                              ; preds = %593, %586
  %600 = load ptr, ptr %588, align 8, !tbaa !16
  %601 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %600)
  %.pre17 = load ptr, ptr %588, align 8, !tbaa !16
  br i1 %601, label %602, label %606

602:                                              ; preds = %599
  %603 = getelementptr inbounds i8, ptr %.pre17, i64 24
  %604 = load i32, ptr %603, align 8, !tbaa !20
  %605 = icmp sgt i32 %604, 319
  br i1 %605, label %611, label %606

606:                                              ; preds = %602, %599
  %607 = load ptr, ptr %.pre17, align 8, !tbaa !17
  %608 = getelementptr inbounds i8, ptr %607, i64 72
  %609 = load ptr, ptr %608, align 8
  %610 = call noundef zeroext i1 %609(ptr noundef nonnull align 8 dereferenceable(192) %.pre17, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL26AEP_texture_cube_map_arrayE)
  br i1 %610, label %611, label %613

611:                                              ; preds = %606, %602
  %612 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

613:                                              ; preds = %606
  %614 = call noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

615:                                              ; preds = %593
  %616 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

617:                                              ; preds = %23, %23, %23, %23, %23, %23
  %618 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %618, align 8, !tbaa !43
  %619 = call noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

620:                                              ; preds = %23, %23, %23, %23
  %621 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %621, align 8, !tbaa !43
  %622 = getelementptr inbounds i8, ptr %0, i64 8
  %623 = load ptr, ptr %622, align 8, !tbaa !16
  %624 = getelementptr inbounds i8, ptr %623, i64 200
  %625 = load ptr, ptr %624, align 8, !tbaa !49
  %626 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %625)
  br i1 %626, label %633, label %627

627:                                              ; preds = %620
  %628 = load ptr, ptr %622, align 8, !tbaa !16
  %629 = load ptr, ptr %628, align 8, !tbaa !17
  %630 = getelementptr inbounds i8, ptr %629, i64 64
  %631 = load ptr, ptr %630, align 8
  %632 = call noundef zeroext i1 %631(ptr noundef nonnull align 8 dereferenceable(192) %628, ptr noundef nonnull @.str.453)
  br i1 %632, label %633, label %635

633:                                              ; preds = %627, %620
  %634 = call noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

635:                                              ; preds = %627
  %636 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

637:                                              ; preds = %23, %23, %23, %23
  %638 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %638, align 8, !tbaa !43
  %639 = getelementptr inbounds i8, ptr %0, i64 8
  %640 = load ptr, ptr %639, align 8, !tbaa !16
  %641 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %640)
  br i1 %641, label %671, label %642

642:                                              ; preds = %637
  %643 = load ptr, ptr %639, align 8, !tbaa !16
  %644 = getelementptr inbounds i8, ptr %643, i64 24
  %645 = load i32, ptr %644, align 8, !tbaa !20
  %646 = icmp slt i32 %645, 150
  br i1 %646, label %671, label %647

647:                                              ; preds = %642
  %648 = getelementptr inbounds i8, ptr %643, i64 200
  %649 = load ptr, ptr %648, align 8, !tbaa !49
  %650 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %649)
  br i1 %650, label %673, label %651

651:                                              ; preds = %647
  %652 = load ptr, ptr %639, align 8, !tbaa !16
  %653 = getelementptr inbounds i8, ptr %652, i64 24
  %654 = load i32, ptr %653, align 8, !tbaa !20
  %655 = icmp slt i32 %654, 400
  br i1 %655, label %656, label %673

656:                                              ; preds = %651
  %657 = load ptr, ptr %652, align 8, !tbaa !17
  %658 = getelementptr inbounds i8, ptr %657, i64 64
  %659 = load ptr, ptr %658, align 8
  %660 = call noundef zeroext i1 %659(ptr noundef nonnull align 8 dereferenceable(192) %652, ptr noundef nonnull @.str.454)
  br i1 %660, label %673, label %661

661:                                              ; preds = %656
  %662 = load ptr, ptr %639, align 8, !tbaa !16
  %663 = getelementptr inbounds i8, ptr %662, i64 24
  %664 = load i32, ptr %663, align 8, !tbaa !20
  %665 = icmp slt i32 %664, 410
  br i1 %665, label %666, label %673

666:                                              ; preds = %661
  %667 = load ptr, ptr %662, align 8, !tbaa !17
  %668 = getelementptr inbounds i8, ptr %667, i64 64
  %669 = load ptr, ptr %668, align 8
  %670 = call noundef zeroext i1 %669(ptr noundef nonnull align 8 dereferenceable(192) %662, ptr noundef nonnull @.str.455)
  br i1 %670, label %673, label %671

671:                                              ; preds = %666, %642, %637
  %672 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %673

673:                                              ; preds = %671, %666, %661, %656, %651, %647
  %674 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

675:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23
  %676 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %676, align 8, !tbaa !43
  %677 = getelementptr inbounds i8, ptr %0, i64 8
  %678 = load ptr, ptr %677, align 8, !tbaa !16
  %679 = getelementptr inbounds i8, ptr %678, i64 200
  %680 = load ptr, ptr %679, align 8, !tbaa !49
  %681 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %680)
  br i1 %681, label %700, label %682

682:                                              ; preds = %675
  %683 = load ptr, ptr %677, align 8, !tbaa !16
  %684 = load ptr, ptr %683, align 8, !tbaa !17
  %685 = getelementptr inbounds i8, ptr %684, i64 64
  %686 = load ptr, ptr %685, align 8
  %687 = call noundef zeroext i1 %686(ptr noundef nonnull align 8 dereferenceable(192) %683, ptr noundef nonnull @.str.456)
  br i1 %687, label %700, label %688

688:                                              ; preds = %682
  %689 = load ptr, ptr %677, align 8, !tbaa !16
  %690 = load ptr, ptr %689, align 8, !tbaa !17
  %691 = getelementptr inbounds i8, ptr %690, i64 64
  %692 = load ptr, ptr %691, align 8
  %693 = call noundef zeroext i1 %692(ptr noundef nonnull align 8 dereferenceable(192) %689, ptr noundef nonnull @.str.457)
  br i1 %693, label %700, label %694

694:                                              ; preds = %688
  %695 = load ptr, ptr %677, align 8, !tbaa !16
  %696 = load ptr, ptr %695, align 8, !tbaa !17
  %697 = getelementptr inbounds i8, ptr %696, i64 64
  %698 = load ptr, ptr %697, align 8
  %699 = call noundef zeroext i1 %698(ptr noundef nonnull align 8 dereferenceable(192) %695, ptr noundef nonnull @.str.458)
  br i1 %699, label %700, label %702

700:                                              ; preds = %694, %688, %682, %675
  %701 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

702:                                              ; preds = %694
  %703 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

704:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23
  %705 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %705, align 8, !tbaa !43
  %706 = getelementptr inbounds i8, ptr %0, i64 8
  %707 = load ptr, ptr %706, align 8, !tbaa !16
  %708 = getelementptr inbounds i8, ptr %707, i64 200
  %709 = load ptr, ptr %708, align 8, !tbaa !49
  %710 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %709)
  br i1 %710, label %729, label %711

711:                                              ; preds = %704
  %712 = load ptr, ptr %706, align 8, !tbaa !16
  %713 = load ptr, ptr %712, align 8, !tbaa !17
  %714 = getelementptr inbounds i8, ptr %713, i64 64
  %715 = load ptr, ptr %714, align 8
  %716 = call noundef zeroext i1 %715(ptr noundef nonnull align 8 dereferenceable(192) %712, ptr noundef nonnull @.str.457)
  br i1 %716, label %729, label %717

717:                                              ; preds = %711
  %718 = load ptr, ptr %706, align 8, !tbaa !16
  %719 = load ptr, ptr %718, align 8, !tbaa !17
  %720 = getelementptr inbounds i8, ptr %719, i64 64
  %721 = load ptr, ptr %720, align 8
  %722 = call noundef zeroext i1 %721(ptr noundef nonnull align 8 dereferenceable(192) %718, ptr noundef nonnull @.str.459)
  br i1 %722, label %729, label %723

723:                                              ; preds = %717
  %724 = load ptr, ptr %706, align 8, !tbaa !16
  %725 = load ptr, ptr %724, align 8, !tbaa !17
  %726 = getelementptr inbounds i8, ptr %725, i64 64
  %727 = load ptr, ptr %726, align 8
  %728 = call noundef zeroext i1 %727(ptr noundef nonnull align 8 dereferenceable(192) %724, ptr noundef nonnull @.str.460)
  br i1 %728, label %729, label %731

729:                                              ; preds = %723, %717, %711, %704
  %730 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

731:                                              ; preds = %723
  %732 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

733:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23
  %734 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %734, align 8, !tbaa !43
  %735 = getelementptr inbounds i8, ptr %0, i64 8
  %736 = load ptr, ptr %735, align 8, !tbaa !16
  %737 = getelementptr inbounds i8, ptr %736, i64 200
  %738 = load ptr, ptr %737, align 8, !tbaa !49
  %739 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %738)
  br i1 %739, label %764, label %740

740:                                              ; preds = %733
  %741 = load ptr, ptr %735, align 8, !tbaa !16
  %742 = load ptr, ptr %741, align 8, !tbaa !17
  %743 = getelementptr inbounds i8, ptr %742, i64 64
  %744 = load ptr, ptr %743, align 8
  %745 = call noundef zeroext i1 %744(ptr noundef nonnull align 8 dereferenceable(192) %741, ptr noundef nonnull @.str.461)
  br i1 %745, label %764, label %746

746:                                              ; preds = %740
  %747 = load ptr, ptr %735, align 8, !tbaa !16
  %748 = load ptr, ptr %747, align 8, !tbaa !17
  %749 = getelementptr inbounds i8, ptr %748, i64 64
  %750 = load ptr, ptr %749, align 8
  %751 = call noundef zeroext i1 %750(ptr noundef nonnull align 8 dereferenceable(192) %747, ptr noundef nonnull @.str.462)
  br i1 %751, label %764, label %752

752:                                              ; preds = %746
  %753 = load ptr, ptr %735, align 8, !tbaa !16
  %754 = load ptr, ptr %753, align 8, !tbaa !17
  %755 = getelementptr inbounds i8, ptr %754, i64 64
  %756 = load ptr, ptr %755, align 8
  %757 = call noundef zeroext i1 %756(ptr noundef nonnull align 8 dereferenceable(192) %753, ptr noundef nonnull @.str.457)
  br i1 %757, label %764, label %758

758:                                              ; preds = %752
  %759 = load ptr, ptr %735, align 8, !tbaa !16
  %760 = load ptr, ptr %759, align 8, !tbaa !17
  %761 = getelementptr inbounds i8, ptr %760, i64 64
  %762 = load ptr, ptr %761, align 8
  %763 = call noundef zeroext i1 %762(ptr noundef nonnull align 8 dereferenceable(192) %759, ptr noundef nonnull @.str.463)
  br i1 %763, label %764, label %766

764:                                              ; preds = %758, %752, %746, %740, %733
  %765 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

766:                                              ; preds = %758
  %767 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

768:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23
  %769 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %769, align 8, !tbaa !43
  %770 = getelementptr inbounds i8, ptr %0, i64 8
  %771 = load ptr, ptr %770, align 8, !tbaa !16
  %772 = getelementptr inbounds i8, ptr %771, i64 200
  %773 = load ptr, ptr %772, align 8, !tbaa !49
  %774 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %773)
  br i1 %774, label %787, label %775

775:                                              ; preds = %768
  %776 = load ptr, ptr %770, align 8, !tbaa !16
  %777 = load ptr, ptr %776, align 8, !tbaa !17
  %778 = getelementptr inbounds i8, ptr %777, i64 64
  %779 = load ptr, ptr %778, align 8
  %780 = call noundef zeroext i1 %779(ptr noundef nonnull align 8 dereferenceable(192) %776, ptr noundef nonnull @.str.457)
  br i1 %780, label %787, label %781

781:                                              ; preds = %775
  %782 = load ptr, ptr %770, align 8, !tbaa !16
  %783 = load ptr, ptr %782, align 8, !tbaa !17
  %784 = getelementptr inbounds i8, ptr %783, i64 64
  %785 = load ptr, ptr %784, align 8
  %786 = call noundef zeroext i1 %785(ptr noundef nonnull align 8 dereferenceable(192) %782, ptr noundef nonnull @.str.464)
  br i1 %786, label %787, label %789

787:                                              ; preds = %781, %775, %768
  %788 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

789:                                              ; preds = %781
  %790 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

791:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %792 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %792, align 8, !tbaa !43
  %793 = getelementptr inbounds i8, ptr %0, i64 8
  %794 = load ptr, ptr %793, align 8, !tbaa !16
  %795 = getelementptr inbounds i8, ptr %794, i64 200
  %796 = load ptr, ptr %795, align 8, !tbaa !49
  %797 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %796)
  br i1 %797, label %810, label %798

798:                                              ; preds = %791
  %799 = load ptr, ptr %793, align 8, !tbaa !16
  %800 = load ptr, ptr %799, align 8, !tbaa !17
  %801 = getelementptr inbounds i8, ptr %800, i64 64
  %802 = load ptr, ptr %801, align 8
  %803 = call noundef zeroext i1 %802(ptr noundef nonnull align 8 dereferenceable(192) %799, ptr noundef nonnull @.str.457)
  br i1 %803, label %810, label %804

804:                                              ; preds = %798
  %805 = load ptr, ptr %793, align 8, !tbaa !16
  %806 = load ptr, ptr %805, align 8, !tbaa !17
  %807 = getelementptr inbounds i8, ptr %806, i64 64
  %808 = load ptr, ptr %807, align 8
  %809 = call noundef zeroext i1 %808(ptr noundef nonnull align 8 dereferenceable(192) %805, ptr noundef nonnull @.str.465)
  br i1 %809, label %810, label %812

810:                                              ; preds = %804, %798, %791
  %811 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

812:                                              ; preds = %804
  %813 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

814:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %815 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %815, align 8, !tbaa !43
  %816 = getelementptr inbounds i8, ptr %0, i64 8
  %817 = load ptr, ptr %816, align 8, !tbaa !16
  %818 = getelementptr inbounds i8, ptr %817, i64 200
  %819 = load ptr, ptr %818, align 8, !tbaa !49
  %820 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %819)
  br i1 %820, label %833, label %821

821:                                              ; preds = %814
  %822 = load ptr, ptr %816, align 8, !tbaa !16
  %823 = load ptr, ptr %822, align 8, !tbaa !17
  %824 = getelementptr inbounds i8, ptr %823, i64 64
  %825 = load ptr, ptr %824, align 8
  %826 = call noundef zeroext i1 %825(ptr noundef nonnull align 8 dereferenceable(192) %822, ptr noundef nonnull @.str.457)
  br i1 %826, label %833, label %827

827:                                              ; preds = %821
  %828 = load ptr, ptr %816, align 8, !tbaa !16
  %829 = load ptr, ptr %828, align 8, !tbaa !17
  %830 = getelementptr inbounds i8, ptr %829, i64 64
  %831 = load ptr, ptr %830, align 8
  %832 = call noundef zeroext i1 %831(ptr noundef nonnull align 8 dereferenceable(192) %828, ptr noundef nonnull @.str.466)
  br i1 %832, label %833, label %835

833:                                              ; preds = %827, %821, %814
  %834 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

835:                                              ; preds = %827
  %836 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

837:                                              ; preds = %23, %23, %23, %23
  %838 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %838, align 8, !tbaa !43
  %839 = getelementptr inbounds i8, ptr %0, i64 8
  %840 = load ptr, ptr %839, align 8, !tbaa !16
  %841 = getelementptr inbounds i8, ptr %840, i64 200
  %842 = load ptr, ptr %841, align 8, !tbaa !49
  %843 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %842)
  br i1 %843, label %868, label %844

844:                                              ; preds = %837
  %845 = load ptr, ptr %839, align 8, !tbaa !16
  %846 = load ptr, ptr %845, align 8, !tbaa !17
  %847 = getelementptr inbounds i8, ptr %846, i64 64
  %848 = load ptr, ptr %847, align 8
  %849 = call noundef zeroext i1 %848(ptr noundef nonnull align 8 dereferenceable(192) %845, ptr noundef nonnull @.str.467)
  br i1 %849, label %868, label %850

850:                                              ; preds = %844
  %851 = load ptr, ptr %839, align 8, !tbaa !16
  %852 = load ptr, ptr %851, align 8, !tbaa !17
  %853 = getelementptr inbounds i8, ptr %852, i64 64
  %854 = load ptr, ptr %853, align 8
  %855 = call noundef zeroext i1 %854(ptr noundef nonnull align 8 dereferenceable(192) %851, ptr noundef nonnull @.str.462)
  br i1 %855, label %868, label %856

856:                                              ; preds = %850
  %857 = load ptr, ptr %839, align 8, !tbaa !16
  %858 = load ptr, ptr %857, align 8, !tbaa !17
  %859 = getelementptr inbounds i8, ptr %858, i64 64
  %860 = load ptr, ptr %859, align 8
  %861 = call noundef zeroext i1 %860(ptr noundef nonnull align 8 dereferenceable(192) %857, ptr noundef nonnull @.str.457)
  br i1 %861, label %868, label %862

862:                                              ; preds = %856
  %863 = load ptr, ptr %839, align 8, !tbaa !16
  %864 = load ptr, ptr %863, align 8, !tbaa !17
  %865 = getelementptr inbounds i8, ptr %864, i64 64
  %866 = load ptr, ptr %865, align 8
  %867 = call noundef zeroext i1 %866(ptr noundef nonnull align 8 dereferenceable(192) %863, ptr noundef nonnull @.str.468)
  br i1 %867, label %868, label %870

868:                                              ; preds = %862, %856, %850, %844, %837
  %869 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

870:                                              ; preds = %862
  %871 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

872:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %873 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %873, align 8, !tbaa !43
  %874 = getelementptr inbounds i8, ptr %0, i64 8
  %875 = load ptr, ptr %874, align 8, !tbaa !16
  %876 = getelementptr inbounds i8, ptr %875, i64 200
  %877 = load ptr, ptr %876, align 8, !tbaa !49
  %878 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %877)
  br i1 %878, label %897, label %879

879:                                              ; preds = %872
  %880 = load ptr, ptr %874, align 8, !tbaa !16
  %881 = load ptr, ptr %880, align 8, !tbaa !17
  %882 = getelementptr inbounds i8, ptr %881, i64 64
  %883 = load ptr, ptr %882, align 8
  %884 = call noundef zeroext i1 %883(ptr noundef nonnull align 8 dereferenceable(192) %880, ptr noundef nonnull @.str.467)
  br i1 %884, label %897, label %885

885:                                              ; preds = %879
  %886 = load ptr, ptr %874, align 8, !tbaa !16
  %887 = load ptr, ptr %886, align 8, !tbaa !17
  %888 = getelementptr inbounds i8, ptr %887, i64 64
  %889 = load ptr, ptr %888, align 8
  %890 = call noundef zeroext i1 %889(ptr noundef nonnull align 8 dereferenceable(192) %886, ptr noundef nonnull @.str.457)
  br i1 %890, label %897, label %891

891:                                              ; preds = %885
  %892 = load ptr, ptr %874, align 8, !tbaa !16
  %893 = load ptr, ptr %892, align 8, !tbaa !17
  %894 = getelementptr inbounds i8, ptr %893, i64 64
  %895 = load ptr, ptr %894, align 8
  %896 = call noundef zeroext i1 %895(ptr noundef nonnull align 8 dereferenceable(192) %892, ptr noundef nonnull @.str.468)
  br i1 %896, label %897, label %899

897:                                              ; preds = %891, %885, %879, %872
  %898 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

899:                                              ; preds = %891
  %900 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

901:                                              ; preds = %23, %23, %23, %23
  %902 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %902, align 8, !tbaa !43
  %903 = getelementptr inbounds i8, ptr %0, i64 8
  %904 = load ptr, ptr %903, align 8, !tbaa !16
  %905 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %904)
  %.pre16 = load ptr, ptr %903, align 8, !tbaa !16
  br i1 %905, label %906, label %910

906:                                              ; preds = %901
  %907 = getelementptr inbounds i8, ptr %.pre16, i64 24
  %908 = load i32, ptr %907, align 8, !tbaa !20
  %909 = icmp sgt i32 %908, 319
  br i1 %909, label %915, label %910

910:                                              ; preds = %906, %901
  %911 = load ptr, ptr %.pre16, align 8, !tbaa !17
  %912 = getelementptr inbounds i8, ptr %911, i64 72
  %913 = load ptr, ptr %912, align 8
  %914 = call noundef zeroext i1 %913(ptr noundef nonnull align 8 dereferenceable(192) %.pre16, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL26AEP_texture_cube_map_arrayE)
  br i1 %914, label %915, label %917

915:                                              ; preds = %910, %906
  %916 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

917:                                              ; preds = %910
  %918 = load ptr, ptr %903, align 8, !tbaa !16
  %919 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %918)
  br i1 %919, label %930, label %920

920:                                              ; preds = %917
  %921 = load ptr, ptr %903, align 8, !tbaa !16
  %922 = getelementptr inbounds i8, ptr %921, i64 24
  %923 = load i32, ptr %922, align 8, !tbaa !20
  %924 = icmp slt i32 %923, 400
  br i1 %924, label %925, label %932

925:                                              ; preds = %920
  %926 = load ptr, ptr %921, align 8, !tbaa !17
  %927 = getelementptr inbounds i8, ptr %926, i64 64
  %928 = load ptr, ptr %927, align 8
  %929 = call noundef zeroext i1 %928(ptr noundef nonnull align 8 dereferenceable(192) %921, ptr noundef nonnull @.str.469)
  br i1 %929, label %932, label %930

930:                                              ; preds = %925, %917
  %931 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %932

932:                                              ; preds = %930, %925, %920
  %933 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

934:                                              ; preds = %23, %23, %23
  %935 = getelementptr inbounds i8, ptr %0, i64 8
  %936 = load ptr, ptr %935, align 8, !tbaa !16
  %937 = getelementptr inbounds i8, ptr %936, i64 40
  %938 = load i32, ptr %937, align 8, !tbaa !99
  %939 = icmp sgt i32 %938, 0
  br i1 %939, label %1412, label %940

940:                                              ; preds = %934
  %941 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

942:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %943 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %943, align 8, !tbaa !43
  %944 = call noundef i32 @_ZN7glslang12TScanContext18nonreservedKeywordEii(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 300, i32 noundef 130)
  br label %1412

945:                                              ; preds = %23
  %946 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %946, align 8, !tbaa !43
  %947 = getelementptr inbounds i8, ptr %0, i64 8
  %948 = load ptr, ptr %947, align 8, !tbaa !16
  %949 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %948)
  br i1 %949, label %950, label %962

950:                                              ; preds = %945
  %951 = load ptr, ptr %947, align 8, !tbaa !16
  %952 = getelementptr inbounds i8, ptr %951, i64 24
  %953 = load i32, ptr %952, align 8, !tbaa !20
  %954 = icmp slt i32 %953, 300
  br i1 %954, label %955, label %962

955:                                              ; preds = %950
  %956 = load ptr, ptr %951, align 8, !tbaa !17
  %957 = getelementptr inbounds i8, ptr %956, i64 64
  %958 = load ptr, ptr %957, align 8
  %959 = call noundef zeroext i1 %958(ptr noundef nonnull align 8 dereferenceable(192) %951, ptr noundef nonnull @.str.470)
  br i1 %959, label %962, label %960

960:                                              ; preds = %955
  %961 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %962

962:                                              ; preds = %955, %960, %950, %945
  %963 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

964:                                              ; preds = %23
  %965 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %965, align 8, !tbaa !43
  %966 = getelementptr inbounds i8, ptr %0, i64 8
  %967 = load ptr, ptr %966, align 8, !tbaa !16
  %968 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %967)
  br i1 %968, label %969, label %981

969:                                              ; preds = %964
  %970 = load ptr, ptr %966, align 8, !tbaa !16
  %971 = getelementptr inbounds i8, ptr %970, i64 24
  %972 = load i32, ptr %971, align 8, !tbaa !20
  %973 = icmp slt i32 %972, 300
  br i1 %973, label %974, label %981

974:                                              ; preds = %969
  %975 = load ptr, ptr %970, align 8, !tbaa !17
  %976 = getelementptr inbounds i8, ptr %975, i64 64
  %977 = load ptr, ptr %976, align 8
  %978 = call noundef zeroext i1 %977(ptr noundef nonnull align 8 dereferenceable(192) %970, ptr noundef nonnull @.str.471)
  br i1 %978, label %981, label %979

979:                                              ; preds = %974
  %980 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %981

981:                                              ; preds = %974, %979, %969, %964
  %982 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

983:                                              ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %984 = getelementptr inbounds i8, ptr %0, i64 8
  %985 = load ptr, ptr %984, align 8, !tbaa !16
  %986 = getelementptr inbounds i8, ptr %985, i64 40
  %987 = load i32, ptr %986, align 8, !tbaa !99
  %988 = icmp sgt i32 %987, 0
  br i1 %988, label %1412, label %989

989:                                              ; preds = %983
  %990 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

991:                                              ; preds = %23, %23, %23, %23, %23
  %992 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %992, align 8, !tbaa !43
  %993 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 130)
  br label %1412

994:                                              ; preds = %23, %23
  %995 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %995, align 8, !tbaa !43
  %996 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 140)
  br label %1412

997:                                              ; preds = %23
  %998 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %998, align 8, !tbaa !43
  %999 = getelementptr inbounds i8, ptr %0, i64 8
  %1000 = load ptr, ptr %999, align 8, !tbaa !16
  %1001 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1000)
  %.pre15 = load ptr, ptr %999, align 8, !tbaa !16
  br i1 %1001, label %1002, label %1006

1002:                                             ; preds = %997
  %1003 = getelementptr inbounds i8, ptr %.pre15, i64 24
  %1004 = load i32, ptr %1003, align 8, !tbaa !20
  %1005 = icmp sgt i32 %1004, 319
  br i1 %1005, label %1011, label %1006

1006:                                             ; preds = %1002, %997
  %1007 = load ptr, ptr %.pre15, align 8, !tbaa !17
  %1008 = getelementptr inbounds i8, ptr %1007, i64 72
  %1009 = load ptr, ptr %1008, align 8
  %1010 = call noundef zeroext i1 %1009(ptr noundef nonnull align 8 dereferenceable(192) %.pre15, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL18AEP_texture_bufferE)
  br i1 %1010, label %1011, label %1013

1011:                                             ; preds = %1006, %1002
  %1012 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1013:                                             ; preds = %1006
  %1014 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 130)
  br label %1412

1015:                                             ; preds = %23, %23
  %1016 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1016, align 8, !tbaa !43
  %1017 = getelementptr inbounds i8, ptr %0, i64 8
  %1018 = load ptr, ptr %1017, align 8, !tbaa !16
  %1019 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1018)
  %.pre14 = load ptr, ptr %1017, align 8, !tbaa !16
  br i1 %1019, label %1020, label %1024

1020:                                             ; preds = %1015
  %1021 = getelementptr inbounds i8, ptr %.pre14, i64 24
  %1022 = load i32, ptr %1021, align 8, !tbaa !20
  %1023 = icmp sgt i32 %1022, 319
  br i1 %1023, label %1029, label %1024

1024:                                             ; preds = %1020, %1015
  %1025 = load ptr, ptr %.pre14, align 8, !tbaa !17
  %1026 = getelementptr inbounds i8, ptr %1025, i64 72
  %1027 = load ptr, ptr %1026, align 8
  %1028 = call noundef zeroext i1 %1027(ptr noundef nonnull align 8 dereferenceable(192) %.pre14, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL18AEP_texture_bufferE)
  br i1 %1028, label %1029, label %1031

1029:                                             ; preds = %1024, %1020
  %1030 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1031:                                             ; preds = %1024
  %1032 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 140)
  br label %1412

1033:                                             ; preds = %23, %23, %23
  %1034 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1034, align 8, !tbaa !43
  %1035 = getelementptr inbounds i8, ptr %0, i64 8
  %1036 = load ptr, ptr %1035, align 8, !tbaa !16
  %1037 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1036)
  %.pre13 = load ptr, ptr %1035, align 8, !tbaa !16
  br i1 %1037, label %1038, label %1044

1038:                                             ; preds = %1033
  %1039 = getelementptr inbounds i8, ptr %.pre13, i64 24
  %1040 = load i32, ptr %1039, align 8, !tbaa !20
  %1041 = icmp sgt i32 %1040, 309
  br i1 %1041, label %1042, label %1044

1042:                                             ; preds = %1038
  %1043 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1044:                                             ; preds = %1038, %1033
  %1045 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre13)
  br i1 %1045, label %1060, label %1046

1046:                                             ; preds = %1044
  %1047 = load ptr, ptr %1035, align 8, !tbaa !16
  %1048 = getelementptr inbounds i8, ptr %1047, i64 24
  %1049 = load i32, ptr %1048, align 8, !tbaa !20
  %1050 = icmp sgt i32 %1049, 140
  br i1 %1050, label %1058, label %1051

1051:                                             ; preds = %1046
  %1052 = icmp eq i32 %1049, 140
  br i1 %1052, label %1053, label %1060

1053:                                             ; preds = %1051
  %1054 = load ptr, ptr %1047, align 8, !tbaa !17
  %1055 = getelementptr inbounds i8, ptr %1054, i64 72
  %1056 = load ptr, ptr %1055, align 8
  %1057 = call noundef zeroext i1 %1056(ptr noundef nonnull align 8 dereferenceable(192) %1047, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL28E_GL_ARB_texture_multisampleE)
  br i1 %1057, label %1058, label %1060

1058:                                             ; preds = %1053, %1046
  %1059 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1060:                                             ; preds = %1053, %1051, %1044
  %1061 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 150)
  br label %1412

1062:                                             ; preds = %23, %23, %23
  %1063 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1063, align 8, !tbaa !43
  %1064 = getelementptr inbounds i8, ptr %0, i64 8
  %1065 = load ptr, ptr %1064, align 8, !tbaa !16
  %1066 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1065)
  %.pre12 = load ptr, ptr %1064, align 8, !tbaa !16
  br i1 %1066, label %1067, label %1071

1067:                                             ; preds = %1062
  %1068 = getelementptr inbounds i8, ptr %.pre12, i64 24
  %1069 = load i32, ptr %1068, align 8, !tbaa !20
  %1070 = icmp sgt i32 %1069, 319
  br i1 %1070, label %1076, label %1071

1071:                                             ; preds = %1067, %1062
  %1072 = load ptr, ptr %.pre12, align 8, !tbaa !17
  %1073 = getelementptr inbounds i8, ptr %1072, i64 72
  %1074 = load ptr, ptr %1073, align 8
  %1075 = call noundef zeroext i1 %1074(ptr noundef nonnull align 8 dereferenceable(192) %.pre12, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL45E_GL_OES_texture_storage_multisample_2d_arrayE)
  br i1 %1075, label %1076, label %1078

1076:                                             ; preds = %1071, %1067
  %1077 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1078:                                             ; preds = %1071
  %1079 = load ptr, ptr %1064, align 8, !tbaa !16
  %1080 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1079)
  br i1 %1080, label %1095, label %1081

1081:                                             ; preds = %1078
  %1082 = load ptr, ptr %1064, align 8, !tbaa !16
  %1083 = getelementptr inbounds i8, ptr %1082, i64 24
  %1084 = load i32, ptr %1083, align 8, !tbaa !20
  %1085 = icmp sgt i32 %1084, 140
  br i1 %1085, label %1093, label %1086

1086:                                             ; preds = %1081
  %1087 = icmp eq i32 %1084, 140
  br i1 %1087, label %1088, label %1095

1088:                                             ; preds = %1086
  %1089 = load ptr, ptr %1082, align 8, !tbaa !17
  %1090 = getelementptr inbounds i8, ptr %1089, i64 72
  %1091 = load ptr, ptr %1090, align 8
  %1092 = call noundef zeroext i1 %1091(ptr noundef nonnull align 8 dereferenceable(192) %1082, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL28E_GL_ARB_texture_multisampleE)
  br i1 %1092, label %1093, label %1095

1093:                                             ; preds = %1088, %1081
  %1094 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1095:                                             ; preds = %1088, %1086, %1078
  %1096 = call noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76) %0, i32 noundef 150)
  br label %1412

1097:                                             ; preds = %23, %23
  %1098 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1098, align 8, !tbaa !43
  %1099 = getelementptr inbounds i8, ptr %0, i64 8
  %1100 = load ptr, ptr %1099, align 8, !tbaa !16
  %1101 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1100)
  br i1 %1101, label %1102, label %1104

1102:                                             ; preds = %1097
  %1103 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1104

1104:                                             ; preds = %1102, %1097
  %1105 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1106:                                             ; preds = %23, %23
  %1107 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1107, align 8, !tbaa !43
  %1108 = getelementptr inbounds i8, ptr %0, i64 8
  %1109 = load ptr, ptr %1108, align 8, !tbaa !16
  %1110 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1109)
  br i1 %1110, label %1111, label %1113

1111:                                             ; preds = %1106
  %1112 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1139

1113:                                             ; preds = %1106
  %1114 = load ptr, ptr %1108, align 8, !tbaa !16
  %1115 = getelementptr inbounds i8, ptr %1114, i64 24
  %1116 = load i32, ptr %1115, align 8, !tbaa !20
  %1117 = icmp slt i32 %1116, 140
  br i1 %1117, label %1118, label %1139

1118:                                             ; preds = %1113
  %1119 = getelementptr inbounds i8, ptr %1114, i64 200
  %1120 = load ptr, ptr %1119, align 8, !tbaa !49
  %1121 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1120)
  br i1 %1121, label %1139, label %1122

1122:                                             ; preds = %1118
  %1123 = load ptr, ptr %1108, align 8, !tbaa !16
  %1124 = load ptr, ptr %1123, align 8, !tbaa !17
  %1125 = getelementptr inbounds i8, ptr %1124, i64 64
  %1126 = load ptr, ptr %1125, align 8
  %1127 = call noundef zeroext i1 %1126(ptr noundef nonnull align 8 dereferenceable(192) %1123, ptr noundef nonnull @.str.472)
  br i1 %1127, label %1139, label %1128

1128:                                             ; preds = %1122
  %1129 = load ptr, ptr %1108, align 8, !tbaa !16
  %1130 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions13relaxedErrorsEv(ptr noundef nonnull align 8 dereferenceable(192) %1129)
  br i1 %1130, label %1131, label %1137

1131:                                             ; preds = %1128
  %1132 = load ptr, ptr %1108, align 8, !tbaa !16
  %1133 = getelementptr inbounds i8, ptr %0, i64 24
  %1134 = load ptr, ptr %1132, align 8, !tbaa !17
  %1135 = getelementptr inbounds i8, ptr %1134, i64 40
  %1136 = load ptr, ptr %1135, align 8
  call void %1136(ptr noundef nonnull align 8 dereferenceable(192) %1132, ptr noundef nonnull align 8 dereferenceable(24) %1133, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL26E_GL_ARB_texture_rectangleE, ptr noundef nonnull @.str.473)
  br label %1139

1137:                                             ; preds = %1128
  %1138 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1139

1139:                                             ; preds = %1113, %1118, %1122, %1137, %1131, %1111
  %1140 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1141:                                             ; preds = %23
  %1142 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1142, align 8, !tbaa !43
  %1143 = getelementptr inbounds i8, ptr %0, i64 8
  %1144 = load ptr, ptr %1143, align 8, !tbaa !16
  %1145 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1144)
  %.pre10 = load ptr, ptr %1143, align 8, !tbaa !16
  br i1 %1145, label %1146, label %1152

1146:                                             ; preds = %1141
  %1147 = getelementptr inbounds i8, ptr %.pre10, i64 24
  %1148 = load i32, ptr %1147, align 8, !tbaa !20
  %1149 = icmp eq i32 %1148, 300
  br i1 %1149, label %1150, label %1152

1150:                                             ; preds = %1146
  %1151 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1167

1152:                                             ; preds = %1146, %1141
  %1153 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre10)
  %.pre11 = load ptr, ptr %1143, align 8, !tbaa !16
  br i1 %1153, label %1154, label %1158

1154:                                             ; preds = %1152
  %1155 = getelementptr inbounds i8, ptr %.pre11, i64 24
  %1156 = load i32, ptr %1155, align 8, !tbaa !20
  %1157 = icmp slt i32 %1156, 300
  br i1 %1157, label %1165, label %1158

1158:                                             ; preds = %1154, %1152
  %1159 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre11)
  br i1 %1159, label %1167, label %1160

1160:                                             ; preds = %1158
  %1161 = load ptr, ptr %1143, align 8, !tbaa !16
  %1162 = getelementptr inbounds i8, ptr %1161, i64 24
  %1163 = load i32, ptr %1162, align 8, !tbaa !20
  %1164 = icmp slt i32 %1163, 130
  br i1 %1164, label %1165, label %1167

1165:                                             ; preds = %1160, %1154
  %1166 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1167:                                             ; preds = %1158, %1160, %1150
  %1168 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1169:                                             ; preds = %23
  %1170 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1170, align 8, !tbaa !43
  %1171 = getelementptr inbounds i8, ptr %0, i64 8
  %1172 = load ptr, ptr %1171, align 8, !tbaa !16
  %1173 = getelementptr inbounds i8, ptr %1172, i64 200
  %1174 = load ptr, ptr %1173, align 8, !tbaa !49
  %1175 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1174)
  br i1 %1175, label %1188, label %1176

1176:                                             ; preds = %1169
  %1177 = load ptr, ptr %1171, align 8, !tbaa !16
  %1178 = load ptr, ptr %1177, align 8, !tbaa !17
  %1179 = getelementptr inbounds i8, ptr %1178, i64 64
  %1180 = load ptr, ptr %1179, align 8
  %1181 = call noundef zeroext i1 %1180(ptr noundef nonnull align 8 dereferenceable(192) %1177, ptr noundef nonnull @.str.474)
  br i1 %1181, label %1188, label %1182

1182:                                             ; preds = %1176
  %1183 = load ptr, ptr %1171, align 8, !tbaa !16
  %1184 = load ptr, ptr %1183, align 8, !tbaa !17
  %1185 = getelementptr inbounds i8, ptr %1184, i64 64
  %1186 = load ptr, ptr %1185, align 8
  %1187 = call noundef zeroext i1 %1186(ptr noundef nonnull align 8 dereferenceable(192) %1183, ptr noundef nonnull @.str.475)
  br i1 %1187, label %1188, label %1190

1188:                                             ; preds = %1182, %1176, %1169
  %1189 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1190:                                             ; preds = %1182
  %1191 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1192:                                             ; preds = %23
  %1193 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1193, align 8, !tbaa !43
  %1194 = getelementptr inbounds i8, ptr %0, i64 8
  %1195 = load ptr, ptr %1194, align 8, !tbaa !16
  %1196 = getelementptr inbounds i8, ptr %1195, i64 200
  %1197 = load ptr, ptr %1196, align 8, !tbaa !49
  %1198 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1197)
  br i1 %1198, label %1205, label %1199

1199:                                             ; preds = %1192
  %1200 = load ptr, ptr %1194, align 8, !tbaa !16
  %1201 = load ptr, ptr %1200, align 8, !tbaa !17
  %1202 = getelementptr inbounds i8, ptr %1201, i64 64
  %1203 = load ptr, ptr %1202, align 8
  %1204 = call noundef zeroext i1 %1203(ptr noundef nonnull align 8 dereferenceable(192) %1200, ptr noundef nonnull @.str.476)
  br i1 %1204, label %1205, label %1207

1205:                                             ; preds = %1199, %1192
  %1206 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1207:                                             ; preds = %1199
  %1208 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1209:                                             ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %1210 = getelementptr inbounds i8, ptr %0, i64 8
  %1211 = load ptr, ptr %1210, align 8, !tbaa !16
  %1212 = getelementptr inbounds i8, ptr %1211, i64 40
  %1213 = load i32, ptr %1212, align 8, !tbaa !99
  %1214 = icmp sgt i32 %1213, 0
  br i1 %1214, label %1412, label %1215

1215:                                             ; preds = %1209
  %1216 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1217:                                             ; preds = %23, %23, %23, %23, %23, %23
  %1218 = getelementptr inbounds i8, ptr %0, i64 8
  %1219 = load ptr, ptr %1218, align 8, !tbaa !16
  %1220 = getelementptr inbounds i8, ptr %1219, i64 40
  %1221 = load i32, ptr %1220, align 8, !tbaa !99
  %1222 = icmp sgt i32 %1221, 0
  br i1 %1222, label %1412, label %1223

1223:                                             ; preds = %1217
  %1224 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1225:                                             ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %1226 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1226, align 8, !tbaa !43
  %1227 = getelementptr inbounds i8, ptr %0, i64 8
  %1228 = load ptr, ptr %1227, align 8, !tbaa !16
  %1229 = getelementptr inbounds i8, ptr %1228, i64 200
  %1230 = load ptr, ptr %1229, align 8, !tbaa !49
  %1231 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1230)
  br i1 %1231, label %1238, label %1232

1232:                                             ; preds = %1225
  %1233 = load ptr, ptr %1227, align 8, !tbaa !16
  %1234 = load ptr, ptr %1233, align 8, !tbaa !17
  %1235 = getelementptr inbounds i8, ptr %1234, i64 64
  %1236 = load ptr, ptr %1235, align 8
  %1237 = call noundef zeroext i1 %1236(ptr noundef nonnull align 8 dereferenceable(192) %1233, ptr noundef nonnull @.str.477)
  br i1 %1237, label %1238, label %1240

1238:                                             ; preds = %1232, %1225
  %1239 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1240:                                             ; preds = %1232
  %1241 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1242:                                             ; preds = %23
  %1243 = getelementptr inbounds i8, ptr %0, i64 8
  %1244 = load ptr, ptr %1243, align 8, !tbaa !16
  %1245 = load ptr, ptr %1244, align 8, !tbaa !17
  %1246 = getelementptr inbounds i8, ptr %1245, i64 64
  %1247 = load ptr, ptr %1246, align 8
  %1248 = call noundef zeroext i1 %1247(ptr noundef nonnull align 8 dereferenceable(192) %1244, ptr noundef nonnull @.str.478)
  br i1 %1248, label %1249, label %1251

1249:                                             ; preds = %1242
  %1250 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1251:                                             ; preds = %1242
  %1252 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1253:                                             ; preds = %23
  %1254 = getelementptr inbounds i8, ptr %0, i64 8
  %1255 = load ptr, ptr %1254, align 8, !tbaa !16
  %1256 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1255)
  %.pre9 = load ptr, ptr %1254, align 8, !tbaa !16
  br i1 %1256, label %1261, label %1257

1257:                                             ; preds = %1253
  %1258 = getelementptr inbounds i8, ptr %.pre9, i64 24
  %1259 = load i32, ptr %1258, align 8, !tbaa !20
  %1260 = icmp sgt i32 %1259, 449
  br i1 %1260, label %1266, label %1261

1261:                                             ; preds = %1257, %1253
  %1262 = load ptr, ptr %.pre9, align 8, !tbaa !17
  %1263 = getelementptr inbounds i8, ptr %1262, i64 64
  %1264 = load ptr, ptr %1263, align 8
  %1265 = call noundef zeroext i1 %1264(ptr noundef nonnull align 8 dereferenceable(192) %.pre9, ptr noundef nonnull @.str.479)
  br i1 %1265, label %1266, label %1268

1266:                                             ; preds = %1261, %1257
  %1267 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1268:                                             ; preds = %1261
  %1269 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1270:                                             ; preds = %23
  %1271 = getelementptr inbounds i8, ptr %0, i64 8
  %1272 = load ptr, ptr %1271, align 8, !tbaa !16
  %1273 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1272)
  %.pre8 = load ptr, ptr %1271, align 8, !tbaa !16
  br i1 %1273, label %1278, label %1274

1274:                                             ; preds = %1270
  %1275 = getelementptr inbounds i8, ptr %.pre8, i64 24
  %1276 = load i32, ptr %1275, align 8, !tbaa !20
  %1277 = icmp sgt i32 %1276, 449
  br i1 %1277, label %1283, label %1278

1278:                                             ; preds = %1274, %1270
  %1279 = load ptr, ptr %.pre8, align 8, !tbaa !17
  %1280 = getelementptr inbounds i8, ptr %1279, i64 64
  %1281 = load ptr, ptr %1280, align 8
  %1282 = call noundef zeroext i1 %1281(ptr noundef nonnull align 8 dereferenceable(192) %.pre8, ptr noundef nonnull @.str.480)
  br i1 %1282, label %1283, label %1285

1283:                                             ; preds = %1278, %1274
  %1284 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1285:                                             ; preds = %1278
  %1286 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1287:                                             ; preds = %23
  %1288 = getelementptr inbounds i8, ptr %0, i64 8
  %1289 = load ptr, ptr %1288, align 8, !tbaa !16
  %1290 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1289)
  br i1 %1290, label %1291, label %1301

1291:                                             ; preds = %1287
  %1292 = load ptr, ptr %1288, align 8, !tbaa !16
  %1293 = getelementptr inbounds i8, ptr %1292, i64 24
  %1294 = load i32, ptr %1293, align 8, !tbaa !20
  %1295 = icmp sgt i32 %1294, 319
  br i1 %1295, label %1308, label %1296

1296:                                             ; preds = %1291
  %1297 = load ptr, ptr %1292, align 8, !tbaa !17
  %1298 = getelementptr inbounds i8, ptr %1297, i64 72
  %1299 = load ptr, ptr %1298, align 8
  %1300 = call noundef zeroext i1 %1299(ptr noundef nonnull align 8 dereferenceable(192) %1292, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL15AEP_gpu_shader5E)
  br i1 %1300, label %1308, label %1301

1301:                                             ; preds = %1296, %1287
  %1302 = load ptr, ptr %1288, align 8, !tbaa !16
  %1303 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1302)
  %.pre7 = load ptr, ptr %1288, align 8, !tbaa !16
  br i1 %1303, label %1310, label %1304

1304:                                             ; preds = %1301
  %1305 = getelementptr inbounds i8, ptr %.pre7, i64 24
  %1306 = load i32, ptr %1305, align 8, !tbaa !20
  %1307 = icmp sgt i32 %1306, 399
  br i1 %1307, label %1308, label %1310

1308:                                             ; preds = %1304, %1296, %1291
  %1309 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1310:                                             ; preds = %1304, %1301
  %1311 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre7)
  br i1 %1311, label %1312, label %1320

1312:                                             ; preds = %1310
  %1313 = load ptr, ptr %1288, align 8, !tbaa !16
  %1314 = getelementptr inbounds i8, ptr %1313, i64 24
  %1315 = load i32, ptr %1314, align 8, !tbaa !20
  %1316 = icmp eq i32 %1315, 310
  br i1 %1316, label %1317, label %1320

1317:                                             ; preds = %1312
  %1318 = call noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  %1319 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1320:                                             ; preds = %1312, %1310
  %1321 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1322:                                             ; preds = %23, %23, %23
  %1323 = getelementptr inbounds i8, ptr %0, i64 8
  %1324 = load ptr, ptr %1323, align 8, !tbaa !16
  %1325 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %1324)
  %.pre = load ptr, ptr %1323, align 8, !tbaa !16
  br i1 %1325, label %1330, label %1326

1326:                                             ; preds = %1322
  %1327 = getelementptr inbounds i8, ptr %.pre, i64 24
  %1328 = load i32, ptr %1327, align 8, !tbaa !20
  %1329 = icmp sgt i32 %1328, 449
  br i1 %1329, label %1341, label %1330

1330:                                             ; preds = %1326, %1322
  %1331 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %.pre)
  %.pre6 = load ptr, ptr %1323, align 8, !tbaa !16
  br i1 %1331, label %1332, label %1336

1332:                                             ; preds = %1330
  %1333 = getelementptr inbounds i8, ptr %.pre6, i64 24
  %1334 = load i32, ptr %1333, align 8, !tbaa !20
  %1335 = icmp sgt i32 %1334, 319
  br i1 %1335, label %1341, label %1336

1336:                                             ; preds = %1332, %1330
  %1337 = load ptr, ptr %.pre6, align 8, !tbaa !17
  %1338 = getelementptr inbounds i8, ptr %1337, i64 64
  %1339 = load ptr, ptr %1338, align 8
  %1340 = call noundef zeroext i1 %1339(ptr noundef nonnull align 8 dereferenceable(192) %.pre6, ptr noundef nonnull @.str.481)
  br i1 %1340, label %1341, label %1343

1341:                                             ; preds = %1336, %1332, %1326
  %1342 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1343:                                             ; preds = %1336
  %1344 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1345:                                             ; preds = %23
  %1346 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1346, align 8, !tbaa !43
  %1347 = getelementptr inbounds i8, ptr %0, i64 8
  %1348 = load ptr, ptr %1347, align 8, !tbaa !16
  %1349 = getelementptr inbounds i8, ptr %1348, i64 200
  %1350 = load ptr, ptr %1349, align 8, !tbaa !49
  %1351 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1350)
  br i1 %1351, label %1358, label %1352

1352:                                             ; preds = %1345
  %1353 = load ptr, ptr %1347, align 8, !tbaa !16
  %1354 = load ptr, ptr %1353, align 8, !tbaa !17
  %1355 = getelementptr inbounds i8, ptr %1354, i64 64
  %1356 = load ptr, ptr %1355, align 8
  %1357 = call noundef zeroext i1 %1356(ptr noundef nonnull align 8 dereferenceable(192) %1353, ptr noundef nonnull @.str.482)
  br i1 %1357, label %1358, label %1360

1358:                                             ; preds = %1352, %1345
  %1359 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1360:                                             ; preds = %1352
  %1361 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1362:                                             ; preds = %23, %23
  %1363 = getelementptr inbounds i8, ptr %0, i64 16
  store i8 1, ptr %1363, align 8, !tbaa !43
  %1364 = getelementptr inbounds i8, ptr %0, i64 8
  %1365 = load ptr, ptr %1364, align 8, !tbaa !16
  %1366 = getelementptr inbounds i8, ptr %1365, i64 200
  %1367 = load ptr, ptr %1366, align 8, !tbaa !49
  %1368 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1367)
  br i1 %1368, label %1375, label %1369

1369:                                             ; preds = %1362
  %1370 = load ptr, ptr %1364, align 8, !tbaa !16
  %1371 = load ptr, ptr %1370, align 8, !tbaa !17
  %1372 = getelementptr inbounds i8, ptr %1371, i64 64
  %1373 = load ptr, ptr %1372, align 8
  %1374 = call noundef zeroext i1 %1373(ptr noundef nonnull align 8 dereferenceable(192) %1370, ptr noundef nonnull @.str.483)
  br i1 %1374, label %1375, label %1377

1375:                                             ; preds = %1369, %1362
  %1376 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1377:                                             ; preds = %1369
  %1378 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1379:                                             ; preds = %23
  %1380 = getelementptr inbounds i8, ptr %0, i64 8
  %1381 = load ptr, ptr %1380, align 8, !tbaa !16
  %1382 = load ptr, ptr %1381, align 8, !tbaa !17
  %1383 = getelementptr inbounds i8, ptr %1382, i64 64
  %1384 = load ptr, ptr %1383, align 8
  %1385 = call noundef zeroext i1 %1384(ptr noundef nonnull align 8 dereferenceable(192) %1381, ptr noundef nonnull @.str.484)
  br i1 %1385, label %1386, label %1388

1386:                                             ; preds = %1379
  %1387 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1388:                                             ; preds = %1379
  %1389 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1390:                                             ; preds = %23, %23, %23, %23, %23, %23, %23, %23, %23, %23
  %1391 = getelementptr inbounds i8, ptr %0, i64 8
  %1392 = load ptr, ptr %1391, align 8, !tbaa !16
  %1393 = getelementptr inbounds i8, ptr %1392, i64 200
  %1394 = load ptr, ptr %1393, align 8, !tbaa !49
  %1395 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1394)
  br i1 %1395, label %1402, label %1396

1396:                                             ; preds = %1390
  %1397 = load ptr, ptr %1391, align 8, !tbaa !16
  %1398 = load ptr, ptr %1397, align 8, !tbaa !17
  %1399 = getelementptr inbounds i8, ptr %1398, i64 64
  %1400 = load ptr, ptr %1399, align 8
  %1401 = call noundef zeroext i1 %1400(ptr noundef nonnull align 8 dereferenceable(192) %1397, ptr noundef nonnull @.str.485)
  br i1 %1401, label %1402, label %1404

1402:                                             ; preds = %1396, %1390
  %1403 = load i32, ptr %27, align 8, !tbaa !12
  br label %1412

1404:                                             ; preds = %1396
  %1405 = call noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76) %0)
  br label %1412

1406:                                             ; preds = %23
  %1407 = getelementptr inbounds i8, ptr %0, i64 8
  %1408 = load ptr, ptr %1407, align 8, !tbaa !16
  %1409 = getelementptr inbounds i8, ptr %1408, i64 16
  %1410 = load ptr, ptr %1409, align 8, !tbaa !100
  %1411 = getelementptr inbounds i8, ptr %0, i64 24
  call void @_ZN7glslang13TInfoSinkBase7messageENS_11TPrefixTypeEPKcRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(36) %1410, i32 noundef 3, ptr noundef nonnull @.str.486, ptr noundef nonnull align 8 dereferenceable(24) %1411)
  br label %1412

1412:                                             ; preds = %1217, %1209, %983, %934, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %23, %147, %1406, %1404, %1402, %1388, %1386, %1377, %1375, %1360, %1358, %1343, %1341, %1320, %1317, %1308, %1285, %1283, %1268, %1266, %1251, %1249, %1240, %1238, %1223, %1215, %1207, %1205, %1190, %1188, %1167, %1165, %1139, %1104, %1095, %1093, %1076, %1060, %1058, %1042, %1031, %1029, %1013, %1011, %994, %991, %989, %981, %962, %942, %940, %932, %915, %899, %897, %870, %868, %835, %833, %812, %810, %789, %787, %766, %764, %731, %729, %702, %700, %673, %635, %633, %617, %615, %613, %611, %584, %582, %566, %564, %548, %546, %544, %542, %515, %513, %497, %495, %479, %477, %475, %473, %472, %446, %444, %427, %425, %423, %408, %406, %376, %355, %340, %338, %328, %326, %311, %309, %288, %286, %266, %264, %250, %237, %235, %226, %224, %214, %202, %185, %183, %166, %164, %153, %145, %143, %124, %122, %98, %96, %94, %75, %73, %71, %48, %46, %37, %35, %21
  %.1 = phi i32 [ %22, %21 ], [ 0, %1406 ], [ %1403, %1402 ], [ %1405, %1404 ], [ %1387, %1386 ], [ %1389, %1388 ], [ %1376, %1375 ], [ %1378, %1377 ], [ %1359, %1358 ], [ %1361, %1360 ], [ %1342, %1341 ], [ %1344, %1343 ], [ %1309, %1308 ], [ %1319, %1317 ], [ %1321, %1320 ], [ %1284, %1283 ], [ %1286, %1285 ], [ %1267, %1266 ], [ %1269, %1268 ], [ %1250, %1249 ], [ %1252, %1251 ], [ %1239, %1238 ], [ %1241, %1240 ], [ %1224, %1223 ], [ %1216, %1215 ], [ %1206, %1205 ], [ %1208, %1207 ], [ %1189, %1188 ], [ %1191, %1190 ], [ %1168, %1167 ], [ %1166, %1165 ], [ %1140, %1139 ], [ %1105, %1104 ], [ %1077, %1076 ], [ %1096, %1095 ], [ %1094, %1093 ], [ %1043, %1042 ], [ %1061, %1060 ], [ %1059, %1058 ], [ %1030, %1029 ], [ %1032, %1031 ], [ %1012, %1011 ], [ %1014, %1013 ], [ %996, %994 ], [ %993, %991 ], [ %990, %989 ], [ %982, %981 ], [ %963, %962 ], [ %944, %942 ], [ %941, %940 ], [ %916, %915 ], [ %933, %932 ], [ %898, %897 ], [ %900, %899 ], [ %869, %868 ], [ %871, %870 ], [ %834, %833 ], [ %836, %835 ], [ %811, %810 ], [ %813, %812 ], [ %788, %787 ], [ %790, %789 ], [ %765, %764 ], [ %767, %766 ], [ %730, %729 ], [ %732, %731 ], [ %701, %700 ], [ %703, %702 ], [ %674, %673 ], [ %634, %633 ], [ %636, %635 ], [ %619, %617 ], [ %612, %611 ], [ %614, %613 ], [ %616, %615 ], [ %583, %582 ], [ %585, %584 ], [ %565, %564 ], [ %567, %566 ], [ %550, %548 ], [ %543, %542 ], [ %545, %544 ], [ %547, %546 ], [ %514, %513 ], [ %516, %515 ], [ %496, %495 ], [ %498, %497 ], [ %481, %479 ], [ %478, %477 ], [ %476, %475 ], [ %474, %473 ], [ %.0, %472 ], [ %445, %444 ], [ %447, %446 ], [ %428, %427 ], [ %424, %423 ], [ %426, %425 ], [ %407, %406 ], [ %409, %408 ], [ %356, %355 ], [ %377, %376 ], [ %339, %338 ], [ %346, %340 ], [ %327, %326 ], [ %329, %328 ], [ %310, %309 ], [ %312, %311 ], [ %287, %286 ], [ %289, %288 ], [ %265, %264 ], [ %267, %266 ], [ %251, %250 ], [ %236, %235 ], [ %238, %237 ], [ %225, %224 ], [ %227, %226 ], [ %216, %214 ], [ %204, %202 ], [ %184, %183 ], [ %186, %185 ], [ %167, %166 ], [ %165, %164 ], [ %154, %153 ], [ %146, %145 ], [ %144, %143 ], [ %123, %122 ], [ %125, %124 ], [ %106, %98 ], [ %26, %96 ], [ %95, %94 ], [ 646, %75 ], [ %72, %71 ], [ %74, %73 ], [ %49, %48 ], [ %47, %46 ], [ %38, %37 ], [ %36, %35 ], [ 642, %147 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %23 ], [ %26, %934 ], [ %26, %983 ], [ %26, %1209 ], [ %26, %1217 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #5
  br label %1413

1413:                                             ; preds = %1412, %13
  %.2 = phi i32 [ %14, %13 ], [ %.1, %1412 ]
  ret i32 %.2
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden ptr @_ZNSt13unordered_setIPKcN12_GLOBAL__N_18str_hashENS2_6str_eqESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext12reservedWordEv(ptr noundef nonnull align 8 dereferenceable(76)) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden ptr @_ZNSt13unordered_mapIPKciN12_GLOBAL__N_18str_hashENS2_6str_eqESaISt4pairIKS1_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext16identifierOrTypeEv(ptr noundef nonnull align 8 dereferenceable(76)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192)) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext20identifierOrReservedEb(ptr noundef nonnull align 8 dereferenceable(76), i1 noundef zeroext) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext20es30ReservedFromGLSLEi(ptr noundef nonnull align 8 dereferenceable(76), i32 noundef) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext16precisionKeywordEv(ptr noundef nonnull align 8 dereferenceable(76)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext6matNxMEv(ptr noundef nonnull align 8 dereferenceable(76)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext4dMatEv(ptr noundef nonnull align 8 dereferenceable(76)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext20firstGenerationImageEb(ptr noundef nonnull align 8 dereferenceable(76), i1 noundef zeroext) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext21secondGenerationImageEv(ptr noundef nonnull align 8 dereferenceable(76)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN7glslang12TScanContext18nonreservedKeywordEii(ptr noundef nonnull align 8 dereferenceable(76), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK7glslang14TParseVersions13relaxedErrorsEv(ptr noundef nonnull align 8 dereferenceable(192)) local_unnamed_addr #3 align 2

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

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

!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, !11, i64 8}
!10 = !{!"_ZTSSt4pairIKPKciE", !6, i64 0, !11, i64 8}
!11 = !{!"int", !7, i64 0}
!12 = !{!13, !11, i64 72}
!13 = !{!"_ZTSN7glslang12TScanContextE", !6, i64 8, !14, i64 16, !14, i64 17, !14, i64 18, !14, i64 19, !15, i64 24, !6, i64 48, !6, i64 56, !6, i64 64, !11, i64 72}
!14 = !{!"bool", !7, i64 0}
!15 = !{!"_ZTSN7glslang10TSourceLocE", !6, i64 0, !11, i64 8, !11, i64 12, !11, i64 16}
!16 = !{!13, !6, i64 8}
!17 = !{!18, !18, i64 0}
!18 = !{!"vtable pointer", !8, i64 0}
!19 = !{!13, !14, i64 19}
!20 = !{!21, !11, i64 24}
!21 = !{!"_ZTSN7glslang14TParseVersionsE", !14, i64 8, !22, i64 12, !6, i64 16, !11, i64 24, !23, i64 28, !24, i64 32, !6, i64 56, !25, i64 64, !36, i64 120, !41, i64 176, !11, i64 180, !6, i64 184}
!22 = !{!"_ZTS8EProfile", !7, i64 0}
!23 = !{!"_ZTS11EShLanguage", !7, i64 0}
!24 = !{!"_ZTSN7glslang10SpvVersionE", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !14, i64 16}
!25 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_18TExtensionBehaviorESt4lessIS7_EEE", !26, i64 0}
!26 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS4_18TExtensionBehaviorESt4lessIS7_ENS5_ISt4pairIKS7_S8_EEEE", !27, i64 0}
!27 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_NS4_18TExtensionBehaviorEESt10_Select1stISB_ESt4lessIS7_ENS5_ISB_EEE", !28, i64 0}
!28 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_NS4_18TExtensionBehaviorEESt10_Select1stISB_ESt4lessIS7_ENS5_ISB_EEE13_Rb_tree_implISF_Lb1EEE", !29, i64 0, !30, i64 8, !32, i64 16}
!29 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEENS_18TExtensionBehaviorEEEEE", !6, i64 0}
!30 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEEE", !31, i64 0}
!31 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEE"}
!32 = !{!"_ZTSSt15_Rb_tree_header", !33, i64 0, !35, i64 32}
!33 = !{!"_ZTSSt18_Rb_tree_node_base", !34, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!34 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!35 = !{!"long", !7, i64 0}
!36 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEjSt4lessIS7_EEE", !37, i64 0}
!37 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEjSt4lessIS7_ENS5_ISt4pairIKS7_jEEEE", !38, i64 0}
!38 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_jESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE", !39, i64 0}
!39 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_jESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE13_Rb_tree_implISE_Lb1EEE", !40, i64 0, !30, i64 8, !32, i64 16}
!40 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEEjEEEE", !6, i64 0}
!41 = !{!"_ZTS11EShMessages", !7, i64 0}
!42 = !{!13, !14, i64 17}
!43 = !{!13, !14, i64 16}
!44 = !{!13, !6, i64 64}
!45 = !{!13, !6, i64 48}
!46 = !{!47, !6, i64 0}
!47 = !{!"_ZTSN7glslang12TParserTokenE", !6, i64 0}
!48 = !{!7, !7, i64 0}
!49 = !{!50, !6, i64 200}
!50 = !{!"_ZTSN7glslang17TParseContextBaseE", !21, i64 0, !6, i64 192, !6, i64 200, !11, i64 208, !11, i64 212, !11, i64 216, !11, i64 220, !11, i64 224, !6, i64 232, !14, i64 240, !14, i64 241, !51, i64 248, !58, i64 280, !63, i64 312, !11, i64 376, !11, i64 380, !14, i64 384, !70, i64 392, !6, i64 424, !6, i64 432, !76, i64 440, !6, i64 824, !78, i64 832, !81, i64 872, !83, i64 904, !84, i64 936, !85, i64 968, !86, i64 1000, !6, i64 1032, !11, i64 1040, !11, i64 1044, !11, i64 1048, !87, i64 1056, !11, i64 1112, !94, i64 1120}
!51 = !{!"_ZTSN7glslang5TListIPNS_7TVectorIP11TIntermNodeEEEE", !52, i64 0}
!52 = !{!"_ZTSNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEEE", !53, i64 0}
!53 = !{!"_ZTSNSt7__cxx1110_List_baseIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEEE", !54, i64 0}
!54 = !{!"_ZTSNSt7__cxx1110_List_baseIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE10_List_implE", !55, i64 0, !56, i64 8}
!55 = !{!"_ZTSN7glslang14pool_allocatorISt10_List_nodeIPNS_7TVectorIP11TIntermNodeEEEEE", !6, i64 0}
!56 = !{!"_ZTSNSt8__detail17_List_node_headerE", !57, i64 0, !35, i64 16}
!57 = !{!"_ZTSNSt8__detail15_List_node_baseE", !6, i64 0, !6, i64 8}
!58 = !{!"_ZTSN7glslang5TListIiEE", !59, i64 0}
!59 = !{!"_ZTSNSt7__cxx114listIiN7glslang14pool_allocatorIiEEEE", !60, i64 0}
!60 = !{!"_ZTSNSt7__cxx1110_List_baseIiN7glslang14pool_allocatorIiEEEE", !61, i64 0}
!61 = !{!"_ZTSNSt7__cxx1110_List_baseIiN7glslang14pool_allocatorIiEEE10_List_implE", !62, i64 0, !56, i64 8}
!62 = !{!"_ZTSN7glslang14pool_allocatorISt10_List_nodeIiEEE", !6, i64 0}
!63 = !{!"_ZTSN7glslang7TPragmaE", !14, i64 0, !14, i64 1, !64, i64 8}
!64 = !{!"_ZTSN7glslang12TPragmaTableE", !65, i64 0}
!65 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEES7_St4lessIS7_EEE", !66, i64 0}
!66 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEES7_St4lessIS7_ENS5_ISt4pairIKS7_S7_EEEE", !67, i64 0}
!67 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_S7_ESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE", !68, i64 0}
!68 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_S7_ESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE13_Rb_tree_implISE_Lb1EEE", !69, i64 0, !30, i64 8, !32, i64 16}
!69 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEES8_EEEE", !6, i64 0}
!70 = !{!"_ZTSN7glslang7TVectorIPNS_7TSymbolEEE", !71, i64 0}
!71 = !{!"_ZTSSt6vectorIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE12_Vector_implE", !74, i64 0, !75, i64 8}
!74 = !{!"_ZTSN7glslang14pool_allocatorIPNS_7TSymbolEEE", !6, i64 0}
!75 = !{!"_ZTSNSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!76 = !{!"_ZTS16TBuiltInResource", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !11, i64 16, !11, i64 20, !11, i64 24, !11, i64 28, !11, i64 32, !11, i64 36, !11, i64 40, !11, i64 44, !11, i64 48, !11, i64 52, !11, i64 56, !11, i64 60, !11, i64 64, !11, i64 68, !11, i64 72, !11, i64 76, !11, i64 80, !11, i64 84, !11, i64 88, !11, i64 92, !11, i64 96, !11, i64 100, !11, i64 104, !11, i64 108, !11, i64 112, !11, i64 116, !11, i64 120, !11, i64 124, !11, i64 128, !11, i64 132, !11, i64 136, !11, i64 140, !11, i64 144, !11, i64 148, !11, i64 152, !11, i64 156, !11, i64 160, !11, i64 164, !11, i64 168, !11, i64 172, !11, i64 176, !11, i64 180, !11, i64 184, !11, i64 188, !11, i64 192, !11, i64 196, !11, i64 200, !11, i64 204, !11, i64 208, !11, i64 212, !11, i64 216, !11, i64 220, !11, i64 224, !11, i64 228, !11, i64 232, !11, i64 236, !11, i64 240, !11, i64 244, !11, i64 248, !11, i64 252, !11, i64 256, !11, i64 260, !11, i64 264, !11, i64 268, !11, i64 272, !11, i64 276, !11, i64 280, !11, i64 284, !11, i64 288, !11, i64 292, !11, i64 296, !11, i64 300, !11, i64 304, !11, i64 308, !11, i64 312, !11, i64 316, !11, i64 320, !11, i64 324, !11, i64 328, !11, i64 332, !11, i64 336, !11, i64 340, !11, i64 344, !11, i64 348, !11, i64 352, !11, i64 356, !11, i64 360, !11, i64 364, !11, i64 368, !77, i64 372}
!77 = !{!"_ZTS7TLimits", !14, i64 0, !14, i64 1, !14, i64 2, !14, i64 3, !14, i64 4, !14, i64 5, !14, i64 6, !14, i64 7, !14, i64 8}
!78 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEE", !79, i64 0, !35, i64 16, !7, i64 24}
!79 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE12_Alloc_hiderE", !80, i64 0, !6, i64 8}
!80 = !{!"_ZTSN7glslang14pool_allocatorIcEE", !6, i64 0}
!81 = !{!"_ZTSSt8functionIFviibiPKcEE", !82, i64 0, !6, i64 24}
!82 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!83 = !{!"_ZTSSt8functionIFviRKN7glslang7TVectorINSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_14pool_allocatorIcEEEEEEEE", !82, i64 0, !6, i64 24}
!84 = !{!"_ZTSSt8functionIFviiPKcEE", !82, i64 0, !6, i64 24}
!85 = !{!"_ZTSSt8functionIFviPKcS1_EE", !82, i64 0, !6, i64 24}
!86 = !{!"_ZTSSt8functionIFviPKcEE", !82, i64 0, !6, i64 24}
!87 = !{!"_ZTSN7glslang4TMapIiPNS_9TVariableESt4lessIiEEE", !88, i64 0}
!88 = !{!"_ZTSSt3mapIiPN7glslang9TVariableESt4lessIiENS0_14pool_allocatorISt4pairIKiS2_EEEE", !89, i64 0}
!89 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiPN7glslang9TVariableEESt10_Select1stIS5_ESt4lessIiENS2_14pool_allocatorIS5_EEE", !90, i64 0}
!90 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiPN7glslang9TVariableEESt10_Select1stIS5_ESt4lessIiENS2_14pool_allocatorIS5_EEE13_Rb_tree_implIS9_Lb1EEE", !91, i64 0, !92, i64 8, !32, i64 16}
!91 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKiPNS_9TVariableEEEEE", !6, i64 0}
!92 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !93, i64 0}
!93 = !{!"_ZTSSt4lessIiE"}
!94 = !{!"_ZTSN7glslang4TMapIiiSt4lessIiEEE", !95, i64 0}
!95 = !{!"_ZTSSt3mapIiiSt4lessIiEN7glslang14pool_allocatorISt4pairIKiiEEEE", !96, i64 0}
!96 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiEN7glslang14pool_allocatorIS2_EEE", !97, i64 0}
!97 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiEN7glslang14pool_allocatorIS2_EEE13_Rb_tree_implIS6_Lb1EEE", !98, i64 0, !92, i64 8, !32, i64 16}
!98 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEEE", !6, i64 0}
!99 = !{!21, !11, i64 40}
!100 = !{!21, !6, i64 16}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,SROAPass,SimplifyCFGPass,TailCallElimPass