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

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

%union.YYSTYPE = type { %struct.anon.0 }
%struct.anon.0 = type { %"struct.glslang::TSourceLoc", i32, %union.anon.1, %union.anon.2, ptr }
%"struct.glslang::TSourceLoc" = type { ptr, i32, i32, i32 }
%union.anon.1 = type { %"struct.glslang::TIntermNodePair" }
%"struct.glslang::TIntermNodePair" = type { ptr, ptr }
%union.anon.2 = type { %"class.glslang::TPublicType" }
%"class.glslang::TPublicType" = type { i32, %"struct.glslang::TSampler", %"class.glslang::TQualifier", %"struct.glslang::TShaderQualifiers", i16, ptr, ptr, %"struct.glslang::TSourceLoc", ptr, ptr }
%"struct.glslang::TSampler" = type { i32 }
%"class.glslang::TQualifier" = type <{ ptr, i64, i8, [3 x i8], i32, i32, i64, i64, i8, i8, i8, i8, i8, [3 x i8], i32, i8, [3 x i8], i32, ptr }>
%"struct.glslang::TShaderQualifiers" = type { i32, i8, i8, i32, i32, i32, i32, i8, [3 x i32], [3 x i8], [3 x i32], i8, i8, i32, i8, i32, i32, i8, i8, i8, i32, i8 }
%"struct.glslang::TParameter" = type { ptr, ptr, ptr }
%"class.glslang::TType" = type { ptr, i32, [4 x i8], %"class.glslang::TQualifier", ptr, %union.anon.49, ptr, ptr, %"struct.glslang::TSampler", ptr, ptr }
%union.anon.49 = type { ptr }
%"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] }
%"struct.glslang::TArraySize" = type { i32, ptr }
%struct.yypcontext_t = type { ptr, i32 }
%union.yyalloc = type { %union.YYSTYPE }
%struct.anon = type { %"struct.glslang::TSourceLoc", %union.anon, ptr }
%union.anon = type { ptr }
%"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::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::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.glslang::TParseContext" = type { %"class.glslang::TParseContextBase", i8, ptr, %"class.glslang::TQualifier", [22 x i32], %struct.TBuiltInResource, ptr, [5632 x i32], %"class.glslang::TPrecisionManager", %"class.glslang::TQualifier", %"class.glslang::TQualifier", %"class.glslang::TQualifier", %"class.glslang::TQualifier", %"class.glslang::TQualifier", %"class.std::__cxx11::basic_string", ptr, i8, %"class.std::set", %"class.glslang::TVector.39", %"class.std::map.43", %"class.std::map.43", %"class.glslang::TVector" }
%"class.glslang::TPrecisionManager" = type <{ ptr, i8, i8, i8, i8, [4 x i8] }>
%"class.std::set" = type { %"class.std::_Rb_tree.37" }
%"class.std::_Rb_tree.37" = type { %"struct.std::_Rb_tree<long long, long long, std::_Identity<long long>, std::less<long long>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<long long, long long, std::_Identity<long long>, std::less<long long>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"class.glslang::TVector.39" = type { %"class.std::vector.40" }
%"class.std::vector.40" = type { %"struct.std::_Vector_base.41" }
%"struct.std::_Vector_base.41" = type { %"struct.std::_Vector_base<glslang::TIntermTyped *, glslang::pool_allocator<glslang::TIntermTyped *>>::_Vector_impl" }
%"struct.std::_Vector_base<glslang::TIntermTyped *, glslang::pool_allocator<glslang::TIntermTyped *>>::_Vector_impl" = type { %"class.glslang::pool_allocator.42", %"struct.std::_Vector_base<glslang::TIntermTyped *, glslang::pool_allocator<glslang::TIntermTyped *>>::_Vector_impl_data" }
%"class.glslang::pool_allocator.42" = type { ptr }
%"struct.std::_Vector_base<glslang::TIntermTyped *, glslang::pool_allocator<glslang::TIntermTyped *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::map.43" = type { %"class.std::_Rb_tree.44" }
%"class.std::_Rb_tree.44" = type { %"struct.std::_Rb_tree<const glslang::TVector<glslang::TTypeLoc> *, std::pair<const glslang::TVector<glslang::TTypeLoc> *const, std::map<unsigned long, const glslang::TVector<glslang::TTypeLoc> *>>, std::_Select1st<std::pair<const glslang::TVector<glslang::TTypeLoc> *const, std::map<unsigned long, const glslang::TVector<glslang::TTypeLoc> *>>>, std::less<const glslang::TVector<glslang::TTypeLoc> *>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<const glslang::TVector<glslang::TTypeLoc> *, std::pair<const glslang::TVector<glslang::TTypeLoc> *const, std::map<unsigned long, const glslang::TVector<glslang::TTypeLoc> *>>, std::_Select1st<std::pair<const glslang::TVector<glslang::TTypeLoc> *const, std::map<unsigned long, const glslang::TVector<glslang::TTypeLoc> *>>>, std::less<const glslang::TVector<glslang::TTypeLoc> *>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.glslang::TTypeLoc" = type { ptr, %"struct.glslang::TSourceLoc" }

@yydebug = external dso_local global i32, align 4
@_ZZ7yyparsePN7glslang13TParseContextEE13yyval_default = external hidden global %union.YYSTYPE, align 8
@stderr = external global ptr, align 8
@.str = external hidden unnamed_addr constant [16 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [29 x i8], align 1
@_ZL6yypact = external hidden constant [930 x i16], align 16
@.str.3 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [22 x i8], align 1
@_ZL11yytranslate = external hidden constant [711 x i16], align 16
@.str.5 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZL7yycheck = external hidden constant [12470 x i16], align 16
@_ZL7yytable = external hidden constant [12470 x i16], align 16
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZL8yydefact = external hidden constant [930 x i16], align 16
@_ZL4yyr2 = external hidden constant [685 x i8], align 16
@.str.9 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE = external hidden constant ptr, align 8
@.str.61 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZN7glslangL38E_GL_EXT_subgroup_uniform_control_flowE = external hidden constant ptr, align 8
@.str.64 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [15 x i8], align 1
@_ZN7glslangL19E_GL_NV_mesh_shaderE = external hidden constant ptr, align 8
@.str.85 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZN7glslangL15AEP_gpu_shader5E = external hidden constant [2 x ptr], align 16
@.str.90 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE = external hidden constant ptr, align 8
@.str.117 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZN7glslangL20E_GL_EXT_ray_tracingE = external hidden constant ptr, align 8
@.str.122 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZN7glslangL36E_GL_EXT_demote_to_helper_invocationE = external hidden constant ptr, align 8
@_ZN7glslangL32E_GL_EXT_control_flow_attributesE = external hidden constant ptr, align 8
@.str.178 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZL4yyr1 = external hidden constant [685 x i16], align 16
@_ZL7yypgoto = external hidden constant [131 x i16], align 16
@_ZL9yydefgoto = external hidden constant [131 x i16], align 16
@.str.197 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [15 x i8], align 1
@_ZL6yystos = external hidden constant [930 x i16], align 16
@.str.200 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [17 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z7yyparsePN7glslang13TParseContextE(ptr noundef %0) #0 personality ptr @__gxx_personality_v0 {
  %2 = alloca i32, align 4
  %3 = alloca ptr, align 8
  %4 = alloca i32, align 4
  %5 = alloca %union.YYSTYPE, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i64, align 8
  %10 = alloca [200 x i16], align 16
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca [200 x %union.YYSTYPE], align 16
  %14 = alloca ptr, align 8
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %union.YYSTYPE, align 8
  %20 = alloca [128 x i8], align 16
  %21 = alloca ptr, align 8
  %22 = alloca i64, align 8
  %23 = alloca i32, align 4
  %24 = alloca i64, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i32, align 4
  %30 = alloca %"struct.glslang::TParameter", align 8
  %31 = alloca ptr, align 8
  %32 = alloca i32, align 4
  %33 = alloca %"struct.glslang::TParameter", align 8
  %34 = alloca ptr, align 8
  %35 = alloca %"class.glslang::TType", align 8
  %36 = alloca i1, align 1
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca %"class.glslang::TType", align 8
  %40 = alloca i1, align 1
  %41 = alloca ptr, align 8
  %42 = alloca %"class.glslang::TType", align 8
  %43 = alloca i1, align 1
  %44 = alloca ptr, align 8
  %45 = alloca [2 x i8], align 1
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.glslang::TQualifier", align 8
  %53 = alloca %"class.glslang::TQualifier", align 8
  %54 = alloca ptr, align 8
  %55 = alloca %"class.glslang::TType", align 8
  %56 = alloca %"struct.glslang::TParameter", align 8
  %57 = alloca ptr, align 8
  %58 = alloca %"struct.glslang::TParameter", align 8
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca %"struct.glslang::TParameter", align 8
  %62 = alloca ptr, align 8
  %63 = alloca ptr, align 8
  %64 = alloca ptr, align 8
  %65 = alloca ptr, align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.glslang::pool_allocator.17", align 8
  %68 = alloca %"struct.glslang::TArraySize", align 8
  %69 = alloca %"struct.glslang::TArraySize", align 8
  %70 = alloca %"struct.glslang::TArraySize", align 8
  %71 = alloca %"struct.glslang::TArraySize", align 8
  %72 = alloca %"struct.glslang::TArraySize", align 8
  %73 = alloca %"struct.glslang::TArraySize", align 8
  %74 = alloca %"struct.glslang::TArraySize", align 8
  %75 = alloca %"struct.glslang::TArraySize", align 8
  %76 = alloca ptr, align 8
  %77 = alloca ptr, align 8
  %78 = alloca ptr, align 8
  %79 = alloca ptr, align 8
  %80 = alloca ptr, align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.glslang::pool_allocator.17", align 8
  %83 = alloca i1, align 1
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca %"class.glslang::TType", align 8
  %88 = alloca i32, align 4
  %89 = alloca %"class.glslang::TType", align 8
  %90 = alloca ptr, align 8
  %91 = alloca ptr, align 8
  %92 = alloca ptr, align 8
  %93 = alloca %"struct.glslang::TIntermNodePair", align 8
  %94 = alloca %"class.glslang::TType", align 8
  %95 = alloca ptr, align 8
  %96 = alloca ptr, align 8
  %97 = alloca ptr, align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.glslang::pool_allocator.17", align 8
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca %struct.yypcontext_t, align 8
  %103 = alloca ptr, align 8
  %104 = alloca i32, align 4
  store ptr %0, ptr %3, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #10
  call void @llvm.lifetime.start.p0(i64 288, ptr %5) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 @_ZZ7yyparsePN7glslang13TParseContextEE13yyval_default, i64 288, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  store i32 0, ptr %6, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  store i32 0, ptr %7, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  store i32 0, ptr %8, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #10
  store i64 200, ptr %9, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 400, ptr %10) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #10
  %105 = getelementptr inbounds [200 x i16], ptr %10, i64 0, i64 0
  store ptr %105, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #10
  %106 = load ptr, ptr %11, align 8, !tbaa !5
  store ptr %106, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 57600, ptr %13) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #10
  %107 = getelementptr inbounds [200 x %union.YYSTYPE], ptr %13, i64 0, i64 0
  store ptr %107, ptr %14, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #10
  %108 = load ptr, ptr %14, align 8, !tbaa !5
  store ptr %108, ptr %15, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #10
  store i32 -2, ptr %18, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 288, ptr %19) #10
  call void @llvm.lifetime.start.p0(i64 128, ptr %20) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #10
  %109 = getelementptr inbounds [128 x i8], ptr %20, i64 0, i64 0
  store ptr %109, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #10
  store i64 128, ptr %22, align 8, !tbaa !13
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  store i32 0, ptr %23, align 4, !tbaa !11
  br label %110

110:                                              ; preds = %1
  %111 = load i32, ptr @yydebug, align 4, !tbaa !11
  %112 = icmp ne i32 %111, 0
  br i1 %112, label %113, label %116

113:                                              ; preds = %110
  %114 = load ptr, ptr @stderr, align 8, !tbaa !5
  %115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %114, ptr noundef @.str) #10
  br label %116

116:                                              ; preds = %113, %110
  br label %117

117:                                              ; preds = %116
  br label %118

118:                                              ; preds = %117
  store i32 -2, ptr %4, align 4, !tbaa !11
  br label %122

119:                                              ; preds = %14643, %14450, %371
  %120 = load ptr, ptr %12, align 8, !tbaa !5
  %121 = getelementptr inbounds i16, ptr %120, i32 1
  store ptr %121, ptr %12, align 8, !tbaa !5
  br label %122

122:                                              ; preds = %119, %118
  br label %123

123:                                              ; preds = %122
  %124 = load i32, ptr @yydebug, align 4, !tbaa !11
  %125 = icmp ne i32 %124, 0
  br i1 %125, label %126, label %130

126:                                              ; preds = %123
  %127 = load ptr, ptr @stderr, align 8, !tbaa !5
  %128 = load i32, ptr %7, align 4, !tbaa !11
  %129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef @.str.1, i32 noundef %128) #10
  br label %130

130:                                              ; preds = %126, %123
  br label %131

131:                                              ; preds = %130
  br label %132

132:                                              ; preds = %131
  %133 = load i32, ptr %7, align 4, !tbaa !11
  %134 = trunc i32 %133 to i16
  %135 = load ptr, ptr %12, align 8, !tbaa !5
  store i16 %134, ptr %135, align 2, !tbaa !17
  br label %136

136:                                              ; preds = %132
  %137 = load i32, ptr @yydebug, align 4, !tbaa !11
  %138 = icmp ne i32 %137, 0
  br i1 %138, label %139, label %142

139:                                              ; preds = %136
  %140 = load ptr, ptr %11, align 8, !tbaa !5
  %141 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZL14yy_stack_printPsS_(ptr noundef %140, ptr noundef %141)
  br label %142

142:                                              ; preds = %139, %136
  br label %143

143:                                              ; preds = %142
  br label %144

144:                                              ; preds = %143
  %145 = load ptr, ptr %11, align 8, !tbaa !5
  %146 = load i64, ptr %9, align 8, !tbaa !13
  %147 = getelementptr inbounds i16, ptr %145, i64 %146
  %148 = getelementptr inbounds i16, ptr %147, i64 -1
  %149 = load ptr, ptr %12, align 8, !tbaa !5
  %150 = icmp ule ptr %148, %149
  br i1 %150, label %151, label %246

151:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #10
  %152 = load ptr, ptr %12, align 8, !tbaa !5
  %153 = load ptr, ptr %11, align 8, !tbaa !5
  %154 = ptrtoint ptr %152 to i64
  %155 = ptrtoint ptr %153 to i64
  %156 = sub i64 %154, %155
  %157 = sdiv exact i64 %156, 2
  %158 = add nsw i64 %157, 1
  store i64 %158, ptr %24, align 8, !tbaa !13
  %159 = load i64, ptr %9, align 8, !tbaa !13
  %160 = icmp sle i64 10000, %159
  br i1 %160, label %161, label %162

161:                                              ; preds = %151
  store i32 10, ptr %29, align 4
  br label %243

162:                                              ; preds = %151
  %163 = load i64, ptr %9, align 8, !tbaa !13
  %164 = mul nsw i64 %163, 2
  store i64 %164, ptr %9, align 8, !tbaa !13
  %165 = load i64, ptr %9, align 8, !tbaa !13
  %166 = icmp slt i64 10000, %165
  br i1 %166, label %167, label %168

167:                                              ; preds = %162
  store i64 10000, ptr %9, align 8, !tbaa !13
  br label %168

168:                                              ; preds = %167, %162
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #10
  %169 = load ptr, ptr %11, align 8, !tbaa !5
  store ptr %169, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #10
  %170 = load i64, ptr %9, align 8, !tbaa !13
  %171 = mul nsw i64 %170, 290
  %172 = add nsw i64 %171, 287
  %173 = call noalias ptr @malloc(i64 noundef %172) #11
  store ptr %173, ptr %26, align 8, !tbaa !5
  %174 = load ptr, ptr %26, align 8, !tbaa !5
  %175 = icmp ne ptr %174, null
  br i1 %175, label %177, label %176

176:                                              ; preds = %168
  store i32 10, ptr %29, align 4
  br label %214

177:                                              ; preds = %168
  br label %178

178:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  %179 = load ptr, ptr %26, align 8, !tbaa !5
  %180 = load ptr, ptr %11, align 8, !tbaa !5
  %181 = load i64, ptr %24, align 8, !tbaa !13
  %182 = mul i64 %181, 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %179, ptr align 2 %180, i64 %182, i1 false)
  %183 = load ptr, ptr %26, align 8, !tbaa !5
  store ptr %183, ptr %11, align 8, !tbaa !5
  %184 = load i64, ptr %9, align 8, !tbaa !13
  %185 = mul nsw i64 %184, 2
  %186 = add nsw i64 %185, 287
  store i64 %186, ptr %27, align 8, !tbaa !13
  %187 = load i64, ptr %27, align 8, !tbaa !13
  %188 = sdiv i64 %187, 288
  %189 = load ptr, ptr %26, align 8, !tbaa !5
  %190 = getelementptr inbounds %union.yyalloc, ptr %189, i64 %188
  store ptr %190, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  br label %191

191:                                              ; preds = %178
  br label %192

192:                                              ; preds = %191
  br label %193

193:                                              ; preds = %192
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #10
  %194 = load ptr, ptr %26, align 8, !tbaa !5
  %195 = load ptr, ptr %14, align 8, !tbaa !5
  %196 = load i64, ptr %24, align 8, !tbaa !13
  %197 = mul i64 %196, 288
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %194, ptr align 8 %195, i64 %197, i1 false)
  %198 = load ptr, ptr %26, align 8, !tbaa !5
  store ptr %198, ptr %14, align 8, !tbaa !5
  %199 = load i64, ptr %9, align 8, !tbaa !13
  %200 = mul nsw i64 %199, 288
  %201 = add nsw i64 %200, 287
  store i64 %201, ptr %28, align 8, !tbaa !13
  %202 = load i64, ptr %28, align 8, !tbaa !13
  %203 = sdiv i64 %202, 288
  %204 = load ptr, ptr %26, align 8, !tbaa !5
  %205 = getelementptr inbounds %union.yyalloc, ptr %204, i64 %203
  store ptr %205, ptr %26, align 8, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #10
  br label %206

206:                                              ; preds = %193
  br label %207

207:                                              ; preds = %206
  %208 = load ptr, ptr %25, align 8, !tbaa !5
  %209 = getelementptr inbounds [200 x i16], ptr %10, i64 0, i64 0
  %210 = icmp ne ptr %208, %209
  br i1 %210, label %211, label %213

211:                                              ; preds = %207
  %212 = load ptr, ptr %25, align 8, !tbaa !5
  call void @free(ptr noundef %212) #10
  br label %213

213:                                              ; preds = %211, %207
  store i32 0, ptr %29, align 4
  br label %214

214:                                              ; preds = %213, %176
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #10
  %215 = load i32, ptr %29, align 4
  switch i32 %215, label %243 [
    i32 0, label %216
  ]

216:                                              ; preds = %214
  %217 = load ptr, ptr %11, align 8, !tbaa !5
  %218 = load i64, ptr %24, align 8, !tbaa !13
  %219 = getelementptr inbounds i16, ptr %217, i64 %218
  %220 = getelementptr inbounds i16, ptr %219, i64 -1
  store ptr %220, ptr %12, align 8, !tbaa !5
  %221 = load ptr, ptr %14, align 8, !tbaa !5
  %222 = load i64, ptr %24, align 8, !tbaa !13
  %223 = getelementptr inbounds %union.YYSTYPE, ptr %221, i64 %222
  %224 = getelementptr inbounds %union.YYSTYPE, ptr %223, i64 -1
  store ptr %224, ptr %15, align 8, !tbaa !5
  br label %225

225:                                              ; preds = %216
  %226 = load i32, ptr @yydebug, align 4, !tbaa !11
  %227 = icmp ne i32 %226, 0
  br i1 %227, label %228, label %232

228:                                              ; preds = %225
  %229 = load ptr, ptr @stderr, align 8, !tbaa !5
  %230 = load i64, ptr %9, align 8, !tbaa !13
  %231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %229, ptr noundef @.str.2, i64 noundef %230) #10
  br label %232

232:                                              ; preds = %228, %225
  br label %233

233:                                              ; preds = %232
  br label %234

234:                                              ; preds = %233
  %235 = load ptr, ptr %11, align 8, !tbaa !5
  %236 = load i64, ptr %9, align 8, !tbaa !13
  %237 = getelementptr inbounds i16, ptr %235, i64 %236
  %238 = getelementptr inbounds i16, ptr %237, i64 -1
  %239 = load ptr, ptr %12, align 8, !tbaa !5
  %240 = icmp ule ptr %238, %239
  br i1 %240, label %241, label %242

241:                                              ; preds = %234
  store i32 17, ptr %29, align 4
  br label %243

242:                                              ; preds = %234
  store i32 0, ptr %29, align 4
  br label %243

243:                                              ; preds = %242, %241, %214, %161
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #10
  %244 = load i32, ptr %29, align 4
  switch i32 %244, label %14721 [
    i32 0, label %245
    i32 17, label %14646
    i32 10, label %14647
  ]

245:                                              ; preds = %243
  br label %246

246:                                              ; preds = %245, %144
  %247 = load i32, ptr %7, align 4, !tbaa !11
  %248 = icmp eq i32 %247, 443
  br i1 %248, label %249, label %250

249:                                              ; preds = %246
  br label %14645

250:                                              ; preds = %246
  br label %251

251:                                              ; preds = %250
  %252 = load i32, ptr %7, align 4, !tbaa !11
  %253 = sext i32 %252 to i64
  %254 = getelementptr inbounds [930 x i16], ptr @_ZL6yypact, i64 0, i64 %253
  %255 = load i16, ptr %254, align 2, !tbaa !17
  %256 = sext i16 %255 to i32
  store i32 %256, ptr %16, align 4, !tbaa !11
  %257 = load i32, ptr %16, align 4, !tbaa !11
  %258 = icmp eq i32 %257, -865
  br i1 %258, label %259, label %260

259:                                              ; preds = %251
  br label %375

260:                                              ; preds = %251
  %261 = load i32, ptr %4, align 4, !tbaa !11
  %262 = icmp eq i32 %261, -2
  br i1 %262, label %263, label %275

263:                                              ; preds = %260
  br label %264

264:                                              ; preds = %263
  %265 = load i32, ptr @yydebug, align 4, !tbaa !11
  %266 = icmp ne i32 %265, 0
  br i1 %266, label %267, label %270

267:                                              ; preds = %264
  %268 = load ptr, ptr @stderr, align 8, !tbaa !5
  %269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %268, ptr noundef @.str.3) #10
  br label %270

270:                                              ; preds = %267, %264
  br label %271

271:                                              ; preds = %270
  br label %272

272:                                              ; preds = %271
  %273 = load ptr, ptr %3, align 8, !tbaa !5
  %274 = call noundef i32 @_Z5yylexP7YYSTYPERN7glslang13TParseContextE(ptr noundef %5, ptr noundef nonnull align 8 dereferenceable(24912) %273)
  store i32 %274, ptr %4, align 4, !tbaa !11
  br label %275

275:                                              ; preds = %272, %260
  %276 = load i32, ptr %4, align 4, !tbaa !11
  %277 = icmp sle i32 %276, 0
  br i1 %277, label %278, label %288

278:                                              ; preds = %275
  store i32 0, ptr %4, align 4, !tbaa !11
  store i32 0, ptr %18, align 4, !tbaa !15
  br label %279

279:                                              ; preds = %278
  %280 = load i32, ptr @yydebug, align 4, !tbaa !11
  %281 = icmp ne i32 %280, 0
  br i1 %281, label %282, label %285

282:                                              ; preds = %279
  %283 = load ptr, ptr @stderr, align 8, !tbaa !5
  %284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %283, ptr noundef @.str.4) #10
  br label %285

285:                                              ; preds = %282, %279
  br label %286

286:                                              ; preds = %285
  br label %287

287:                                              ; preds = %286
  br label %322

288:                                              ; preds = %275
  %289 = load i32, ptr %4, align 4, !tbaa !11
  %290 = icmp eq i32 %289, 256
  br i1 %290, label %291, label %292

291:                                              ; preds = %288
  store i32 257, ptr %4, align 4, !tbaa !11
  store i32 1, ptr %18, align 4, !tbaa !15
  br label %14558

292:                                              ; preds = %288
  %293 = load i32, ptr %4, align 4, !tbaa !11
  %294 = icmp sle i32 0, %293
  br i1 %294, label %295, label %304

295:                                              ; preds = %292
  %296 = load i32, ptr %4, align 4, !tbaa !11
  %297 = icmp sle i32 %296, 710
  br i1 %297, label %298, label %304

298:                                              ; preds = %295
  %299 = load i32, ptr %4, align 4, !tbaa !11
  %300 = sext i32 %299 to i64
  %301 = getelementptr inbounds [711 x i16], ptr @_ZL11yytranslate, i64 0, i64 %300
  %302 = load i16, ptr %301, align 2, !tbaa !17
  %303 = sext i16 %302 to i32
  br label %305

304:                                              ; preds = %295, %292
  br label %305

305:                                              ; preds = %304, %298
  %306 = phi i32 [ %303, %298 ], [ 2, %304 ]
  store i32 %306, ptr %18, align 4, !tbaa !15
  br label %307

307:                                              ; preds = %305
  %308 = load i32, ptr @yydebug, align 4, !tbaa !11
  %309 = icmp ne i32 %308, 0
  br i1 %309, label %310, label %318

310:                                              ; preds = %307
  %311 = load ptr, ptr @stderr, align 8, !tbaa !5
  %312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %311, ptr noundef @.str.5, ptr noundef @.str.6) #10
  %313 = load ptr, ptr @stderr, align 8, !tbaa !5
  %314 = load i32, ptr %18, align 4, !tbaa !15
  %315 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef %313, i32 noundef %314, ptr noundef %5, ptr noundef %315)
  %316 = load ptr, ptr @stderr, align 8, !tbaa !5
  %317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %316, ptr noundef @.str.7) #10
  br label %318

318:                                              ; preds = %310, %307
  br label %319

319:                                              ; preds = %318
  br label %320

320:                                              ; preds = %319
  br label %321

321:                                              ; preds = %320
  br label %322

322:                                              ; preds = %321, %287
  %323 = load i32, ptr %18, align 4, !tbaa !15
  %324 = load i32, ptr %16, align 4, !tbaa !11
  %325 = add nsw i32 %324, %323
  store i32 %325, ptr %16, align 4, !tbaa !11
  %326 = load i32, ptr %16, align 4, !tbaa !11
  %327 = icmp slt i32 %326, 0
  br i1 %327, label %339, label %328

328:                                              ; preds = %322
  %329 = load i32, ptr %16, align 4, !tbaa !11
  %330 = icmp slt i32 12469, %329
  br i1 %330, label %339, label %331

331:                                              ; preds = %328
  %332 = load i32, ptr %16, align 4, !tbaa !11
  %333 = sext i32 %332 to i64
  %334 = getelementptr inbounds [12470 x i16], ptr @_ZL7yycheck, i64 0, i64 %333
  %335 = load i16, ptr %334, align 2, !tbaa !17
  %336 = sext i16 %335 to i32
  %337 = load i32, ptr %18, align 4, !tbaa !15
  %338 = icmp ne i32 %336, %337
  br i1 %338, label %339, label %340

339:                                              ; preds = %331, %328, %322
  br label %375

340:                                              ; preds = %331
  %341 = load i32, ptr %16, align 4, !tbaa !11
  %342 = sext i32 %341 to i64
  %343 = getelementptr inbounds [12470 x i16], ptr @_ZL7yytable, i64 0, i64 %342
  %344 = load i16, ptr %343, align 2, !tbaa !17
  %345 = sext i16 %344 to i32
  store i32 %345, ptr %16, align 4, !tbaa !11
  %346 = load i32, ptr %16, align 4, !tbaa !11
  %347 = icmp sle i32 %346, 0
  br i1 %347, label %348, label %351

348:                                              ; preds = %340
  %349 = load i32, ptr %16, align 4, !tbaa !11
  %350 = sub nsw i32 0, %349
  store i32 %350, ptr %16, align 4, !tbaa !11
  br label %385

351:                                              ; preds = %340
  %352 = load i32, ptr %8, align 4, !tbaa !11
  %353 = icmp ne i32 %352, 0
  br i1 %353, label %354, label %357

354:                                              ; preds = %351
  %355 = load i32, ptr %8, align 4, !tbaa !11
  %356 = add nsw i32 %355, -1
  store i32 %356, ptr %8, align 4, !tbaa !11
  br label %357

357:                                              ; preds = %354, %351
  br label %358

358:                                              ; preds = %357
  %359 = load i32, ptr @yydebug, align 4, !tbaa !11
  %360 = icmp ne i32 %359, 0
  br i1 %360, label %361, label %369

361:                                              ; preds = %358
  %362 = load ptr, ptr @stderr, align 8, !tbaa !5
  %363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %362, ptr noundef @.str.5, ptr noundef @.str.8) #10
  %364 = load ptr, ptr @stderr, align 8, !tbaa !5
  %365 = load i32, ptr %18, align 4, !tbaa !15
  %366 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef %364, i32 noundef %365, ptr noundef %5, ptr noundef %366)
  %367 = load ptr, ptr @stderr, align 8, !tbaa !5
  %368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %367, ptr noundef @.str.7) #10
  br label %369

369:                                              ; preds = %361, %358
  br label %370

370:                                              ; preds = %369
  br label %371

371:                                              ; preds = %370
  %372 = load i32, ptr %16, align 4, !tbaa !11
  store i32 %372, ptr %7, align 4, !tbaa !11
  %373 = load ptr, ptr %15, align 8, !tbaa !5
  %374 = getelementptr inbounds %union.YYSTYPE, ptr %373, i32 1
  store ptr %374, ptr %15, align 8, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %374, ptr align 8 %5, i64 288, i1 false), !tbaa.struct !9
  store i32 -2, ptr %4, align 4, !tbaa !11
  br label %119

375:                                              ; preds = %339, %259
  %376 = load i32, ptr %7, align 4, !tbaa !11
  %377 = sext i32 %376 to i64
  %378 = getelementptr inbounds [930 x i16], ptr @_ZL8yydefact, i64 0, i64 %377
  %379 = load i16, ptr %378, align 2, !tbaa !17
  %380 = sext i16 %379 to i32
  store i32 %380, ptr %16, align 4, !tbaa !11
  %381 = load i32, ptr %16, align 4, !tbaa !11
  %382 = icmp eq i32 %381, 0
  br i1 %382, label %383, label %384

383:                                              ; preds = %375
  br label %14453

384:                                              ; preds = %375
  br label %385

385:                                              ; preds = %384, %348
  %386 = load i32, ptr %16, align 4, !tbaa !11
  %387 = sext i32 %386 to i64
  %388 = getelementptr inbounds [685 x i8], ptr @_ZL4yyr2, i64 0, i64 %387
  %389 = load i8, ptr %388, align 1, !tbaa !10
  %390 = sext i8 %389 to i32
  store i32 %390, ptr %23, align 4, !tbaa !11
  %391 = load ptr, ptr %15, align 8, !tbaa !5
  %392 = load i32, ptr %23, align 4, !tbaa !11
  %393 = sub nsw i32 1, %392
  %394 = sext i32 %393 to i64
  %395 = getelementptr inbounds %union.YYSTYPE, ptr %391, i64 %394
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %395, i64 288, i1 false), !tbaa.struct !9
  br label %396

396:                                              ; preds = %385
  %397 = load i32, ptr @yydebug, align 4, !tbaa !11
  %398 = icmp ne i32 %397, 0
  br i1 %398, label %399, label %404

399:                                              ; preds = %396
  %400 = load ptr, ptr %12, align 8, !tbaa !5
  %401 = load ptr, ptr %15, align 8, !tbaa !5
  %402 = load i32, ptr %16, align 4, !tbaa !11
  %403 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL15yy_reduce_printPsP7YYSTYPEiPN7glslang13TParseContextE(ptr noundef %400, ptr noundef %401, i32 noundef %402, ptr noundef %403)
  br label %404

404:                                              ; preds = %399, %396
  br label %405

405:                                              ; preds = %404
  br label %406

406:                                              ; preds = %405
  %407 = load i32, ptr %16, align 4, !tbaa !11
  switch i32 %407, label %14378 [
    i32 2, label %408
    i32 3, label %423
    i32 4, label %429
    i32 5, label %450
    i32 6, label %463
    i32 7, label %476
    i32 8, label %496
    i32 9, label %510
    i32 10, label %523
    i32 11, label %543
    i32 12, label %563
    i32 13, label %583
    i32 14, label %603
    i32 15, label %624
    i32 16, label %645
    i32 17, label %675
    i32 18, label %695
    i32 19, label %701
    i32 20, label %716
    i32 21, label %722
    i32 22, label %737
    i32 23, label %764
    i32 24, label %791
    i32 25, label %802
    i32 26, label %827
    i32 27, label %830
    i32 28, label %837
    i32 29, label %844
    i32 30, label %847
    i32 31, label %850
    i32 32, label %887
    i32 33, label %935
    i32 34, label %938
    i32 35, label %950
    i32 36, label %1087
    i32 37, label %1099
    i32 38, label %1139
    i32 39, label %1162
    i32 40, label %1185
    i32 41, label %1241
    i32 42, label %1247
    i32 43, label %1253
    i32 44, label %1259
    i32 45, label %1272
    i32 46, label %1278
    i32 47, label %1303
    i32 48, label %1328
    i32 49, label %1360
    i32 50, label %1366
    i32 51, label %1391
    i32 52, label %1416
    i32 53, label %1422
    i32 54, label %1454
    i32 55, label %1486
    i32 56, label %1492
    i32 57, label %1520
    i32 58, label %1548
    i32 59, label %1576
    i32 60, label %1604
    i32 61, label %1610
    i32 62, label %1686
    i32 63, label %1762
    i32 64, label %1768
    i32 65, label %1800
    i32 66, label %1806
    i32 67, label %1838
    i32 68, label %1844
    i32 69, label %1876
    i32 70, label %1882
    i32 71, label %1910
    i32 72, label %1916
    i32 73, label %1944
    i32 74, label %1950
    i32 75, label %1978
    i32 76, label %1984
    i32 77, label %1989
    i32 78, label %2097
    i32 79, label %2103
    i32 80, label %2235
    i32 81, label %2241
    i32 82, label %2247
    i32 83, label %2253
    i32 84, label %2266
    i32 85, label %2272
    i32 86, label %2278
    i32 87, label %2291
    i32 88, label %2304
    i32 89, label %2317
    i32 90, label %2330
    i32 91, label %2343
    i32 92, label %2349
    i32 93, label %2416
    i32 94, label %2427
    i32 95, label %2438
    i32 96, label %2467
    i32 97, label %2480
    i32 98, label %2514
    i32 99, label %2542
    i32 100, label %2552
    i32 101, label %2566
    i32 102, label %2584
    i32 103, label %2603
    i32 104, label %2627
    i32 105, label %2658
    i32 106, label %2664
    i32 107, label %2709
    i32 108, label %2722
    i32 109, label %2733
    i32 110, label %2743
    i32 111, label %2768
    i32 112, label %2793
    i32 113, label %2826
    i32 114, label %2832
    i32 115, label %2838
    i32 116, label %2878
    i32 117, label %2925
    i32 118, label %3007
    i32 119, label %3085
    i32 120, label %3172
    i32 121, label %3262
    i32 122, label %3297
    i32 123, label %3390
    i32 124, label %3425
    i32 125, label %3457
    i32 126, label %3460
    i32 127, label %3475
    i32 128, label %3494
    i32 129, label %3532
    i32 130, label %3566
    i32 131, label %3575
    i32 132, label %3593
    i32 133, label %3615
    i32 134, label %3649
    i32 135, label %3679
    i32 136, label %3720
    i32 137, label %3868
    i32 138, label %3886
    i32 139, label %3909
    i32 140, label %3932
    i32 141, label %3955
    i32 142, label %3978
    i32 143, label %4005
    i32 144, label %4032
    i32 145, label %4064
    i32 146, label %4083
    i32 147, label %4102
    i32 148, label %4107
    i32 149, label %4112
    i32 150, label %4130
    i32 151, label %4144
    i32 152, label %4162
    i32 153, label %4177
    i32 154, label %4195
    i32 155, label %4200
    i32 156, label %4233
    i32 157, label %4238
    i32 158, label %4243
    i32 159, label %4262
    i32 160, label %4267
    i32 161, label %4272
    i32 162, label %4277
    i32 163, label %4282
    i32 164, label %4300
    i32 165, label %4313
    i32 166, label %4327
    i32 167, label %4341
    i32 168, label %4352
    i32 169, label %4367
    i32 170, label %4382
    i32 171, label %4397
    i32 172, label %4420
    i32 173, label %4435
    i32 174, label %4462
    i32 175, label %4477
    i32 176, label %4524
    i32 177, label %4580
    i32 178, label %4599
    i32 179, label %4614
    i32 180, label %4637
    i32 181, label %4660
    i32 182, label %4683
    i32 183, label %4706
    i32 184, label %4729
    i32 185, label %4752
    i32 186, label %4775
    i32 187, label %4798
    i32 188, label %4821
    i32 189, label %4844
    i32 190, label %4855
    i32 191, label %4873
    i32 192, label %4891
    i32 193, label %4909
    i32 194, label %4927
    i32 195, label %4945
    i32 196, label %4963
    i32 197, label %4974
    i32 198, label %4985
    i32 199, label %4996
    i32 200, label %5007
    i32 201, label %5030
    i32 202, label %5053
    i32 203, label %5064
    i32 204, label %5065
    i32 205, label %5066
    i32 206, label %5089
    i32 207, label %5126
    i32 208, label %5140
    i32 209, label %5171
    i32 210, label %5176
    i32 211, label %5198
    i32 212, label %5204
    i32 213, label %5206
    i32 214, label %5212
    i32 215, label %5239
    i32 216, label %5264
    i32 217, label %5275
    i32 218, label %5286
    i32 219, label %5297
    i32 220, label %5315
    i32 221, label %5326
    i32 222, label %5338
    i32 223, label %5350
    i32 224, label %5362
    i32 225, label %5374
    i32 226, label %5386
    i32 227, label %5398
    i32 228, label %5410
    i32 229, label %5422
    i32 230, label %5434
    i32 231, label %5453
    i32 232, label %5472
    i32 233, label %5491
    i32 234, label %5503
    i32 235, label %5515
    i32 236, label %5527
    i32 237, label %5539
    i32 238, label %5551
    i32 239, label %5563
    i32 240, label %5575
    i32 241, label %5587
    i32 242, label %5599
    i32 243, label %5611
    i32 244, label %5623
    i32 245, label %5635
    i32 246, label %5663
    i32 247, label %5685
    i32 248, label %5707
    i32 249, label %5729
    i32 250, label %5751
    i32 251, label %5773
    i32 252, label %5795
    i32 253, label %5817
    i32 254, label %5839
    i32 255, label %5861
    i32 256, label %5883
    i32 257, label %5905
    i32 258, label %5934
    i32 259, label %5963
    i32 260, label %5992
    i32 261, label %6015
    i32 262, label %6038
    i32 263, label %6061
    i32 264, label %6084
    i32 265, label %6107
    i32 266, label %6130
    i32 267, label %6153
    i32 268, label %6176
    i32 269, label %6199
    i32 270, label %6222
    i32 271, label %6245
    i32 272, label %6268
    i32 273, label %6291
    i32 274, label %6314
    i32 275, label %6337
    i32 276, label %6360
    i32 277, label %6383
    i32 278, label %6406
    i32 279, label %6429
    i32 280, label %6452
    i32 281, label %6475
    i32 282, label %6498
    i32 283, label %6521
    i32 284, label %6544
    i32 285, label %6567
    i32 286, label %6590
    i32 287, label %6613
    i32 288, label %6636
    i32 289, label %6659
    i32 290, label %6682
    i32 291, label %6705
    i32 292, label %6728
    i32 293, label %6751
    i32 294, label %6780
    i32 295, label %6809
    i32 296, label %6838
    i32 297, label %6867
    i32 298, label %6896
    i32 299, label %6925
    i32 300, label %6954
    i32 301, label %6983
    i32 302, label %7012
    i32 303, label %7041
    i32 304, label %7070
    i32 305, label %7099
    i32 306, label %7122
    i32 307, label %7145
    i32 308, label %7168
    i32 309, label %7191
    i32 310, label %7214
    i32 311, label %7237
    i32 312, label %7260
    i32 313, label %7283
    i32 314, label %7306
    i32 315, label %7329
    i32 316, label %7352
    i32 317, label %7375
    i32 318, label %7398
    i32 319, label %7421
    i32 320, label %7444
    i32 321, label %7467
    i32 322, label %7490
    i32 323, label %7513
    i32 324, label %7536
    i32 325, label %7559
    i32 326, label %7582
    i32 327, label %7605
    i32 328, label %7628
    i32 329, label %7651
    i32 330, label %7674
    i32 331, label %7697
    i32 332, label %7720
    i32 333, label %7743
    i32 334, label %7766
    i32 335, label %7789
    i32 336, label %7812
    i32 337, label %7835
    i32 338, label %7858
    i32 339, label %7881
    i32 340, label %7904
    i32 341, label %7927
    i32 342, label %7938
    i32 343, label %7949
    i32 344, label %7960
    i32 345, label %7978
    i32 346, label %7991
    i32 347, label %8004
    i32 348, label %8017
    i32 349, label %8030
    i32 350, label %8043
    i32 351, label %8056
    i32 352, label %8069
    i32 353, label %8082
    i32 354, label %8095
    i32 355, label %8108
    i32 356, label %8121
    i32 357, label %8134
    i32 358, label %8147
    i32 359, label %8171
    i32 360, label %8195
    i32 361, label %8219
    i32 362, label %8243
    i32 363, label %8267
    i32 364, label %8291
    i32 365, label %8315
    i32 366, label %8339
    i32 367, label %8363
    i32 368, label %8387
    i32 369, label %8411
    i32 370, label %8435
    i32 371, label %8459
    i32 372, label %8472
    i32 373, label %8485
    i32 374, label %8498
    i32 375, label %8511
    i32 376, label %8524
    i32 377, label %8537
    i32 378, label %8550
    i32 379, label %8563
    i32 380, label %8576
    i32 381, label %8589
    i32 382, label %8602
    i32 383, label %8615
    i32 384, label %8628
    i32 385, label %8641
    i32 386, label %8654
    i32 387, label %8667
    i32 388, label %8680
    i32 389, label %8693
    i32 390, label %8706
    i32 391, label %8719
    i32 392, label %8732
    i32 393, label %8745
    i32 394, label %8758
    i32 395, label %8771
    i32 396, label %8784
    i32 397, label %8797
    i32 398, label %8810
    i32 399, label %8823
    i32 400, label %8836
    i32 401, label %8849
    i32 402, label %8862
    i32 403, label %8875
    i32 404, label %8888
    i32 405, label %8912
    i32 406, label %8936
    i32 407, label %8949
    i32 408, label %8962
    i32 409, label %8975
    i32 410, label %8999
    i32 411, label %9012
    i32 412, label %9025
    i32 413, label %9038
    i32 414, label %9062
    i32 415, label %9075
    i32 416, label %9088
    i32 417, label %9101
    i32 418, label %9125
    i32 419, label %9138
    i32 420, label %9151
    i32 421, label %9164
    i32 422, label %9188
    i32 423, label %9212
    i32 424, label %9236
    i32 425, label %9260
    i32 426, label %9273
    i32 427, label %9297
    i32 428, label %9321
    i32 429, label %9345
    i32 430, label %9358
    i32 431, label %9371
    i32 432, label %9384
    i32 433, label %9397
    i32 434, label %9410
    i32 435, label %9434
    i32 436, label %9447
    i32 437, label %9460
    i32 438, label %9473
    i32 439, label %9497
    i32 440, label %9510
    i32 441, label %9523
    i32 442, label %9536
    i32 443, label %9560
    i32 444, label %9573
    i32 445, label %9586
    i32 446, label %9599
    i32 447, label %9623
    i32 448, label %9636
    i32 449, label %9649
    i32 450, label %9662
    i32 451, label %9686
    i32 452, label %9699
    i32 453, label %9712
    i32 454, label %9725
    i32 455, label %9749
    i32 456, label %9762
    i32 457, label %9775
    i32 458, label %9788
    i32 459, label %9812
    i32 460, label %9825
    i32 461, label %9838
    i32 462, label %9851
    i32 463, label %9875
    i32 464, label %9888
    i32 465, label %9901
    i32 466, label %9914
    i32 467, label %9938
    i32 468, label %9951
    i32 469, label %9964
    i32 470, label %9977
    i32 471, label %10001
    i32 472, label %10014
    i32 473, label %10027
    i32 474, label %10040
    i32 475, label %10064
    i32 476, label %10077
    i32 477, label %10090
    i32 478, label %10103
    i32 479, label %10127
    i32 480, label %10140
    i32 481, label %10153
    i32 482, label %10166
    i32 483, label %10190
    i32 484, label %10203
    i32 485, label %10216
    i32 486, label %10229
    i32 487, label %10253
    i32 488, label %10266
    i32 489, label %10279
    i32 490, label %10292
    i32 491, label %10316
    i32 492, label %10329
    i32 493, label %10342
    i32 494, label %10355
    i32 495, label %10368
    i32 496, label %10381
    i32 497, label %10394
    i32 498, label %10407
    i32 499, label %10420
    i32 500, label %10433
    i32 501, label %10446
    i32 502, label %10459
    i32 503, label %10472
    i32 504, label %10485
    i32 505, label %10498
    i32 506, label %10511
    i32 507, label %10524
    i32 508, label %10537
    i32 509, label %10550
    i32 510, label %10563
    i32 511, label %10576
    i32 512, label %10589
    i32 513, label %10602
    i32 514, label %10615
    i32 515, label %10628
    i32 516, label %10646
    i32 517, label %10664
    i32 518, label %10681
    i32 519, label %10698
    i32 520, label %10726
    i32 521, label %10754
    i32 522, label %10771
    i32 523, label %10788
    i32 524, label %10805
    i32 525, label %10822
    i32 526, label %10849
    i32 527, label %10876
    i32 528, label %10903
    i32 529, label %10916
    i32 530, label %10939
    i32 531, label %10983
    i32 532, label %11002
    i32 533, label %11021
    i32 534, label %11040
    i32 535, label %11045
    i32 536, label %11109
    i32 537, label %11114
    i32 538, label %11148
    i32 539, label %11154
    i32 540, label %11250
    i32 541, label %11394
    i32 542, label %11555
    i32 543, label %11568
    i32 544, label %11574
    i32 545, label %11598
    i32 546, label %11637
    i32 547, label %11643
    i32 548, label %11659
    i32 549, label %11675
    i32 550, label %11694
    i32 551, label %11712
    i32 552, label %11726
    i32 553, label %11732
    i32 554, label %11738
    i32 555, label %11744
    i32 556, label %11750
    i32 557, label %11756
    i32 558, label %11762
    i32 559, label %11768
    i32 560, label %11774
    i32 561, label %11780
    i32 562, label %11786
    i32 563, label %11792
    i32 564, label %11812
    i32 565, label %11814
    i32 566, label %11822
    i32 567, label %11833
    i32 568, label %11867
    i32 569, label %11873
    i32 570, label %11879
    i32 571, label %11884
    i32 572, label %11894
    i32 573, label %11906
    i32 574, label %11926
    i32 575, label %11928
    i32 576, label %11962
    i32 577, label %12017
    i32 578, label %12094
    i32 579, label %12096
    i32 580, label %12102
    i32 581, label %12108
    i32 582, label %12135
    i32 583, label %12163
    i32 584, label %12176
    i32 585, label %12185
    i32 586, label %12204
    i32 587, label %12249
    i32 588, label %12255
    i32 589, label %12282
    i32 590, label %12306
    i32 591, label %12359
    i32 592, label %12361
    i32 593, label %12367
    i32 594, label %12423
    i32 595, label %12465
    i32 596, label %12471
    i32 597, label %12498
    i32 598, label %12529
    i32 599, label %12564
    i32 600, label %12580
    i32 601, label %12638
    i32 602, label %12654
    i32 603, label %12743
    i32 604, label %12749
    i32 605, label %12755
    i32 606, label %12761
    i32 607, label %12763
    i32 608, label %12772
    i32 609, label %12785
    i32 610, label %12807
    i32 611, label %12834
    i32 612, label %12868
    i32 613, label %12879
    i32 614, label %12892
    i32 615, label %12905
    i32 616, label %12918
    i32 617, label %12931
    i32 618, label %12942
    i32 619, label %12968
    i32 620, label %12974
    i32 621, label %12980
    i32 622, label %12990
    i32 623, label %13033
    i32 624, label %13178
    i32 625, label %13184
    i32 626, label %13190
    i32 627, label %13202
    i32 628, label %13210
    i32 629, label %13222
    i32 630, label %13228
    i32 631, label %13243
    i32 632, label %13262
    i32 633, label %13281
    i32 634, label %13298
    i32 635, label %13319
    i32 636, label %13336
    i32 637, label %13357
    i32 638, label %13366
    i32 639, label %13382
    i32 640, label %13399
    i32 641, label %13423
    i32 642, label %13440
    i32 643, label %13464
    i32 644, label %13474
    i32 645, label %13488
    i32 646, label %13501
    i32 647, label %13514
    i32 648, label %13527
    i32 649, label %13541
    i32 650, label %13554
    i32 651, label %13636
    i32 652, label %13722
    i32 653, label %13740
    i32 654, label %13765
    i32 655, label %13776
    i32 656, label %13794
    i32 657, label %13813
    i32 658, label %13839
    i32 659, label %13858
    i32 660, label %13884
    i32 661, label %13903
    i32 662, label %13929
    i32 663, label %13939
    i32 664, label %13953
    i32 665, label %13966
    i32 666, label %13979
    i32 667, label %13992
    i32 668, label %14006
    i32 669, label %14078
    i32 670, label %14154
    i32 671, label %14171
    i32 672, label %14192
    i32 673, label %14210
    i32 674, label %14235
    i32 675, label %14249
    i32 676, label %14270
    i32 677, label %14276
    i32 678, label %14288
    i32 679, label %14308
    i32 680, label %14314
    i32 681, label %14327
    i32 682, label %14333
    i32 683, label %14348
    i32 684, label %14363
  ]

408:                                              ; preds = %406
  %409 = load ptr, ptr %3, align 8, !tbaa !5
  %410 = load ptr, ptr %15, align 8, !tbaa !5
  %411 = getelementptr inbounds %union.YYSTYPE, ptr %410, i64 0
  %412 = getelementptr inbounds %struct.anon, ptr %411, i32 0, i32 0
  %413 = load ptr, ptr %15, align 8, !tbaa !5
  %414 = getelementptr inbounds %union.YYSTYPE, ptr %413, i64 0
  %415 = getelementptr inbounds %struct.anon, ptr %414, i32 0, i32 2
  %416 = load ptr, ptr %415, align 8, !tbaa !10
  %417 = load ptr, ptr %15, align 8, !tbaa !5
  %418 = getelementptr inbounds %union.YYSTYPE, ptr %417, i64 0
  %419 = getelementptr inbounds %struct.anon, ptr %418, i32 0, i32 1
  %420 = load ptr, ptr %419, align 8, !tbaa !10
  %421 = call noundef ptr @_ZN7glslang13TParseContext14handleVariableERKNS_10TSourceLocEPNS_7TSymbolEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %409, ptr noundef nonnull align 8 dereferenceable(24) %412, ptr noundef %416, ptr noundef %420)
  %422 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %421, ptr %422, align 8, !tbaa !10
  br label %14379

423:                                              ; preds = %406
  %424 = load ptr, ptr %15, align 8, !tbaa !5
  %425 = getelementptr inbounds %union.YYSTYPE, ptr %424, i64 0
  %426 = getelementptr inbounds %struct.anon.0, ptr %425, i32 0, i32 2
  %427 = load ptr, ptr %426, align 8, !tbaa !10
  %428 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %427, ptr %428, align 8, !tbaa !10
  br label %14379

429:                                              ; preds = %406
  %430 = load ptr, ptr %15, align 8, !tbaa !5
  %431 = getelementptr inbounds %union.YYSTYPE, ptr %430, i64 -1
  %432 = getelementptr inbounds %struct.anon.0, ptr %431, i32 0, i32 2
  %433 = load ptr, ptr %432, align 8, !tbaa !10
  %434 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %433, ptr %434, align 8, !tbaa !10
  %435 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %436 = load ptr, ptr %435, align 8, !tbaa !10
  %437 = load ptr, ptr %436, align 8, !tbaa !19
  %438 = getelementptr inbounds ptr, ptr %437, i64 5
  %439 = load ptr, ptr %438, align 8
  %440 = call noundef ptr %439(ptr noundef nonnull align 8 dereferenceable(32) %436)
  %441 = icmp ne ptr %440, null
  br i1 %441, label %442, label %449

442:                                              ; preds = %429
  %443 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %444 = load ptr, ptr %443, align 8, !tbaa !10
  %445 = load ptr, ptr %444, align 8, !tbaa !19
  %446 = getelementptr inbounds ptr, ptr %445, i64 5
  %447 = load ptr, ptr %446, align 8
  %448 = call noundef ptr %447(ptr noundef nonnull align 8 dereferenceable(32) %444)
  call void @_ZN7glslang20TIntermConstantUnion13setExpressionEv(ptr noundef nonnull align 8 dereferenceable(193) %448)
  br label %449

449:                                              ; preds = %442, %429
  br label %14379

450:                                              ; preds = %406
  %451 = load ptr, ptr %3, align 8, !tbaa !5
  %452 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %451, i32 0, i32 7
  %453 = load ptr, ptr %452, align 8, !tbaa !21
  %454 = load ptr, ptr %15, align 8, !tbaa !5
  %455 = getelementptr inbounds %union.YYSTYPE, ptr %454, i64 0
  %456 = getelementptr inbounds %struct.anon, ptr %455, i32 0, i32 1
  %457 = load double, ptr %456, align 8, !tbaa !10
  %458 = load ptr, ptr %15, align 8, !tbaa !5
  %459 = getelementptr inbounds %union.YYSTYPE, ptr %458, i64 0
  %460 = getelementptr inbounds %struct.anon, ptr %459, i32 0, i32 0
  %461 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %453, double noundef %457, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %460, i1 noundef zeroext true)
  %462 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %461, ptr %462, align 8, !tbaa !10
  br label %14379

463:                                              ; preds = %406
  %464 = load ptr, ptr %3, align 8, !tbaa !5
  %465 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %464, i32 0, i32 7
  %466 = load ptr, ptr %465, align 8, !tbaa !21
  %467 = load ptr, ptr %15, align 8, !tbaa !5
  %468 = getelementptr inbounds %union.YYSTYPE, ptr %467, i64 0
  %469 = getelementptr inbounds %struct.anon, ptr %468, i32 0, i32 1
  %470 = load i32, ptr %469, align 8, !tbaa !10
  %471 = load ptr, ptr %15, align 8, !tbaa !5
  %472 = getelementptr inbounds %union.YYSTYPE, ptr %471, i64 0
  %473 = getelementptr inbounds %struct.anon, ptr %472, i32 0, i32 0
  %474 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %466, i32 noundef %470, ptr noundef nonnull align 8 dereferenceable(24) %473, i1 noundef zeroext true)
  %475 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %474, ptr %475, align 8, !tbaa !10
  br label %14379

476:                                              ; preds = %406
  %477 = load ptr, ptr %3, align 8, !tbaa !5
  %478 = load ptr, ptr %15, align 8, !tbaa !5
  %479 = getelementptr inbounds %union.YYSTYPE, ptr %478, i64 0
  %480 = getelementptr inbounds %struct.anon, ptr %479, i32 0, i32 0
  %481 = load ptr, ptr %477, align 8, !tbaa !19
  %482 = getelementptr inbounds ptr, ptr %481, i64 15
  %483 = load ptr, ptr %482, align 8
  call void %483(ptr noundef nonnull align 8 dereferenceable(192) %477, ptr noundef nonnull align 8 dereferenceable(24) %480, ptr noundef @.str.9)
  %484 = load ptr, ptr %3, align 8, !tbaa !5
  %485 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %484, i32 0, i32 7
  %486 = load ptr, ptr %485, align 8, !tbaa !21
  %487 = load ptr, ptr %15, align 8, !tbaa !5
  %488 = getelementptr inbounds %union.YYSTYPE, ptr %487, i64 0
  %489 = getelementptr inbounds %struct.anon, ptr %488, i32 0, i32 1
  %490 = load i32, ptr %489, align 8, !tbaa !10
  %491 = load ptr, ptr %15, align 8, !tbaa !5
  %492 = getelementptr inbounds %union.YYSTYPE, ptr %491, i64 0
  %493 = getelementptr inbounds %struct.anon, ptr %492, i32 0, i32 0
  %494 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %486, i32 noundef %490, ptr noundef nonnull align 8 dereferenceable(24) %493, i1 noundef zeroext true)
  %495 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %494, ptr %495, align 8, !tbaa !10
  br label %14379

496:                                              ; preds = %406
  %497 = load ptr, ptr %3, align 8, !tbaa !5
  %498 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %497, i32 0, i32 7
  %499 = load ptr, ptr %498, align 8, !tbaa !21
  %500 = load ptr, ptr %15, align 8, !tbaa !5
  %501 = getelementptr inbounds %union.YYSTYPE, ptr %500, i64 0
  %502 = getelementptr inbounds %struct.anon, ptr %501, i32 0, i32 1
  %503 = load i8, ptr %502, align 8, !tbaa !10, !range !43, !noundef !44
  %504 = trunc i8 %503 to i1
  %505 = load ptr, ptr %15, align 8, !tbaa !5
  %506 = getelementptr inbounds %union.YYSTYPE, ptr %505, i64 0
  %507 = getelementptr inbounds %struct.anon, ptr %506, i32 0, i32 0
  %508 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %499, i1 noundef zeroext %504, ptr noundef nonnull align 8 dereferenceable(24) %507, i1 noundef zeroext true)
  %509 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %508, ptr %509, align 8, !tbaa !10
  br label %14379

510:                                              ; preds = %406
  %511 = load ptr, ptr %3, align 8, !tbaa !5
  %512 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %511, i32 0, i32 7
  %513 = load ptr, ptr %512, align 8, !tbaa !21
  %514 = load ptr, ptr %15, align 8, !tbaa !5
  %515 = getelementptr inbounds %union.YYSTYPE, ptr %514, i64 0
  %516 = getelementptr inbounds %struct.anon, ptr %515, i32 0, i32 1
  %517 = load ptr, ptr %516, align 8, !tbaa !10
  %518 = load ptr, ptr %15, align 8, !tbaa !5
  %519 = getelementptr inbounds %union.YYSTYPE, ptr %518, i64 0
  %520 = getelementptr inbounds %struct.anon, ptr %519, i32 0, i32 0
  %521 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %513, ptr noundef %517, ptr noundef nonnull align 8 dereferenceable(24) %520, i1 noundef zeroext true)
  %522 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %521, ptr %522, align 8, !tbaa !10
  br label %14379

523:                                              ; preds = %406
  %524 = load ptr, ptr %3, align 8, !tbaa !5
  %525 = load ptr, ptr %15, align 8, !tbaa !5
  %526 = getelementptr inbounds %union.YYSTYPE, ptr %525, i64 0
  %527 = getelementptr inbounds %struct.anon, ptr %526, i32 0, i32 0
  %528 = load ptr, ptr %524, align 8, !tbaa !19
  %529 = getelementptr inbounds ptr, ptr %528, i64 32
  %530 = load ptr, ptr %529, align 8
  call void %530(ptr noundef nonnull align 8 dereferenceable(192) %524, ptr noundef nonnull align 8 dereferenceable(24) %527, ptr noundef @.str.10, i1 noundef zeroext false)
  %531 = load ptr, ptr %3, align 8, !tbaa !5
  %532 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %531, i32 0, i32 7
  %533 = load ptr, ptr %532, align 8, !tbaa !21
  %534 = load ptr, ptr %15, align 8, !tbaa !5
  %535 = getelementptr inbounds %union.YYSTYPE, ptr %534, i64 0
  %536 = getelementptr inbounds %struct.anon, ptr %535, i32 0, i32 1
  %537 = load i32, ptr %536, align 8, !tbaa !10
  %538 = load ptr, ptr %15, align 8, !tbaa !5
  %539 = getelementptr inbounds %union.YYSTYPE, ptr %538, i64 0
  %540 = getelementptr inbounds %struct.anon, ptr %539, i32 0, i32 0
  %541 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %533, i32 noundef %537, ptr noundef nonnull align 8 dereferenceable(24) %540, i1 noundef zeroext true)
  %542 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %541, ptr %542, align 8, !tbaa !10
  br label %14379

543:                                              ; preds = %406
  %544 = load ptr, ptr %3, align 8, !tbaa !5
  %545 = load ptr, ptr %15, align 8, !tbaa !5
  %546 = getelementptr inbounds %union.YYSTYPE, ptr %545, i64 0
  %547 = getelementptr inbounds %struct.anon, ptr %546, i32 0, i32 0
  %548 = load ptr, ptr %544, align 8, !tbaa !19
  %549 = getelementptr inbounds ptr, ptr %548, i64 32
  %550 = load ptr, ptr %549, align 8
  call void %550(ptr noundef nonnull align 8 dereferenceable(192) %544, ptr noundef nonnull align 8 dereferenceable(24) %547, ptr noundef @.str.10, i1 noundef zeroext false)
  %551 = load ptr, ptr %3, align 8, !tbaa !5
  %552 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %551, i32 0, i32 7
  %553 = load ptr, ptr %552, align 8, !tbaa !21
  %554 = load ptr, ptr %15, align 8, !tbaa !5
  %555 = getelementptr inbounds %union.YYSTYPE, ptr %554, i64 0
  %556 = getelementptr inbounds %struct.anon, ptr %555, i32 0, i32 1
  %557 = load i32, ptr %556, align 8, !tbaa !10
  %558 = load ptr, ptr %15, align 8, !tbaa !5
  %559 = getelementptr inbounds %union.YYSTYPE, ptr %558, i64 0
  %560 = getelementptr inbounds %struct.anon, ptr %559, i32 0, i32 0
  %561 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %553, i32 noundef %557, ptr noundef nonnull align 8 dereferenceable(24) %560, i1 noundef zeroext true)
  %562 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %561, ptr %562, align 8, !tbaa !10
  br label %14379

563:                                              ; preds = %406
  %564 = load ptr, ptr %3, align 8, !tbaa !5
  %565 = load ptr, ptr %15, align 8, !tbaa !5
  %566 = getelementptr inbounds %union.YYSTYPE, ptr %565, i64 0
  %567 = getelementptr inbounds %struct.anon, ptr %566, i32 0, i32 0
  %568 = load ptr, ptr %564, align 8, !tbaa !19
  %569 = getelementptr inbounds ptr, ptr %568, i64 29
  %570 = load ptr, ptr %569, align 8
  call void %570(ptr noundef nonnull align 8 dereferenceable(192) %564, ptr noundef nonnull align 8 dereferenceable(24) %567, ptr noundef @.str.11, i1 noundef zeroext false)
  %571 = load ptr, ptr %3, align 8, !tbaa !5
  %572 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %571, i32 0, i32 7
  %573 = load ptr, ptr %572, align 8, !tbaa !21
  %574 = load ptr, ptr %15, align 8, !tbaa !5
  %575 = getelementptr inbounds %union.YYSTYPE, ptr %574, i64 0
  %576 = getelementptr inbounds %struct.anon, ptr %575, i32 0, i32 1
  %577 = load i64, ptr %576, align 8, !tbaa !10
  %578 = load ptr, ptr %15, align 8, !tbaa !5
  %579 = getelementptr inbounds %union.YYSTYPE, ptr %578, i64 0
  %580 = getelementptr inbounds %struct.anon, ptr %579, i32 0, i32 0
  %581 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionExRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %573, i64 noundef %577, ptr noundef nonnull align 8 dereferenceable(24) %580, i1 noundef zeroext true)
  %582 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %581, ptr %582, align 8, !tbaa !10
  br label %14379

583:                                              ; preds = %406
  %584 = load ptr, ptr %3, align 8, !tbaa !5
  %585 = load ptr, ptr %15, align 8, !tbaa !5
  %586 = getelementptr inbounds %union.YYSTYPE, ptr %585, i64 0
  %587 = getelementptr inbounds %struct.anon, ptr %586, i32 0, i32 0
  %588 = load ptr, ptr %584, align 8, !tbaa !19
  %589 = getelementptr inbounds ptr, ptr %588, i64 29
  %590 = load ptr, ptr %589, align 8
  call void %590(ptr noundef nonnull align 8 dereferenceable(192) %584, ptr noundef nonnull align 8 dereferenceable(24) %587, ptr noundef @.str.12, i1 noundef zeroext false)
  %591 = load ptr, ptr %3, align 8, !tbaa !5
  %592 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %591, i32 0, i32 7
  %593 = load ptr, ptr %592, align 8, !tbaa !21
  %594 = load ptr, ptr %15, align 8, !tbaa !5
  %595 = getelementptr inbounds %union.YYSTYPE, ptr %594, i64 0
  %596 = getelementptr inbounds %struct.anon, ptr %595, i32 0, i32 1
  %597 = load i64, ptr %596, align 8, !tbaa !10
  %598 = load ptr, ptr %15, align 8, !tbaa !5
  %599 = getelementptr inbounds %union.YYSTYPE, ptr %598, i64 0
  %600 = getelementptr inbounds %struct.anon, ptr %599, i32 0, i32 0
  %601 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEyRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %593, i64 noundef %597, ptr noundef nonnull align 8 dereferenceable(24) %600, i1 noundef zeroext true)
  %602 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %601, ptr %602, align 8, !tbaa !10
  br label %14379

603:                                              ; preds = %406
  %604 = load ptr, ptr %3, align 8, !tbaa !5
  %605 = load ptr, ptr %15, align 8, !tbaa !5
  %606 = getelementptr inbounds %union.YYSTYPE, ptr %605, i64 0
  %607 = getelementptr inbounds %struct.anon, ptr %606, i32 0, i32 0
  %608 = load ptr, ptr %604, align 8, !tbaa !19
  %609 = getelementptr inbounds ptr, ptr %608, i64 31
  %610 = load ptr, ptr %609, align 8
  call void %610(ptr noundef nonnull align 8 dereferenceable(192) %604, ptr noundef nonnull align 8 dereferenceable(24) %607, ptr noundef @.str.13, i1 noundef zeroext false)
  %611 = load ptr, ptr %3, align 8, !tbaa !5
  %612 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %611, i32 0, i32 7
  %613 = load ptr, ptr %612, align 8, !tbaa !21
  %614 = load ptr, ptr %15, align 8, !tbaa !5
  %615 = getelementptr inbounds %union.YYSTYPE, ptr %614, i64 0
  %616 = getelementptr inbounds %struct.anon, ptr %615, i32 0, i32 1
  %617 = load i32, ptr %616, align 8, !tbaa !10
  %618 = trunc i32 %617 to i16
  %619 = load ptr, ptr %15, align 8, !tbaa !5
  %620 = getelementptr inbounds %union.YYSTYPE, ptr %619, i64 0
  %621 = getelementptr inbounds %struct.anon, ptr %620, i32 0, i32 0
  %622 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEsRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %613, i16 noundef signext %618, ptr noundef nonnull align 8 dereferenceable(24) %621, i1 noundef zeroext true)
  %623 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %622, ptr %623, align 8, !tbaa !10
  br label %14379

624:                                              ; preds = %406
  %625 = load ptr, ptr %3, align 8, !tbaa !5
  %626 = load ptr, ptr %15, align 8, !tbaa !5
  %627 = getelementptr inbounds %union.YYSTYPE, ptr %626, i64 0
  %628 = getelementptr inbounds %struct.anon, ptr %627, i32 0, i32 0
  %629 = load ptr, ptr %625, align 8, !tbaa !19
  %630 = getelementptr inbounds ptr, ptr %629, i64 31
  %631 = load ptr, ptr %630, align 8
  call void %631(ptr noundef nonnull align 8 dereferenceable(192) %625, ptr noundef nonnull align 8 dereferenceable(24) %628, ptr noundef @.str.14, i1 noundef zeroext false)
  %632 = load ptr, ptr %3, align 8, !tbaa !5
  %633 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %632, i32 0, i32 7
  %634 = load ptr, ptr %633, align 8, !tbaa !21
  %635 = load ptr, ptr %15, align 8, !tbaa !5
  %636 = getelementptr inbounds %union.YYSTYPE, ptr %635, i64 0
  %637 = getelementptr inbounds %struct.anon, ptr %636, i32 0, i32 1
  %638 = load i32, ptr %637, align 8, !tbaa !10
  %639 = trunc i32 %638 to i16
  %640 = load ptr, ptr %15, align 8, !tbaa !5
  %641 = getelementptr inbounds %union.YYSTYPE, ptr %640, i64 0
  %642 = getelementptr inbounds %struct.anon, ptr %641, i32 0, i32 0
  %643 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEtRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %634, i16 noundef zeroext %639, ptr noundef nonnull align 8 dereferenceable(24) %642, i1 noundef zeroext true)
  %644 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %643, ptr %644, align 8, !tbaa !10
  br label %14379

645:                                              ; preds = %406
  %646 = load ptr, ptr %3, align 8, !tbaa !5
  %647 = load ptr, ptr %15, align 8, !tbaa !5
  %648 = getelementptr inbounds %union.YYSTYPE, ptr %647, i64 0
  %649 = getelementptr inbounds %struct.anon, ptr %648, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %646, ptr noundef nonnull align 8 dereferenceable(24) %649, i32 noundef 6, ptr noundef @.str.15)
  %650 = load ptr, ptr %3, align 8, !tbaa !5
  %651 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %650, i32 0, i32 2
  %652 = load ptr, ptr %651, align 8, !tbaa !45
  %653 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %652)
  br i1 %653, label %662, label %654

654:                                              ; preds = %645
  %655 = load ptr, ptr %3, align 8, !tbaa !5
  %656 = load ptr, ptr %15, align 8, !tbaa !5
  %657 = getelementptr inbounds %union.YYSTYPE, ptr %656, i64 0
  %658 = getelementptr inbounds %struct.anon, ptr %657, i32 0, i32 0
  %659 = load ptr, ptr %655, align 8, !tbaa !19
  %660 = getelementptr inbounds ptr, ptr %659, i64 17
  %661 = load ptr, ptr %660, align 8
  call void %661(ptr noundef nonnull align 8 dereferenceable(192) %655, ptr noundef nonnull align 8 dereferenceable(24) %658, ptr noundef @.str.15)
  br label %662

662:                                              ; preds = %654, %645
  %663 = load ptr, ptr %3, align 8, !tbaa !5
  %664 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %663, i32 0, i32 7
  %665 = load ptr, ptr %664, align 8, !tbaa !21
  %666 = load ptr, ptr %15, align 8, !tbaa !5
  %667 = getelementptr inbounds %union.YYSTYPE, ptr %666, i64 0
  %668 = getelementptr inbounds %struct.anon, ptr %667, i32 0, i32 1
  %669 = load double, ptr %668, align 8, !tbaa !10
  %670 = load ptr, ptr %15, align 8, !tbaa !5
  %671 = getelementptr inbounds %union.YYSTYPE, ptr %670, i64 0
  %672 = getelementptr inbounds %struct.anon, ptr %671, i32 0, i32 0
  %673 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %665, double noundef %669, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(24) %672, i1 noundef zeroext true)
  %674 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %673, ptr %674, align 8, !tbaa !10
  br label %14379

675:                                              ; preds = %406
  %676 = load ptr, ptr %3, align 8, !tbaa !5
  %677 = load ptr, ptr %15, align 8, !tbaa !5
  %678 = getelementptr inbounds %union.YYSTYPE, ptr %677, i64 0
  %679 = getelementptr inbounds %struct.anon, ptr %678, i32 0, i32 0
  %680 = load ptr, ptr %676, align 8, !tbaa !19
  %681 = getelementptr inbounds ptr, ptr %680, i64 18
  %682 = load ptr, ptr %681, align 8
  call void %682(ptr noundef nonnull align 8 dereferenceable(192) %676, ptr noundef nonnull align 8 dereferenceable(24) %679, ptr noundef @.str.16, i1 noundef zeroext false)
  %683 = load ptr, ptr %3, align 8, !tbaa !5
  %684 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %683, i32 0, i32 7
  %685 = load ptr, ptr %684, align 8, !tbaa !21
  %686 = load ptr, ptr %15, align 8, !tbaa !5
  %687 = getelementptr inbounds %union.YYSTYPE, ptr %686, i64 0
  %688 = getelementptr inbounds %struct.anon, ptr %687, i32 0, i32 1
  %689 = load double, ptr %688, align 8, !tbaa !10
  %690 = load ptr, ptr %15, align 8, !tbaa !5
  %691 = getelementptr inbounds %union.YYSTYPE, ptr %690, i64 0
  %692 = getelementptr inbounds %struct.anon, ptr %691, i32 0, i32 0
  %693 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %685, double noundef %689, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(24) %692, i1 noundef zeroext true)
  %694 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %693, ptr %694, align 8, !tbaa !10
  br label %14379

695:                                              ; preds = %406
  %696 = load ptr, ptr %15, align 8, !tbaa !5
  %697 = getelementptr inbounds %union.YYSTYPE, ptr %696, i64 0
  %698 = getelementptr inbounds %struct.anon.0, ptr %697, i32 0, i32 2
  %699 = load ptr, ptr %698, align 8, !tbaa !10
  %700 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %699, ptr %700, align 8, !tbaa !10
  br label %14379

701:                                              ; preds = %406
  %702 = load ptr, ptr %3, align 8, !tbaa !5
  %703 = load ptr, ptr %15, align 8, !tbaa !5
  %704 = getelementptr inbounds %union.YYSTYPE, ptr %703, i64 -2
  %705 = getelementptr inbounds %struct.anon, ptr %704, i32 0, i32 0
  %706 = load ptr, ptr %15, align 8, !tbaa !5
  %707 = getelementptr inbounds %union.YYSTYPE, ptr %706, i64 -3
  %708 = getelementptr inbounds %struct.anon.0, ptr %707, i32 0, i32 2
  %709 = load ptr, ptr %708, align 8, !tbaa !10
  %710 = load ptr, ptr %15, align 8, !tbaa !5
  %711 = getelementptr inbounds %union.YYSTYPE, ptr %710, i64 -1
  %712 = getelementptr inbounds %struct.anon.0, ptr %711, i32 0, i32 2
  %713 = load ptr, ptr %712, align 8, !tbaa !10
  %714 = call noundef ptr @_ZN7glslang13TParseContext24handleBracketDereferenceERKNS_10TSourceLocEPNS_12TIntermTypedES5_(ptr noundef nonnull align 8 dereferenceable(24912) %702, ptr noundef nonnull align 8 dereferenceable(24) %705, ptr noundef %709, ptr noundef %713)
  %715 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %714, ptr %715, align 8, !tbaa !10
  br label %14379

716:                                              ; preds = %406
  %717 = load ptr, ptr %15, align 8, !tbaa !5
  %718 = getelementptr inbounds %union.YYSTYPE, ptr %717, i64 0
  %719 = getelementptr inbounds %struct.anon.0, ptr %718, i32 0, i32 2
  %720 = load ptr, ptr %719, align 8, !tbaa !10
  %721 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %720, ptr %721, align 8, !tbaa !10
  br label %14379

722:                                              ; preds = %406
  %723 = load ptr, ptr %3, align 8, !tbaa !5
  %724 = load ptr, ptr %15, align 8, !tbaa !5
  %725 = getelementptr inbounds %union.YYSTYPE, ptr %724, i64 0
  %726 = getelementptr inbounds %struct.anon, ptr %725, i32 0, i32 0
  %727 = load ptr, ptr %15, align 8, !tbaa !5
  %728 = getelementptr inbounds %union.YYSTYPE, ptr %727, i64 -2
  %729 = getelementptr inbounds %struct.anon.0, ptr %728, i32 0, i32 2
  %730 = load ptr, ptr %729, align 8, !tbaa !10
  %731 = load ptr, ptr %15, align 8, !tbaa !5
  %732 = getelementptr inbounds %union.YYSTYPE, ptr %731, i64 0
  %733 = getelementptr inbounds %struct.anon, ptr %732, i32 0, i32 1
  %734 = load ptr, ptr %733, align 8, !tbaa !10
  %735 = call noundef ptr @_ZN7glslang13TParseContext20handleDotDereferenceERKNS_10TSourceLocEPNS_12TIntermTypedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %723, ptr noundef nonnull align 8 dereferenceable(24) %726, ptr noundef %730, ptr noundef nonnull align 8 dereferenceable(40) %734)
  %736 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %735, ptr %736, align 8, !tbaa !10
  br label %14379

737:                                              ; preds = %406
  %738 = load ptr, ptr %3, align 8, !tbaa !5
  %739 = load ptr, ptr %15, align 8, !tbaa !5
  %740 = getelementptr inbounds %union.YYSTYPE, ptr %739, i64 -1
  %741 = getelementptr inbounds %struct.anon.0, ptr %740, i32 0, i32 2
  call void @_ZN7glslang13TParseContext13variableCheckERPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %738, ptr noundef nonnull align 8 dereferenceable(8) %741)
  %742 = load ptr, ptr %3, align 8, !tbaa !5
  %743 = load ptr, ptr %15, align 8, !tbaa !5
  %744 = getelementptr inbounds %union.YYSTYPE, ptr %743, i64 0
  %745 = getelementptr inbounds %struct.anon, ptr %744, i32 0, i32 0
  %746 = load ptr, ptr %15, align 8, !tbaa !5
  %747 = getelementptr inbounds %union.YYSTYPE, ptr %746, i64 -1
  %748 = getelementptr inbounds %struct.anon.0, ptr %747, i32 0, i32 2
  %749 = load ptr, ptr %748, align 8, !tbaa !10
  %750 = load ptr, ptr %742, align 8, !tbaa !19
  %751 = getelementptr inbounds ptr, ptr %750, i64 63
  %752 = load ptr, ptr %751, align 8
  %753 = call noundef zeroext i1 %752(ptr noundef nonnull align 8 dereferenceable(24912) %742, ptr noundef nonnull align 8 dereferenceable(24) %745, ptr noundef @.str.17, ptr noundef %749)
  %754 = load ptr, ptr %3, align 8, !tbaa !5
  %755 = load ptr, ptr %15, align 8, !tbaa !5
  %756 = getelementptr inbounds %union.YYSTYPE, ptr %755, i64 0
  %757 = getelementptr inbounds %struct.anon, ptr %756, i32 0, i32 0
  %758 = load ptr, ptr %15, align 8, !tbaa !5
  %759 = getelementptr inbounds %union.YYSTYPE, ptr %758, i64 -1
  %760 = getelementptr inbounds %struct.anon.0, ptr %759, i32 0, i32 2
  %761 = load ptr, ptr %760, align 8, !tbaa !10
  %762 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %754, ptr noundef nonnull align 8 dereferenceable(24) %757, ptr noundef @.str.17, i32 noundef 11, ptr noundef %761)
  %763 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %762, ptr %763, align 8, !tbaa !10
  br label %14379

764:                                              ; preds = %406
  %765 = load ptr, ptr %3, align 8, !tbaa !5
  %766 = load ptr, ptr %15, align 8, !tbaa !5
  %767 = getelementptr inbounds %union.YYSTYPE, ptr %766, i64 -1
  %768 = getelementptr inbounds %struct.anon.0, ptr %767, i32 0, i32 2
  call void @_ZN7glslang13TParseContext13variableCheckERPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %765, ptr noundef nonnull align 8 dereferenceable(8) %768)
  %769 = load ptr, ptr %3, align 8, !tbaa !5
  %770 = load ptr, ptr %15, align 8, !tbaa !5
  %771 = getelementptr inbounds %union.YYSTYPE, ptr %770, i64 0
  %772 = getelementptr inbounds %struct.anon, ptr %771, i32 0, i32 0
  %773 = load ptr, ptr %15, align 8, !tbaa !5
  %774 = getelementptr inbounds %union.YYSTYPE, ptr %773, i64 -1
  %775 = getelementptr inbounds %struct.anon.0, ptr %774, i32 0, i32 2
  %776 = load ptr, ptr %775, align 8, !tbaa !10
  %777 = load ptr, ptr %769, align 8, !tbaa !19
  %778 = getelementptr inbounds ptr, ptr %777, i64 63
  %779 = load ptr, ptr %778, align 8
  %780 = call noundef zeroext i1 %779(ptr noundef nonnull align 8 dereferenceable(24912) %769, ptr noundef nonnull align 8 dereferenceable(24) %772, ptr noundef @.str.18, ptr noundef %776)
  %781 = load ptr, ptr %3, align 8, !tbaa !5
  %782 = load ptr, ptr %15, align 8, !tbaa !5
  %783 = getelementptr inbounds %union.YYSTYPE, ptr %782, i64 0
  %784 = getelementptr inbounds %struct.anon, ptr %783, i32 0, i32 0
  %785 = load ptr, ptr %15, align 8, !tbaa !5
  %786 = getelementptr inbounds %union.YYSTYPE, ptr %785, i64 -1
  %787 = getelementptr inbounds %struct.anon.0, ptr %786, i32 0, i32 2
  %788 = load ptr, ptr %787, align 8, !tbaa !10
  %789 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %781, ptr noundef nonnull align 8 dereferenceable(24) %784, ptr noundef @.str.18, i32 noundef 12, ptr noundef %788)
  %790 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %789, ptr %790, align 8, !tbaa !10
  br label %14379

791:                                              ; preds = %406
  %792 = load ptr, ptr %3, align 8, !tbaa !5
  %793 = load ptr, ptr %15, align 8, !tbaa !5
  %794 = getelementptr inbounds %union.YYSTYPE, ptr %793, i64 0
  %795 = getelementptr inbounds %struct.anon.0, ptr %794, i32 0, i32 2
  %796 = load ptr, ptr %795, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext12integerCheckEPKNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %792, ptr noundef %796, ptr noundef @.str.19)
  %797 = load ptr, ptr %15, align 8, !tbaa !5
  %798 = getelementptr inbounds %union.YYSTYPE, ptr %797, i64 0
  %799 = getelementptr inbounds %struct.anon.0, ptr %798, i32 0, i32 2
  %800 = load ptr, ptr %799, align 8, !tbaa !10
  %801 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %800, ptr %801, align 8, !tbaa !10
  br label %14379

802:                                              ; preds = %406
  %803 = load ptr, ptr %3, align 8, !tbaa !5
  %804 = load ptr, ptr %15, align 8, !tbaa !5
  %805 = getelementptr inbounds %union.YYSTYPE, ptr %804, i64 0
  %806 = getelementptr inbounds %struct.anon.0, ptr %805, i32 0, i32 0
  %807 = load ptr, ptr %15, align 8, !tbaa !5
  %808 = getelementptr inbounds %union.YYSTYPE, ptr %807, i64 0
  %809 = getelementptr inbounds %struct.anon.0, ptr %808, i32 0, i32 3
  %810 = load ptr, ptr %809, align 8, !tbaa !10
  %811 = load ptr, ptr %15, align 8, !tbaa !5
  %812 = getelementptr inbounds %union.YYSTYPE, ptr %811, i64 0
  %813 = getelementptr inbounds %struct.anon.0, ptr %812, i32 0, i32 2
  %814 = load ptr, ptr %813, align 8, !tbaa !10
  %815 = call noundef ptr @_ZN7glslang13TParseContext18handleFunctionCallERKNS_10TSourceLocEPNS_9TFunctionEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %803, ptr noundef nonnull align 8 dereferenceable(24) %806, ptr noundef %810, ptr noundef %814)
  %816 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %815, ptr %816, align 8, !tbaa !10
  %817 = load ptr, ptr %15, align 8, !tbaa !5
  %818 = getelementptr inbounds %union.YYSTYPE, ptr %817, i64 0
  %819 = getelementptr inbounds %struct.anon.0, ptr %818, i32 0, i32 3
  %820 = load ptr, ptr %819, align 8, !tbaa !10
  %821 = icmp eq ptr %820, null
  br i1 %821, label %826, label %822

822:                                              ; preds = %802
  %823 = load ptr, ptr %820, align 8, !tbaa !19
  %824 = getelementptr inbounds ptr, ptr %823, i64 2
  %825 = load ptr, ptr %824, align 8
  call void %825(ptr noundef nonnull align 8 dereferenceable(328) %820) #10
  br label %826

826:                                              ; preds = %822, %802
  br label %14379

827:                                              ; preds = %406
  %828 = load ptr, ptr %15, align 8, !tbaa !5
  %829 = getelementptr inbounds %union.YYSTYPE, ptr %828, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %829, i64 288, i1 false), !tbaa.struct !95
  br label %14379

830:                                              ; preds = %406
  %831 = load ptr, ptr %15, align 8, !tbaa !5
  %832 = getelementptr inbounds %union.YYSTYPE, ptr %831, i64 -1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %832, i64 288, i1 false), !tbaa.struct !95
  %833 = load ptr, ptr %15, align 8, !tbaa !5
  %834 = getelementptr inbounds %union.YYSTYPE, ptr %833, i64 0
  %835 = getelementptr inbounds %struct.anon, ptr %834, i32 0, i32 0
  %836 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %836, ptr align 8 %835, i64 24, i1 false), !tbaa.struct !98
  br label %14379

837:                                              ; preds = %406
  %838 = load ptr, ptr %15, align 8, !tbaa !5
  %839 = getelementptr inbounds %union.YYSTYPE, ptr %838, i64 -1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %839, i64 288, i1 false), !tbaa.struct !95
  %840 = load ptr, ptr %15, align 8, !tbaa !5
  %841 = getelementptr inbounds %union.YYSTYPE, ptr %840, i64 0
  %842 = getelementptr inbounds %struct.anon, ptr %841, i32 0, i32 0
  %843 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %843, ptr align 8 %842, i64 24, i1 false), !tbaa.struct !98
  br label %14379

844:                                              ; preds = %406
  %845 = load ptr, ptr %15, align 8, !tbaa !5
  %846 = getelementptr inbounds %union.YYSTYPE, ptr %845, i64 -1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %846, i64 288, i1 false), !tbaa.struct !95
  br label %14379

847:                                              ; preds = %406
  %848 = load ptr, ptr %15, align 8, !tbaa !5
  %849 = getelementptr inbounds %union.YYSTYPE, ptr %848, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %849, i64 288, i1 false), !tbaa.struct !95
  br label %14379

850:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 24, ptr %30) #10
  %851 = getelementptr inbounds %"struct.glslang::TParameter", ptr %30, i32 0, i32 0
  store ptr null, ptr %851, align 8, !tbaa !99
  %852 = getelementptr inbounds %"struct.glslang::TParameter", ptr %30, i32 0, i32 1
  %853 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %853, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %854 unwind label %883

854:                                              ; preds = %850
  store ptr %853, ptr %852, align 8, !tbaa !101
  %855 = getelementptr inbounds %"struct.glslang::TParameter", ptr %30, i32 0, i32 2
  store ptr null, ptr %855, align 8, !tbaa !102
  %856 = getelementptr inbounds %"struct.glslang::TParameter", ptr %30, i32 0, i32 1
  %857 = load ptr, ptr %856, align 8, !tbaa !101
  %858 = load ptr, ptr %15, align 8, !tbaa !5
  %859 = getelementptr inbounds %union.YYSTYPE, ptr %858, i64 0
  %860 = getelementptr inbounds %struct.anon.0, ptr %859, i32 0, i32 2
  %861 = load ptr, ptr %860, align 8, !tbaa !10
  %862 = load ptr, ptr %861, align 8, !tbaa !19
  %863 = getelementptr inbounds ptr, ptr %862, i64 30
  %864 = load ptr, ptr %863, align 8
  %865 = call noundef nonnull align 8 dereferenceable(144) ptr %864(ptr noundef nonnull align 8 dereferenceable(176) %861)
  call void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144) %857, ptr noundef nonnull align 8 dereferenceable(144) %865)
  %866 = load ptr, ptr %15, align 8, !tbaa !5
  %867 = getelementptr inbounds %union.YYSTYPE, ptr %866, i64 -1
  %868 = getelementptr inbounds %struct.anon.0, ptr %867, i32 0, i32 3
  %869 = load ptr, ptr %868, align 8, !tbaa !10
  %870 = load ptr, ptr %869, align 8, !tbaa !19
  %871 = getelementptr inbounds ptr, ptr %870, i64 22
  %872 = load ptr, ptr %871, align 8
  call void %872(ptr noundef nonnull align 8 dereferenceable(328) %869, ptr noundef nonnull align 8 dereferenceable(24) %30)
  %873 = load ptr, ptr %15, align 8, !tbaa !5
  %874 = getelementptr inbounds %union.YYSTYPE, ptr %873, i64 -1
  %875 = getelementptr inbounds %struct.anon.0, ptr %874, i32 0, i32 3
  %876 = load ptr, ptr %875, align 8, !tbaa !10
  %877 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %876, ptr %877, align 8, !tbaa !10
  %878 = load ptr, ptr %15, align 8, !tbaa !5
  %879 = getelementptr inbounds %union.YYSTYPE, ptr %878, i64 0
  %880 = getelementptr inbounds %struct.anon.0, ptr %879, i32 0, i32 2
  %881 = load ptr, ptr %880, align 8, !tbaa !10
  %882 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %881, ptr %882, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #10
  br label %14379

883:                                              ; preds = %850
  %884 = landingpad { ptr, i32 }
          cleanup
  %885 = extractvalue { ptr, i32 } %884, 0
  store ptr %885, ptr %31, align 8
  %886 = extractvalue { ptr, i32 } %884, 1
  store i32 %886, ptr %32, align 4
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %853) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #10
  br label %14723

887:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #10
  %888 = getelementptr inbounds %"struct.glslang::TParameter", ptr %33, i32 0, i32 0
  store ptr null, ptr %888, align 8, !tbaa !99
  %889 = getelementptr inbounds %"struct.glslang::TParameter", ptr %33, i32 0, i32 1
  %890 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %890, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %891 unwind label %931

891:                                              ; preds = %887
  store ptr %890, ptr %889, align 8, !tbaa !101
  %892 = getelementptr inbounds %"struct.glslang::TParameter", ptr %33, i32 0, i32 2
  store ptr null, ptr %892, align 8, !tbaa !102
  %893 = getelementptr inbounds %"struct.glslang::TParameter", ptr %33, i32 0, i32 1
  %894 = load ptr, ptr %893, align 8, !tbaa !101
  %895 = load ptr, ptr %15, align 8, !tbaa !5
  %896 = getelementptr inbounds %union.YYSTYPE, ptr %895, i64 0
  %897 = getelementptr inbounds %struct.anon.0, ptr %896, i32 0, i32 2
  %898 = load ptr, ptr %897, align 8, !tbaa !10
  %899 = load ptr, ptr %898, align 8, !tbaa !19
  %900 = getelementptr inbounds ptr, ptr %899, i64 30
  %901 = load ptr, ptr %900, align 8
  %902 = call noundef nonnull align 8 dereferenceable(144) ptr %901(ptr noundef nonnull align 8 dereferenceable(176) %898)
  call void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144) %894, ptr noundef nonnull align 8 dereferenceable(144) %902)
  %903 = load ptr, ptr %15, align 8, !tbaa !5
  %904 = getelementptr inbounds %union.YYSTYPE, ptr %903, i64 -2
  %905 = getelementptr inbounds %struct.anon.0, ptr %904, i32 0, i32 3
  %906 = load ptr, ptr %905, align 8, !tbaa !10
  %907 = load ptr, ptr %906, align 8, !tbaa !19
  %908 = getelementptr inbounds ptr, ptr %907, i64 22
  %909 = load ptr, ptr %908, align 8
  call void %909(ptr noundef nonnull align 8 dereferenceable(328) %906, ptr noundef nonnull align 8 dereferenceable(24) %33)
  %910 = load ptr, ptr %15, align 8, !tbaa !5
  %911 = getelementptr inbounds %union.YYSTYPE, ptr %910, i64 -2
  %912 = getelementptr inbounds %struct.anon.0, ptr %911, i32 0, i32 3
  %913 = load ptr, ptr %912, align 8, !tbaa !10
  %914 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %913, ptr %914, align 8, !tbaa !10
  %915 = load ptr, ptr %3, align 8, !tbaa !5
  %916 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %915, i32 0, i32 7
  %917 = load ptr, ptr %916, align 8, !tbaa !21
  %918 = load ptr, ptr %15, align 8, !tbaa !5
  %919 = getelementptr inbounds %union.YYSTYPE, ptr %918, i64 -2
  %920 = getelementptr inbounds %struct.anon.0, ptr %919, i32 0, i32 2
  %921 = load ptr, ptr %920, align 8, !tbaa !10
  %922 = load ptr, ptr %15, align 8, !tbaa !5
  %923 = getelementptr inbounds %union.YYSTYPE, ptr %922, i64 0
  %924 = getelementptr inbounds %struct.anon.0, ptr %923, i32 0, i32 2
  %925 = load ptr, ptr %924, align 8, !tbaa !10
  %926 = load ptr, ptr %15, align 8, !tbaa !5
  %927 = getelementptr inbounds %union.YYSTYPE, ptr %926, i64 -1
  %928 = getelementptr inbounds %struct.anon, ptr %927, i32 0, i32 0
  %929 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %917, ptr noundef %921, ptr noundef %925, ptr noundef nonnull align 8 dereferenceable(24) %928)
  %930 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %929, ptr %930, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #10
  br label %14379

931:                                              ; preds = %887
  %932 = landingpad { ptr, i32 }
          cleanup
  %933 = extractvalue { ptr, i32 } %932, 0
  store ptr %933, ptr %31, align 8
  %934 = extractvalue { ptr, i32 } %932, 1
  store i32 %934, ptr %32, align 4
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %890) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #10
  br label %14723

935:                                              ; preds = %406
  %936 = load ptr, ptr %15, align 8, !tbaa !5
  %937 = getelementptr inbounds %union.YYSTYPE, ptr %936, i64 -1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %937, i64 288, i1 false), !tbaa.struct !95
  br label %14379

938:                                              ; preds = %406
  %939 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %939, align 8, !tbaa !10
  %940 = load ptr, ptr %3, align 8, !tbaa !5
  %941 = load ptr, ptr %15, align 8, !tbaa !5
  %942 = getelementptr inbounds %union.YYSTYPE, ptr %941, i64 0
  %943 = getelementptr inbounds %struct.anon.0, ptr %942, i32 0, i32 3
  %944 = getelementptr inbounds %"class.glslang::TPublicType", ptr %943, i32 0, i32 7
  %945 = load ptr, ptr %15, align 8, !tbaa !5
  %946 = getelementptr inbounds %union.YYSTYPE, ptr %945, i64 0
  %947 = getelementptr inbounds %struct.anon.0, ptr %946, i32 0, i32 3
  %948 = call noundef ptr @_ZN7glslang13TParseContext21handleConstructorCallERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %940, ptr noundef nonnull align 8 dereferenceable(24) %944, ptr noundef nonnull align 8 dereferenceable(232) %947)
  %949 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %948, ptr %949, align 8, !tbaa !10
  br label %14379

950:                                              ; preds = %406
  %951 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr null, ptr %951, align 8, !tbaa !10
  %952 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %952, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #10
  %953 = load ptr, ptr %15, align 8, !tbaa !5
  %954 = getelementptr inbounds %union.YYSTYPE, ptr %953, i64 0
  %955 = getelementptr inbounds %struct.anon.0, ptr %954, i32 0, i32 2
  %956 = load ptr, ptr %955, align 8, !tbaa !10
  %957 = load ptr, ptr %956, align 8, !tbaa !19
  %958 = getelementptr inbounds ptr, ptr %957, i64 11
  %959 = load ptr, ptr %958, align 8
  %960 = call noundef ptr %959(ptr noundef nonnull align 8 dereferenceable(32) %956)
  store ptr %960, ptr %34, align 8, !tbaa !5
  %961 = load ptr, ptr %34, align 8, !tbaa !5
  %962 = icmp ne ptr %961, null
  br i1 %962, label %963, label %997

963:                                              ; preds = %950
  %964 = call noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 328)
  store i1 true, ptr %36, align 1
  %965 = load ptr, ptr %34, align 8, !tbaa !5
  %966 = load ptr, ptr %965, align 8, !tbaa !19
  %967 = getelementptr inbounds ptr, ptr %966, i64 48
  %968 = load ptr, ptr %967, align 8
  %969 = invoke noundef nonnull align 8 dereferenceable(40) ptr %968(ptr noundef nonnull align 8 dereferenceable(224) %965)
          to label %970 unwind label %980

970:                                              ; preds = %963
  call void @llvm.lifetime.start.p0(i64 144, ptr %35) #10
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %35, i32 noundef 8, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %971 unwind label %984

971:                                              ; preds = %970
  invoke void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328) %964, ptr noundef %969, ptr noundef nonnull align 8 dereferenceable(144) %35, i32 noundef 590)
          to label %972 unwind label %988

972:                                              ; preds = %971
  store i1 false, ptr %36, align 1
  %973 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %964, ptr %973, align 8, !tbaa !10
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %35) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %35) #10
  %974 = load ptr, ptr %34, align 8, !tbaa !5
  %975 = load ptr, ptr %974, align 8, !tbaa !19
  %976 = getelementptr inbounds ptr, ptr %975, i64 49
  %977 = load ptr, ptr %976, align 8
  %978 = call noundef ptr %977(ptr noundef nonnull align 8 dereferenceable(224) %974)
  %979 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %978, ptr %979, align 8, !tbaa !10
  br label %1062

980:                                              ; preds = %963
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %31, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %32, align 4
  br label %993

984:                                              ; preds = %970
  %985 = landingpad { ptr, i32 }
          cleanup
  %986 = extractvalue { ptr, i32 } %985, 0
  store ptr %986, ptr %31, align 8
  %987 = extractvalue { ptr, i32 } %985, 1
  store i32 %987, ptr %32, align 4
  br label %992

988:                                              ; preds = %971
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %31, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %32, align 4
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %35) #10
  br label %992

992:                                              ; preds = %988, %984
  call void @llvm.lifetime.end.p0(i64 144, ptr %35) #10
  br label %993

993:                                              ; preds = %992, %980
  %994 = load i1, ptr %36, align 1
  br i1 %994, label %995, label %996

995:                                              ; preds = %993
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %964) #10
  br label %996

996:                                              ; preds = %995, %993
  br label %1086

997:                                              ; preds = %950
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #10
  %998 = load ptr, ptr %15, align 8, !tbaa !5
  %999 = getelementptr inbounds %union.YYSTYPE, ptr %998, i64 0
  %1000 = getelementptr inbounds %struct.anon.0, ptr %999, i32 0, i32 2
  %1001 = load ptr, ptr %1000, align 8, !tbaa !10
  %1002 = load ptr, ptr %1001, align 8, !tbaa !19
  %1003 = getelementptr inbounds ptr, ptr %1002, i64 12
  %1004 = load ptr, ptr %1003, align 8
  %1005 = call noundef ptr %1004(ptr noundef nonnull align 8 dereferenceable(32) %1001)
  store ptr %1005, ptr %37, align 8, !tbaa !5
  %1006 = load ptr, ptr %37, align 8, !tbaa !5
  %1007 = icmp ne ptr %1006, null
  br i1 %1007, label %1008, label %1048

1008:                                             ; preds = %997
  %1009 = load ptr, ptr %3, align 8, !tbaa !5
  %1010 = load ptr, ptr %37, align 8, !tbaa !5
  %1011 = load ptr, ptr %1010, align 8, !tbaa !19
  %1012 = getelementptr inbounds ptr, ptr %1011, i64 0
  %1013 = load ptr, ptr %1012, align 8
  %1014 = call noundef nonnull align 8 dereferenceable(24) ptr %1013(ptr noundef nonnull align 8 dereferenceable(32) %1010)
  %1015 = load ptr, ptr %37, align 8, !tbaa !5
  %1016 = load ptr, ptr %1015, align 8, !tbaa !19
  %1017 = getelementptr inbounds ptr, ptr %1016, i64 50
  %1018 = load ptr, ptr %1017, align 8
  %1019 = call noundef nonnull align 8 dereferenceable(40) ptr %1018(ptr noundef nonnull align 8 dereferenceable(256) %1015)
  call void @_ZN7glslang13TParseContext18reservedErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %1009, ptr noundef nonnull align 8 dereferenceable(24) %1014, ptr noundef nonnull align 8 dereferenceable(40) %1019)
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #10
  %1020 = call noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 328)
  store i1 true, ptr %40, align 1
  %1021 = load ptr, ptr %37, align 8, !tbaa !5
  %1022 = load ptr, ptr %1021, align 8, !tbaa !19
  %1023 = getelementptr inbounds ptr, ptr %1022, i64 50
  %1024 = load ptr, ptr %1023, align 8
  %1025 = invoke noundef nonnull align 8 dereferenceable(40) ptr %1024(ptr noundef nonnull align 8 dereferenceable(256) %1021)
          to label %1026 unwind label %1031

1026:                                             ; preds = %1008
  call void @llvm.lifetime.start.p0(i64 144, ptr %39) #10
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %39, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %1027 unwind label %1035

1027:                                             ; preds = %1026
  invoke void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328) %1020, ptr noundef %1025, ptr noundef nonnull align 8 dereferenceable(144) %39, i32 noundef 0)
          to label %1028 unwind label %1039

1028:                                             ; preds = %1027
  store i1 false, ptr %40, align 1
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %39) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %39) #10
  store ptr %1020, ptr %38, align 8, !tbaa !5
  %1029 = load ptr, ptr %38, align 8, !tbaa !5
  %1030 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %1029, ptr %1030, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  br label %1061

1031:                                             ; preds = %1008
  %1032 = landingpad { ptr, i32 }
          cleanup
  %1033 = extractvalue { ptr, i32 } %1032, 0
  store ptr %1033, ptr %31, align 8
  %1034 = extractvalue { ptr, i32 } %1032, 1
  store i32 %1034, ptr %32, align 4
  br label %1044

1035:                                             ; preds = %1026
  %1036 = landingpad { ptr, i32 }
          cleanup
  %1037 = extractvalue { ptr, i32 } %1036, 0
  store ptr %1037, ptr %31, align 8
  %1038 = extractvalue { ptr, i32 } %1036, 1
  store i32 %1038, ptr %32, align 4
  br label %1043

1039:                                             ; preds = %1027
  %1040 = landingpad { ptr, i32 }
          cleanup
  %1041 = extractvalue { ptr, i32 } %1040, 0
  store ptr %1041, ptr %31, align 8
  %1042 = extractvalue { ptr, i32 } %1040, 1
  store i32 %1042, ptr %32, align 4
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %39) #10
  br label %1043

1043:                                             ; preds = %1039, %1035
  call void @llvm.lifetime.end.p0(i64 144, ptr %39) #10
  br label %1044

1044:                                             ; preds = %1043, %1031
  %1045 = load i1, ptr %40, align 1
  br i1 %1045, label %1046, label %1047

1046:                                             ; preds = %1044
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %1020) #10
  br label %1047

1047:                                             ; preds = %1046, %1044
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  br label %1086

1048:                                             ; preds = %997
  %1049 = load ptr, ptr %3, align 8, !tbaa !5
  %1050 = load ptr, ptr %15, align 8, !tbaa !5
  %1051 = getelementptr inbounds %union.YYSTYPE, ptr %1050, i64 0
  %1052 = getelementptr inbounds %struct.anon.0, ptr %1051, i32 0, i32 2
  %1053 = load ptr, ptr %1052, align 8, !tbaa !10
  %1054 = load ptr, ptr %1053, align 8, !tbaa !19
  %1055 = getelementptr inbounds ptr, ptr %1054, i64 0
  %1056 = load ptr, ptr %1055, align 8
  %1057 = call noundef nonnull align 8 dereferenceable(24) ptr %1056(ptr noundef nonnull align 8 dereferenceable(32) %1053)
  %1058 = load ptr, ptr %1049, align 8, !tbaa !19
  %1059 = getelementptr inbounds ptr, ptr %1058, i64 42
  %1060 = load ptr, ptr %1059, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %1060(ptr noundef nonnull align 8 dereferenceable(1176) %1049, ptr noundef nonnull align 8 dereferenceable(24) %1057, ptr noundef @.str.20, ptr noundef @.str.21, ptr noundef @.str.21)
  br label %1061

1061:                                             ; preds = %1048, %1028
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #10
  br label %1062

1062:                                             ; preds = %1061, %972
  %1063 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %1064 = load ptr, ptr %1063, align 8, !tbaa !10
  %1065 = icmp eq ptr %1064, null
  br i1 %1065, label %1066, label %1085

1066:                                             ; preds = %1062
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #10
  %1067 = call noundef ptr @_ZN7glslang14NewPoolTStringB5cxx11EPKc(ptr noundef @.str.21)
  store ptr %1067, ptr %41, align 8, !tbaa !5
  %1068 = call noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 328)
  store i1 true, ptr %43, align 1
  %1069 = load ptr, ptr %41, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 144, ptr %42) #10
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %42, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %1070 unwind label %1073

1070:                                             ; preds = %1066
  invoke void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328) %1068, ptr noundef %1069, ptr noundef nonnull align 8 dereferenceable(144) %42, i32 noundef 0)
          to label %1071 unwind label %1077

1071:                                             ; preds = %1070
  store i1 false, ptr %43, align 1
  %1072 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %1068, ptr %1072, align 8, !tbaa !10
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %42) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %42) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  br label %1085

1073:                                             ; preds = %1066
  %1074 = landingpad { ptr, i32 }
          cleanup
  %1075 = extractvalue { ptr, i32 } %1074, 0
  store ptr %1075, ptr %31, align 8
  %1076 = extractvalue { ptr, i32 } %1074, 1
  store i32 %1076, ptr %32, align 4
  br label %1081

1077:                                             ; preds = %1070
  %1078 = landingpad { ptr, i32 }
          cleanup
  %1079 = extractvalue { ptr, i32 } %1078, 0
  store ptr %1079, ptr %31, align 8
  %1080 = extractvalue { ptr, i32 } %1078, 1
  store i32 %1080, ptr %32, align 4
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %42) #10
  br label %1081

1081:                                             ; preds = %1077, %1073
  call void @llvm.lifetime.end.p0(i64 144, ptr %42) #10
  %1082 = load i1, ptr %43, align 1
  br i1 %1082, label %1083, label %1084

1083:                                             ; preds = %1081
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %1068) #10
  br label %1084

1084:                                             ; preds = %1083, %1081
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  br label %1086

1085:                                             ; preds = %1071, %1062
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  br label %14379

1086:                                             ; preds = %1084, %1047, %996
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #10
  br label %14723

1087:                                             ; preds = %406
  %1088 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %1088, align 8, !tbaa !10
  %1089 = load ptr, ptr %3, align 8, !tbaa !5
  %1090 = load ptr, ptr %15, align 8, !tbaa !5
  %1091 = getelementptr inbounds %union.YYSTYPE, ptr %1090, i64 0
  %1092 = getelementptr inbounds %struct.anon.0, ptr %1091, i32 0, i32 3
  %1093 = getelementptr inbounds %"class.glslang::TPublicType", ptr %1092, i32 0, i32 7
  %1094 = load ptr, ptr %15, align 8, !tbaa !5
  %1095 = getelementptr inbounds %union.YYSTYPE, ptr %1094, i64 0
  %1096 = getelementptr inbounds %struct.anon.0, ptr %1095, i32 0, i32 3
  %1097 = call noundef ptr @_ZN7glslang13TParseContext21handleConstructorCallERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %1089, ptr noundef nonnull align 8 dereferenceable(24) %1093, ptr noundef nonnull align 8 dereferenceable(232) %1096)
  %1098 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %1097, ptr %1098, align 8, !tbaa !10
  br label %14379

1099:                                             ; preds = %406
  %1100 = load ptr, ptr %3, align 8, !tbaa !5
  %1101 = load ptr, ptr %15, align 8, !tbaa !5
  %1102 = getelementptr inbounds %union.YYSTYPE, ptr %1101, i64 0
  %1103 = getelementptr inbounds %struct.anon.0, ptr %1102, i32 0, i32 2
  call void @_ZN7glslang13TParseContext13variableCheckERPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %1100, ptr noundef nonnull align 8 dereferenceable(8) %1103)
  %1104 = load ptr, ptr %15, align 8, !tbaa !5
  %1105 = getelementptr inbounds %union.YYSTYPE, ptr %1104, i64 0
  %1106 = getelementptr inbounds %struct.anon.0, ptr %1105, i32 0, i32 2
  %1107 = load ptr, ptr %1106, align 8, !tbaa !10
  %1108 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1107, ptr %1108, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #10
  %1109 = load ptr, ptr %15, align 8, !tbaa !5
  %1110 = getelementptr inbounds %union.YYSTYPE, ptr %1109, i64 0
  %1111 = getelementptr inbounds %struct.anon.0, ptr %1110, i32 0, i32 2
  %1112 = load ptr, ptr %1111, align 8, !tbaa !10
  %1113 = load ptr, ptr %1112, align 8, !tbaa !19
  %1114 = getelementptr inbounds ptr, ptr %1113, i64 11
  %1115 = load ptr, ptr %1114, align 8
  %1116 = call noundef ptr %1115(ptr noundef nonnull align 8 dereferenceable(32) %1112)
  store ptr %1116, ptr %44, align 8, !tbaa !5
  %1117 = load ptr, ptr %44, align 8, !tbaa !5
  %1118 = icmp ne ptr %1117, null
  br i1 %1118, label %1119, label %1138

1119:                                             ; preds = %1099
  %1120 = load ptr, ptr %3, align 8, !tbaa !5
  %1121 = load ptr, ptr %15, align 8, !tbaa !5
  %1122 = getelementptr inbounds %union.YYSTYPE, ptr %1121, i64 0
  %1123 = getelementptr inbounds %struct.anon.0, ptr %1122, i32 0, i32 2
  %1124 = load ptr, ptr %1123, align 8, !tbaa !10
  %1125 = load ptr, ptr %1124, align 8, !tbaa !19
  %1126 = getelementptr inbounds ptr, ptr %1125, i64 0
  %1127 = load ptr, ptr %1126, align 8
  %1128 = call noundef nonnull align 8 dereferenceable(24) ptr %1127(ptr noundef nonnull align 8 dereferenceable(32) %1124)
  %1129 = load ptr, ptr %44, align 8, !tbaa !5
  %1130 = load ptr, ptr %1129, align 8, !tbaa !19
  %1131 = getelementptr inbounds ptr, ptr %1130, i64 48
  %1132 = load ptr, ptr %1131, align 8
  %1133 = call noundef nonnull align 8 dereferenceable(40) ptr %1132(ptr noundef nonnull align 8 dereferenceable(224) %1129)
  %1134 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %1133) #10
  %1135 = load ptr, ptr %1120, align 8, !tbaa !19
  %1136 = getelementptr inbounds ptr, ptr %1135, i64 42
  %1137 = load ptr, ptr %1136, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %1137(ptr noundef nonnull align 8 dereferenceable(1176) %1120, ptr noundef nonnull align 8 dereferenceable(24) %1128, ptr noundef @.str.22, ptr noundef %1134, ptr noundef @.str.21)
  br label %1138

1138:                                             ; preds = %1119, %1099
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #10
  br label %14379

1139:                                             ; preds = %406
  %1140 = load ptr, ptr %3, align 8, !tbaa !5
  %1141 = load ptr, ptr %15, align 8, !tbaa !5
  %1142 = getelementptr inbounds %union.YYSTYPE, ptr %1141, i64 -1
  %1143 = getelementptr inbounds %struct.anon, ptr %1142, i32 0, i32 0
  %1144 = load ptr, ptr %15, align 8, !tbaa !5
  %1145 = getelementptr inbounds %union.YYSTYPE, ptr %1144, i64 0
  %1146 = getelementptr inbounds %struct.anon.0, ptr %1145, i32 0, i32 2
  %1147 = load ptr, ptr %1146, align 8, !tbaa !10
  %1148 = load ptr, ptr %1140, align 8, !tbaa !19
  %1149 = getelementptr inbounds ptr, ptr %1148, i64 63
  %1150 = load ptr, ptr %1149, align 8
  %1151 = call noundef zeroext i1 %1150(ptr noundef nonnull align 8 dereferenceable(24912) %1140, ptr noundef nonnull align 8 dereferenceable(24) %1143, ptr noundef @.str.17, ptr noundef %1147)
  %1152 = load ptr, ptr %3, align 8, !tbaa !5
  %1153 = load ptr, ptr %15, align 8, !tbaa !5
  %1154 = getelementptr inbounds %union.YYSTYPE, ptr %1153, i64 -1
  %1155 = getelementptr inbounds %struct.anon, ptr %1154, i32 0, i32 0
  %1156 = load ptr, ptr %15, align 8, !tbaa !5
  %1157 = getelementptr inbounds %union.YYSTYPE, ptr %1156, i64 0
  %1158 = getelementptr inbounds %struct.anon.0, ptr %1157, i32 0, i32 2
  %1159 = load ptr, ptr %1158, align 8, !tbaa !10
  %1160 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %1152, ptr noundef nonnull align 8 dereferenceable(24) %1155, ptr noundef @.str.17, i32 noundef 13, ptr noundef %1159)
  %1161 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1160, ptr %1161, align 8, !tbaa !10
  br label %14379

1162:                                             ; preds = %406
  %1163 = load ptr, ptr %3, align 8, !tbaa !5
  %1164 = load ptr, ptr %15, align 8, !tbaa !5
  %1165 = getelementptr inbounds %union.YYSTYPE, ptr %1164, i64 -1
  %1166 = getelementptr inbounds %struct.anon, ptr %1165, i32 0, i32 0
  %1167 = load ptr, ptr %15, align 8, !tbaa !5
  %1168 = getelementptr inbounds %union.YYSTYPE, ptr %1167, i64 0
  %1169 = getelementptr inbounds %struct.anon.0, ptr %1168, i32 0, i32 2
  %1170 = load ptr, ptr %1169, align 8, !tbaa !10
  %1171 = load ptr, ptr %1163, align 8, !tbaa !19
  %1172 = getelementptr inbounds ptr, ptr %1171, i64 63
  %1173 = load ptr, ptr %1172, align 8
  %1174 = call noundef zeroext i1 %1173(ptr noundef nonnull align 8 dereferenceable(24912) %1163, ptr noundef nonnull align 8 dereferenceable(24) %1166, ptr noundef @.str.18, ptr noundef %1170)
  %1175 = load ptr, ptr %3, align 8, !tbaa !5
  %1176 = load ptr, ptr %15, align 8, !tbaa !5
  %1177 = getelementptr inbounds %union.YYSTYPE, ptr %1176, i64 -1
  %1178 = getelementptr inbounds %struct.anon, ptr %1177, i32 0, i32 0
  %1179 = load ptr, ptr %15, align 8, !tbaa !5
  %1180 = getelementptr inbounds %union.YYSTYPE, ptr %1179, i64 0
  %1181 = getelementptr inbounds %struct.anon.0, ptr %1180, i32 0, i32 2
  %1182 = load ptr, ptr %1181, align 8, !tbaa !10
  %1183 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %1175, ptr noundef nonnull align 8 dereferenceable(24) %1178, ptr noundef @.str.18, i32 noundef 14, ptr noundef %1182)
  %1184 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1183, ptr %1184, align 8, !tbaa !10
  br label %14379

1185:                                             ; preds = %406
  %1186 = load ptr, ptr %15, align 8, !tbaa !5
  %1187 = getelementptr inbounds %union.YYSTYPE, ptr %1186, i64 -1
  %1188 = getelementptr inbounds %struct.anon.0, ptr %1187, i32 0, i32 1
  %1189 = load i32, ptr %1188, align 8, !tbaa !10
  %1190 = icmp ne i32 %1189, 0
  br i1 %1190, label %1191, label %1219

1191:                                             ; preds = %1185
  call void @llvm.lifetime.start.p0(i64 2, ptr %45) #10
  call void @llvm.memset.p0.i64(ptr align 1 %45, i8 0, i64 2, i1 false)
  %1192 = load ptr, ptr %15, align 8, !tbaa !5
  %1193 = getelementptr inbounds %union.YYSTYPE, ptr %1192, i64 -1
  %1194 = getelementptr inbounds %struct.anon.0, ptr %1193, i32 0, i32 1
  %1195 = load i32, ptr %1194, align 8, !tbaa !10
  switch i32 %1195, label %1202 [
    i32 7, label %1196
    i32 8, label %1198
    i32 10, label %1200
  ]

1196:                                             ; preds = %1191
  %1197 = getelementptr inbounds [2 x i8], ptr %45, i64 0, i64 0
  store i8 45, ptr %1197, align 1, !tbaa !10
  br label %1203

1198:                                             ; preds = %1191
  %1199 = getelementptr inbounds [2 x i8], ptr %45, i64 0, i64 0
  store i8 33, ptr %1199, align 1, !tbaa !10
  br label %1203

1200:                                             ; preds = %1191
  %1201 = getelementptr inbounds [2 x i8], ptr %45, i64 0, i64 0
  store i8 126, ptr %1201, align 1, !tbaa !10
  br label %1203

1202:                                             ; preds = %1191
  br label %1203

1203:                                             ; preds = %1202, %1200, %1198, %1196
  %1204 = load ptr, ptr %3, align 8, !tbaa !5
  %1205 = load ptr, ptr %15, align 8, !tbaa !5
  %1206 = getelementptr inbounds %union.YYSTYPE, ptr %1205, i64 -1
  %1207 = getelementptr inbounds %struct.anon.0, ptr %1206, i32 0, i32 0
  %1208 = getelementptr inbounds [2 x i8], ptr %45, i64 0, i64 0
  %1209 = load ptr, ptr %15, align 8, !tbaa !5
  %1210 = getelementptr inbounds %union.YYSTYPE, ptr %1209, i64 -1
  %1211 = getelementptr inbounds %struct.anon.0, ptr %1210, i32 0, i32 1
  %1212 = load i32, ptr %1211, align 8, !tbaa !10
  %1213 = load ptr, ptr %15, align 8, !tbaa !5
  %1214 = getelementptr inbounds %union.YYSTYPE, ptr %1213, i64 0
  %1215 = getelementptr inbounds %struct.anon.0, ptr %1214, i32 0, i32 2
  %1216 = load ptr, ptr %1215, align 8, !tbaa !10
  %1217 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %1204, ptr noundef nonnull align 8 dereferenceable(24) %1207, ptr noundef %1208, i32 noundef %1212, ptr noundef %1216)
  %1218 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1217, ptr %1218, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 2, ptr %45) #10
  br label %1240

1219:                                             ; preds = %1185
  %1220 = load ptr, ptr %15, align 8, !tbaa !5
  %1221 = getelementptr inbounds %union.YYSTYPE, ptr %1220, i64 0
  %1222 = getelementptr inbounds %struct.anon.0, ptr %1221, i32 0, i32 2
  %1223 = load ptr, ptr %1222, align 8, !tbaa !10
  %1224 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1223, ptr %1224, align 8, !tbaa !10
  %1225 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1226 = load ptr, ptr %1225, align 8, !tbaa !10
  %1227 = load ptr, ptr %1226, align 8, !tbaa !19
  %1228 = getelementptr inbounds ptr, ptr %1227, i64 5
  %1229 = load ptr, ptr %1228, align 8
  %1230 = call noundef ptr %1229(ptr noundef nonnull align 8 dereferenceable(32) %1226)
  %1231 = icmp ne ptr %1230, null
  br i1 %1231, label %1232, label %1239

1232:                                             ; preds = %1219
  %1233 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1234 = load ptr, ptr %1233, align 8, !tbaa !10
  %1235 = load ptr, ptr %1234, align 8, !tbaa !19
  %1236 = getelementptr inbounds ptr, ptr %1235, i64 5
  %1237 = load ptr, ptr %1236, align 8
  %1238 = call noundef ptr %1237(ptr noundef nonnull align 8 dereferenceable(32) %1234)
  call void @_ZN7glslang20TIntermConstantUnion13setExpressionEv(ptr noundef nonnull align 8 dereferenceable(193) %1238)
  br label %1239

1239:                                             ; preds = %1232, %1219
  br label %1240

1240:                                             ; preds = %1239, %1203
  br label %14379

1241:                                             ; preds = %406
  %1242 = load ptr, ptr %15, align 8, !tbaa !5
  %1243 = getelementptr inbounds %union.YYSTYPE, ptr %1242, i64 0
  %1244 = getelementptr inbounds %struct.anon, ptr %1243, i32 0, i32 0
  %1245 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1245, ptr align 8 %1244, i64 24, i1 false), !tbaa.struct !98
  %1246 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 0, ptr %1246, align 8, !tbaa !10
  br label %14379

1247:                                             ; preds = %406
  %1248 = load ptr, ptr %15, align 8, !tbaa !5
  %1249 = getelementptr inbounds %union.YYSTYPE, ptr %1248, i64 0
  %1250 = getelementptr inbounds %struct.anon, ptr %1249, i32 0, i32 0
  %1251 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1251, ptr align 8 %1250, i64 24, i1 false), !tbaa.struct !98
  %1252 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 7, ptr %1252, align 8, !tbaa !10
  br label %14379

1253:                                             ; preds = %406
  %1254 = load ptr, ptr %15, align 8, !tbaa !5
  %1255 = getelementptr inbounds %union.YYSTYPE, ptr %1254, i64 0
  %1256 = getelementptr inbounds %struct.anon, ptr %1255, i32 0, i32 0
  %1257 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1257, ptr align 8 %1256, i64 24, i1 false), !tbaa.struct !98
  %1258 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 8, ptr %1258, align 8, !tbaa !10
  br label %14379

1259:                                             ; preds = %406
  %1260 = load ptr, ptr %15, align 8, !tbaa !5
  %1261 = getelementptr inbounds %union.YYSTYPE, ptr %1260, i64 0
  %1262 = getelementptr inbounds %struct.anon, ptr %1261, i32 0, i32 0
  %1263 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1263, ptr align 8 %1262, i64 24, i1 false), !tbaa.struct !98
  %1264 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 10, ptr %1264, align 8, !tbaa !10
  %1265 = load ptr, ptr %3, align 8, !tbaa !5
  %1266 = load ptr, ptr %15, align 8, !tbaa !5
  %1267 = getelementptr inbounds %union.YYSTYPE, ptr %1266, i64 0
  %1268 = getelementptr inbounds %struct.anon, ptr %1267, i32 0, i32 0
  %1269 = load ptr, ptr %1265, align 8, !tbaa !19
  %1270 = getelementptr inbounds ptr, ptr %1269, i64 15
  %1271 = load ptr, ptr %1270, align 8
  call void %1271(ptr noundef nonnull align 8 dereferenceable(192) %1265, ptr noundef nonnull align 8 dereferenceable(24) %1268, ptr noundef @.str.23)
  br label %14379

1272:                                             ; preds = %406
  %1273 = load ptr, ptr %15, align 8, !tbaa !5
  %1274 = getelementptr inbounds %union.YYSTYPE, ptr %1273, i64 0
  %1275 = getelementptr inbounds %struct.anon.0, ptr %1274, i32 0, i32 2
  %1276 = load ptr, ptr %1275, align 8, !tbaa !10
  %1277 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1276, ptr %1277, align 8, !tbaa !10
  br label %14379

1278:                                             ; preds = %406
  %1279 = load ptr, ptr %3, align 8, !tbaa !5
  %1280 = load ptr, ptr %15, align 8, !tbaa !5
  %1281 = getelementptr inbounds %union.YYSTYPE, ptr %1280, i64 -1
  %1282 = getelementptr inbounds %struct.anon, ptr %1281, i32 0, i32 0
  %1283 = load ptr, ptr %15, align 8, !tbaa !5
  %1284 = getelementptr inbounds %union.YYSTYPE, ptr %1283, i64 -2
  %1285 = getelementptr inbounds %struct.anon.0, ptr %1284, i32 0, i32 2
  %1286 = load ptr, ptr %1285, align 8, !tbaa !10
  %1287 = load ptr, ptr %15, align 8, !tbaa !5
  %1288 = getelementptr inbounds %union.YYSTYPE, ptr %1287, i64 0
  %1289 = getelementptr inbounds %struct.anon.0, ptr %1288, i32 0, i32 2
  %1290 = load ptr, ptr %1289, align 8, !tbaa !10
  %1291 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1279, ptr noundef nonnull align 8 dereferenceable(24) %1282, ptr noundef @.str.24, i32 noundef 156, ptr noundef %1286, ptr noundef %1290)
  %1292 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1291, ptr %1292, align 8, !tbaa !10
  %1293 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1294 = load ptr, ptr %1293, align 8, !tbaa !10
  %1295 = icmp eq ptr %1294, null
  br i1 %1295, label %1296, label %1302

1296:                                             ; preds = %1278
  %1297 = load ptr, ptr %15, align 8, !tbaa !5
  %1298 = getelementptr inbounds %union.YYSTYPE, ptr %1297, i64 -2
  %1299 = getelementptr inbounds %struct.anon.0, ptr %1298, i32 0, i32 2
  %1300 = load ptr, ptr %1299, align 8, !tbaa !10
  %1301 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1300, ptr %1301, align 8, !tbaa !10
  br label %1302

1302:                                             ; preds = %1296, %1278
  br label %14379

1303:                                             ; preds = %406
  %1304 = load ptr, ptr %3, align 8, !tbaa !5
  %1305 = load ptr, ptr %15, align 8, !tbaa !5
  %1306 = getelementptr inbounds %union.YYSTYPE, ptr %1305, i64 -1
  %1307 = getelementptr inbounds %struct.anon, ptr %1306, i32 0, i32 0
  %1308 = load ptr, ptr %15, align 8, !tbaa !5
  %1309 = getelementptr inbounds %union.YYSTYPE, ptr %1308, i64 -2
  %1310 = getelementptr inbounds %struct.anon.0, ptr %1309, i32 0, i32 2
  %1311 = load ptr, ptr %1310, align 8, !tbaa !10
  %1312 = load ptr, ptr %15, align 8, !tbaa !5
  %1313 = getelementptr inbounds %union.YYSTYPE, ptr %1312, i64 0
  %1314 = getelementptr inbounds %struct.anon.0, ptr %1313, i32 0, i32 2
  %1315 = load ptr, ptr %1314, align 8, !tbaa !10
  %1316 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1304, ptr noundef nonnull align 8 dereferenceable(24) %1307, ptr noundef @.str.25, i32 noundef 157, ptr noundef %1311, ptr noundef %1315)
  %1317 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1316, ptr %1317, align 8, !tbaa !10
  %1318 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1319 = load ptr, ptr %1318, align 8, !tbaa !10
  %1320 = icmp eq ptr %1319, null
  br i1 %1320, label %1321, label %1327

1321:                                             ; preds = %1303
  %1322 = load ptr, ptr %15, align 8, !tbaa !5
  %1323 = getelementptr inbounds %union.YYSTYPE, ptr %1322, i64 -2
  %1324 = getelementptr inbounds %struct.anon.0, ptr %1323, i32 0, i32 2
  %1325 = load ptr, ptr %1324, align 8, !tbaa !10
  %1326 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1325, ptr %1326, align 8, !tbaa !10
  br label %1327

1327:                                             ; preds = %1321, %1303
  br label %14379

1328:                                             ; preds = %406
  %1329 = load ptr, ptr %3, align 8, !tbaa !5
  %1330 = load ptr, ptr %15, align 8, !tbaa !5
  %1331 = getelementptr inbounds %union.YYSTYPE, ptr %1330, i64 -1
  %1332 = getelementptr inbounds %struct.anon, ptr %1331, i32 0, i32 0
  %1333 = load ptr, ptr %1329, align 8, !tbaa !19
  %1334 = getelementptr inbounds ptr, ptr %1333, i64 15
  %1335 = load ptr, ptr %1334, align 8
  call void %1335(ptr noundef nonnull align 8 dereferenceable(192) %1329, ptr noundef nonnull align 8 dereferenceable(24) %1332, ptr noundef @.str.26)
  %1336 = load ptr, ptr %3, align 8, !tbaa !5
  %1337 = load ptr, ptr %15, align 8, !tbaa !5
  %1338 = getelementptr inbounds %union.YYSTYPE, ptr %1337, i64 -1
  %1339 = getelementptr inbounds %struct.anon, ptr %1338, i32 0, i32 0
  %1340 = load ptr, ptr %15, align 8, !tbaa !5
  %1341 = getelementptr inbounds %union.YYSTYPE, ptr %1340, i64 -2
  %1342 = getelementptr inbounds %struct.anon.0, ptr %1341, i32 0, i32 2
  %1343 = load ptr, ptr %1342, align 8, !tbaa !10
  %1344 = load ptr, ptr %15, align 8, !tbaa !5
  %1345 = getelementptr inbounds %union.YYSTYPE, ptr %1344, i64 0
  %1346 = getelementptr inbounds %struct.anon.0, ptr %1345, i32 0, i32 2
  %1347 = load ptr, ptr %1346, align 8, !tbaa !10
  %1348 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1336, ptr noundef nonnull align 8 dereferenceable(24) %1339, ptr noundef @.str.26, i32 noundef 158, ptr noundef %1343, ptr noundef %1347)
  %1349 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1348, ptr %1349, align 8, !tbaa !10
  %1350 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1351 = load ptr, ptr %1350, align 8, !tbaa !10
  %1352 = icmp eq ptr %1351, null
  br i1 %1352, label %1353, label %1359

1353:                                             ; preds = %1328
  %1354 = load ptr, ptr %15, align 8, !tbaa !5
  %1355 = getelementptr inbounds %union.YYSTYPE, ptr %1354, i64 -2
  %1356 = getelementptr inbounds %struct.anon.0, ptr %1355, i32 0, i32 2
  %1357 = load ptr, ptr %1356, align 8, !tbaa !10
  %1358 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1357, ptr %1358, align 8, !tbaa !10
  br label %1359

1359:                                             ; preds = %1353, %1328
  br label %14379

1360:                                             ; preds = %406
  %1361 = load ptr, ptr %15, align 8, !tbaa !5
  %1362 = getelementptr inbounds %union.YYSTYPE, ptr %1361, i64 0
  %1363 = getelementptr inbounds %struct.anon.0, ptr %1362, i32 0, i32 2
  %1364 = load ptr, ptr %1363, align 8, !tbaa !10
  %1365 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1364, ptr %1365, align 8, !tbaa !10
  br label %14379

1366:                                             ; preds = %406
  %1367 = load ptr, ptr %3, align 8, !tbaa !5
  %1368 = load ptr, ptr %15, align 8, !tbaa !5
  %1369 = getelementptr inbounds %union.YYSTYPE, ptr %1368, i64 -1
  %1370 = getelementptr inbounds %struct.anon, ptr %1369, i32 0, i32 0
  %1371 = load ptr, ptr %15, align 8, !tbaa !5
  %1372 = getelementptr inbounds %union.YYSTYPE, ptr %1371, i64 -2
  %1373 = getelementptr inbounds %struct.anon.0, ptr %1372, i32 0, i32 2
  %1374 = load ptr, ptr %1373, align 8, !tbaa !10
  %1375 = load ptr, ptr %15, align 8, !tbaa !5
  %1376 = getelementptr inbounds %union.YYSTYPE, ptr %1375, i64 0
  %1377 = getelementptr inbounds %struct.anon.0, ptr %1376, i32 0, i32 2
  %1378 = load ptr, ptr %1377, align 8, !tbaa !10
  %1379 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1367, ptr noundef nonnull align 8 dereferenceable(24) %1370, ptr noundef @.str.27, i32 noundef 154, ptr noundef %1374, ptr noundef %1378)
  %1380 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1379, ptr %1380, align 8, !tbaa !10
  %1381 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1382 = load ptr, ptr %1381, align 8, !tbaa !10
  %1383 = icmp eq ptr %1382, null
  br i1 %1383, label %1384, label %1390

1384:                                             ; preds = %1366
  %1385 = load ptr, ptr %15, align 8, !tbaa !5
  %1386 = getelementptr inbounds %union.YYSTYPE, ptr %1385, i64 -2
  %1387 = getelementptr inbounds %struct.anon.0, ptr %1386, i32 0, i32 2
  %1388 = load ptr, ptr %1387, align 8, !tbaa !10
  %1389 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1388, ptr %1389, align 8, !tbaa !10
  br label %1390

1390:                                             ; preds = %1384, %1366
  br label %14379

1391:                                             ; preds = %406
  %1392 = load ptr, ptr %3, align 8, !tbaa !5
  %1393 = load ptr, ptr %15, align 8, !tbaa !5
  %1394 = getelementptr inbounds %union.YYSTYPE, ptr %1393, i64 -1
  %1395 = getelementptr inbounds %struct.anon, ptr %1394, i32 0, i32 0
  %1396 = load ptr, ptr %15, align 8, !tbaa !5
  %1397 = getelementptr inbounds %union.YYSTYPE, ptr %1396, i64 -2
  %1398 = getelementptr inbounds %struct.anon.0, ptr %1397, i32 0, i32 2
  %1399 = load ptr, ptr %1398, align 8, !tbaa !10
  %1400 = load ptr, ptr %15, align 8, !tbaa !5
  %1401 = getelementptr inbounds %union.YYSTYPE, ptr %1400, i64 0
  %1402 = getelementptr inbounds %struct.anon.0, ptr %1401, i32 0, i32 2
  %1403 = load ptr, ptr %1402, align 8, !tbaa !10
  %1404 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1392, ptr noundef nonnull align 8 dereferenceable(24) %1395, ptr noundef @.str.28, i32 noundef 155, ptr noundef %1399, ptr noundef %1403)
  %1405 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1404, ptr %1405, align 8, !tbaa !10
  %1406 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1407 = load ptr, ptr %1406, align 8, !tbaa !10
  %1408 = icmp eq ptr %1407, null
  br i1 %1408, label %1409, label %1415

1409:                                             ; preds = %1391
  %1410 = load ptr, ptr %15, align 8, !tbaa !5
  %1411 = getelementptr inbounds %union.YYSTYPE, ptr %1410, i64 -2
  %1412 = getelementptr inbounds %struct.anon.0, ptr %1411, i32 0, i32 2
  %1413 = load ptr, ptr %1412, align 8, !tbaa !10
  %1414 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1413, ptr %1414, align 8, !tbaa !10
  br label %1415

1415:                                             ; preds = %1409, %1391
  br label %14379

1416:                                             ; preds = %406
  %1417 = load ptr, ptr %15, align 8, !tbaa !5
  %1418 = getelementptr inbounds %union.YYSTYPE, ptr %1417, i64 0
  %1419 = getelementptr inbounds %struct.anon.0, ptr %1418, i32 0, i32 2
  %1420 = load ptr, ptr %1419, align 8, !tbaa !10
  %1421 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1420, ptr %1421, align 8, !tbaa !10
  br label %14379

1422:                                             ; preds = %406
  %1423 = load ptr, ptr %3, align 8, !tbaa !5
  %1424 = load ptr, ptr %15, align 8, !tbaa !5
  %1425 = getelementptr inbounds %union.YYSTYPE, ptr %1424, i64 -1
  %1426 = getelementptr inbounds %struct.anon, ptr %1425, i32 0, i32 0
  %1427 = load ptr, ptr %1423, align 8, !tbaa !19
  %1428 = getelementptr inbounds ptr, ptr %1427, i64 15
  %1429 = load ptr, ptr %1428, align 8
  call void %1429(ptr noundef nonnull align 8 dereferenceable(192) %1423, ptr noundef nonnull align 8 dereferenceable(24) %1426, ptr noundef @.str.29)
  %1430 = load ptr, ptr %3, align 8, !tbaa !5
  %1431 = load ptr, ptr %15, align 8, !tbaa !5
  %1432 = getelementptr inbounds %union.YYSTYPE, ptr %1431, i64 -1
  %1433 = getelementptr inbounds %struct.anon, ptr %1432, i32 0, i32 0
  %1434 = load ptr, ptr %15, align 8, !tbaa !5
  %1435 = getelementptr inbounds %union.YYSTYPE, ptr %1434, i64 -2
  %1436 = getelementptr inbounds %struct.anon.0, ptr %1435, i32 0, i32 2
  %1437 = load ptr, ptr %1436, align 8, !tbaa !10
  %1438 = load ptr, ptr %15, align 8, !tbaa !5
  %1439 = getelementptr inbounds %union.YYSTYPE, ptr %1438, i64 0
  %1440 = getelementptr inbounds %struct.anon.0, ptr %1439, i32 0, i32 2
  %1441 = load ptr, ptr %1440, align 8, !tbaa !10
  %1442 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1430, ptr noundef nonnull align 8 dereferenceable(24) %1433, ptr noundef @.str.30, i32 noundef 160, ptr noundef %1437, ptr noundef %1441)
  %1443 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1442, ptr %1443, align 8, !tbaa !10
  %1444 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1445 = load ptr, ptr %1444, align 8, !tbaa !10
  %1446 = icmp eq ptr %1445, null
  br i1 %1446, label %1447, label %1453

1447:                                             ; preds = %1422
  %1448 = load ptr, ptr %15, align 8, !tbaa !5
  %1449 = getelementptr inbounds %union.YYSTYPE, ptr %1448, i64 -2
  %1450 = getelementptr inbounds %struct.anon.0, ptr %1449, i32 0, i32 2
  %1451 = load ptr, ptr %1450, align 8, !tbaa !10
  %1452 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1451, ptr %1452, align 8, !tbaa !10
  br label %1453

1453:                                             ; preds = %1447, %1422
  br label %14379

1454:                                             ; preds = %406
  %1455 = load ptr, ptr %3, align 8, !tbaa !5
  %1456 = load ptr, ptr %15, align 8, !tbaa !5
  %1457 = getelementptr inbounds %union.YYSTYPE, ptr %1456, i64 -1
  %1458 = getelementptr inbounds %struct.anon, ptr %1457, i32 0, i32 0
  %1459 = load ptr, ptr %1455, align 8, !tbaa !19
  %1460 = getelementptr inbounds ptr, ptr %1459, i64 15
  %1461 = load ptr, ptr %1460, align 8
  call void %1461(ptr noundef nonnull align 8 dereferenceable(192) %1455, ptr noundef nonnull align 8 dereferenceable(24) %1458, ptr noundef @.str.31)
  %1462 = load ptr, ptr %3, align 8, !tbaa !5
  %1463 = load ptr, ptr %15, align 8, !tbaa !5
  %1464 = getelementptr inbounds %union.YYSTYPE, ptr %1463, i64 -1
  %1465 = getelementptr inbounds %struct.anon, ptr %1464, i32 0, i32 0
  %1466 = load ptr, ptr %15, align 8, !tbaa !5
  %1467 = getelementptr inbounds %union.YYSTYPE, ptr %1466, i64 -2
  %1468 = getelementptr inbounds %struct.anon.0, ptr %1467, i32 0, i32 2
  %1469 = load ptr, ptr %1468, align 8, !tbaa !10
  %1470 = load ptr, ptr %15, align 8, !tbaa !5
  %1471 = getelementptr inbounds %union.YYSTYPE, ptr %1470, i64 0
  %1472 = getelementptr inbounds %struct.anon.0, ptr %1471, i32 0, i32 2
  %1473 = load ptr, ptr %1472, align 8, !tbaa !10
  %1474 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1462, ptr noundef nonnull align 8 dereferenceable(24) %1465, ptr noundef @.str.32, i32 noundef 159, ptr noundef %1469, ptr noundef %1473)
  %1475 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1474, ptr %1475, align 8, !tbaa !10
  %1476 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1477 = load ptr, ptr %1476, align 8, !tbaa !10
  %1478 = icmp eq ptr %1477, null
  br i1 %1478, label %1479, label %1485

1479:                                             ; preds = %1454
  %1480 = load ptr, ptr %15, align 8, !tbaa !5
  %1481 = getelementptr inbounds %union.YYSTYPE, ptr %1480, i64 -2
  %1482 = getelementptr inbounds %struct.anon.0, ptr %1481, i32 0, i32 2
  %1483 = load ptr, ptr %1482, align 8, !tbaa !10
  %1484 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1483, ptr %1484, align 8, !tbaa !10
  br label %1485

1485:                                             ; preds = %1479, %1454
  br label %14379

1486:                                             ; preds = %406
  %1487 = load ptr, ptr %15, align 8, !tbaa !5
  %1488 = getelementptr inbounds %union.YYSTYPE, ptr %1487, i64 0
  %1489 = getelementptr inbounds %struct.anon.0, ptr %1488, i32 0, i32 2
  %1490 = load ptr, ptr %1489, align 8, !tbaa !10
  %1491 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1490, ptr %1491, align 8, !tbaa !10
  br label %14379

1492:                                             ; preds = %406
  %1493 = load ptr, ptr %3, align 8, !tbaa !5
  %1494 = load ptr, ptr %15, align 8, !tbaa !5
  %1495 = getelementptr inbounds %union.YYSTYPE, ptr %1494, i64 -1
  %1496 = getelementptr inbounds %struct.anon, ptr %1495, i32 0, i32 0
  %1497 = load ptr, ptr %15, align 8, !tbaa !5
  %1498 = getelementptr inbounds %union.YYSTYPE, ptr %1497, i64 -2
  %1499 = getelementptr inbounds %struct.anon.0, ptr %1498, i32 0, i32 2
  %1500 = load ptr, ptr %1499, align 8, !tbaa !10
  %1501 = load ptr, ptr %15, align 8, !tbaa !5
  %1502 = getelementptr inbounds %union.YYSTYPE, ptr %1501, i64 0
  %1503 = getelementptr inbounds %struct.anon.0, ptr %1502, i32 0, i32 2
  %1504 = load ptr, ptr %1503, align 8, !tbaa !10
  %1505 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1493, ptr noundef nonnull align 8 dereferenceable(24) %1496, ptr noundef @.str.33, i32 noundef 168, ptr noundef %1500, ptr noundef %1504)
  %1506 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1505, ptr %1506, align 8, !tbaa !10
  %1507 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1508 = load ptr, ptr %1507, align 8, !tbaa !10
  %1509 = icmp eq ptr %1508, null
  br i1 %1509, label %1510, label %1519

1510:                                             ; preds = %1492
  %1511 = load ptr, ptr %3, align 8, !tbaa !5
  %1512 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1511, i32 0, i32 7
  %1513 = load ptr, ptr %1512, align 8, !tbaa !21
  %1514 = load ptr, ptr %15, align 8, !tbaa !5
  %1515 = getelementptr inbounds %union.YYSTYPE, ptr %1514, i64 -1
  %1516 = getelementptr inbounds %struct.anon, ptr %1515, i32 0, i32 0
  %1517 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1513, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1516, i1 noundef zeroext false)
  %1518 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1517, ptr %1518, align 8, !tbaa !10
  br label %1519

1519:                                             ; preds = %1510, %1492
  br label %14379

1520:                                             ; preds = %406
  %1521 = load ptr, ptr %3, align 8, !tbaa !5
  %1522 = load ptr, ptr %15, align 8, !tbaa !5
  %1523 = getelementptr inbounds %union.YYSTYPE, ptr %1522, i64 -1
  %1524 = getelementptr inbounds %struct.anon, ptr %1523, i32 0, i32 0
  %1525 = load ptr, ptr %15, align 8, !tbaa !5
  %1526 = getelementptr inbounds %union.YYSTYPE, ptr %1525, i64 -2
  %1527 = getelementptr inbounds %struct.anon.0, ptr %1526, i32 0, i32 2
  %1528 = load ptr, ptr %1527, align 8, !tbaa !10
  %1529 = load ptr, ptr %15, align 8, !tbaa !5
  %1530 = getelementptr inbounds %union.YYSTYPE, ptr %1529, i64 0
  %1531 = getelementptr inbounds %struct.anon.0, ptr %1530, i32 0, i32 2
  %1532 = load ptr, ptr %1531, align 8, !tbaa !10
  %1533 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1521, ptr noundef nonnull align 8 dereferenceable(24) %1524, ptr noundef @.str.34, i32 noundef 169, ptr noundef %1528, ptr noundef %1532)
  %1534 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1533, ptr %1534, align 8, !tbaa !10
  %1535 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1536 = load ptr, ptr %1535, align 8, !tbaa !10
  %1537 = icmp eq ptr %1536, null
  br i1 %1537, label %1538, label %1547

1538:                                             ; preds = %1520
  %1539 = load ptr, ptr %3, align 8, !tbaa !5
  %1540 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1539, i32 0, i32 7
  %1541 = load ptr, ptr %1540, align 8, !tbaa !21
  %1542 = load ptr, ptr %15, align 8, !tbaa !5
  %1543 = getelementptr inbounds %union.YYSTYPE, ptr %1542, i64 -1
  %1544 = getelementptr inbounds %struct.anon, ptr %1543, i32 0, i32 0
  %1545 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1541, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1544, i1 noundef zeroext false)
  %1546 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1545, ptr %1546, align 8, !tbaa !10
  br label %1547

1547:                                             ; preds = %1538, %1520
  br label %14379

1548:                                             ; preds = %406
  %1549 = load ptr, ptr %3, align 8, !tbaa !5
  %1550 = load ptr, ptr %15, align 8, !tbaa !5
  %1551 = getelementptr inbounds %union.YYSTYPE, ptr %1550, i64 -1
  %1552 = getelementptr inbounds %struct.anon, ptr %1551, i32 0, i32 0
  %1553 = load ptr, ptr %15, align 8, !tbaa !5
  %1554 = getelementptr inbounds %union.YYSTYPE, ptr %1553, i64 -2
  %1555 = getelementptr inbounds %struct.anon.0, ptr %1554, i32 0, i32 2
  %1556 = load ptr, ptr %1555, align 8, !tbaa !10
  %1557 = load ptr, ptr %15, align 8, !tbaa !5
  %1558 = getelementptr inbounds %union.YYSTYPE, ptr %1557, i64 0
  %1559 = getelementptr inbounds %struct.anon.0, ptr %1558, i32 0, i32 2
  %1560 = load ptr, ptr %1559, align 8, !tbaa !10
  %1561 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1549, ptr noundef nonnull align 8 dereferenceable(24) %1552, ptr noundef @.str.35, i32 noundef 170, ptr noundef %1556, ptr noundef %1560)
  %1562 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1561, ptr %1562, align 8, !tbaa !10
  %1563 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1564 = load ptr, ptr %1563, align 8, !tbaa !10
  %1565 = icmp eq ptr %1564, null
  br i1 %1565, label %1566, label %1575

1566:                                             ; preds = %1548
  %1567 = load ptr, ptr %3, align 8, !tbaa !5
  %1568 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1567, i32 0, i32 7
  %1569 = load ptr, ptr %1568, align 8, !tbaa !21
  %1570 = load ptr, ptr %15, align 8, !tbaa !5
  %1571 = getelementptr inbounds %union.YYSTYPE, ptr %1570, i64 -1
  %1572 = getelementptr inbounds %struct.anon, ptr %1571, i32 0, i32 0
  %1573 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1569, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1572, i1 noundef zeroext false)
  %1574 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1573, ptr %1574, align 8, !tbaa !10
  br label %1575

1575:                                             ; preds = %1566, %1548
  br label %14379

1576:                                             ; preds = %406
  %1577 = load ptr, ptr %3, align 8, !tbaa !5
  %1578 = load ptr, ptr %15, align 8, !tbaa !5
  %1579 = getelementptr inbounds %union.YYSTYPE, ptr %1578, i64 -1
  %1580 = getelementptr inbounds %struct.anon, ptr %1579, i32 0, i32 0
  %1581 = load ptr, ptr %15, align 8, !tbaa !5
  %1582 = getelementptr inbounds %union.YYSTYPE, ptr %1581, i64 -2
  %1583 = getelementptr inbounds %struct.anon.0, ptr %1582, i32 0, i32 2
  %1584 = load ptr, ptr %1583, align 8, !tbaa !10
  %1585 = load ptr, ptr %15, align 8, !tbaa !5
  %1586 = getelementptr inbounds %union.YYSTYPE, ptr %1585, i64 0
  %1587 = getelementptr inbounds %struct.anon.0, ptr %1586, i32 0, i32 2
  %1588 = load ptr, ptr %1587, align 8, !tbaa !10
  %1589 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1577, ptr noundef nonnull align 8 dereferenceable(24) %1580, ptr noundef @.str.36, i32 noundef 171, ptr noundef %1584, ptr noundef %1588)
  %1590 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1589, ptr %1590, align 8, !tbaa !10
  %1591 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1592 = load ptr, ptr %1591, align 8, !tbaa !10
  %1593 = icmp eq ptr %1592, null
  br i1 %1593, label %1594, label %1603

1594:                                             ; preds = %1576
  %1595 = load ptr, ptr %3, align 8, !tbaa !5
  %1596 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1595, i32 0, i32 7
  %1597 = load ptr, ptr %1596, align 8, !tbaa !21
  %1598 = load ptr, ptr %15, align 8, !tbaa !5
  %1599 = getelementptr inbounds %union.YYSTYPE, ptr %1598, i64 -1
  %1600 = getelementptr inbounds %struct.anon, ptr %1599, i32 0, i32 0
  %1601 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1597, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1600, i1 noundef zeroext false)
  %1602 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1601, ptr %1602, align 8, !tbaa !10
  br label %1603

1603:                                             ; preds = %1594, %1576
  br label %14379

1604:                                             ; preds = %406
  %1605 = load ptr, ptr %15, align 8, !tbaa !5
  %1606 = getelementptr inbounds %union.YYSTYPE, ptr %1605, i64 0
  %1607 = getelementptr inbounds %struct.anon.0, ptr %1606, i32 0, i32 2
  %1608 = load ptr, ptr %1607, align 8, !tbaa !10
  %1609 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1608, ptr %1609, align 8, !tbaa !10
  br label %14379

1610:                                             ; preds = %406
  %1611 = load ptr, ptr %3, align 8, !tbaa !5
  %1612 = load ptr, ptr %15, align 8, !tbaa !5
  %1613 = getelementptr inbounds %union.YYSTYPE, ptr %1612, i64 -1
  %1614 = getelementptr inbounds %struct.anon, ptr %1613, i32 0, i32 0
  %1615 = load ptr, ptr %15, align 8, !tbaa !5
  %1616 = getelementptr inbounds %union.YYSTYPE, ptr %1615, i64 -2
  %1617 = getelementptr inbounds %struct.anon.0, ptr %1616, i32 0, i32 2
  %1618 = load ptr, ptr %1617, align 8, !tbaa !10
  %1619 = load ptr, ptr %1618, align 8, !tbaa !19
  %1620 = getelementptr inbounds ptr, ptr %1619, i64 30
  %1621 = load ptr, ptr %1620, align 8
  %1622 = call noundef nonnull align 8 dereferenceable(144) ptr %1621(ptr noundef nonnull align 8 dereferenceable(176) %1618)
  call void @_ZN7glslang13TParseContext16arrayObjectCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %1611, ptr noundef nonnull align 8 dereferenceable(24) %1614, ptr noundef nonnull align 8 dereferenceable(144) %1622, ptr noundef @.str.37)
  %1623 = load ptr, ptr %3, align 8, !tbaa !5
  %1624 = load ptr, ptr %15, align 8, !tbaa !5
  %1625 = getelementptr inbounds %union.YYSTYPE, ptr %1624, i64 -1
  %1626 = getelementptr inbounds %struct.anon, ptr %1625, i32 0, i32 0
  %1627 = load ptr, ptr %15, align 8, !tbaa !5
  %1628 = getelementptr inbounds %union.YYSTYPE, ptr %1627, i64 -2
  %1629 = getelementptr inbounds %struct.anon.0, ptr %1628, i32 0, i32 2
  %1630 = load ptr, ptr %1629, align 8, !tbaa !10
  %1631 = load ptr, ptr %1630, align 8, !tbaa !19
  %1632 = getelementptr inbounds ptr, ptr %1631, i64 30
  %1633 = load ptr, ptr %1632, align 8
  %1634 = call noundef nonnull align 8 dereferenceable(144) ptr %1633(ptr noundef nonnull align 8 dereferenceable(176) %1630)
  call void @_ZN7glslang13TParseContext11opaqueCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %1623, ptr noundef nonnull align 8 dereferenceable(24) %1626, ptr noundef nonnull align 8 dereferenceable(144) %1634, ptr noundef @.str.38)
  %1635 = load ptr, ptr %3, align 8, !tbaa !5
  %1636 = load ptr, ptr %15, align 8, !tbaa !5
  %1637 = getelementptr inbounds %union.YYSTYPE, ptr %1636, i64 -1
  %1638 = getelementptr inbounds %struct.anon, ptr %1637, i32 0, i32 0
  %1639 = load ptr, ptr %15, align 8, !tbaa !5
  %1640 = getelementptr inbounds %union.YYSTYPE, ptr %1639, i64 -2
  %1641 = getelementptr inbounds %struct.anon.0, ptr %1640, i32 0, i32 2
  %1642 = load ptr, ptr %1641, align 8, !tbaa !10
  %1643 = load ptr, ptr %1642, align 8, !tbaa !19
  %1644 = getelementptr inbounds ptr, ptr %1643, i64 30
  %1645 = load ptr, ptr %1644, align 8
  %1646 = call noundef nonnull align 8 dereferenceable(144) ptr %1645(ptr noundef nonnull align 8 dereferenceable(176) %1642)
  call void @_ZN7glslang13TParseContext19specializationCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %1635, ptr noundef nonnull align 8 dereferenceable(24) %1638, ptr noundef nonnull align 8 dereferenceable(144) %1646, ptr noundef @.str.38)
  %1647 = load ptr, ptr %3, align 8, !tbaa !5
  %1648 = load ptr, ptr %15, align 8, !tbaa !5
  %1649 = getelementptr inbounds %union.YYSTYPE, ptr %1648, i64 -1
  %1650 = getelementptr inbounds %struct.anon, ptr %1649, i32 0, i32 0
  %1651 = load ptr, ptr %15, align 8, !tbaa !5
  %1652 = getelementptr inbounds %union.YYSTYPE, ptr %1651, i64 -2
  %1653 = getelementptr inbounds %struct.anon.0, ptr %1652, i32 0, i32 2
  %1654 = load ptr, ptr %1653, align 8, !tbaa !10
  %1655 = load ptr, ptr %1654, align 8, !tbaa !19
  %1656 = getelementptr inbounds ptr, ptr %1655, i64 30
  %1657 = load ptr, ptr %1656, align 8
  %1658 = call noundef nonnull align 8 dereferenceable(144) ptr %1657(ptr noundef nonnull align 8 dereferenceable(176) %1654)
  call void @_ZN7glslang13TParseContext14referenceCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %1647, ptr noundef nonnull align 8 dereferenceable(24) %1650, ptr noundef nonnull align 8 dereferenceable(144) %1658, ptr noundef @.str.38)
  %1659 = load ptr, ptr %3, align 8, !tbaa !5
  %1660 = load ptr, ptr %15, align 8, !tbaa !5
  %1661 = getelementptr inbounds %union.YYSTYPE, ptr %1660, i64 -1
  %1662 = getelementptr inbounds %struct.anon, ptr %1661, i32 0, i32 0
  %1663 = load ptr, ptr %15, align 8, !tbaa !5
  %1664 = getelementptr inbounds %union.YYSTYPE, ptr %1663, i64 -2
  %1665 = getelementptr inbounds %struct.anon.0, ptr %1664, i32 0, i32 2
  %1666 = load ptr, ptr %1665, align 8, !tbaa !10
  %1667 = load ptr, ptr %15, align 8, !tbaa !5
  %1668 = getelementptr inbounds %union.YYSTYPE, ptr %1667, i64 0
  %1669 = getelementptr inbounds %struct.anon.0, ptr %1668, i32 0, i32 2
  %1670 = load ptr, ptr %1669, align 8, !tbaa !10
  %1671 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1659, ptr noundef nonnull align 8 dereferenceable(24) %1662, ptr noundef @.str.38, i32 noundef 164, ptr noundef %1666, ptr noundef %1670)
  %1672 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1671, ptr %1672, align 8, !tbaa !10
  %1673 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1674 = load ptr, ptr %1673, align 8, !tbaa !10
  %1675 = icmp eq ptr %1674, null
  br i1 %1675, label %1676, label %1685

1676:                                             ; preds = %1610
  %1677 = load ptr, ptr %3, align 8, !tbaa !5
  %1678 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1677, i32 0, i32 7
  %1679 = load ptr, ptr %1678, align 8, !tbaa !21
  %1680 = load ptr, ptr %15, align 8, !tbaa !5
  %1681 = getelementptr inbounds %union.YYSTYPE, ptr %1680, i64 -1
  %1682 = getelementptr inbounds %struct.anon, ptr %1681, i32 0, i32 0
  %1683 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1679, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1682, i1 noundef zeroext false)
  %1684 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1683, ptr %1684, align 8, !tbaa !10
  br label %1685

1685:                                             ; preds = %1676, %1610
  br label %14379

1686:                                             ; preds = %406
  %1687 = load ptr, ptr %3, align 8, !tbaa !5
  %1688 = load ptr, ptr %15, align 8, !tbaa !5
  %1689 = getelementptr inbounds %union.YYSTYPE, ptr %1688, i64 -1
  %1690 = getelementptr inbounds %struct.anon, ptr %1689, i32 0, i32 0
  %1691 = load ptr, ptr %15, align 8, !tbaa !5
  %1692 = getelementptr inbounds %union.YYSTYPE, ptr %1691, i64 -2
  %1693 = getelementptr inbounds %struct.anon.0, ptr %1692, i32 0, i32 2
  %1694 = load ptr, ptr %1693, align 8, !tbaa !10
  %1695 = load ptr, ptr %1694, align 8, !tbaa !19
  %1696 = getelementptr inbounds ptr, ptr %1695, i64 30
  %1697 = load ptr, ptr %1696, align 8
  %1698 = call noundef nonnull align 8 dereferenceable(144) ptr %1697(ptr noundef nonnull align 8 dereferenceable(176) %1694)
  call void @_ZN7glslang13TParseContext16arrayObjectCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %1687, ptr noundef nonnull align 8 dereferenceable(24) %1690, ptr noundef nonnull align 8 dereferenceable(144) %1698, ptr noundef @.str.37)
  %1699 = load ptr, ptr %3, align 8, !tbaa !5
  %1700 = load ptr, ptr %15, align 8, !tbaa !5
  %1701 = getelementptr inbounds %union.YYSTYPE, ptr %1700, i64 -1
  %1702 = getelementptr inbounds %struct.anon, ptr %1701, i32 0, i32 0
  %1703 = load ptr, ptr %15, align 8, !tbaa !5
  %1704 = getelementptr inbounds %union.YYSTYPE, ptr %1703, i64 -2
  %1705 = getelementptr inbounds %struct.anon.0, ptr %1704, i32 0, i32 2
  %1706 = load ptr, ptr %1705, align 8, !tbaa !10
  %1707 = load ptr, ptr %1706, align 8, !tbaa !19
  %1708 = getelementptr inbounds ptr, ptr %1707, i64 30
  %1709 = load ptr, ptr %1708, align 8
  %1710 = call noundef nonnull align 8 dereferenceable(144) ptr %1709(ptr noundef nonnull align 8 dereferenceable(176) %1706)
  call void @_ZN7glslang13TParseContext11opaqueCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %1699, ptr noundef nonnull align 8 dereferenceable(24) %1702, ptr noundef nonnull align 8 dereferenceable(144) %1710, ptr noundef @.str.39)
  %1711 = load ptr, ptr %3, align 8, !tbaa !5
  %1712 = load ptr, ptr %15, align 8, !tbaa !5
  %1713 = getelementptr inbounds %union.YYSTYPE, ptr %1712, i64 -1
  %1714 = getelementptr inbounds %struct.anon, ptr %1713, i32 0, i32 0
  %1715 = load ptr, ptr %15, align 8, !tbaa !5
  %1716 = getelementptr inbounds %union.YYSTYPE, ptr %1715, i64 -2
  %1717 = getelementptr inbounds %struct.anon.0, ptr %1716, i32 0, i32 2
  %1718 = load ptr, ptr %1717, align 8, !tbaa !10
  %1719 = load ptr, ptr %1718, align 8, !tbaa !19
  %1720 = getelementptr inbounds ptr, ptr %1719, i64 30
  %1721 = load ptr, ptr %1720, align 8
  %1722 = call noundef nonnull align 8 dereferenceable(144) ptr %1721(ptr noundef nonnull align 8 dereferenceable(176) %1718)
  call void @_ZN7glslang13TParseContext19specializationCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %1711, ptr noundef nonnull align 8 dereferenceable(24) %1714, ptr noundef nonnull align 8 dereferenceable(144) %1722, ptr noundef @.str.39)
  %1723 = load ptr, ptr %3, align 8, !tbaa !5
  %1724 = load ptr, ptr %15, align 8, !tbaa !5
  %1725 = getelementptr inbounds %union.YYSTYPE, ptr %1724, i64 -1
  %1726 = getelementptr inbounds %struct.anon, ptr %1725, i32 0, i32 0
  %1727 = load ptr, ptr %15, align 8, !tbaa !5
  %1728 = getelementptr inbounds %union.YYSTYPE, ptr %1727, i64 -2
  %1729 = getelementptr inbounds %struct.anon.0, ptr %1728, i32 0, i32 2
  %1730 = load ptr, ptr %1729, align 8, !tbaa !10
  %1731 = load ptr, ptr %1730, align 8, !tbaa !19
  %1732 = getelementptr inbounds ptr, ptr %1731, i64 30
  %1733 = load ptr, ptr %1732, align 8
  %1734 = call noundef nonnull align 8 dereferenceable(144) ptr %1733(ptr noundef nonnull align 8 dereferenceable(176) %1730)
  call void @_ZN7glslang13TParseContext14referenceCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %1723, ptr noundef nonnull align 8 dereferenceable(24) %1726, ptr noundef nonnull align 8 dereferenceable(144) %1734, ptr noundef @.str.39)
  %1735 = load ptr, ptr %3, align 8, !tbaa !5
  %1736 = load ptr, ptr %15, align 8, !tbaa !5
  %1737 = getelementptr inbounds %union.YYSTYPE, ptr %1736, i64 -1
  %1738 = getelementptr inbounds %struct.anon, ptr %1737, i32 0, i32 0
  %1739 = load ptr, ptr %15, align 8, !tbaa !5
  %1740 = getelementptr inbounds %union.YYSTYPE, ptr %1739, i64 -2
  %1741 = getelementptr inbounds %struct.anon.0, ptr %1740, i32 0, i32 2
  %1742 = load ptr, ptr %1741, align 8, !tbaa !10
  %1743 = load ptr, ptr %15, align 8, !tbaa !5
  %1744 = getelementptr inbounds %union.YYSTYPE, ptr %1743, i64 0
  %1745 = getelementptr inbounds %struct.anon.0, ptr %1744, i32 0, i32 2
  %1746 = load ptr, ptr %1745, align 8, !tbaa !10
  %1747 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1735, ptr noundef nonnull align 8 dereferenceable(24) %1738, ptr noundef @.str.39, i32 noundef 165, ptr noundef %1742, ptr noundef %1746)
  %1748 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1747, ptr %1748, align 8, !tbaa !10
  %1749 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1750 = load ptr, ptr %1749, align 8, !tbaa !10
  %1751 = icmp eq ptr %1750, null
  br i1 %1751, label %1752, label %1761

1752:                                             ; preds = %1686
  %1753 = load ptr, ptr %3, align 8, !tbaa !5
  %1754 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1753, i32 0, i32 7
  %1755 = load ptr, ptr %1754, align 8, !tbaa !21
  %1756 = load ptr, ptr %15, align 8, !tbaa !5
  %1757 = getelementptr inbounds %union.YYSTYPE, ptr %1756, i64 -1
  %1758 = getelementptr inbounds %struct.anon, ptr %1757, i32 0, i32 0
  %1759 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1755, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1758, i1 noundef zeroext false)
  %1760 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1759, ptr %1760, align 8, !tbaa !10
  br label %1761

1761:                                             ; preds = %1752, %1686
  br label %14379

1762:                                             ; preds = %406
  %1763 = load ptr, ptr %15, align 8, !tbaa !5
  %1764 = getelementptr inbounds %union.YYSTYPE, ptr %1763, i64 0
  %1765 = getelementptr inbounds %struct.anon.0, ptr %1764, i32 0, i32 2
  %1766 = load ptr, ptr %1765, align 8, !tbaa !10
  %1767 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1766, ptr %1767, align 8, !tbaa !10
  br label %14379

1768:                                             ; preds = %406
  %1769 = load ptr, ptr %3, align 8, !tbaa !5
  %1770 = load ptr, ptr %15, align 8, !tbaa !5
  %1771 = getelementptr inbounds %union.YYSTYPE, ptr %1770, i64 -1
  %1772 = getelementptr inbounds %struct.anon, ptr %1771, i32 0, i32 0
  %1773 = load ptr, ptr %1769, align 8, !tbaa !19
  %1774 = getelementptr inbounds ptr, ptr %1773, i64 15
  %1775 = load ptr, ptr %1774, align 8
  call void %1775(ptr noundef nonnull align 8 dereferenceable(192) %1769, ptr noundef nonnull align 8 dereferenceable(24) %1772, ptr noundef @.str.40)
  %1776 = load ptr, ptr %3, align 8, !tbaa !5
  %1777 = load ptr, ptr %15, align 8, !tbaa !5
  %1778 = getelementptr inbounds %union.YYSTYPE, ptr %1777, i64 -1
  %1779 = getelementptr inbounds %struct.anon, ptr %1778, i32 0, i32 0
  %1780 = load ptr, ptr %15, align 8, !tbaa !5
  %1781 = getelementptr inbounds %union.YYSTYPE, ptr %1780, i64 -2
  %1782 = getelementptr inbounds %struct.anon.0, ptr %1781, i32 0, i32 2
  %1783 = load ptr, ptr %1782, align 8, !tbaa !10
  %1784 = load ptr, ptr %15, align 8, !tbaa !5
  %1785 = getelementptr inbounds %union.YYSTYPE, ptr %1784, i64 0
  %1786 = getelementptr inbounds %struct.anon.0, ptr %1785, i32 0, i32 2
  %1787 = load ptr, ptr %1786, align 8, !tbaa !10
  %1788 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1776, ptr noundef nonnull align 8 dereferenceable(24) %1779, ptr noundef @.str.41, i32 noundef 161, ptr noundef %1783, ptr noundef %1787)
  %1789 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1788, ptr %1789, align 8, !tbaa !10
  %1790 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1791 = load ptr, ptr %1790, align 8, !tbaa !10
  %1792 = icmp eq ptr %1791, null
  br i1 %1792, label %1793, label %1799

1793:                                             ; preds = %1768
  %1794 = load ptr, ptr %15, align 8, !tbaa !5
  %1795 = getelementptr inbounds %union.YYSTYPE, ptr %1794, i64 -2
  %1796 = getelementptr inbounds %struct.anon.0, ptr %1795, i32 0, i32 2
  %1797 = load ptr, ptr %1796, align 8, !tbaa !10
  %1798 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1797, ptr %1798, align 8, !tbaa !10
  br label %1799

1799:                                             ; preds = %1793, %1768
  br label %14379

1800:                                             ; preds = %406
  %1801 = load ptr, ptr %15, align 8, !tbaa !5
  %1802 = getelementptr inbounds %union.YYSTYPE, ptr %1801, i64 0
  %1803 = getelementptr inbounds %struct.anon.0, ptr %1802, i32 0, i32 2
  %1804 = load ptr, ptr %1803, align 8, !tbaa !10
  %1805 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1804, ptr %1805, align 8, !tbaa !10
  br label %14379

1806:                                             ; preds = %406
  %1807 = load ptr, ptr %3, align 8, !tbaa !5
  %1808 = load ptr, ptr %15, align 8, !tbaa !5
  %1809 = getelementptr inbounds %union.YYSTYPE, ptr %1808, i64 -1
  %1810 = getelementptr inbounds %struct.anon, ptr %1809, i32 0, i32 0
  %1811 = load ptr, ptr %1807, align 8, !tbaa !19
  %1812 = getelementptr inbounds ptr, ptr %1811, i64 15
  %1813 = load ptr, ptr %1812, align 8
  call void %1813(ptr noundef nonnull align 8 dereferenceable(192) %1807, ptr noundef nonnull align 8 dereferenceable(24) %1810, ptr noundef @.str.42)
  %1814 = load ptr, ptr %3, align 8, !tbaa !5
  %1815 = load ptr, ptr %15, align 8, !tbaa !5
  %1816 = getelementptr inbounds %union.YYSTYPE, ptr %1815, i64 -1
  %1817 = getelementptr inbounds %struct.anon, ptr %1816, i32 0, i32 0
  %1818 = load ptr, ptr %15, align 8, !tbaa !5
  %1819 = getelementptr inbounds %union.YYSTYPE, ptr %1818, i64 -2
  %1820 = getelementptr inbounds %struct.anon.0, ptr %1819, i32 0, i32 2
  %1821 = load ptr, ptr %1820, align 8, !tbaa !10
  %1822 = load ptr, ptr %15, align 8, !tbaa !5
  %1823 = getelementptr inbounds %union.YYSTYPE, ptr %1822, i64 0
  %1824 = getelementptr inbounds %struct.anon.0, ptr %1823, i32 0, i32 2
  %1825 = load ptr, ptr %1824, align 8, !tbaa !10
  %1826 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1814, ptr noundef nonnull align 8 dereferenceable(24) %1817, ptr noundef @.str.43, i32 noundef 163, ptr noundef %1821, ptr noundef %1825)
  %1827 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1826, ptr %1827, align 8, !tbaa !10
  %1828 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1829 = load ptr, ptr %1828, align 8, !tbaa !10
  %1830 = icmp eq ptr %1829, null
  br i1 %1830, label %1831, label %1837

1831:                                             ; preds = %1806
  %1832 = load ptr, ptr %15, align 8, !tbaa !5
  %1833 = getelementptr inbounds %union.YYSTYPE, ptr %1832, i64 -2
  %1834 = getelementptr inbounds %struct.anon.0, ptr %1833, i32 0, i32 2
  %1835 = load ptr, ptr %1834, align 8, !tbaa !10
  %1836 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1835, ptr %1836, align 8, !tbaa !10
  br label %1837

1837:                                             ; preds = %1831, %1806
  br label %14379

1838:                                             ; preds = %406
  %1839 = load ptr, ptr %15, align 8, !tbaa !5
  %1840 = getelementptr inbounds %union.YYSTYPE, ptr %1839, i64 0
  %1841 = getelementptr inbounds %struct.anon.0, ptr %1840, i32 0, i32 2
  %1842 = load ptr, ptr %1841, align 8, !tbaa !10
  %1843 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1842, ptr %1843, align 8, !tbaa !10
  br label %14379

1844:                                             ; preds = %406
  %1845 = load ptr, ptr %3, align 8, !tbaa !5
  %1846 = load ptr, ptr %15, align 8, !tbaa !5
  %1847 = getelementptr inbounds %union.YYSTYPE, ptr %1846, i64 -1
  %1848 = getelementptr inbounds %struct.anon, ptr %1847, i32 0, i32 0
  %1849 = load ptr, ptr %1845, align 8, !tbaa !19
  %1850 = getelementptr inbounds ptr, ptr %1849, i64 15
  %1851 = load ptr, ptr %1850, align 8
  call void %1851(ptr noundef nonnull align 8 dereferenceable(192) %1845, ptr noundef nonnull align 8 dereferenceable(24) %1848, ptr noundef @.str.44)
  %1852 = load ptr, ptr %3, align 8, !tbaa !5
  %1853 = load ptr, ptr %15, align 8, !tbaa !5
  %1854 = getelementptr inbounds %union.YYSTYPE, ptr %1853, i64 -1
  %1855 = getelementptr inbounds %struct.anon, ptr %1854, i32 0, i32 0
  %1856 = load ptr, ptr %15, align 8, !tbaa !5
  %1857 = getelementptr inbounds %union.YYSTYPE, ptr %1856, i64 -2
  %1858 = getelementptr inbounds %struct.anon.0, ptr %1857, i32 0, i32 2
  %1859 = load ptr, ptr %1858, align 8, !tbaa !10
  %1860 = load ptr, ptr %15, align 8, !tbaa !5
  %1861 = getelementptr inbounds %union.YYSTYPE, ptr %1860, i64 0
  %1862 = getelementptr inbounds %struct.anon.0, ptr %1861, i32 0, i32 2
  %1863 = load ptr, ptr %1862, align 8, !tbaa !10
  %1864 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1852, ptr noundef nonnull align 8 dereferenceable(24) %1855, ptr noundef @.str.45, i32 noundef 162, ptr noundef %1859, ptr noundef %1863)
  %1865 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1864, ptr %1865, align 8, !tbaa !10
  %1866 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1867 = load ptr, ptr %1866, align 8, !tbaa !10
  %1868 = icmp eq ptr %1867, null
  br i1 %1868, label %1869, label %1875

1869:                                             ; preds = %1844
  %1870 = load ptr, ptr %15, align 8, !tbaa !5
  %1871 = getelementptr inbounds %union.YYSTYPE, ptr %1870, i64 -2
  %1872 = getelementptr inbounds %struct.anon.0, ptr %1871, i32 0, i32 2
  %1873 = load ptr, ptr %1872, align 8, !tbaa !10
  %1874 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1873, ptr %1874, align 8, !tbaa !10
  br label %1875

1875:                                             ; preds = %1869, %1844
  br label %14379

1876:                                             ; preds = %406
  %1877 = load ptr, ptr %15, align 8, !tbaa !5
  %1878 = getelementptr inbounds %union.YYSTYPE, ptr %1877, i64 0
  %1879 = getelementptr inbounds %struct.anon.0, ptr %1878, i32 0, i32 2
  %1880 = load ptr, ptr %1879, align 8, !tbaa !10
  %1881 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1880, ptr %1881, align 8, !tbaa !10
  br label %14379

1882:                                             ; preds = %406
  %1883 = load ptr, ptr %3, align 8, !tbaa !5
  %1884 = load ptr, ptr %15, align 8, !tbaa !5
  %1885 = getelementptr inbounds %union.YYSTYPE, ptr %1884, i64 -1
  %1886 = getelementptr inbounds %struct.anon, ptr %1885, i32 0, i32 0
  %1887 = load ptr, ptr %15, align 8, !tbaa !5
  %1888 = getelementptr inbounds %union.YYSTYPE, ptr %1887, i64 -2
  %1889 = getelementptr inbounds %struct.anon.0, ptr %1888, i32 0, i32 2
  %1890 = load ptr, ptr %1889, align 8, !tbaa !10
  %1891 = load ptr, ptr %15, align 8, !tbaa !5
  %1892 = getelementptr inbounds %union.YYSTYPE, ptr %1891, i64 0
  %1893 = getelementptr inbounds %struct.anon.0, ptr %1892, i32 0, i32 2
  %1894 = load ptr, ptr %1893, align 8, !tbaa !10
  %1895 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1883, ptr noundef nonnull align 8 dereferenceable(24) %1886, ptr noundef @.str.46, i32 noundef 179, ptr noundef %1890, ptr noundef %1894)
  %1896 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1895, ptr %1896, align 8, !tbaa !10
  %1897 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1898 = load ptr, ptr %1897, align 8, !tbaa !10
  %1899 = icmp eq ptr %1898, null
  br i1 %1899, label %1900, label %1909

1900:                                             ; preds = %1882
  %1901 = load ptr, ptr %3, align 8, !tbaa !5
  %1902 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1901, i32 0, i32 7
  %1903 = load ptr, ptr %1902, align 8, !tbaa !21
  %1904 = load ptr, ptr %15, align 8, !tbaa !5
  %1905 = getelementptr inbounds %union.YYSTYPE, ptr %1904, i64 -1
  %1906 = getelementptr inbounds %struct.anon, ptr %1905, i32 0, i32 0
  %1907 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1903, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1906, i1 noundef zeroext false)
  %1908 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1907, ptr %1908, align 8, !tbaa !10
  br label %1909

1909:                                             ; preds = %1900, %1882
  br label %14379

1910:                                             ; preds = %406
  %1911 = load ptr, ptr %15, align 8, !tbaa !5
  %1912 = getelementptr inbounds %union.YYSTYPE, ptr %1911, i64 0
  %1913 = getelementptr inbounds %struct.anon.0, ptr %1912, i32 0, i32 2
  %1914 = load ptr, ptr %1913, align 8, !tbaa !10
  %1915 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1914, ptr %1915, align 8, !tbaa !10
  br label %14379

1916:                                             ; preds = %406
  %1917 = load ptr, ptr %3, align 8, !tbaa !5
  %1918 = load ptr, ptr %15, align 8, !tbaa !5
  %1919 = getelementptr inbounds %union.YYSTYPE, ptr %1918, i64 -1
  %1920 = getelementptr inbounds %struct.anon, ptr %1919, i32 0, i32 0
  %1921 = load ptr, ptr %15, align 8, !tbaa !5
  %1922 = getelementptr inbounds %union.YYSTYPE, ptr %1921, i64 -2
  %1923 = getelementptr inbounds %struct.anon.0, ptr %1922, i32 0, i32 2
  %1924 = load ptr, ptr %1923, align 8, !tbaa !10
  %1925 = load ptr, ptr %15, align 8, !tbaa !5
  %1926 = getelementptr inbounds %union.YYSTYPE, ptr %1925, i64 0
  %1927 = getelementptr inbounds %struct.anon.0, ptr %1926, i32 0, i32 2
  %1928 = load ptr, ptr %1927, align 8, !tbaa !10
  %1929 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1917, ptr noundef nonnull align 8 dereferenceable(24) %1920, ptr noundef @.str.47, i32 noundef 178, ptr noundef %1924, ptr noundef %1928)
  %1930 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1929, ptr %1930, align 8, !tbaa !10
  %1931 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1932 = load ptr, ptr %1931, align 8, !tbaa !10
  %1933 = icmp eq ptr %1932, null
  br i1 %1933, label %1934, label %1943

1934:                                             ; preds = %1916
  %1935 = load ptr, ptr %3, align 8, !tbaa !5
  %1936 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1935, i32 0, i32 7
  %1937 = load ptr, ptr %1936, align 8, !tbaa !21
  %1938 = load ptr, ptr %15, align 8, !tbaa !5
  %1939 = getelementptr inbounds %union.YYSTYPE, ptr %1938, i64 -1
  %1940 = getelementptr inbounds %struct.anon, ptr %1939, i32 0, i32 0
  %1941 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1937, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1940, i1 noundef zeroext false)
  %1942 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1941, ptr %1942, align 8, !tbaa !10
  br label %1943

1943:                                             ; preds = %1934, %1916
  br label %14379

1944:                                             ; preds = %406
  %1945 = load ptr, ptr %15, align 8, !tbaa !5
  %1946 = getelementptr inbounds %union.YYSTYPE, ptr %1945, i64 0
  %1947 = getelementptr inbounds %struct.anon.0, ptr %1946, i32 0, i32 2
  %1948 = load ptr, ptr %1947, align 8, !tbaa !10
  %1949 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1948, ptr %1949, align 8, !tbaa !10
  br label %14379

1950:                                             ; preds = %406
  %1951 = load ptr, ptr %3, align 8, !tbaa !5
  %1952 = load ptr, ptr %15, align 8, !tbaa !5
  %1953 = getelementptr inbounds %union.YYSTYPE, ptr %1952, i64 -1
  %1954 = getelementptr inbounds %struct.anon, ptr %1953, i32 0, i32 0
  %1955 = load ptr, ptr %15, align 8, !tbaa !5
  %1956 = getelementptr inbounds %union.YYSTYPE, ptr %1955, i64 -2
  %1957 = getelementptr inbounds %struct.anon.0, ptr %1956, i32 0, i32 2
  %1958 = load ptr, ptr %1957, align 8, !tbaa !10
  %1959 = load ptr, ptr %15, align 8, !tbaa !5
  %1960 = getelementptr inbounds %union.YYSTYPE, ptr %1959, i64 0
  %1961 = getelementptr inbounds %struct.anon.0, ptr %1960, i32 0, i32 2
  %1962 = load ptr, ptr %1961, align 8, !tbaa !10
  %1963 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %1951, ptr noundef nonnull align 8 dereferenceable(24) %1954, ptr noundef @.str.48, i32 noundef 177, ptr noundef %1958, ptr noundef %1962)
  %1964 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1963, ptr %1964, align 8, !tbaa !10
  %1965 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %1966 = load ptr, ptr %1965, align 8, !tbaa !10
  %1967 = icmp eq ptr %1966, null
  br i1 %1967, label %1968, label %1977

1968:                                             ; preds = %1950
  %1969 = load ptr, ptr %3, align 8, !tbaa !5
  %1970 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %1969, i32 0, i32 7
  %1971 = load ptr, ptr %1970, align 8, !tbaa !21
  %1972 = load ptr, ptr %15, align 8, !tbaa !5
  %1973 = getelementptr inbounds %union.YYSTYPE, ptr %1972, i64 -1
  %1974 = getelementptr inbounds %struct.anon, ptr %1973, i32 0, i32 0
  %1975 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %1971, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %1974, i1 noundef zeroext false)
  %1976 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1975, ptr %1976, align 8, !tbaa !10
  br label %1977

1977:                                             ; preds = %1968, %1950
  br label %14379

1978:                                             ; preds = %406
  %1979 = load ptr, ptr %15, align 8, !tbaa !5
  %1980 = getelementptr inbounds %union.YYSTYPE, ptr %1979, i64 0
  %1981 = getelementptr inbounds %struct.anon.0, ptr %1980, i32 0, i32 2
  %1982 = load ptr, ptr %1981, align 8, !tbaa !10
  %1983 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %1982, ptr %1983, align 8, !tbaa !10
  br label %14379

1984:                                             ; preds = %406
  %1985 = load ptr, ptr %3, align 8, !tbaa !5
  %1986 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1985, i32 0, i32 7
  %1987 = load i32, ptr %1986, align 8, !tbaa !103
  %1988 = add nsw i32 %1987, 1
  store i32 %1988, ptr %1986, align 8, !tbaa !103
  br label %14379

1989:                                             ; preds = %406
  %1990 = load ptr, ptr %3, align 8, !tbaa !5
  %1991 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %1990, i32 0, i32 7
  %1992 = load i32, ptr %1991, align 8, !tbaa !103
  %1993 = add nsw i32 %1992, -1
  store i32 %1993, ptr %1991, align 8, !tbaa !103
  %1994 = load ptr, ptr %3, align 8, !tbaa !5
  %1995 = load ptr, ptr %15, align 8, !tbaa !5
  %1996 = getelementptr inbounds %union.YYSTYPE, ptr %1995, i64 -4
  %1997 = getelementptr inbounds %struct.anon, ptr %1996, i32 0, i32 0
  %1998 = load ptr, ptr %15, align 8, !tbaa !5
  %1999 = getelementptr inbounds %union.YYSTYPE, ptr %1998, i64 -5
  %2000 = getelementptr inbounds %struct.anon.0, ptr %1999, i32 0, i32 2
  %2001 = load ptr, ptr %2000, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %1994, ptr noundef nonnull align 8 dereferenceable(24) %1997, ptr noundef %2001)
  %2002 = load ptr, ptr %3, align 8, !tbaa !5
  %2003 = load ptr, ptr %15, align 8, !tbaa !5
  %2004 = getelementptr inbounds %union.YYSTYPE, ptr %2003, i64 -4
  %2005 = getelementptr inbounds %struct.anon, ptr %2004, i32 0, i32 0
  %2006 = load ptr, ptr %15, align 8, !tbaa !5
  %2007 = getelementptr inbounds %union.YYSTYPE, ptr %2006, i64 -5
  %2008 = getelementptr inbounds %struct.anon.0, ptr %2007, i32 0, i32 2
  %2009 = load ptr, ptr %2008, align 8, !tbaa !10
  %2010 = load ptr, ptr %2002, align 8, !tbaa !19
  %2011 = getelementptr inbounds ptr, ptr %2010, i64 64
  %2012 = load ptr, ptr %2011, align 8
  call void %2012(ptr noundef nonnull align 8 dereferenceable(24912) %2002, ptr noundef nonnull align 8 dereferenceable(24) %2005, ptr noundef @.str.49, ptr noundef %2009)
  %2013 = load ptr, ptr %3, align 8, !tbaa !5
  %2014 = load ptr, ptr %15, align 8, !tbaa !5
  %2015 = getelementptr inbounds %union.YYSTYPE, ptr %2014, i64 -1
  %2016 = getelementptr inbounds %struct.anon, ptr %2015, i32 0, i32 0
  %2017 = load ptr, ptr %15, align 8, !tbaa !5
  %2018 = getelementptr inbounds %union.YYSTYPE, ptr %2017, i64 -2
  %2019 = getelementptr inbounds %struct.anon.0, ptr %2018, i32 0, i32 2
  %2020 = load ptr, ptr %2019, align 8, !tbaa !10
  %2021 = load ptr, ptr %2013, align 8, !tbaa !19
  %2022 = getelementptr inbounds ptr, ptr %2021, i64 64
  %2023 = load ptr, ptr %2022, align 8
  call void %2023(ptr noundef nonnull align 8 dereferenceable(24912) %2013, ptr noundef nonnull align 8 dereferenceable(24) %2016, ptr noundef @.str.50, ptr noundef %2020)
  %2024 = load ptr, ptr %3, align 8, !tbaa !5
  %2025 = load ptr, ptr %15, align 8, !tbaa !5
  %2026 = getelementptr inbounds %union.YYSTYPE, ptr %2025, i64 -1
  %2027 = getelementptr inbounds %struct.anon, ptr %2026, i32 0, i32 0
  %2028 = load ptr, ptr %15, align 8, !tbaa !5
  %2029 = getelementptr inbounds %union.YYSTYPE, ptr %2028, i64 0
  %2030 = getelementptr inbounds %struct.anon.0, ptr %2029, i32 0, i32 2
  %2031 = load ptr, ptr %2030, align 8, !tbaa !10
  %2032 = load ptr, ptr %2024, align 8, !tbaa !19
  %2033 = getelementptr inbounds ptr, ptr %2032, i64 64
  %2034 = load ptr, ptr %2033, align 8
  call void %2034(ptr noundef nonnull align 8 dereferenceable(24912) %2024, ptr noundef nonnull align 8 dereferenceable(24) %2027, ptr noundef @.str.50, ptr noundef %2031)
  %2035 = load ptr, ptr %3, align 8, !tbaa !5
  %2036 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %2035, i32 0, i32 7
  %2037 = load ptr, ptr %2036, align 8, !tbaa !21
  %2038 = load ptr, ptr %15, align 8, !tbaa !5
  %2039 = getelementptr inbounds %union.YYSTYPE, ptr %2038, i64 -5
  %2040 = getelementptr inbounds %struct.anon.0, ptr %2039, i32 0, i32 2
  %2041 = load ptr, ptr %2040, align 8, !tbaa !10
  %2042 = load ptr, ptr %15, align 8, !tbaa !5
  %2043 = getelementptr inbounds %union.YYSTYPE, ptr %2042, i64 -2
  %2044 = getelementptr inbounds %struct.anon.0, ptr %2043, i32 0, i32 2
  %2045 = load ptr, ptr %2044, align 8, !tbaa !10
  %2046 = load ptr, ptr %15, align 8, !tbaa !5
  %2047 = getelementptr inbounds %union.YYSTYPE, ptr %2046, i64 0
  %2048 = getelementptr inbounds %struct.anon.0, ptr %2047, i32 0, i32 2
  %2049 = load ptr, ptr %2048, align 8, !tbaa !10
  %2050 = load ptr, ptr %15, align 8, !tbaa !5
  %2051 = getelementptr inbounds %union.YYSTYPE, ptr %2050, i64 -4
  %2052 = getelementptr inbounds %struct.anon, ptr %2051, i32 0, i32 0
  %2053 = call noundef ptr @_ZN7glslang13TIntermediate12addSelectionEPNS_12TIntermTypedES2_S2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %2037, ptr noundef %2041, ptr noundef %2045, ptr noundef %2049, ptr noundef nonnull align 8 dereferenceable(24) %2052)
  %2054 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2053, ptr %2054, align 8, !tbaa !10
  %2055 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %2056 = load ptr, ptr %2055, align 8, !tbaa !10
  %2057 = icmp eq ptr %2056, null
  br i1 %2057, label %2058, label %2096

2058:                                             ; preds = %1989
  %2059 = load ptr, ptr %3, align 8, !tbaa !5
  %2060 = load ptr, ptr %15, align 8, !tbaa !5
  %2061 = getelementptr inbounds %union.YYSTYPE, ptr %2060, i64 -4
  %2062 = getelementptr inbounds %struct.anon, ptr %2061, i32 0, i32 0
  %2063 = load ptr, ptr %15, align 8, !tbaa !5
  %2064 = getelementptr inbounds %union.YYSTYPE, ptr %2063, i64 -2
  %2065 = getelementptr inbounds %struct.anon.0, ptr %2064, i32 0, i32 2
  %2066 = load ptr, ptr %2065, align 8, !tbaa !10
  %2067 = load ptr, ptr %3, align 8, !tbaa !5
  %2068 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %2067, i32 0, i32 7
  %2069 = load ptr, ptr %2068, align 8, !tbaa !21
  %2070 = call noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %2069)
  call void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %46, ptr noundef nonnull align 8 dereferenceable(176) %2066, i1 noundef zeroext %2070)
  %2071 = load ptr, ptr %15, align 8, !tbaa !5
  %2072 = getelementptr inbounds %union.YYSTYPE, ptr %2071, i64 0
  %2073 = getelementptr inbounds %struct.anon.0, ptr %2072, i32 0, i32 2
  %2074 = load ptr, ptr %2073, align 8, !tbaa !10
  %2075 = load ptr, ptr %3, align 8, !tbaa !5
  %2076 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %2075, i32 0, i32 7
  %2077 = load ptr, ptr %2076, align 8, !tbaa !21
  %2078 = invoke noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %2077)
          to label %2079 unwind label %2087

2079:                                             ; preds = %2058
  invoke void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull align 8 dereferenceable(176) %2074, i1 noundef zeroext %2078)
          to label %2080 unwind label %2087

2080:                                             ; preds = %2079
  invoke void @_ZN7glslang13TParseContext13binaryOpErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912) %2059, ptr noundef nonnull align 8 dereferenceable(24) %2062, ptr noundef @.str.50, ptr noundef %46, ptr noundef %47)
          to label %2081 unwind label %2091

2081:                                             ; preds = %2080
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #10
  %2082 = load ptr, ptr %15, align 8, !tbaa !5
  %2083 = getelementptr inbounds %union.YYSTYPE, ptr %2082, i64 0
  %2084 = getelementptr inbounds %struct.anon.0, ptr %2083, i32 0, i32 2
  %2085 = load ptr, ptr %2084, align 8, !tbaa !10
  %2086 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2085, ptr %2086, align 8, !tbaa !10
  br label %2096

2087:                                             ; preds = %2079, %2058
  %2088 = landingpad { ptr, i32 }
          cleanup
  %2089 = extractvalue { ptr, i32 } %2088, 0
  store ptr %2089, ptr %31, align 8
  %2090 = extractvalue { ptr, i32 } %2088, 1
  store i32 %2090, ptr %32, align 4
  br label %2095

2091:                                             ; preds = %2080
  %2092 = landingpad { ptr, i32 }
          cleanup
  %2093 = extractvalue { ptr, i32 } %2092, 0
  store ptr %2093, ptr %31, align 8
  %2094 = extractvalue { ptr, i32 } %2092, 1
  store i32 %2094, ptr %32, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %47) #10
  br label %2095

2095:                                             ; preds = %2091, %2087
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %46) #10
  br label %14723

2096:                                             ; preds = %2081, %1989
  br label %14379

2097:                                             ; preds = %406
  %2098 = load ptr, ptr %15, align 8, !tbaa !5
  %2099 = getelementptr inbounds %union.YYSTYPE, ptr %2098, i64 0
  %2100 = getelementptr inbounds %struct.anon.0, ptr %2099, i32 0, i32 2
  %2101 = load ptr, ptr %2100, align 8, !tbaa !10
  %2102 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2101, ptr %2102, align 8, !tbaa !10
  br label %14379

2103:                                             ; preds = %406
  %2104 = load ptr, ptr %3, align 8, !tbaa !5
  %2105 = load ptr, ptr %15, align 8, !tbaa !5
  %2106 = getelementptr inbounds %union.YYSTYPE, ptr %2105, i64 -1
  %2107 = getelementptr inbounds %struct.anon.0, ptr %2106, i32 0, i32 0
  %2108 = load ptr, ptr %15, align 8, !tbaa !5
  %2109 = getelementptr inbounds %union.YYSTYPE, ptr %2108, i64 -2
  %2110 = getelementptr inbounds %struct.anon.0, ptr %2109, i32 0, i32 2
  %2111 = load ptr, ptr %2110, align 8, !tbaa !10
  %2112 = load ptr, ptr %2111, align 8, !tbaa !19
  %2113 = getelementptr inbounds ptr, ptr %2112, i64 30
  %2114 = load ptr, ptr %2113, align 8
  %2115 = call noundef nonnull align 8 dereferenceable(144) ptr %2114(ptr noundef nonnull align 8 dereferenceable(176) %2111)
  call void @_ZN7glslang13TParseContext16arrayObjectCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %2104, ptr noundef nonnull align 8 dereferenceable(24) %2107, ptr noundef nonnull align 8 dereferenceable(144) %2115, ptr noundef @.str.51)
  %2116 = load ptr, ptr %3, align 8, !tbaa !5
  %2117 = load ptr, ptr %15, align 8, !tbaa !5
  %2118 = getelementptr inbounds %union.YYSTYPE, ptr %2117, i64 -1
  %2119 = getelementptr inbounds %struct.anon.0, ptr %2118, i32 0, i32 0
  %2120 = load ptr, ptr %15, align 8, !tbaa !5
  %2121 = getelementptr inbounds %union.YYSTYPE, ptr %2120, i64 -2
  %2122 = getelementptr inbounds %struct.anon.0, ptr %2121, i32 0, i32 2
  %2123 = load ptr, ptr %2122, align 8, !tbaa !10
  %2124 = load ptr, ptr %2123, align 8, !tbaa !19
  %2125 = getelementptr inbounds ptr, ptr %2124, i64 30
  %2126 = load ptr, ptr %2125, align 8
  %2127 = call noundef nonnull align 8 dereferenceable(144) ptr %2126(ptr noundef nonnull align 8 dereferenceable(176) %2123)
  call void @_ZN7glslang13TParseContext11opaqueCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %2116, ptr noundef nonnull align 8 dereferenceable(24) %2119, ptr noundef nonnull align 8 dereferenceable(144) %2127, ptr noundef @.str.52)
  %2128 = load ptr, ptr %3, align 8, !tbaa !5
  %2129 = load ptr, ptr %15, align 8, !tbaa !5
  %2130 = getelementptr inbounds %union.YYSTYPE, ptr %2129, i64 -1
  %2131 = getelementptr inbounds %struct.anon.0, ptr %2130, i32 0, i32 0
  %2132 = load ptr, ptr %15, align 8, !tbaa !5
  %2133 = getelementptr inbounds %union.YYSTYPE, ptr %2132, i64 -2
  %2134 = getelementptr inbounds %struct.anon.0, ptr %2133, i32 0, i32 2
  %2135 = load ptr, ptr %2134, align 8, !tbaa !10
  %2136 = load ptr, ptr %2135, align 8, !tbaa !19
  %2137 = getelementptr inbounds ptr, ptr %2136, i64 30
  %2138 = load ptr, ptr %2137, align 8
  %2139 = call noundef nonnull align 8 dereferenceable(144) ptr %2138(ptr noundef nonnull align 8 dereferenceable(176) %2135)
  call void @_ZN7glslang13TParseContext27storage16BitAssignmentCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %2128, ptr noundef nonnull align 8 dereferenceable(24) %2131, ptr noundef nonnull align 8 dereferenceable(144) %2139, ptr noundef @.str.52)
  %2140 = load ptr, ptr %3, align 8, !tbaa !5
  %2141 = load ptr, ptr %15, align 8, !tbaa !5
  %2142 = getelementptr inbounds %union.YYSTYPE, ptr %2141, i64 -1
  %2143 = getelementptr inbounds %struct.anon.0, ptr %2142, i32 0, i32 0
  %2144 = load ptr, ptr %15, align 8, !tbaa !5
  %2145 = getelementptr inbounds %union.YYSTYPE, ptr %2144, i64 -2
  %2146 = getelementptr inbounds %struct.anon.0, ptr %2145, i32 0, i32 2
  %2147 = load ptr, ptr %2146, align 8, !tbaa !10
  %2148 = load ptr, ptr %2147, align 8, !tbaa !19
  %2149 = getelementptr inbounds ptr, ptr %2148, i64 30
  %2150 = load ptr, ptr %2149, align 8
  %2151 = call noundef nonnull align 8 dereferenceable(144) ptr %2150(ptr noundef nonnull align 8 dereferenceable(176) %2147)
  call void @_ZN7glslang13TParseContext19specializationCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %2140, ptr noundef nonnull align 8 dereferenceable(24) %2143, ptr noundef nonnull align 8 dereferenceable(144) %2151, ptr noundef @.str.52)
  %2152 = load ptr, ptr %3, align 8, !tbaa !5
  %2153 = load ptr, ptr %15, align 8, !tbaa !5
  %2154 = getelementptr inbounds %union.YYSTYPE, ptr %2153, i64 -1
  %2155 = getelementptr inbounds %struct.anon.0, ptr %2154, i32 0, i32 0
  %2156 = load ptr, ptr %15, align 8, !tbaa !5
  %2157 = getelementptr inbounds %union.YYSTYPE, ptr %2156, i64 -2
  %2158 = getelementptr inbounds %struct.anon.0, ptr %2157, i32 0, i32 2
  %2159 = load ptr, ptr %2158, align 8, !tbaa !10
  %2160 = load ptr, ptr %2152, align 8, !tbaa !19
  %2161 = getelementptr inbounds ptr, ptr %2160, i64 63
  %2162 = load ptr, ptr %2161, align 8
  %2163 = call noundef zeroext i1 %2162(ptr noundef nonnull align 8 dereferenceable(24912) %2152, ptr noundef nonnull align 8 dereferenceable(24) %2155, ptr noundef @.str.53, ptr noundef %2159)
  %2164 = load ptr, ptr %3, align 8, !tbaa !5
  %2165 = load ptr, ptr %15, align 8, !tbaa !5
  %2166 = getelementptr inbounds %union.YYSTYPE, ptr %2165, i64 -1
  %2167 = getelementptr inbounds %struct.anon.0, ptr %2166, i32 0, i32 0
  %2168 = load ptr, ptr %15, align 8, !tbaa !5
  %2169 = getelementptr inbounds %union.YYSTYPE, ptr %2168, i64 0
  %2170 = getelementptr inbounds %struct.anon.0, ptr %2169, i32 0, i32 2
  %2171 = load ptr, ptr %2170, align 8, !tbaa !10
  %2172 = load ptr, ptr %2164, align 8, !tbaa !19
  %2173 = getelementptr inbounds ptr, ptr %2172, i64 64
  %2174 = load ptr, ptr %2173, align 8
  call void %2174(ptr noundef nonnull align 8 dereferenceable(24912) %2164, ptr noundef nonnull align 8 dereferenceable(24) %2167, ptr noundef @.str.53, ptr noundef %2171)
  %2175 = load ptr, ptr %3, align 8, !tbaa !5
  %2176 = load ptr, ptr %15, align 8, !tbaa !5
  %2177 = getelementptr inbounds %union.YYSTYPE, ptr %2176, i64 -1
  %2178 = getelementptr inbounds %struct.anon.0, ptr %2177, i32 0, i32 0
  %2179 = load ptr, ptr %15, align 8, !tbaa !5
  %2180 = getelementptr inbounds %union.YYSTYPE, ptr %2179, i64 -1
  %2181 = getelementptr inbounds %struct.anon.0, ptr %2180, i32 0, i32 1
  %2182 = load i32, ptr %2181, align 8, !tbaa !10
  %2183 = load ptr, ptr %15, align 8, !tbaa !5
  %2184 = getelementptr inbounds %union.YYSTYPE, ptr %2183, i64 -2
  %2185 = getelementptr inbounds %struct.anon.0, ptr %2184, i32 0, i32 2
  %2186 = load ptr, ptr %2185, align 8, !tbaa !10
  %2187 = load ptr, ptr %15, align 8, !tbaa !5
  %2188 = getelementptr inbounds %union.YYSTYPE, ptr %2187, i64 0
  %2189 = getelementptr inbounds %struct.anon.0, ptr %2188, i32 0, i32 2
  %2190 = load ptr, ptr %2189, align 8, !tbaa !10
  %2191 = call noundef ptr @_ZN7glslang13TParseContext9addAssignERKNS_10TSourceLocENS_9TOperatorEPNS_12TIntermTypedES6_(ptr noundef nonnull align 8 dereferenceable(24912) %2175, ptr noundef nonnull align 8 dereferenceable(24) %2178, i32 noundef %2182, ptr noundef %2186, ptr noundef %2190)
  %2192 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2191, ptr %2192, align 8, !tbaa !10
  %2193 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %2194 = load ptr, ptr %2193, align 8, !tbaa !10
  %2195 = icmp eq ptr %2194, null
  br i1 %2195, label %2196, label %2234

2196:                                             ; preds = %2103
  %2197 = load ptr, ptr %3, align 8, !tbaa !5
  %2198 = load ptr, ptr %15, align 8, !tbaa !5
  %2199 = getelementptr inbounds %union.YYSTYPE, ptr %2198, i64 -1
  %2200 = getelementptr inbounds %struct.anon.0, ptr %2199, i32 0, i32 0
  %2201 = load ptr, ptr %15, align 8, !tbaa !5
  %2202 = getelementptr inbounds %union.YYSTYPE, ptr %2201, i64 -2
  %2203 = getelementptr inbounds %struct.anon.0, ptr %2202, i32 0, i32 2
  %2204 = load ptr, ptr %2203, align 8, !tbaa !10
  %2205 = load ptr, ptr %3, align 8, !tbaa !5
  %2206 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %2205, i32 0, i32 7
  %2207 = load ptr, ptr %2206, align 8, !tbaa !21
  %2208 = call noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %2207)
  call void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(176) %2204, i1 noundef zeroext %2208)
  %2209 = load ptr, ptr %15, align 8, !tbaa !5
  %2210 = getelementptr inbounds %union.YYSTYPE, ptr %2209, i64 0
  %2211 = getelementptr inbounds %struct.anon.0, ptr %2210, i32 0, i32 2
  %2212 = load ptr, ptr %2211, align 8, !tbaa !10
  %2213 = load ptr, ptr %3, align 8, !tbaa !5
  %2214 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %2213, i32 0, i32 7
  %2215 = load ptr, ptr %2214, align 8, !tbaa !21
  %2216 = invoke noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %2215)
          to label %2217 unwind label %2225

2217:                                             ; preds = %2196
  invoke void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(176) %2212, i1 noundef zeroext %2216)
          to label %2218 unwind label %2225

2218:                                             ; preds = %2217
  invoke void @_ZN7glslang13TParseContext11assignErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912) %2197, ptr noundef nonnull align 8 dereferenceable(24) %2200, ptr noundef @.str.53, ptr noundef %48, ptr noundef %49)
          to label %2219 unwind label %2229

2219:                                             ; preds = %2218
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %48) #10
  %2220 = load ptr, ptr %15, align 8, !tbaa !5
  %2221 = getelementptr inbounds %union.YYSTYPE, ptr %2220, i64 -2
  %2222 = getelementptr inbounds %struct.anon.0, ptr %2221, i32 0, i32 2
  %2223 = load ptr, ptr %2222, align 8, !tbaa !10
  %2224 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2223, ptr %2224, align 8, !tbaa !10
  br label %2234

2225:                                             ; preds = %2217, %2196
  %2226 = landingpad { ptr, i32 }
          cleanup
  %2227 = extractvalue { ptr, i32 } %2226, 0
  store ptr %2227, ptr %31, align 8
  %2228 = extractvalue { ptr, i32 } %2226, 1
  store i32 %2228, ptr %32, align 4
  br label %2233

2229:                                             ; preds = %2218
  %2230 = landingpad { ptr, i32 }
          cleanup
  %2231 = extractvalue { ptr, i32 } %2230, 0
  store ptr %2231, ptr %31, align 8
  %2232 = extractvalue { ptr, i32 } %2230, 1
  store i32 %2232, ptr %32, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %49) #10
  br label %2233

2233:                                             ; preds = %2229, %2225
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %48) #10
  br label %14723

2234:                                             ; preds = %2219, %2103
  br label %14379

2235:                                             ; preds = %406
  %2236 = load ptr, ptr %15, align 8, !tbaa !5
  %2237 = getelementptr inbounds %union.YYSTYPE, ptr %2236, i64 0
  %2238 = getelementptr inbounds %struct.anon, ptr %2237, i32 0, i32 0
  %2239 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2239, ptr align 8 %2238, i64 24, i1 false), !tbaa.struct !98
  %2240 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 575, ptr %2240, align 8, !tbaa !10
  br label %14379

2241:                                             ; preds = %406
  %2242 = load ptr, ptr %15, align 8, !tbaa !5
  %2243 = getelementptr inbounds %union.YYSTYPE, ptr %2242, i64 0
  %2244 = getelementptr inbounds %struct.anon, ptr %2243, i32 0, i32 0
  %2245 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2245, ptr align 8 %2244, i64 24, i1 false), !tbaa.struct !98
  %2246 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 578, ptr %2246, align 8, !tbaa !10
  br label %14379

2247:                                             ; preds = %406
  %2248 = load ptr, ptr %15, align 8, !tbaa !5
  %2249 = getelementptr inbounds %union.YYSTYPE, ptr %2248, i64 0
  %2250 = getelementptr inbounds %struct.anon, ptr %2249, i32 0, i32 0
  %2251 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2251, ptr align 8 %2250, i64 24, i1 false), !tbaa.struct !98
  %2252 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 583, ptr %2252, align 8, !tbaa !10
  br label %14379

2253:                                             ; preds = %406
  %2254 = load ptr, ptr %3, align 8, !tbaa !5
  %2255 = load ptr, ptr %15, align 8, !tbaa !5
  %2256 = getelementptr inbounds %union.YYSTYPE, ptr %2255, i64 0
  %2257 = getelementptr inbounds %struct.anon, ptr %2256, i32 0, i32 0
  %2258 = load ptr, ptr %2254, align 8, !tbaa !19
  %2259 = getelementptr inbounds ptr, ptr %2258, i64 15
  %2260 = load ptr, ptr %2259, align 8
  call void %2260(ptr noundef nonnull align 8 dereferenceable(192) %2254, ptr noundef nonnull align 8 dereferenceable(24) %2257, ptr noundef @.str.54)
  %2261 = load ptr, ptr %15, align 8, !tbaa !5
  %2262 = getelementptr inbounds %union.YYSTYPE, ptr %2261, i64 0
  %2263 = getelementptr inbounds %struct.anon, ptr %2262, i32 0, i32 0
  %2264 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2264, ptr align 8 %2263, i64 24, i1 false), !tbaa.struct !98
  %2265 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 584, ptr %2265, align 8, !tbaa !10
  br label %14379

2266:                                             ; preds = %406
  %2267 = load ptr, ptr %15, align 8, !tbaa !5
  %2268 = getelementptr inbounds %union.YYSTYPE, ptr %2267, i64 0
  %2269 = getelementptr inbounds %struct.anon, ptr %2268, i32 0, i32 0
  %2270 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2270, ptr align 8 %2269, i64 24, i1 false), !tbaa.struct !98
  %2271 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 576, ptr %2271, align 8, !tbaa !10
  br label %14379

2272:                                             ; preds = %406
  %2273 = load ptr, ptr %15, align 8, !tbaa !5
  %2274 = getelementptr inbounds %union.YYSTYPE, ptr %2273, i64 0
  %2275 = getelementptr inbounds %struct.anon, ptr %2274, i32 0, i32 0
  %2276 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2276, ptr align 8 %2275, i64 24, i1 false), !tbaa.struct !98
  %2277 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 577, ptr %2277, align 8, !tbaa !10
  br label %14379

2278:                                             ; preds = %406
  %2279 = load ptr, ptr %3, align 8, !tbaa !5
  %2280 = load ptr, ptr %15, align 8, !tbaa !5
  %2281 = getelementptr inbounds %union.YYSTYPE, ptr %2280, i64 0
  %2282 = getelementptr inbounds %struct.anon, ptr %2281, i32 0, i32 0
  %2283 = load ptr, ptr %2279, align 8, !tbaa !19
  %2284 = getelementptr inbounds ptr, ptr %2283, i64 15
  %2285 = load ptr, ptr %2284, align 8
  call void %2285(ptr noundef nonnull align 8 dereferenceable(192) %2279, ptr noundef nonnull align 8 dereferenceable(24) %2282, ptr noundef @.str.55)
  %2286 = load ptr, ptr %15, align 8, !tbaa !5
  %2287 = getelementptr inbounds %union.YYSTYPE, ptr %2286, i64 0
  %2288 = getelementptr inbounds %struct.anon, ptr %2287, i32 0, i32 0
  %2289 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2289, ptr align 8 %2288, i64 24, i1 false), !tbaa.struct !98
  %2290 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 588, ptr %2290, align 8, !tbaa !10
  br label %14379

2291:                                             ; preds = %406
  %2292 = load ptr, ptr %3, align 8, !tbaa !5
  %2293 = load ptr, ptr %15, align 8, !tbaa !5
  %2294 = getelementptr inbounds %union.YYSTYPE, ptr %2293, i64 0
  %2295 = getelementptr inbounds %struct.anon, ptr %2294, i32 0, i32 0
  %2296 = load ptr, ptr %2292, align 8, !tbaa !19
  %2297 = getelementptr inbounds ptr, ptr %2296, i64 15
  %2298 = load ptr, ptr %2297, align 8
  call void %2298(ptr noundef nonnull align 8 dereferenceable(192) %2292, ptr noundef nonnull align 8 dereferenceable(24) %2295, ptr noundef @.str.56)
  %2299 = load ptr, ptr %15, align 8, !tbaa !5
  %2300 = getelementptr inbounds %union.YYSTYPE, ptr %2299, i64 0
  %2301 = getelementptr inbounds %struct.anon, ptr %2300, i32 0, i32 0
  %2302 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2302, ptr align 8 %2301, i64 24, i1 false), !tbaa.struct !98
  %2303 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 589, ptr %2303, align 8, !tbaa !10
  br label %14379

2304:                                             ; preds = %406
  %2305 = load ptr, ptr %3, align 8, !tbaa !5
  %2306 = load ptr, ptr %15, align 8, !tbaa !5
  %2307 = getelementptr inbounds %union.YYSTYPE, ptr %2306, i64 0
  %2308 = getelementptr inbounds %struct.anon, ptr %2307, i32 0, i32 0
  %2309 = load ptr, ptr %2305, align 8, !tbaa !19
  %2310 = getelementptr inbounds ptr, ptr %2309, i64 15
  %2311 = load ptr, ptr %2310, align 8
  call void %2311(ptr noundef nonnull align 8 dereferenceable(192) %2305, ptr noundef nonnull align 8 dereferenceable(24) %2308, ptr noundef @.str.57)
  %2312 = load ptr, ptr %15, align 8, !tbaa !5
  %2313 = getelementptr inbounds %union.YYSTYPE, ptr %2312, i64 0
  %2314 = getelementptr inbounds %struct.anon, ptr %2313, i32 0, i32 0
  %2315 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2315, ptr align 8 %2314, i64 24, i1 false), !tbaa.struct !98
  %2316 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 585, ptr %2316, align 8, !tbaa !10
  br label %14379

2317:                                             ; preds = %406
  %2318 = load ptr, ptr %3, align 8, !tbaa !5
  %2319 = load ptr, ptr %15, align 8, !tbaa !5
  %2320 = getelementptr inbounds %union.YYSTYPE, ptr %2319, i64 0
  %2321 = getelementptr inbounds %struct.anon, ptr %2320, i32 0, i32 0
  %2322 = load ptr, ptr %2318, align 8, !tbaa !19
  %2323 = getelementptr inbounds ptr, ptr %2322, i64 15
  %2324 = load ptr, ptr %2323, align 8
  call void %2324(ptr noundef nonnull align 8 dereferenceable(192) %2318, ptr noundef nonnull align 8 dereferenceable(24) %2321, ptr noundef @.str.58)
  %2325 = load ptr, ptr %15, align 8, !tbaa !5
  %2326 = getelementptr inbounds %union.YYSTYPE, ptr %2325, i64 0
  %2327 = getelementptr inbounds %struct.anon, ptr %2326, i32 0, i32 0
  %2328 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2328, ptr align 8 %2327, i64 24, i1 false), !tbaa.struct !98
  %2329 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 587, ptr %2329, align 8, !tbaa !10
  br label %14379

2330:                                             ; preds = %406
  %2331 = load ptr, ptr %3, align 8, !tbaa !5
  %2332 = load ptr, ptr %15, align 8, !tbaa !5
  %2333 = getelementptr inbounds %union.YYSTYPE, ptr %2332, i64 0
  %2334 = getelementptr inbounds %struct.anon, ptr %2333, i32 0, i32 0
  %2335 = load ptr, ptr %2331, align 8, !tbaa !19
  %2336 = getelementptr inbounds ptr, ptr %2335, i64 15
  %2337 = load ptr, ptr %2336, align 8
  call void %2337(ptr noundef nonnull align 8 dereferenceable(192) %2331, ptr noundef nonnull align 8 dereferenceable(24) %2334, ptr noundef @.str.59)
  %2338 = load ptr, ptr %15, align 8, !tbaa !5
  %2339 = getelementptr inbounds %union.YYSTYPE, ptr %2338, i64 0
  %2340 = getelementptr inbounds %struct.anon, ptr %2339, i32 0, i32 0
  %2341 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2341, ptr align 8 %2340, i64 24, i1 false), !tbaa.struct !98
  %2342 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 1
  store i32 586, ptr %2342, align 8, !tbaa !10
  br label %14379

2343:                                             ; preds = %406
  %2344 = load ptr, ptr %15, align 8, !tbaa !5
  %2345 = getelementptr inbounds %union.YYSTYPE, ptr %2344, i64 0
  %2346 = getelementptr inbounds %struct.anon.0, ptr %2345, i32 0, i32 2
  %2347 = load ptr, ptr %2346, align 8, !tbaa !10
  %2348 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2347, ptr %2348, align 8, !tbaa !10
  br label %14379

2349:                                             ; preds = %406
  %2350 = load ptr, ptr %3, align 8, !tbaa !5
  %2351 = load ptr, ptr %15, align 8, !tbaa !5
  %2352 = getelementptr inbounds %union.YYSTYPE, ptr %2351, i64 -1
  %2353 = getelementptr inbounds %struct.anon, ptr %2352, i32 0, i32 0
  %2354 = load ptr, ptr %15, align 8, !tbaa !5
  %2355 = getelementptr inbounds %union.YYSTYPE, ptr %2354, i64 0
  %2356 = getelementptr inbounds %struct.anon.0, ptr %2355, i32 0, i32 2
  %2357 = load ptr, ptr %2356, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext31samplerConstructorLocationCheckERKNS_10TSourceLocEPKcP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %2350, ptr noundef nonnull align 8 dereferenceable(24) %2353, ptr noundef @.str.60, ptr noundef %2357)
  %2358 = load ptr, ptr %3, align 8, !tbaa !5
  %2359 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %2358, i32 0, i32 7
  %2360 = load ptr, ptr %2359, align 8, !tbaa !21
  %2361 = load ptr, ptr %15, align 8, !tbaa !5
  %2362 = getelementptr inbounds %union.YYSTYPE, ptr %2361, i64 -2
  %2363 = getelementptr inbounds %struct.anon.0, ptr %2362, i32 0, i32 2
  %2364 = load ptr, ptr %2363, align 8, !tbaa !10
  %2365 = load ptr, ptr %15, align 8, !tbaa !5
  %2366 = getelementptr inbounds %union.YYSTYPE, ptr %2365, i64 0
  %2367 = getelementptr inbounds %struct.anon.0, ptr %2366, i32 0, i32 2
  %2368 = load ptr, ptr %2367, align 8, !tbaa !10
  %2369 = load ptr, ptr %15, align 8, !tbaa !5
  %2370 = getelementptr inbounds %union.YYSTYPE, ptr %2369, i64 -1
  %2371 = getelementptr inbounds %struct.anon, ptr %2370, i32 0, i32 0
  %2372 = call noundef ptr @_ZN7glslang13TIntermediate8addCommaEPNS_12TIntermTypedES2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %2360, ptr noundef %2364, ptr noundef %2368, ptr noundef nonnull align 8 dereferenceable(24) %2371)
  %2373 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2372, ptr %2373, align 8, !tbaa !10
  %2374 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %2375 = load ptr, ptr %2374, align 8, !tbaa !10
  %2376 = icmp eq ptr %2375, null
  br i1 %2376, label %2377, label %2415

2377:                                             ; preds = %2349
  %2378 = load ptr, ptr %3, align 8, !tbaa !5
  %2379 = load ptr, ptr %15, align 8, !tbaa !5
  %2380 = getelementptr inbounds %union.YYSTYPE, ptr %2379, i64 -1
  %2381 = getelementptr inbounds %struct.anon, ptr %2380, i32 0, i32 0
  %2382 = load ptr, ptr %15, align 8, !tbaa !5
  %2383 = getelementptr inbounds %union.YYSTYPE, ptr %2382, i64 -2
  %2384 = getelementptr inbounds %struct.anon.0, ptr %2383, i32 0, i32 2
  %2385 = load ptr, ptr %2384, align 8, !tbaa !10
  %2386 = load ptr, ptr %3, align 8, !tbaa !5
  %2387 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %2386, i32 0, i32 7
  %2388 = load ptr, ptr %2387, align 8, !tbaa !21
  %2389 = call noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %2388)
  call void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(176) %2385, i1 noundef zeroext %2389)
  %2390 = load ptr, ptr %15, align 8, !tbaa !5
  %2391 = getelementptr inbounds %union.YYSTYPE, ptr %2390, i64 0
  %2392 = getelementptr inbounds %struct.anon.0, ptr %2391, i32 0, i32 2
  %2393 = load ptr, ptr %2392, align 8, !tbaa !10
  %2394 = load ptr, ptr %3, align 8, !tbaa !5
  %2395 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %2394, i32 0, i32 7
  %2396 = load ptr, ptr %2395, align 8, !tbaa !21
  %2397 = invoke noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %2396)
          to label %2398 unwind label %2406

2398:                                             ; preds = %2377
  invoke void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull align 8 dereferenceable(176) %2393, i1 noundef zeroext %2397)
          to label %2399 unwind label %2406

2399:                                             ; preds = %2398
  invoke void @_ZN7glslang13TParseContext13binaryOpErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912) %2378, ptr noundef nonnull align 8 dereferenceable(24) %2381, ptr noundef @.str.60, ptr noundef %50, ptr noundef %51)
          to label %2400 unwind label %2410

2400:                                             ; preds = %2399
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #10
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #10
  %2401 = load ptr, ptr %15, align 8, !tbaa !5
  %2402 = getelementptr inbounds %union.YYSTYPE, ptr %2401, i64 0
  %2403 = getelementptr inbounds %struct.anon.0, ptr %2402, i32 0, i32 2
  %2404 = load ptr, ptr %2403, align 8, !tbaa !10
  %2405 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2404, ptr %2405, align 8, !tbaa !10
  br label %2415

2406:                                             ; preds = %2398, %2377
  %2407 = landingpad { ptr, i32 }
          cleanup
  %2408 = extractvalue { ptr, i32 } %2407, 0
  store ptr %2408, ptr %31, align 8
  %2409 = extractvalue { ptr, i32 } %2407, 1
  store i32 %2409, ptr %32, align 4
  br label %2414

2410:                                             ; preds = %2399
  %2411 = landingpad { ptr, i32 }
          cleanup
  %2412 = extractvalue { ptr, i32 } %2411, 0
  store ptr %2412, ptr %31, align 8
  %2413 = extractvalue { ptr, i32 } %2411, 1
  store i32 %2413, ptr %32, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %51) #10
  br label %2414

2414:                                             ; preds = %2410, %2406
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #10
  br label %14723

2415:                                             ; preds = %2400, %2349
  br label %14379

2416:                                             ; preds = %406
  %2417 = load ptr, ptr %3, align 8, !tbaa !5
  %2418 = load ptr, ptr %15, align 8, !tbaa !5
  %2419 = getelementptr inbounds %union.YYSTYPE, ptr %2418, i64 0
  %2420 = getelementptr inbounds %struct.anon.0, ptr %2419, i32 0, i32 2
  %2421 = load ptr, ptr %2420, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18constantValueCheckEPNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %2417, ptr noundef %2421, ptr noundef @.str.21)
  %2422 = load ptr, ptr %15, align 8, !tbaa !5
  %2423 = getelementptr inbounds %union.YYSTYPE, ptr %2422, i64 0
  %2424 = getelementptr inbounds %struct.anon.0, ptr %2423, i32 0, i32 2
  %2425 = load ptr, ptr %2424, align 8, !tbaa !10
  %2426 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2425, ptr %2426, align 8, !tbaa !10
  br label %14379

2427:                                             ; preds = %406
  %2428 = load ptr, ptr %3, align 8, !tbaa !5
  %2429 = load ptr, ptr %15, align 8, !tbaa !5
  %2430 = getelementptr inbounds %union.YYSTYPE, ptr %2429, i64 -1
  %2431 = getelementptr inbounds %struct.anon.0, ptr %2430, i32 0, i32 0
  %2432 = load ptr, ptr %15, align 8, !tbaa !5
  %2433 = getelementptr inbounds %union.YYSTYPE, ptr %2432, i64 -1
  %2434 = getelementptr inbounds %struct.anon.0, ptr %2433, i32 0, i32 3
  %2435 = load ptr, ptr %2434, align 8, !tbaa !10
  %2436 = call noundef ptr @_ZN7glslang13TParseContext24handleFunctionDeclaratorERKNS_10TSourceLocERNS_9TFunctionEb(ptr noundef nonnull align 8 dereferenceable(24912) %2428, ptr noundef nonnull align 8 dereferenceable(24) %2431, ptr noundef nonnull align 8 dereferenceable(328) %2435, i1 noundef zeroext true)
  %2437 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2437, align 8, !tbaa !10
  br label %14379

2438:                                             ; preds = %406
  %2439 = load ptr, ptr %3, align 8, !tbaa !5
  %2440 = load ptr, ptr %15, align 8, !tbaa !5
  %2441 = getelementptr inbounds %union.YYSTYPE, ptr %2440, i64 -1
  %2442 = getelementptr inbounds %struct.anon.0, ptr %2441, i32 0, i32 0
  %2443 = load ptr, ptr %2439, align 8, !tbaa !19
  %2444 = getelementptr inbounds ptr, ptr %2443, i64 5
  %2445 = load ptr, ptr %2444, align 8
  call void %2445(ptr noundef nonnull align 8 dereferenceable(192) %2439, ptr noundef nonnull align 8 dereferenceable(24) %2442, i32 noundef 1, ptr noundef @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef @.str.61)
  %2446 = load ptr, ptr %15, align 8, !tbaa !5
  %2447 = getelementptr inbounds %union.YYSTYPE, ptr %2446, i64 -1
  %2448 = getelementptr inbounds %struct.anon.0, ptr %2447, i32 0, i32 3
  %2449 = load ptr, ptr %2448, align 8, !tbaa !10
  %2450 = load ptr, ptr %15, align 8, !tbaa !5
  %2451 = getelementptr inbounds %union.YYSTYPE, ptr %2450, i64 -2
  %2452 = getelementptr inbounds %struct.anon.0, ptr %2451, i32 0, i32 2
  %2453 = load ptr, ptr %2452, align 8, !tbaa !10
  %2454 = load ptr, ptr %2449, align 8, !tbaa !19
  %2455 = getelementptr inbounds ptr, ptr %2454, i64 41
  %2456 = load ptr, ptr %2455, align 8
  call void %2456(ptr noundef nonnull align 8 dereferenceable(328) %2449, ptr noundef nonnull align 8 dereferenceable(44) %2453)
  %2457 = load ptr, ptr %3, align 8, !tbaa !5
  %2458 = load ptr, ptr %15, align 8, !tbaa !5
  %2459 = getelementptr inbounds %union.YYSTYPE, ptr %2458, i64 -1
  %2460 = getelementptr inbounds %struct.anon.0, ptr %2459, i32 0, i32 0
  %2461 = load ptr, ptr %15, align 8, !tbaa !5
  %2462 = getelementptr inbounds %union.YYSTYPE, ptr %2461, i64 -1
  %2463 = getelementptr inbounds %struct.anon.0, ptr %2462, i32 0, i32 3
  %2464 = load ptr, ptr %2463, align 8, !tbaa !10
  %2465 = call noundef ptr @_ZN7glslang13TParseContext24handleFunctionDeclaratorERKNS_10TSourceLocERNS_9TFunctionEb(ptr noundef nonnull align 8 dereferenceable(24912) %2457, ptr noundef nonnull align 8 dereferenceable(24) %2460, ptr noundef nonnull align 8 dereferenceable(328) %2464, i1 noundef zeroext true)
  %2466 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2466, align 8, !tbaa !10
  br label %14379

2467:                                             ; preds = %406
  %2468 = load ptr, ptr %3, align 8, !tbaa !5
  %2469 = load ptr, ptr %15, align 8, !tbaa !5
  %2470 = getelementptr inbounds %union.YYSTYPE, ptr %2469, i64 0
  %2471 = getelementptr inbounds %struct.anon, ptr %2470, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %2468, ptr noundef nonnull align 8 dereferenceable(24) %2471, ptr noundef @.str.62)
  %2472 = load ptr, ptr %3, align 8, !tbaa !5
  %2473 = load ptr, ptr %15, align 8, !tbaa !5
  %2474 = getelementptr inbounds %union.YYSTYPE, ptr %2473, i64 0
  %2475 = getelementptr inbounds %struct.anon, ptr %2474, i32 0, i32 0
  %2476 = load ptr, ptr %2472, align 8, !tbaa !19
  %2477 = getelementptr inbounds ptr, ptr %2476, i64 5
  %2478 = load ptr, ptr %2477, align 8
  call void %2478(ptr noundef nonnull align 8 dereferenceable(192) %2472, ptr noundef nonnull align 8 dereferenceable(24) %2475, i32 noundef 1, ptr noundef @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef @.str.62)
  %2479 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2479, align 8, !tbaa !10
  br label %14379

2480:                                             ; preds = %406
  %2481 = load ptr, ptr %15, align 8, !tbaa !5
  %2482 = getelementptr inbounds %union.YYSTYPE, ptr %2481, i64 -1
  %2483 = getelementptr inbounds %struct.anon.0, ptr %2482, i32 0, i32 2
  %2484 = load ptr, ptr %2483, align 8, !tbaa !10
  %2485 = icmp ne ptr %2484, null
  br i1 %2485, label %2486, label %2508

2486:                                             ; preds = %2480
  %2487 = load ptr, ptr %15, align 8, !tbaa !5
  %2488 = getelementptr inbounds %union.YYSTYPE, ptr %2487, i64 -1
  %2489 = getelementptr inbounds %struct.anon.0, ptr %2488, i32 0, i32 2
  %2490 = load ptr, ptr %2489, align 8, !tbaa !10
  %2491 = load ptr, ptr %2490, align 8, !tbaa !19
  %2492 = getelementptr inbounds ptr, ptr %2491, i64 6
  %2493 = load ptr, ptr %2492, align 8
  %2494 = call noundef ptr %2493(ptr noundef nonnull align 8 dereferenceable(32) %2490)
  %2495 = icmp ne ptr %2494, null
  br i1 %2495, label %2496, label %2508

2496:                                             ; preds = %2486
  %2497 = load ptr, ptr %15, align 8, !tbaa !5
  %2498 = getelementptr inbounds %union.YYSTYPE, ptr %2497, i64 -1
  %2499 = getelementptr inbounds %struct.anon.0, ptr %2498, i32 0, i32 2
  %2500 = load ptr, ptr %2499, align 8, !tbaa !10
  %2501 = load ptr, ptr %2500, align 8, !tbaa !19
  %2502 = getelementptr inbounds ptr, ptr %2501, i64 6
  %2503 = load ptr, ptr %2502, align 8
  %2504 = call noundef ptr %2503(ptr noundef nonnull align 8 dereferenceable(32) %2500)
  %2505 = load ptr, ptr %2504, align 8, !tbaa !19
  %2506 = getelementptr inbounds ptr, ptr %2505, i64 49
  %2507 = load ptr, ptr %2506, align 8
  call void %2507(ptr noundef nonnull align 8 dereferenceable(352) %2504, i32 noundef 1)
  br label %2508

2508:                                             ; preds = %2496, %2486, %2480
  %2509 = load ptr, ptr %15, align 8, !tbaa !5
  %2510 = getelementptr inbounds %union.YYSTYPE, ptr %2509, i64 -1
  %2511 = getelementptr inbounds %struct.anon.0, ptr %2510, i32 0, i32 2
  %2512 = load ptr, ptr %2511, align 8, !tbaa !10
  %2513 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %2512, ptr %2513, align 8, !tbaa !10
  br label %14379

2514:                                             ; preds = %406
  %2515 = load ptr, ptr %3, align 8, !tbaa !5
  %2516 = load ptr, ptr %15, align 8, !tbaa !5
  %2517 = getelementptr inbounds %union.YYSTYPE, ptr %2516, i64 -3
  %2518 = getelementptr inbounds %struct.anon, ptr %2517, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %2515, ptr noundef nonnull align 8 dereferenceable(24) %2518, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef @.str.63)
  %2519 = load ptr, ptr %3, align 8, !tbaa !5
  %2520 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %2519, i32 0, i32 2
  %2521 = load ptr, ptr %2520, align 8, !tbaa !45
  %2522 = load ptr, ptr %3, align 8, !tbaa !5
  %2523 = getelementptr inbounds %"class.glslang::TParseContext", ptr %2522, i32 0, i32 4
  %2524 = getelementptr inbounds [22 x i32], ptr %2523, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable28setPreviousDefaultPrecisionsEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %2521, ptr noundef %2524)
  %2525 = load ptr, ptr %3, align 8, !tbaa !5
  %2526 = load ptr, ptr %15, align 8, !tbaa !5
  %2527 = getelementptr inbounds %union.YYSTYPE, ptr %2526, i64 -3
  %2528 = getelementptr inbounds %struct.anon, ptr %2527, i32 0, i32 0
  %2529 = load ptr, ptr %15, align 8, !tbaa !5
  %2530 = getelementptr inbounds %union.YYSTYPE, ptr %2529, i64 -1
  %2531 = getelementptr inbounds %struct.anon.0, ptr %2530, i32 0, i32 3
  %2532 = load ptr, ptr %15, align 8, !tbaa !5
  %2533 = getelementptr inbounds %union.YYSTYPE, ptr %2532, i64 -2
  %2534 = getelementptr inbounds %struct.anon.0, ptr %2533, i32 0, i32 3
  %2535 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2534, i32 0, i32 2
  %2536 = getelementptr inbounds %"class.glslang::TQualifier", ptr %2535, i32 0, i32 1
  %2537 = load i64, ptr %2536, align 8
  %2538 = lshr i64 %2537, 24
  %2539 = and i64 %2538, 7
  %2540 = trunc i64 %2539 to i32
  call void @_ZN7glslang13TParseContext19setDefaultPrecisionERKNS_10TSourceLocERNS_11TPublicTypeENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %2525, ptr noundef nonnull align 8 dereferenceable(24) %2528, ptr noundef nonnull align 8 dereferenceable(232) %2531, i32 noundef %2540)
  %2541 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2541, align 8, !tbaa !10
  br label %14379

2542:                                             ; preds = %406
  %2543 = load ptr, ptr %3, align 8, !tbaa !5
  %2544 = load ptr, ptr %15, align 8, !tbaa !5
  %2545 = getelementptr inbounds %union.YYSTYPE, ptr %2544, i64 -1
  %2546 = getelementptr inbounds %struct.anon.0, ptr %2545, i32 0, i32 0
  %2547 = load ptr, ptr %15, align 8, !tbaa !5
  %2548 = getelementptr inbounds %union.YYSTYPE, ptr %2547, i64 -1
  %2549 = getelementptr inbounds %struct.anon.0, ptr %2548, i32 0, i32 3
  %2550 = load ptr, ptr %2549, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext12declareBlockERKNS_10TSourceLocERNS_7TVectorINS_8TTypeLocEEEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %2543, ptr noundef nonnull align 8 dereferenceable(24) %2546, ptr noundef nonnull align 8 dereferenceable(32) %2550, ptr noundef null, ptr noundef null)
  %2551 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2551, align 8, !tbaa !10
  br label %14379

2552:                                             ; preds = %406
  %2553 = load ptr, ptr %3, align 8, !tbaa !5
  %2554 = load ptr, ptr %15, align 8, !tbaa !5
  %2555 = getelementptr inbounds %union.YYSTYPE, ptr %2554, i64 -2
  %2556 = getelementptr inbounds %struct.anon.0, ptr %2555, i32 0, i32 0
  %2557 = load ptr, ptr %15, align 8, !tbaa !5
  %2558 = getelementptr inbounds %union.YYSTYPE, ptr %2557, i64 -2
  %2559 = getelementptr inbounds %struct.anon.0, ptr %2558, i32 0, i32 3
  %2560 = load ptr, ptr %2559, align 8, !tbaa !10
  %2561 = load ptr, ptr %15, align 8, !tbaa !5
  %2562 = getelementptr inbounds %union.YYSTYPE, ptr %2561, i64 -1
  %2563 = getelementptr inbounds %struct.anon, ptr %2562, i32 0, i32 1
  %2564 = load ptr, ptr %2563, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext12declareBlockERKNS_10TSourceLocERNS_7TVectorINS_8TTypeLocEEEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %2553, ptr noundef nonnull align 8 dereferenceable(24) %2556, ptr noundef nonnull align 8 dereferenceable(32) %2560, ptr noundef %2564, ptr noundef null)
  %2565 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2565, align 8, !tbaa !10
  br label %14379

2566:                                             ; preds = %406
  %2567 = load ptr, ptr %3, align 8, !tbaa !5
  %2568 = load ptr, ptr %15, align 8, !tbaa !5
  %2569 = getelementptr inbounds %union.YYSTYPE, ptr %2568, i64 -3
  %2570 = getelementptr inbounds %struct.anon.0, ptr %2569, i32 0, i32 0
  %2571 = load ptr, ptr %15, align 8, !tbaa !5
  %2572 = getelementptr inbounds %union.YYSTYPE, ptr %2571, i64 -3
  %2573 = getelementptr inbounds %struct.anon.0, ptr %2572, i32 0, i32 3
  %2574 = load ptr, ptr %2573, align 8, !tbaa !10
  %2575 = load ptr, ptr %15, align 8, !tbaa !5
  %2576 = getelementptr inbounds %union.YYSTYPE, ptr %2575, i64 -2
  %2577 = getelementptr inbounds %struct.anon, ptr %2576, i32 0, i32 1
  %2578 = load ptr, ptr %2577, align 8, !tbaa !10
  %2579 = load ptr, ptr %15, align 8, !tbaa !5
  %2580 = getelementptr inbounds %union.YYSTYPE, ptr %2579, i64 -1
  %2581 = getelementptr inbounds %struct.anon.0, ptr %2580, i32 0, i32 3
  %2582 = load ptr, ptr %2581, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext12declareBlockERKNS_10TSourceLocERNS_7TVectorINS_8TTypeLocEEEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %2567, ptr noundef nonnull align 8 dereferenceable(24) %2570, ptr noundef nonnull align 8 dereferenceable(32) %2574, ptr noundef %2578, ptr noundef %2582)
  %2583 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2583, align 8, !tbaa !10
  br label %14379

2584:                                             ; preds = %406
  %2585 = load ptr, ptr %3, align 8, !tbaa !5
  %2586 = load ptr, ptr %15, align 8, !tbaa !5
  %2587 = getelementptr inbounds %union.YYSTYPE, ptr %2586, i64 -1
  %2588 = getelementptr inbounds %struct.anon.0, ptr %2587, i32 0, i32 3
  %2589 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2588, i32 0, i32 7
  %2590 = load ptr, ptr %15, align 8, !tbaa !5
  %2591 = getelementptr inbounds %union.YYSTYPE, ptr %2590, i64 -1
  %2592 = getelementptr inbounds %struct.anon.0, ptr %2591, i32 0, i32 3
  %2593 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2592, i32 0, i32 2
  call void @_ZN7glslang13TParseContext23globalQualifierFixCheckERKNS_10TSourceLocERNS_10TQualifierEb(ptr noundef nonnull align 8 dereferenceable(24912) %2585, ptr noundef nonnull align 8 dereferenceable(24) %2589, ptr noundef nonnull align 8 dereferenceable(72) %2593, i1 noundef zeroext false)
  %2594 = load ptr, ptr %3, align 8, !tbaa !5
  %2595 = load ptr, ptr %15, align 8, !tbaa !5
  %2596 = getelementptr inbounds %union.YYSTYPE, ptr %2595, i64 -1
  %2597 = getelementptr inbounds %struct.anon.0, ptr %2596, i32 0, i32 3
  %2598 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2597, i32 0, i32 7
  %2599 = load ptr, ptr %15, align 8, !tbaa !5
  %2600 = getelementptr inbounds %union.YYSTYPE, ptr %2599, i64 -1
  %2601 = getelementptr inbounds %struct.anon.0, ptr %2600, i32 0, i32 3
  call void @_ZN7glslang13TParseContext33updateStandaloneQualifierDefaultsERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %2594, ptr noundef nonnull align 8 dereferenceable(24) %2598, ptr noundef nonnull align 8 dereferenceable(232) %2601)
  %2602 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2602, align 8, !tbaa !10
  br label %14379

2603:                                             ; preds = %406
  %2604 = load ptr, ptr %3, align 8, !tbaa !5
  %2605 = load ptr, ptr %15, align 8, !tbaa !5
  %2606 = getelementptr inbounds %union.YYSTYPE, ptr %2605, i64 -2
  %2607 = getelementptr inbounds %struct.anon.0, ptr %2606, i32 0, i32 3
  %2608 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2607, i32 0, i32 7
  %2609 = load ptr, ptr %15, align 8, !tbaa !5
  %2610 = getelementptr inbounds %union.YYSTYPE, ptr %2609, i64 -2
  %2611 = getelementptr inbounds %struct.anon.0, ptr %2610, i32 0, i32 3
  %2612 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2611, i32 0, i32 3
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %2604, ptr noundef nonnull align 8 dereferenceable(24) %2608, ptr noundef nonnull align 4 dereferenceable(88) %2612)
  %2613 = load ptr, ptr %3, align 8, !tbaa !5
  %2614 = load ptr, ptr %15, align 8, !tbaa !5
  %2615 = getelementptr inbounds %union.YYSTYPE, ptr %2614, i64 -2
  %2616 = getelementptr inbounds %struct.anon.0, ptr %2615, i32 0, i32 3
  %2617 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2616, i32 0, i32 7
  %2618 = load ptr, ptr %15, align 8, !tbaa !5
  %2619 = getelementptr inbounds %union.YYSTYPE, ptr %2618, i64 -2
  %2620 = getelementptr inbounds %struct.anon.0, ptr %2619, i32 0, i32 3
  %2621 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2620, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %52, ptr align 8 %2621, i64 72, i1 false), !tbaa.struct !104
  %2622 = load ptr, ptr %15, align 8, !tbaa !5
  %2623 = getelementptr inbounds %union.YYSTYPE, ptr %2622, i64 -1
  %2624 = getelementptr inbounds %struct.anon, ptr %2623, i32 0, i32 1
  %2625 = load ptr, ptr %2624, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22addQualifierToExistingERKNS_10TSourceLocENS_10TQualifierERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %2613, ptr noundef nonnull align 8 dereferenceable(24) %2617, ptr noundef byval(%"class.glslang::TQualifier") align 8 %52, ptr noundef nonnull align 8 dereferenceable(40) %2625)
  %2626 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2626, align 8, !tbaa !10
  br label %14379

2627:                                             ; preds = %406
  %2628 = load ptr, ptr %3, align 8, !tbaa !5
  %2629 = load ptr, ptr %15, align 8, !tbaa !5
  %2630 = getelementptr inbounds %union.YYSTYPE, ptr %2629, i64 -3
  %2631 = getelementptr inbounds %struct.anon.0, ptr %2630, i32 0, i32 3
  %2632 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2631, i32 0, i32 7
  %2633 = load ptr, ptr %15, align 8, !tbaa !5
  %2634 = getelementptr inbounds %union.YYSTYPE, ptr %2633, i64 -3
  %2635 = getelementptr inbounds %struct.anon.0, ptr %2634, i32 0, i32 3
  %2636 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2635, i32 0, i32 3
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %2628, ptr noundef nonnull align 8 dereferenceable(24) %2632, ptr noundef nonnull align 4 dereferenceable(88) %2636)
  %2637 = load ptr, ptr %15, align 8, !tbaa !5
  %2638 = getelementptr inbounds %union.YYSTYPE, ptr %2637, i64 -1
  %2639 = getelementptr inbounds %struct.anon.0, ptr %2638, i32 0, i32 3
  %2640 = load ptr, ptr %2639, align 8, !tbaa !10
  %2641 = load ptr, ptr %15, align 8, !tbaa !5
  %2642 = getelementptr inbounds %union.YYSTYPE, ptr %2641, i64 -2
  %2643 = getelementptr inbounds %struct.anon, ptr %2642, i32 0, i32 1
  call void @_ZNSt6vectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS5_IS8_EEE9push_backERKS8_(ptr noundef nonnull align 8 dereferenceable(32) %2640, ptr noundef nonnull align 8 dereferenceable(8) %2643)
  %2644 = load ptr, ptr %3, align 8, !tbaa !5
  %2645 = load ptr, ptr %15, align 8, !tbaa !5
  %2646 = getelementptr inbounds %union.YYSTYPE, ptr %2645, i64 -3
  %2647 = getelementptr inbounds %struct.anon.0, ptr %2646, i32 0, i32 3
  %2648 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2647, i32 0, i32 7
  %2649 = load ptr, ptr %15, align 8, !tbaa !5
  %2650 = getelementptr inbounds %union.YYSTYPE, ptr %2649, i64 -3
  %2651 = getelementptr inbounds %struct.anon.0, ptr %2650, i32 0, i32 3
  %2652 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2651, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %53, ptr align 8 %2652, i64 72, i1 false), !tbaa.struct !104
  %2653 = load ptr, ptr %15, align 8, !tbaa !5
  %2654 = getelementptr inbounds %union.YYSTYPE, ptr %2653, i64 -1
  %2655 = getelementptr inbounds %struct.anon.0, ptr %2654, i32 0, i32 3
  %2656 = load ptr, ptr %2655, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22addQualifierToExistingERKNS_10TSourceLocENS_10TQualifierERNS_7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %2644, ptr noundef nonnull align 8 dereferenceable(24) %2648, ptr noundef byval(%"class.glslang::TQualifier") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %2656)
  %2657 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %2657, align 8, !tbaa !10
  br label %14379

2658:                                             ; preds = %406
  %2659 = load ptr, ptr %3, align 8, !tbaa !5
  %2660 = load ptr, ptr %15, align 8, !tbaa !5
  %2661 = getelementptr inbounds %union.YYSTYPE, ptr %2660, i64 -2
  %2662 = getelementptr inbounds %struct.anon.0, ptr %2661, i32 0, i32 3
  %2663 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2662, i32 0, i32 7
  call void @_ZN7glslang13TParseContext16nestedBlockCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912) %2659, ptr noundef nonnull align 8 dereferenceable(24) %2663)
  br label %14379

2664:                                             ; preds = %406
  %2665 = load ptr, ptr %3, align 8, !tbaa !5
  %2666 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %2665, i32 0, i32 6
  %2667 = load i32, ptr %2666, align 4, !tbaa !106
  %2668 = add nsw i32 %2667, -1
  store i32 %2668, ptr %2666, align 4, !tbaa !106
  %2669 = load ptr, ptr %15, align 8, !tbaa !5
  %2670 = getelementptr inbounds %union.YYSTYPE, ptr %2669, i64 -4
  %2671 = getelementptr inbounds %struct.anon, ptr %2670, i32 0, i32 1
  %2672 = load ptr, ptr %2671, align 8, !tbaa !10
  %2673 = load ptr, ptr %3, align 8, !tbaa !5
  %2674 = getelementptr inbounds %"class.glslang::TParseContext", ptr %2673, i32 0, i32 2
  store ptr %2672, ptr %2674, align 8, !tbaa !107
  %2675 = load ptr, ptr %3, align 8, !tbaa !5
  %2676 = load ptr, ptr %15, align 8, !tbaa !5
  %2677 = getelementptr inbounds %union.YYSTYPE, ptr %2676, i64 -5
  %2678 = getelementptr inbounds %struct.anon.0, ptr %2677, i32 0, i32 3
  %2679 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2678, i32 0, i32 7
  %2680 = load ptr, ptr %15, align 8, !tbaa !5
  %2681 = getelementptr inbounds %union.YYSTYPE, ptr %2680, i64 -5
  %2682 = getelementptr inbounds %struct.anon.0, ptr %2681, i32 0, i32 3
  %2683 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2682, i32 0, i32 2
  call void @_ZN7glslang13TParseContext23globalQualifierFixCheckERKNS_10TSourceLocERNS_10TQualifierEb(ptr noundef nonnull align 8 dereferenceable(24912) %2675, ptr noundef nonnull align 8 dereferenceable(24) %2679, ptr noundef nonnull align 8 dereferenceable(72) %2683, i1 noundef zeroext false)
  %2684 = load ptr, ptr %3, align 8, !tbaa !5
  %2685 = load ptr, ptr %15, align 8, !tbaa !5
  %2686 = getelementptr inbounds %union.YYSTYPE, ptr %2685, i64 -5
  %2687 = getelementptr inbounds %struct.anon.0, ptr %2686, i32 0, i32 3
  %2688 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2687, i32 0, i32 7
  %2689 = load ptr, ptr %15, align 8, !tbaa !5
  %2690 = getelementptr inbounds %union.YYSTYPE, ptr %2689, i64 -5
  %2691 = getelementptr inbounds %struct.anon.0, ptr %2690, i32 0, i32 3
  %2692 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2691, i32 0, i32 3
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %2684, ptr noundef nonnull align 8 dereferenceable(24) %2688, ptr noundef nonnull align 4 dereferenceable(88) %2692)
  %2693 = load ptr, ptr %15, align 8, !tbaa !5
  %2694 = getelementptr inbounds %union.YYSTYPE, ptr %2693, i64 -5
  %2695 = getelementptr inbounds %struct.anon.0, ptr %2694, i32 0, i32 3
  %2696 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2695, i32 0, i32 2
  %2697 = load ptr, ptr %3, align 8, !tbaa !5
  %2698 = getelementptr inbounds %"class.glslang::TParseContext", ptr %2697, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2698, ptr align 8 %2696, i64 72, i1 false), !tbaa.struct !104
  %2699 = load ptr, ptr %15, align 8, !tbaa !5
  %2700 = getelementptr inbounds %union.YYSTYPE, ptr %2699, i64 -5
  %2701 = getelementptr inbounds %struct.anon.0, ptr %2700, i32 0, i32 3
  %2702 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2701, i32 0, i32 7
  %2703 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2703, ptr align 8 %2702, i64 24, i1 false), !tbaa.struct !98
  %2704 = load ptr, ptr %15, align 8, !tbaa !5
  %2705 = getelementptr inbounds %union.YYSTYPE, ptr %2704, i64 -1
  %2706 = getelementptr inbounds %struct.anon.0, ptr %2705, i32 0, i32 3
  %2707 = load ptr, ptr %2706, align 8, !tbaa !10
  %2708 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2707, ptr %2708, align 8, !tbaa !10
  br label %14379

2709:                                             ; preds = %406
  %2710 = call noundef ptr @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEnwEm(i64 noundef 32)
  invoke void @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %2710)
          to label %2711 unwind label %2718

2711:                                             ; preds = %2709
  %2712 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2710, ptr %2712, align 8, !tbaa !10
  %2713 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %2714 = load ptr, ptr %2713, align 8, !tbaa !10
  %2715 = load ptr, ptr %15, align 8, !tbaa !5
  %2716 = getelementptr inbounds %union.YYSTYPE, ptr %2715, i64 0
  %2717 = getelementptr inbounds %struct.anon, ptr %2716, i32 0, i32 1
  call void @_ZNSt6vectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS5_IS8_EEE9push_backERKS8_(ptr noundef nonnull align 8 dereferenceable(32) %2714, ptr noundef nonnull align 8 dereferenceable(8) %2717)
  br label %14379

2718:                                             ; preds = %2709
  %2719 = landingpad { ptr, i32 }
          cleanup
  %2720 = extractvalue { ptr, i32 } %2719, 0
  store ptr %2720, ptr %31, align 8
  %2721 = extractvalue { ptr, i32 } %2719, 1
  store i32 %2721, ptr %32, align 4
  call void @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEdlEPv(ptr noundef %2710) #10
  br label %14723

2722:                                             ; preds = %406
  %2723 = load ptr, ptr %15, align 8, !tbaa !5
  %2724 = getelementptr inbounds %union.YYSTYPE, ptr %2723, i64 -2
  %2725 = getelementptr inbounds %struct.anon.0, ptr %2724, i32 0, i32 3
  %2726 = load ptr, ptr %2725, align 8, !tbaa !10
  %2727 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2726, ptr %2727, align 8, !tbaa !10
  %2728 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %2729 = load ptr, ptr %2728, align 8, !tbaa !10
  %2730 = load ptr, ptr %15, align 8, !tbaa !5
  %2731 = getelementptr inbounds %union.YYSTYPE, ptr %2730, i64 0
  %2732 = getelementptr inbounds %struct.anon, ptr %2731, i32 0, i32 1
  call void @_ZNSt6vectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS5_IS8_EEE9push_backERKS8_(ptr noundef nonnull align 8 dereferenceable(32) %2729, ptr noundef nonnull align 8 dereferenceable(8) %2732)
  br label %14379

2733:                                             ; preds = %406
  %2734 = load ptr, ptr %15, align 8, !tbaa !5
  %2735 = getelementptr inbounds %union.YYSTYPE, ptr %2734, i64 -1
  %2736 = getelementptr inbounds %struct.anon.0, ptr %2735, i32 0, i32 3
  %2737 = load ptr, ptr %2736, align 8, !tbaa !10
  %2738 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2737, ptr %2738, align 8, !tbaa !10
  %2739 = load ptr, ptr %15, align 8, !tbaa !5
  %2740 = getelementptr inbounds %union.YYSTYPE, ptr %2739, i64 0
  %2741 = getelementptr inbounds %struct.anon, ptr %2740, i32 0, i32 0
  %2742 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2742, ptr align 8 %2741, i64 24, i1 false), !tbaa.struct !98
  br label %14379

2743:                                             ; preds = %406
  %2744 = load ptr, ptr %15, align 8, !tbaa !5
  %2745 = getelementptr inbounds %union.YYSTYPE, ptr %2744, i64 -2
  %2746 = getelementptr inbounds %struct.anon.0, ptr %2745, i32 0, i32 3
  %2747 = load ptr, ptr %2746, align 8, !tbaa !10
  %2748 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2747, ptr %2748, align 8, !tbaa !10
  %2749 = load ptr, ptr %15, align 8, !tbaa !5
  %2750 = getelementptr inbounds %union.YYSTYPE, ptr %2749, i64 -1
  %2751 = getelementptr inbounds %struct.anon, ptr %2750, i32 0, i32 0
  %2752 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2752, ptr align 8 %2751, i64 24, i1 false), !tbaa.struct !98
  %2753 = load ptr, ptr %3, align 8, !tbaa !5
  %2754 = load ptr, ptr %15, align 8, !tbaa !5
  %2755 = getelementptr inbounds %union.YYSTYPE, ptr %2754, i64 -1
  %2756 = getelementptr inbounds %struct.anon, ptr %2755, i32 0, i32 0
  %2757 = load ptr, ptr %2753, align 8, !tbaa !19
  %2758 = getelementptr inbounds ptr, ptr %2757, i64 5
  %2759 = load ptr, ptr %2758, align 8
  call void %2759(ptr noundef nonnull align 8 dereferenceable(192) %2753, ptr noundef nonnull align 8 dereferenceable(24) %2756, i32 noundef 1, ptr noundef @_ZN7glslangL38E_GL_EXT_subgroup_uniform_control_flowE, ptr noundef @.str.64)
  %2760 = load ptr, ptr %3, align 8, !tbaa !5
  %2761 = load ptr, ptr %15, align 8, !tbaa !5
  %2762 = getelementptr inbounds %union.YYSTYPE, ptr %2761, i64 -1
  %2763 = getelementptr inbounds %struct.anon, ptr %2762, i32 0, i32 0
  %2764 = load ptr, ptr %15, align 8, !tbaa !5
  %2765 = getelementptr inbounds %union.YYSTYPE, ptr %2764, i64 0
  %2766 = getelementptr inbounds %struct.anon.0, ptr %2765, i32 0, i32 2
  %2767 = load ptr, ptr %2766, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912) %2760, ptr noundef nonnull align 8 dereferenceable(24) %2763, ptr noundef nonnull align 1 %2767)
  br label %14379

2768:                                             ; preds = %406
  %2769 = load ptr, ptr %15, align 8, !tbaa !5
  %2770 = getelementptr inbounds %union.YYSTYPE, ptr %2769, i64 -1
  %2771 = getelementptr inbounds %struct.anon.0, ptr %2770, i32 0, i32 3
  %2772 = load ptr, ptr %2771, align 8, !tbaa !10
  %2773 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2772, ptr %2773, align 8, !tbaa !10
  %2774 = load ptr, ptr %15, align 8, !tbaa !5
  %2775 = getelementptr inbounds %union.YYSTYPE, ptr %2774, i64 0
  %2776 = getelementptr inbounds %struct.anon, ptr %2775, i32 0, i32 0
  %2777 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2777, ptr align 8 %2776, i64 24, i1 false), !tbaa.struct !98
  %2778 = load ptr, ptr %3, align 8, !tbaa !5
  %2779 = load ptr, ptr %15, align 8, !tbaa !5
  %2780 = getelementptr inbounds %union.YYSTYPE, ptr %2779, i64 0
  %2781 = getelementptr inbounds %struct.anon, ptr %2780, i32 0, i32 0
  %2782 = load ptr, ptr %2778, align 8, !tbaa !19
  %2783 = getelementptr inbounds ptr, ptr %2782, i64 5
  %2784 = load ptr, ptr %2783, align 8
  call void %2784(ptr noundef nonnull align 8 dereferenceable(192) %2778, ptr noundef nonnull align 8 dereferenceable(24) %2781, i32 noundef 1, ptr noundef @_ZN7glslangL38E_GL_EXT_subgroup_uniform_control_flowE, ptr noundef @.str.64)
  %2785 = load ptr, ptr %3, align 8, !tbaa !5
  %2786 = load ptr, ptr %15, align 8, !tbaa !5
  %2787 = getelementptr inbounds %union.YYSTYPE, ptr %2786, i64 0
  %2788 = getelementptr inbounds %struct.anon, ptr %2787, i32 0, i32 0
  %2789 = load ptr, ptr %15, align 8, !tbaa !5
  %2790 = getelementptr inbounds %union.YYSTYPE, ptr %2789, i64 -2
  %2791 = getelementptr inbounds %struct.anon.0, ptr %2790, i32 0, i32 2
  %2792 = load ptr, ptr %2791, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912) %2785, ptr noundef nonnull align 8 dereferenceable(24) %2788, ptr noundef nonnull align 1 %2792)
  br label %14379

2793:                                             ; preds = %406
  %2794 = load ptr, ptr %15, align 8, !tbaa !5
  %2795 = getelementptr inbounds %union.YYSTYPE, ptr %2794, i64 -2
  %2796 = getelementptr inbounds %struct.anon.0, ptr %2795, i32 0, i32 3
  %2797 = load ptr, ptr %2796, align 8, !tbaa !10
  %2798 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2797, ptr %2798, align 8, !tbaa !10
  %2799 = load ptr, ptr %15, align 8, !tbaa !5
  %2800 = getelementptr inbounds %union.YYSTYPE, ptr %2799, i64 -1
  %2801 = getelementptr inbounds %struct.anon, ptr %2800, i32 0, i32 0
  %2802 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2802, ptr align 8 %2801, i64 24, i1 false), !tbaa.struct !98
  %2803 = load ptr, ptr %3, align 8, !tbaa !5
  %2804 = load ptr, ptr %15, align 8, !tbaa !5
  %2805 = getelementptr inbounds %union.YYSTYPE, ptr %2804, i64 -1
  %2806 = getelementptr inbounds %struct.anon, ptr %2805, i32 0, i32 0
  %2807 = load ptr, ptr %2803, align 8, !tbaa !19
  %2808 = getelementptr inbounds ptr, ptr %2807, i64 5
  %2809 = load ptr, ptr %2808, align 8
  call void %2809(ptr noundef nonnull align 8 dereferenceable(192) %2803, ptr noundef nonnull align 8 dereferenceable(24) %2806, i32 noundef 1, ptr noundef @_ZN7glslangL38E_GL_EXT_subgroup_uniform_control_flowE, ptr noundef @.str.64)
  %2810 = load ptr, ptr %3, align 8, !tbaa !5
  %2811 = load ptr, ptr %15, align 8, !tbaa !5
  %2812 = getelementptr inbounds %union.YYSTYPE, ptr %2811, i64 -1
  %2813 = getelementptr inbounds %struct.anon, ptr %2812, i32 0, i32 0
  %2814 = load ptr, ptr %15, align 8, !tbaa !5
  %2815 = getelementptr inbounds %union.YYSTYPE, ptr %2814, i64 -3
  %2816 = getelementptr inbounds %struct.anon.0, ptr %2815, i32 0, i32 2
  %2817 = load ptr, ptr %2816, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912) %2810, ptr noundef nonnull align 8 dereferenceable(24) %2813, ptr noundef nonnull align 1 %2817)
  %2818 = load ptr, ptr %3, align 8, !tbaa !5
  %2819 = load ptr, ptr %15, align 8, !tbaa !5
  %2820 = getelementptr inbounds %union.YYSTYPE, ptr %2819, i64 -1
  %2821 = getelementptr inbounds %struct.anon, ptr %2820, i32 0, i32 0
  %2822 = load ptr, ptr %15, align 8, !tbaa !5
  %2823 = getelementptr inbounds %union.YYSTYPE, ptr %2822, i64 0
  %2824 = getelementptr inbounds %struct.anon.0, ptr %2823, i32 0, i32 2
  %2825 = load ptr, ptr %2824, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912) %2818, ptr noundef nonnull align 8 dereferenceable(24) %2821, ptr noundef nonnull align 1 %2825)
  br label %14379

2826:                                             ; preds = %406
  %2827 = load ptr, ptr %15, align 8, !tbaa !5
  %2828 = getelementptr inbounds %union.YYSTYPE, ptr %2827, i64 0
  %2829 = getelementptr inbounds %struct.anon.0, ptr %2828, i32 0, i32 3
  %2830 = load ptr, ptr %2829, align 8, !tbaa !10
  %2831 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2830, ptr %2831, align 8, !tbaa !10
  br label %14379

2832:                                             ; preds = %406
  %2833 = load ptr, ptr %15, align 8, !tbaa !5
  %2834 = getelementptr inbounds %union.YYSTYPE, ptr %2833, i64 0
  %2835 = getelementptr inbounds %struct.anon.0, ptr %2834, i32 0, i32 3
  %2836 = load ptr, ptr %2835, align 8, !tbaa !10
  %2837 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2836, ptr %2837, align 8, !tbaa !10
  br label %14379

2838:                                             ; preds = %406
  %2839 = load ptr, ptr %15, align 8, !tbaa !5
  %2840 = getelementptr inbounds %union.YYSTYPE, ptr %2839, i64 -1
  %2841 = getelementptr inbounds %struct.anon.0, ptr %2840, i32 0, i32 3
  %2842 = load ptr, ptr %2841, align 8, !tbaa !10
  %2843 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2842, ptr %2843, align 8, !tbaa !10
  %2844 = load ptr, ptr %15, align 8, !tbaa !5
  %2845 = getelementptr inbounds %union.YYSTYPE, ptr %2844, i64 0
  %2846 = getelementptr inbounds %struct.anon.0, ptr %2845, i32 0, i32 3
  %2847 = getelementptr inbounds %"struct.glslang::TParameter", ptr %2846, i32 0, i32 1
  %2848 = load ptr, ptr %2847, align 8, !tbaa !10
  %2849 = load ptr, ptr %2848, align 8, !tbaa !19
  %2850 = getelementptr inbounds ptr, ptr %2849, i64 7
  %2851 = load ptr, ptr %2850, align 8
  %2852 = call noundef i32 %2851(ptr noundef nonnull align 8 dereferenceable(144) %2848)
  %2853 = icmp ne i32 %2852, 0
  br i1 %2853, label %2854, label %2865

2854:                                             ; preds = %2838
  %2855 = load ptr, ptr %15, align 8, !tbaa !5
  %2856 = getelementptr inbounds %union.YYSTYPE, ptr %2855, i64 -1
  %2857 = getelementptr inbounds %struct.anon.0, ptr %2856, i32 0, i32 3
  %2858 = load ptr, ptr %2857, align 8, !tbaa !10
  %2859 = load ptr, ptr %15, align 8, !tbaa !5
  %2860 = getelementptr inbounds %union.YYSTYPE, ptr %2859, i64 0
  %2861 = getelementptr inbounds %struct.anon.0, ptr %2860, i32 0, i32 3
  %2862 = load ptr, ptr %2858, align 8, !tbaa !19
  %2863 = getelementptr inbounds ptr, ptr %2862, i64 22
  %2864 = load ptr, ptr %2863, align 8
  call void %2864(ptr noundef nonnull align 8 dereferenceable(328) %2858, ptr noundef nonnull align 8 dereferenceable(24) %2861)
  br label %2877

2865:                                             ; preds = %2838
  %2866 = load ptr, ptr %15, align 8, !tbaa !5
  %2867 = getelementptr inbounds %union.YYSTYPE, ptr %2866, i64 0
  %2868 = getelementptr inbounds %struct.anon.0, ptr %2867, i32 0, i32 3
  %2869 = getelementptr inbounds %"struct.glslang::TParameter", ptr %2868, i32 0, i32 1
  %2870 = load ptr, ptr %2869, align 8, !tbaa !10
  %2871 = icmp eq ptr %2870, null
  br i1 %2871, label %2876, label %2872

2872:                                             ; preds = %2865
  %2873 = load ptr, ptr %2870, align 8, !tbaa !19
  %2874 = getelementptr inbounds ptr, ptr %2873, i64 1
  %2875 = load ptr, ptr %2874, align 8
  call void %2875(ptr noundef nonnull align 8 dereferenceable(144) %2870) #10
  br label %2876

2876:                                             ; preds = %2872, %2865
  br label %2877

2877:                                             ; preds = %2876, %2854
  br label %14379

2878:                                             ; preds = %406
  %2879 = load ptr, ptr %15, align 8, !tbaa !5
  %2880 = getelementptr inbounds %union.YYSTYPE, ptr %2879, i64 0
  %2881 = getelementptr inbounds %struct.anon.0, ptr %2880, i32 0, i32 3
  %2882 = getelementptr inbounds %"struct.glslang::TParameter", ptr %2881, i32 0, i32 1
  %2883 = load ptr, ptr %2882, align 8, !tbaa !10
  %2884 = load ptr, ptr %2883, align 8, !tbaa !19
  %2885 = getelementptr inbounds ptr, ptr %2884, i64 7
  %2886 = load ptr, ptr %2885, align 8
  %2887 = call noundef i32 %2886(ptr noundef nonnull align 8 dereferenceable(144) %2883)
  %2888 = icmp eq i32 %2887, 0
  br i1 %2888, label %2889, label %2908

2889:                                             ; preds = %2878
  %2890 = load ptr, ptr %3, align 8, !tbaa !5
  %2891 = load ptr, ptr %15, align 8, !tbaa !5
  %2892 = getelementptr inbounds %union.YYSTYPE, ptr %2891, i64 -1
  %2893 = getelementptr inbounds %struct.anon, ptr %2892, i32 0, i32 0
  %2894 = load ptr, ptr %2890, align 8, !tbaa !19
  %2895 = getelementptr inbounds ptr, ptr %2894, i64 42
  %2896 = load ptr, ptr %2895, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %2896(ptr noundef nonnull align 8 dereferenceable(1176) %2890, ptr noundef nonnull align 8 dereferenceable(24) %2893, ptr noundef @.str.65, ptr noundef @.str.66, ptr noundef @.str.21)
  %2897 = load ptr, ptr %15, align 8, !tbaa !5
  %2898 = getelementptr inbounds %union.YYSTYPE, ptr %2897, i64 0
  %2899 = getelementptr inbounds %struct.anon.0, ptr %2898, i32 0, i32 3
  %2900 = getelementptr inbounds %"struct.glslang::TParameter", ptr %2899, i32 0, i32 1
  %2901 = load ptr, ptr %2900, align 8, !tbaa !10
  %2902 = icmp eq ptr %2901, null
  br i1 %2902, label %2907, label %2903

2903:                                             ; preds = %2889
  %2904 = load ptr, ptr %2901, align 8, !tbaa !19
  %2905 = getelementptr inbounds ptr, ptr %2904, i64 1
  %2906 = load ptr, ptr %2905, align 8
  call void %2906(ptr noundef nonnull align 8 dereferenceable(144) %2901) #10
  br label %2907

2907:                                             ; preds = %2903, %2889
  br label %2924

2908:                                             ; preds = %2878
  %2909 = load ptr, ptr %15, align 8, !tbaa !5
  %2910 = getelementptr inbounds %union.YYSTYPE, ptr %2909, i64 -2
  %2911 = getelementptr inbounds %struct.anon.0, ptr %2910, i32 0, i32 3
  %2912 = load ptr, ptr %2911, align 8, !tbaa !10
  %2913 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2912, ptr %2913, align 8, !tbaa !10
  %2914 = load ptr, ptr %15, align 8, !tbaa !5
  %2915 = getelementptr inbounds %union.YYSTYPE, ptr %2914, i64 -2
  %2916 = getelementptr inbounds %struct.anon.0, ptr %2915, i32 0, i32 3
  %2917 = load ptr, ptr %2916, align 8, !tbaa !10
  %2918 = load ptr, ptr %15, align 8, !tbaa !5
  %2919 = getelementptr inbounds %union.YYSTYPE, ptr %2918, i64 0
  %2920 = getelementptr inbounds %struct.anon.0, ptr %2919, i32 0, i32 3
  %2921 = load ptr, ptr %2917, align 8, !tbaa !19
  %2922 = getelementptr inbounds ptr, ptr %2921, i64 22
  %2923 = load ptr, ptr %2922, align 8
  call void %2923(ptr noundef nonnull align 8 dereferenceable(328) %2917, ptr noundef nonnull align 8 dereferenceable(24) %2920)
  br label %2924

2924:                                             ; preds = %2908, %2907
  br label %14379

2925:                                             ; preds = %406
  %2926 = load ptr, ptr %15, align 8, !tbaa !5
  %2927 = getelementptr inbounds %union.YYSTYPE, ptr %2926, i64 -2
  %2928 = getelementptr inbounds %struct.anon.0, ptr %2927, i32 0, i32 3
  %2929 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2928, i32 0, i32 2
  %2930 = getelementptr inbounds %"class.glslang::TQualifier", ptr %2929, i32 0, i32 1
  %2931 = load i64, ptr %2930, align 8
  %2932 = and i64 %2931, 63
  %2933 = trunc i64 %2932 to i32
  %2934 = icmp ne i32 %2933, 1
  br i1 %2934, label %2935, label %2962

2935:                                             ; preds = %2925
  %2936 = load ptr, ptr %15, align 8, !tbaa !5
  %2937 = getelementptr inbounds %union.YYSTYPE, ptr %2936, i64 -2
  %2938 = getelementptr inbounds %struct.anon.0, ptr %2937, i32 0, i32 3
  %2939 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2938, i32 0, i32 2
  %2940 = getelementptr inbounds %"class.glslang::TQualifier", ptr %2939, i32 0, i32 1
  %2941 = load i64, ptr %2940, align 8
  %2942 = and i64 %2941, 63
  %2943 = trunc i64 %2942 to i32
  %2944 = icmp ne i32 %2943, 0
  br i1 %2944, label %2945, label %2962

2945:                                             ; preds = %2935
  %2946 = load ptr, ptr %3, align 8, !tbaa !5
  %2947 = load ptr, ptr %15, align 8, !tbaa !5
  %2948 = getelementptr inbounds %union.YYSTYPE, ptr %2947, i64 -1
  %2949 = getelementptr inbounds %struct.anon, ptr %2948, i32 0, i32 0
  %2950 = load ptr, ptr %15, align 8, !tbaa !5
  %2951 = getelementptr inbounds %union.YYSTYPE, ptr %2950, i64 -2
  %2952 = getelementptr inbounds %struct.anon.0, ptr %2951, i32 0, i32 3
  %2953 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2952, i32 0, i32 2
  %2954 = getelementptr inbounds %"class.glslang::TQualifier", ptr %2953, i32 0, i32 1
  %2955 = load i64, ptr %2954, align 8
  %2956 = and i64 %2955, 63
  %2957 = trunc i64 %2956 to i32
  %2958 = call noundef ptr @_ZN7glslang25GetStorageQualifierStringENS_17TStorageQualifierE(i32 noundef %2957)
  %2959 = load ptr, ptr %2946, align 8, !tbaa !19
  %2960 = getelementptr inbounds ptr, ptr %2959, i64 42
  %2961 = load ptr, ptr %2960, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %2961(ptr noundef nonnull align 8 dereferenceable(1176) %2946, ptr noundef nonnull align 8 dereferenceable(24) %2949, ptr noundef @.str.67, ptr noundef %2958, ptr noundef @.str.21)
  br label %2962

2962:                                             ; preds = %2945, %2935, %2925
  %2963 = load ptr, ptr %15, align 8, !tbaa !5
  %2964 = getelementptr inbounds %union.YYSTYPE, ptr %2963, i64 -2
  %2965 = getelementptr inbounds %struct.anon.0, ptr %2964, i32 0, i32 3
  %2966 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2965, i32 0, i32 5
  %2967 = load ptr, ptr %2966, align 8, !tbaa !10
  %2968 = icmp ne ptr %2967, null
  br i1 %2968, label %2969, label %2980

2969:                                             ; preds = %2962
  %2970 = load ptr, ptr %3, align 8, !tbaa !5
  %2971 = load ptr, ptr %15, align 8, !tbaa !5
  %2972 = getelementptr inbounds %union.YYSTYPE, ptr %2971, i64 -2
  %2973 = getelementptr inbounds %struct.anon.0, ptr %2972, i32 0, i32 3
  %2974 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2973, i32 0, i32 7
  %2975 = load ptr, ptr %15, align 8, !tbaa !5
  %2976 = getelementptr inbounds %union.YYSTYPE, ptr %2975, i64 -2
  %2977 = getelementptr inbounds %struct.anon.0, ptr %2976, i32 0, i32 3
  %2978 = getelementptr inbounds %"class.glslang::TPublicType", ptr %2977, i32 0, i32 5
  %2979 = load ptr, ptr %2978, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %2970, ptr noundef nonnull align 8 dereferenceable(24) %2974, ptr noundef nonnull align 8 dereferenceable(21) %2979)
  br label %2980

2980:                                             ; preds = %2969, %2962
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #10
  call void @llvm.lifetime.start.p0(i64 144, ptr %55) #10
  %2981 = load ptr, ptr %15, align 8, !tbaa !5
  %2982 = getelementptr inbounds %union.YYSTYPE, ptr %2981, i64 -2
  %2983 = getelementptr inbounds %struct.anon.0, ptr %2982, i32 0, i32 3
  call void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %55, ptr noundef nonnull align 8 dereferenceable(232) %2983)
  %2984 = load ptr, ptr %3, align 8, !tbaa !5
  %2985 = load ptr, ptr %15, align 8, !tbaa !5
  %2986 = getelementptr inbounds %union.YYSTYPE, ptr %2985, i64 -1
  %2987 = getelementptr inbounds %struct.anon, ptr %2986, i32 0, i32 1
  invoke void @_ZNK7glslang17TParseContextBase20renameShaderFunctionERPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(1176) %2984, ptr noundef nonnull align 8 dereferenceable(8) %2987)
          to label %2988 unwind label %2998

2988:                                             ; preds = %2980
  %2989 = invoke noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 328)
          to label %2990 unwind label %2998

2990:                                             ; preds = %2988
  %2991 = load ptr, ptr %15, align 8, !tbaa !5
  %2992 = getelementptr inbounds %union.YYSTYPE, ptr %2991, i64 -1
  %2993 = getelementptr inbounds %struct.anon, ptr %2992, i32 0, i32 1
  %2994 = load ptr, ptr %2993, align 8, !tbaa !10
  invoke void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328) %2989, ptr noundef %2994, ptr noundef nonnull align 8 dereferenceable(144) %55, i32 noundef 0)
          to label %2995 unwind label %3002

2995:                                             ; preds = %2990
  store ptr %2989, ptr %54, align 8, !tbaa !5
  %2996 = load ptr, ptr %54, align 8, !tbaa !5
  %2997 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %2996, ptr %2997, align 8, !tbaa !10
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %55) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %55) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #10
  br label %14379

2998:                                             ; preds = %2988, %2980
  %2999 = landingpad { ptr, i32 }
          cleanup
  %3000 = extractvalue { ptr, i32 } %2999, 0
  store ptr %3000, ptr %31, align 8
  %3001 = extractvalue { ptr, i32 } %2999, 1
  store i32 %3001, ptr %32, align 4
  br label %3006

3002:                                             ; preds = %2990
  %3003 = landingpad { ptr, i32 }
          cleanup
  %3004 = extractvalue { ptr, i32 } %3003, 0
  store ptr %3004, ptr %31, align 8
  %3005 = extractvalue { ptr, i32 } %3003, 1
  store i32 %3005, ptr %32, align 4
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %2989) #10
  br label %3006

3006:                                             ; preds = %3002, %2998
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %55) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %55) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #10
  br label %14723

3007:                                             ; preds = %406
  %3008 = load ptr, ptr %15, align 8, !tbaa !5
  %3009 = getelementptr inbounds %union.YYSTYPE, ptr %3008, i64 -1
  %3010 = getelementptr inbounds %struct.anon.0, ptr %3009, i32 0, i32 3
  %3011 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3010, i32 0, i32 5
  %3012 = load ptr, ptr %3011, align 8, !tbaa !10
  %3013 = icmp ne ptr %3012, null
  br i1 %3013, label %3014, label %3035

3014:                                             ; preds = %3007
  %3015 = load ptr, ptr %3, align 8, !tbaa !5
  %3016 = load ptr, ptr %15, align 8, !tbaa !5
  %3017 = getelementptr inbounds %union.YYSTYPE, ptr %3016, i64 -1
  %3018 = getelementptr inbounds %struct.anon.0, ptr %3017, i32 0, i32 3
  %3019 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3018, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3015, ptr noundef nonnull align 8 dereferenceable(24) %3019, i32 noundef 1, i32 noundef 120, ptr noundef @.str.68, ptr noundef @.str.69)
  %3020 = load ptr, ptr %3, align 8, !tbaa !5
  %3021 = load ptr, ptr %15, align 8, !tbaa !5
  %3022 = getelementptr inbounds %union.YYSTYPE, ptr %3021, i64 -1
  %3023 = getelementptr inbounds %struct.anon.0, ptr %3022, i32 0, i32 3
  %3024 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3023, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3020, ptr noundef nonnull align 8 dereferenceable(24) %3024, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.69)
  %3025 = load ptr, ptr %3, align 8, !tbaa !5
  %3026 = load ptr, ptr %15, align 8, !tbaa !5
  %3027 = getelementptr inbounds %union.YYSTYPE, ptr %3026, i64 -1
  %3028 = getelementptr inbounds %struct.anon.0, ptr %3027, i32 0, i32 3
  %3029 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3028, i32 0, i32 7
  %3030 = load ptr, ptr %15, align 8, !tbaa !5
  %3031 = getelementptr inbounds %union.YYSTYPE, ptr %3030, i64 -1
  %3032 = getelementptr inbounds %struct.anon.0, ptr %3031, i32 0, i32 3
  %3033 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3032, i32 0, i32 5
  %3034 = load ptr, ptr %3033, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %3025, ptr noundef nonnull align 8 dereferenceable(24) %3029, ptr noundef nonnull align 8 dereferenceable(21) %3034)
  br label %3035

3035:                                             ; preds = %3014, %3007
  %3036 = load ptr, ptr %15, align 8, !tbaa !5
  %3037 = getelementptr inbounds %union.YYSTYPE, ptr %3036, i64 -1
  %3038 = getelementptr inbounds %struct.anon.0, ptr %3037, i32 0, i32 3
  %3039 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3038, i32 0, i32 0
  %3040 = load i32, ptr %3039, align 8, !tbaa !10
  %3041 = icmp eq i32 %3040, 0
  br i1 %3041, label %3042, label %3055

3042:                                             ; preds = %3035
  %3043 = load ptr, ptr %3, align 8, !tbaa !5
  %3044 = load ptr, ptr %15, align 8, !tbaa !5
  %3045 = getelementptr inbounds %union.YYSTYPE, ptr %3044, i64 0
  %3046 = getelementptr inbounds %struct.anon, ptr %3045, i32 0, i32 0
  %3047 = load ptr, ptr %15, align 8, !tbaa !5
  %3048 = getelementptr inbounds %union.YYSTYPE, ptr %3047, i64 0
  %3049 = getelementptr inbounds %struct.anon, ptr %3048, i32 0, i32 1
  %3050 = load ptr, ptr %3049, align 8, !tbaa !10
  %3051 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %3050) #10
  %3052 = load ptr, ptr %3043, align 8, !tbaa !19
  %3053 = getelementptr inbounds ptr, ptr %3052, i64 42
  %3054 = load ptr, ptr %3053, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %3054(ptr noundef nonnull align 8 dereferenceable(1176) %3043, ptr noundef nonnull align 8 dereferenceable(24) %3046, ptr noundef @.str.70, ptr noundef %3051, ptr noundef @.str.21)
  br label %3055

3055:                                             ; preds = %3042, %3035
  %3056 = load ptr, ptr %3, align 8, !tbaa !5
  %3057 = load ptr, ptr %15, align 8, !tbaa !5
  %3058 = getelementptr inbounds %union.YYSTYPE, ptr %3057, i64 0
  %3059 = getelementptr inbounds %struct.anon, ptr %3058, i32 0, i32 0
  %3060 = load ptr, ptr %15, align 8, !tbaa !5
  %3061 = getelementptr inbounds %union.YYSTYPE, ptr %3060, i64 0
  %3062 = getelementptr inbounds %struct.anon, ptr %3061, i32 0, i32 1
  %3063 = load ptr, ptr %3062, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18reservedErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %3056, ptr noundef nonnull align 8 dereferenceable(24) %3059, ptr noundef nonnull align 8 dereferenceable(40) %3063)
  call void @llvm.lifetime.start.p0(i64 24, ptr %56) #10
  %3064 = getelementptr inbounds %"struct.glslang::TParameter", ptr %56, i32 0, i32 0
  %3065 = load ptr, ptr %15, align 8, !tbaa !5
  %3066 = getelementptr inbounds %union.YYSTYPE, ptr %3065, i64 0
  %3067 = getelementptr inbounds %struct.anon, ptr %3066, i32 0, i32 1
  %3068 = load ptr, ptr %3067, align 8, !tbaa !10
  store ptr %3068, ptr %3064, align 8, !tbaa !99
  %3069 = getelementptr inbounds %"struct.glslang::TParameter", ptr %56, i32 0, i32 1
  %3070 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  %3071 = load ptr, ptr %15, align 8, !tbaa !5
  %3072 = getelementptr inbounds %union.YYSTYPE, ptr %3071, i64 -1
  %3073 = getelementptr inbounds %struct.anon.0, ptr %3072, i32 0, i32 3
  invoke void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %3070, ptr noundef nonnull align 8 dereferenceable(232) %3073)
          to label %3074 unwind label %3081

3074:                                             ; preds = %3055
  store ptr %3070, ptr %3069, align 8, !tbaa !101
  %3075 = getelementptr inbounds %"struct.glslang::TParameter", ptr %56, i32 0, i32 2
  store ptr null, ptr %3075, align 8, !tbaa !102
  %3076 = load ptr, ptr %15, align 8, !tbaa !5
  %3077 = getelementptr inbounds %union.YYSTYPE, ptr %3076, i64 0
  %3078 = getelementptr inbounds %struct.anon, ptr %3077, i32 0, i32 0
  %3079 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3079, ptr align 8 %3078, i64 24, i1 false), !tbaa.struct !98
  %3080 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3080, ptr align 8 %56, i64 24, i1 false), !tbaa.struct !133
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #10
  br label %14379

3081:                                             ; preds = %3055
  %3082 = landingpad { ptr, i32 }
          cleanup
  %3083 = extractvalue { ptr, i32 } %3082, 0
  store ptr %3083, ptr %31, align 8
  %3084 = extractvalue { ptr, i32 } %3082, 1
  store i32 %3084, ptr %32, align 4
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %3070) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #10
  br label %14723

3085:                                             ; preds = %406
  %3086 = load ptr, ptr %15, align 8, !tbaa !5
  %3087 = getelementptr inbounds %union.YYSTYPE, ptr %3086, i64 -2
  %3088 = getelementptr inbounds %struct.anon.0, ptr %3087, i32 0, i32 3
  %3089 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3088, i32 0, i32 5
  %3090 = load ptr, ptr %3089, align 8, !tbaa !10
  %3091 = icmp ne ptr %3090, null
  br i1 %3091, label %3092, label %3113

3092:                                             ; preds = %3085
  %3093 = load ptr, ptr %3, align 8, !tbaa !5
  %3094 = load ptr, ptr %15, align 8, !tbaa !5
  %3095 = getelementptr inbounds %union.YYSTYPE, ptr %3094, i64 -2
  %3096 = getelementptr inbounds %struct.anon.0, ptr %3095, i32 0, i32 3
  %3097 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3096, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3093, ptr noundef nonnull align 8 dereferenceable(24) %3097, i32 noundef 1, i32 noundef 120, ptr noundef @.str.68, ptr noundef @.str.69)
  %3098 = load ptr, ptr %3, align 8, !tbaa !5
  %3099 = load ptr, ptr %15, align 8, !tbaa !5
  %3100 = getelementptr inbounds %union.YYSTYPE, ptr %3099, i64 -2
  %3101 = getelementptr inbounds %struct.anon.0, ptr %3100, i32 0, i32 3
  %3102 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3101, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3098, ptr noundef nonnull align 8 dereferenceable(24) %3102, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.69)
  %3103 = load ptr, ptr %3, align 8, !tbaa !5
  %3104 = load ptr, ptr %15, align 8, !tbaa !5
  %3105 = getelementptr inbounds %union.YYSTYPE, ptr %3104, i64 -2
  %3106 = getelementptr inbounds %struct.anon.0, ptr %3105, i32 0, i32 3
  %3107 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3106, i32 0, i32 7
  %3108 = load ptr, ptr %15, align 8, !tbaa !5
  %3109 = getelementptr inbounds %union.YYSTYPE, ptr %3108, i64 -2
  %3110 = getelementptr inbounds %struct.anon.0, ptr %3109, i32 0, i32 3
  %3111 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3110, i32 0, i32 5
  %3112 = load ptr, ptr %3111, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %3103, ptr noundef nonnull align 8 dereferenceable(24) %3107, ptr noundef nonnull align 8 dereferenceable(21) %3112)
  br label %3113

3113:                                             ; preds = %3092, %3085
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  %3114 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  %3115 = load ptr, ptr %15, align 8, !tbaa !5
  %3116 = getelementptr inbounds %union.YYSTYPE, ptr %3115, i64 -2
  %3117 = getelementptr inbounds %struct.anon.0, ptr %3116, i32 0, i32 3
  invoke void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %3114, ptr noundef nonnull align 8 dereferenceable(232) %3117)
          to label %3118 unwind label %3168

3118:                                             ; preds = %3113
  store ptr %3114, ptr %57, align 8, !tbaa !5
  %3119 = load ptr, ptr %57, align 8, !tbaa !5
  %3120 = load ptr, ptr %15, align 8, !tbaa !5
  %3121 = getelementptr inbounds %union.YYSTYPE, ptr %3120, i64 0
  %3122 = getelementptr inbounds %struct.anon.0, ptr %3121, i32 0, i32 3
  %3123 = load ptr, ptr %3122, align 8, !tbaa !10
  call void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %3119, ptr noundef %3123)
  %3124 = load ptr, ptr %57, align 8, !tbaa !5
  %3125 = load ptr, ptr %15, align 8, !tbaa !5
  %3126 = getelementptr inbounds %union.YYSTYPE, ptr %3125, i64 -2
  %3127 = getelementptr inbounds %struct.anon.0, ptr %3126, i32 0, i32 3
  %3128 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3127, i32 0, i32 5
  %3129 = load ptr, ptr %3128, align 8, !tbaa !10
  call void @_ZN7glslang5TType19copyArrayInnerSizesEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %3124, ptr noundef %3129)
  %3130 = load ptr, ptr %3, align 8, !tbaa !5
  %3131 = load ptr, ptr %15, align 8, !tbaa !5
  %3132 = getelementptr inbounds %union.YYSTYPE, ptr %3131, i64 -1
  %3133 = getelementptr inbounds %struct.anon, ptr %3132, i32 0, i32 0
  %3134 = load ptr, ptr %57, align 8, !tbaa !5
  %3135 = load ptr, ptr %3134, align 8, !tbaa !19
  %3136 = getelementptr inbounds ptr, ptr %3135, i64 20
  %3137 = load ptr, ptr %3136, align 8
  %3138 = call noundef ptr %3137(ptr noundef nonnull align 8 dereferenceable(144) %3134)
  call void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %3130, ptr noundef nonnull align 8 dereferenceable(24) %3133, ptr noundef %3138)
  %3139 = load ptr, ptr %3, align 8, !tbaa !5
  %3140 = load ptr, ptr %15, align 8, !tbaa !5
  %3141 = getelementptr inbounds %union.YYSTYPE, ptr %3140, i64 0
  %3142 = getelementptr inbounds %struct.anon.0, ptr %3141, i32 0, i32 0
  %3143 = load ptr, ptr %15, align 8, !tbaa !5
  %3144 = getelementptr inbounds %union.YYSTYPE, ptr %3143, i64 0
  %3145 = getelementptr inbounds %struct.anon.0, ptr %3144, i32 0, i32 3
  %3146 = load ptr, ptr %3145, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %3139, ptr noundef nonnull align 8 dereferenceable(24) %3142, ptr noundef nonnull align 8 dereferenceable(21) %3146)
  %3147 = load ptr, ptr %3, align 8, !tbaa !5
  %3148 = load ptr, ptr %15, align 8, !tbaa !5
  %3149 = getelementptr inbounds %union.YYSTYPE, ptr %3148, i64 -1
  %3150 = getelementptr inbounds %struct.anon, ptr %3149, i32 0, i32 0
  %3151 = load ptr, ptr %15, align 8, !tbaa !5
  %3152 = getelementptr inbounds %union.YYSTYPE, ptr %3151, i64 -1
  %3153 = getelementptr inbounds %struct.anon, ptr %3152, i32 0, i32 1
  %3154 = load ptr, ptr %3153, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18reservedErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %3147, ptr noundef nonnull align 8 dereferenceable(24) %3150, ptr noundef nonnull align 8 dereferenceable(40) %3154)
  call void @llvm.lifetime.start.p0(i64 24, ptr %58) #10
  %3155 = getelementptr inbounds %"struct.glslang::TParameter", ptr %58, i32 0, i32 0
  %3156 = load ptr, ptr %15, align 8, !tbaa !5
  %3157 = getelementptr inbounds %union.YYSTYPE, ptr %3156, i64 -1
  %3158 = getelementptr inbounds %struct.anon, ptr %3157, i32 0, i32 1
  %3159 = load ptr, ptr %3158, align 8, !tbaa !10
  store ptr %3159, ptr %3155, align 8, !tbaa !99
  %3160 = getelementptr inbounds %"struct.glslang::TParameter", ptr %58, i32 0, i32 1
  %3161 = load ptr, ptr %57, align 8, !tbaa !5
  store ptr %3161, ptr %3160, align 8, !tbaa !101
  %3162 = getelementptr inbounds %"struct.glslang::TParameter", ptr %58, i32 0, i32 2
  store ptr null, ptr %3162, align 8, !tbaa !102
  %3163 = load ptr, ptr %15, align 8, !tbaa !5
  %3164 = getelementptr inbounds %union.YYSTYPE, ptr %3163, i64 -1
  %3165 = getelementptr inbounds %struct.anon, ptr %3164, i32 0, i32 0
  %3166 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3166, ptr align 8 %3165, i64 24, i1 false), !tbaa.struct !98
  %3167 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3167, ptr align 8 %58, i64 24, i1 false), !tbaa.struct !133
  call void @llvm.lifetime.end.p0(i64 24, ptr %58) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  br label %14379

3168:                                             ; preds = %3113
  %3169 = landingpad { ptr, i32 }
          cleanup
  %3170 = extractvalue { ptr, i32 } %3169, 0
  store ptr %3170, ptr %31, align 8
  %3171 = extractvalue { ptr, i32 } %3169, 1
  store i32 %3171, ptr %32, align 4
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %3114) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  br label %14723

3172:                                             ; preds = %406
  %3173 = load ptr, ptr %15, align 8, !tbaa !5
  %3174 = getelementptr inbounds %union.YYSTYPE, ptr %3173, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %3174, i64 288, i1 false), !tbaa.struct !95
  %3175 = load ptr, ptr %15, align 8, !tbaa !5
  %3176 = getelementptr inbounds %union.YYSTYPE, ptr %3175, i64 -1
  %3177 = getelementptr inbounds %struct.anon.0, ptr %3176, i32 0, i32 3
  %3178 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3177, i32 0, i32 2
  %3179 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3178, i32 0, i32 1
  %3180 = load i64, ptr %3179, align 8
  %3181 = lshr i64 %3180, 24
  %3182 = and i64 %3181, 7
  %3183 = trunc i64 %3182 to i32
  %3184 = icmp ne i32 %3183, 0
  br i1 %3184, label %3185, label %3209

3185:                                             ; preds = %3172
  %3186 = load ptr, ptr %15, align 8, !tbaa !5
  %3187 = getelementptr inbounds %union.YYSTYPE, ptr %3186, i64 -1
  %3188 = getelementptr inbounds %struct.anon.0, ptr %3187, i32 0, i32 3
  %3189 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3188, i32 0, i32 2
  %3190 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3189, i32 0, i32 1
  %3191 = load i64, ptr %3190, align 8
  %3192 = lshr i64 %3191, 24
  %3193 = and i64 %3192, 7
  %3194 = trunc i64 %3193 to i32
  %3195 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3196 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3195, i32 0, i32 1
  %3197 = load ptr, ptr %3196, align 8, !tbaa !10
  %3198 = load ptr, ptr %3197, align 8, !tbaa !19
  %3199 = getelementptr inbounds ptr, ptr %3198, i64 10
  %3200 = load ptr, ptr %3199, align 8
  %3201 = call noundef nonnull align 8 dereferenceable(72) ptr %3200(ptr noundef nonnull align 8 dereferenceable(144) %3197)
  %3202 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3201, i32 0, i32 1
  %3203 = zext i32 %3194 to i64
  %3204 = load i64, ptr %3202, align 8
  %3205 = and i64 %3203, 7
  %3206 = shl i64 %3205, 24
  %3207 = and i64 %3204, -117440513
  %3208 = or i64 %3207, %3206
  store i64 %3208, ptr %3202, align 8
  br label %3209

3209:                                             ; preds = %3185, %3172
  %3210 = load ptr, ptr %3, align 8, !tbaa !5
  %3211 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  %3212 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3213 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3212, i32 0, i32 1
  %3214 = load ptr, ptr %3213, align 8, !tbaa !10
  %3215 = load ptr, ptr %3214, align 8, !tbaa !19
  %3216 = getelementptr inbounds ptr, ptr %3215, i64 7
  %3217 = load ptr, ptr %3216, align 8
  %3218 = call noundef i32 %3217(ptr noundef nonnull align 8 dereferenceable(144) %3214)
  %3219 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3220 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3219, i32 0, i32 1
  %3221 = load ptr, ptr %3220, align 8, !tbaa !10
  %3222 = load ptr, ptr %3221, align 8, !tbaa !19
  %3223 = getelementptr inbounds ptr, ptr %3222, i64 10
  %3224 = load ptr, ptr %3223, align 8
  %3225 = call noundef nonnull align 8 dereferenceable(72) ptr %3224(ptr noundef nonnull align 8 dereferenceable(144) %3221)
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %3210, ptr noundef nonnull align 8 dereferenceable(24) %3211, i32 noundef %3218, ptr noundef nonnull align 8 dereferenceable(72) %3225)
  %3226 = load ptr, ptr %3, align 8, !tbaa !5
  %3227 = load ptr, ptr %15, align 8, !tbaa !5
  %3228 = getelementptr inbounds %union.YYSTYPE, ptr %3227, i64 -1
  %3229 = getelementptr inbounds %struct.anon.0, ptr %3228, i32 0, i32 3
  %3230 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3229, i32 0, i32 7
  %3231 = load ptr, ptr %15, align 8, !tbaa !5
  %3232 = getelementptr inbounds %union.YYSTYPE, ptr %3231, i64 -1
  %3233 = getelementptr inbounds %struct.anon.0, ptr %3232, i32 0, i32 3
  %3234 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3233, i32 0, i32 3
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %3226, ptr noundef nonnull align 8 dereferenceable(24) %3230, ptr noundef nonnull align 4 dereferenceable(88) %3234)
  %3235 = load ptr, ptr %3, align 8, !tbaa !5
  %3236 = load ptr, ptr %15, align 8, !tbaa !5
  %3237 = getelementptr inbounds %union.YYSTYPE, ptr %3236, i64 0
  %3238 = getelementptr inbounds %struct.anon.0, ptr %3237, i32 0, i32 0
  %3239 = load ptr, ptr %15, align 8, !tbaa !5
  %3240 = getelementptr inbounds %union.YYSTYPE, ptr %3239, i64 -1
  %3241 = getelementptr inbounds %struct.anon.0, ptr %3240, i32 0, i32 3
  %3242 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3241, i32 0, i32 2
  %3243 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3242, i32 0, i32 1
  %3244 = load i64, ptr %3243, align 8
  %3245 = and i64 %3244, 63
  %3246 = trunc i64 %3245 to i32
  %3247 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3248 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3247, i32 0, i32 1
  %3249 = load ptr, ptr %3248, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3235, ptr noundef nonnull align 8 dereferenceable(24) %3238, i32 noundef %3246, ptr noundef nonnull align 8 dereferenceable(144) %3249)
  %3250 = load ptr, ptr %3, align 8, !tbaa !5
  %3251 = load ptr, ptr %15, align 8, !tbaa !5
  %3252 = getelementptr inbounds %union.YYSTYPE, ptr %3251, i64 -1
  %3253 = getelementptr inbounds %struct.anon.0, ptr %3252, i32 0, i32 3
  %3254 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3253, i32 0, i32 7
  %3255 = load ptr, ptr %15, align 8, !tbaa !5
  %3256 = getelementptr inbounds %union.YYSTYPE, ptr %3255, i64 -1
  %3257 = getelementptr inbounds %struct.anon.0, ptr %3256, i32 0, i32 3
  %3258 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3257, i32 0, i32 2
  %3259 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3260 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3259, i32 0, i32 1
  %3261 = load ptr, ptr %3260, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext13paramCheckFixERKNS_10TSourceLocERKNS_10TQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3250, ptr noundef nonnull align 8 dereferenceable(24) %3254, ptr noundef nonnull align 8 dereferenceable(72) %3258, ptr noundef nonnull align 8 dereferenceable(144) %3261)
  br label %14379

3262:                                             ; preds = %406
  %3263 = load ptr, ptr %15, align 8, !tbaa !5
  %3264 = getelementptr inbounds %union.YYSTYPE, ptr %3263, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %3264, i64 288, i1 false), !tbaa.struct !95
  %3265 = load ptr, ptr %3, align 8, !tbaa !5
  %3266 = load ptr, ptr %15, align 8, !tbaa !5
  %3267 = getelementptr inbounds %union.YYSTYPE, ptr %3266, i64 0
  %3268 = getelementptr inbounds %struct.anon.0, ptr %3267, i32 0, i32 0
  %3269 = load ptr, ptr %15, align 8, !tbaa !5
  %3270 = getelementptr inbounds %union.YYSTYPE, ptr %3269, i64 0
  %3271 = getelementptr inbounds %struct.anon.0, ptr %3270, i32 0, i32 3
  %3272 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3271, i32 0, i32 1
  %3273 = load ptr, ptr %3272, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3265, ptr noundef nonnull align 8 dereferenceable(24) %3268, i32 noundef 14, ptr noundef nonnull align 8 dereferenceable(144) %3273)
  %3274 = load ptr, ptr %3, align 8, !tbaa !5
  %3275 = load ptr, ptr %15, align 8, !tbaa !5
  %3276 = getelementptr inbounds %union.YYSTYPE, ptr %3275, i64 0
  %3277 = getelementptr inbounds %struct.anon.0, ptr %3276, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #10
  store i32 0, ptr %59, align 4, !tbaa !134
  %3278 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3279 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3278, i32 0, i32 1
  %3280 = load ptr, ptr %3279, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext20paramCheckFixStorageERKNS_10TSourceLocERKNS_17TStorageQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3274, ptr noundef nonnull align 8 dereferenceable(24) %3277, ptr noundef nonnull align 4 dereferenceable(4) %59, ptr noundef nonnull align 8 dereferenceable(144) %3280)
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  %3281 = load ptr, ptr %3, align 8, !tbaa !5
  %3282 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  %3283 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3284 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3283, i32 0, i32 1
  %3285 = load ptr, ptr %3284, align 8, !tbaa !10
  %3286 = load ptr, ptr %3285, align 8, !tbaa !19
  %3287 = getelementptr inbounds ptr, ptr %3286, i64 7
  %3288 = load ptr, ptr %3287, align 8
  %3289 = call noundef i32 %3288(ptr noundef nonnull align 8 dereferenceable(144) %3285)
  %3290 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3291 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3290, i32 0, i32 1
  %3292 = load ptr, ptr %3291, align 8, !tbaa !10
  %3293 = load ptr, ptr %3292, align 8, !tbaa !19
  %3294 = getelementptr inbounds ptr, ptr %3293, i64 10
  %3295 = load ptr, ptr %3294, align 8
  %3296 = call noundef nonnull align 8 dereferenceable(72) ptr %3295(ptr noundef nonnull align 8 dereferenceable(144) %3292)
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %3281, ptr noundef nonnull align 8 dereferenceable(24) %3282, i32 noundef %3289, ptr noundef nonnull align 8 dereferenceable(72) %3296)
  br label %14379

3297:                                             ; preds = %406
  %3298 = load ptr, ptr %15, align 8, !tbaa !5
  %3299 = getelementptr inbounds %union.YYSTYPE, ptr %3298, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %3299, i64 288, i1 false), !tbaa.struct !95
  %3300 = load ptr, ptr %15, align 8, !tbaa !5
  %3301 = getelementptr inbounds %union.YYSTYPE, ptr %3300, i64 -1
  %3302 = getelementptr inbounds %struct.anon.0, ptr %3301, i32 0, i32 3
  %3303 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3302, i32 0, i32 2
  %3304 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3303, i32 0, i32 1
  %3305 = load i64, ptr %3304, align 8
  %3306 = lshr i64 %3305, 24
  %3307 = and i64 %3306, 7
  %3308 = trunc i64 %3307 to i32
  %3309 = icmp ne i32 %3308, 0
  br i1 %3309, label %3310, label %3334

3310:                                             ; preds = %3297
  %3311 = load ptr, ptr %15, align 8, !tbaa !5
  %3312 = getelementptr inbounds %union.YYSTYPE, ptr %3311, i64 -1
  %3313 = getelementptr inbounds %struct.anon.0, ptr %3312, i32 0, i32 3
  %3314 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3313, i32 0, i32 2
  %3315 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3314, i32 0, i32 1
  %3316 = load i64, ptr %3315, align 8
  %3317 = lshr i64 %3316, 24
  %3318 = and i64 %3317, 7
  %3319 = trunc i64 %3318 to i32
  %3320 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3321 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3320, i32 0, i32 1
  %3322 = load ptr, ptr %3321, align 8, !tbaa !10
  %3323 = load ptr, ptr %3322, align 8, !tbaa !19
  %3324 = getelementptr inbounds ptr, ptr %3323, i64 10
  %3325 = load ptr, ptr %3324, align 8
  %3326 = call noundef nonnull align 8 dereferenceable(72) ptr %3325(ptr noundef nonnull align 8 dereferenceable(144) %3322)
  %3327 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3326, i32 0, i32 1
  %3328 = zext i32 %3319 to i64
  %3329 = load i64, ptr %3327, align 8
  %3330 = and i64 %3328, 7
  %3331 = shl i64 %3330, 24
  %3332 = and i64 %3329, -117440513
  %3333 = or i64 %3332, %3331
  store i64 %3333, ptr %3327, align 8
  br label %3334

3334:                                             ; preds = %3310, %3297
  %3335 = load ptr, ptr %3, align 8, !tbaa !5
  %3336 = load ptr, ptr %15, align 8, !tbaa !5
  %3337 = getelementptr inbounds %union.YYSTYPE, ptr %3336, i64 -1
  %3338 = getelementptr inbounds %struct.anon.0, ptr %3337, i32 0, i32 3
  %3339 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3338, i32 0, i32 7
  %3340 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3341 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3340, i32 0, i32 1
  %3342 = load ptr, ptr %3341, align 8, !tbaa !10
  %3343 = load ptr, ptr %3342, align 8, !tbaa !19
  %3344 = getelementptr inbounds ptr, ptr %3343, i64 7
  %3345 = load ptr, ptr %3344, align 8
  %3346 = call noundef i32 %3345(ptr noundef nonnull align 8 dereferenceable(144) %3342)
  %3347 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3348 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3347, i32 0, i32 1
  %3349 = load ptr, ptr %3348, align 8, !tbaa !10
  %3350 = load ptr, ptr %3349, align 8, !tbaa !19
  %3351 = getelementptr inbounds ptr, ptr %3350, i64 10
  %3352 = load ptr, ptr %3351, align 8
  %3353 = call noundef nonnull align 8 dereferenceable(72) ptr %3352(ptr noundef nonnull align 8 dereferenceable(144) %3349)
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %3335, ptr noundef nonnull align 8 dereferenceable(24) %3339, i32 noundef %3346, ptr noundef nonnull align 8 dereferenceable(72) %3353)
  %3354 = load ptr, ptr %3, align 8, !tbaa !5
  %3355 = load ptr, ptr %15, align 8, !tbaa !5
  %3356 = getelementptr inbounds %union.YYSTYPE, ptr %3355, i64 -1
  %3357 = getelementptr inbounds %struct.anon.0, ptr %3356, i32 0, i32 3
  %3358 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3357, i32 0, i32 7
  %3359 = load ptr, ptr %15, align 8, !tbaa !5
  %3360 = getelementptr inbounds %union.YYSTYPE, ptr %3359, i64 -1
  %3361 = getelementptr inbounds %struct.anon.0, ptr %3360, i32 0, i32 3
  %3362 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3361, i32 0, i32 3
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %3354, ptr noundef nonnull align 8 dereferenceable(24) %3358, ptr noundef nonnull align 4 dereferenceable(88) %3362)
  %3363 = load ptr, ptr %3, align 8, !tbaa !5
  %3364 = load ptr, ptr %15, align 8, !tbaa !5
  %3365 = getelementptr inbounds %union.YYSTYPE, ptr %3364, i64 0
  %3366 = getelementptr inbounds %struct.anon.0, ptr %3365, i32 0, i32 0
  %3367 = load ptr, ptr %15, align 8, !tbaa !5
  %3368 = getelementptr inbounds %union.YYSTYPE, ptr %3367, i64 -1
  %3369 = getelementptr inbounds %struct.anon.0, ptr %3368, i32 0, i32 3
  %3370 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3369, i32 0, i32 2
  %3371 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3370, i32 0, i32 1
  %3372 = load i64, ptr %3371, align 8
  %3373 = and i64 %3372, 63
  %3374 = trunc i64 %3373 to i32
  %3375 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3376 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3375, i32 0, i32 1
  %3377 = load ptr, ptr %3376, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3363, ptr noundef nonnull align 8 dereferenceable(24) %3366, i32 noundef %3374, ptr noundef nonnull align 8 dereferenceable(144) %3377)
  %3378 = load ptr, ptr %3, align 8, !tbaa !5
  %3379 = load ptr, ptr %15, align 8, !tbaa !5
  %3380 = getelementptr inbounds %union.YYSTYPE, ptr %3379, i64 -1
  %3381 = getelementptr inbounds %struct.anon.0, ptr %3380, i32 0, i32 3
  %3382 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3381, i32 0, i32 7
  %3383 = load ptr, ptr %15, align 8, !tbaa !5
  %3384 = getelementptr inbounds %union.YYSTYPE, ptr %3383, i64 -1
  %3385 = getelementptr inbounds %struct.anon.0, ptr %3384, i32 0, i32 3
  %3386 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3385, i32 0, i32 2
  %3387 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3388 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3387, i32 0, i32 1
  %3389 = load ptr, ptr %3388, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext13paramCheckFixERKNS_10TSourceLocERKNS_10TQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3378, ptr noundef nonnull align 8 dereferenceable(24) %3382, ptr noundef nonnull align 8 dereferenceable(72) %3386, ptr noundef nonnull align 8 dereferenceable(144) %3389)
  br label %14379

3390:                                             ; preds = %406
  %3391 = load ptr, ptr %15, align 8, !tbaa !5
  %3392 = getelementptr inbounds %union.YYSTYPE, ptr %3391, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %3392, i64 288, i1 false), !tbaa.struct !95
  %3393 = load ptr, ptr %3, align 8, !tbaa !5
  %3394 = load ptr, ptr %15, align 8, !tbaa !5
  %3395 = getelementptr inbounds %union.YYSTYPE, ptr %3394, i64 0
  %3396 = getelementptr inbounds %struct.anon.0, ptr %3395, i32 0, i32 0
  %3397 = load ptr, ptr %15, align 8, !tbaa !5
  %3398 = getelementptr inbounds %union.YYSTYPE, ptr %3397, i64 0
  %3399 = getelementptr inbounds %struct.anon.0, ptr %3398, i32 0, i32 3
  %3400 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3399, i32 0, i32 1
  %3401 = load ptr, ptr %3400, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3393, ptr noundef nonnull align 8 dereferenceable(24) %3396, i32 noundef 14, ptr noundef nonnull align 8 dereferenceable(144) %3401)
  %3402 = load ptr, ptr %3, align 8, !tbaa !5
  %3403 = load ptr, ptr %15, align 8, !tbaa !5
  %3404 = getelementptr inbounds %union.YYSTYPE, ptr %3403, i64 0
  %3405 = getelementptr inbounds %struct.anon.0, ptr %3404, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  store i32 0, ptr %60, align 4, !tbaa !134
  %3406 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3407 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3406, i32 0, i32 1
  %3408 = load ptr, ptr %3407, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext20paramCheckFixStorageERKNS_10TSourceLocERKNS_17TStorageQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3402, ptr noundef nonnull align 8 dereferenceable(24) %3405, ptr noundef nonnull align 4 dereferenceable(4) %60, ptr noundef nonnull align 8 dereferenceable(144) %3408)
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  %3409 = load ptr, ptr %3, align 8, !tbaa !5
  %3410 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  %3411 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3412 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3411, i32 0, i32 1
  %3413 = load ptr, ptr %3412, align 8, !tbaa !10
  %3414 = load ptr, ptr %3413, align 8, !tbaa !19
  %3415 = getelementptr inbounds ptr, ptr %3414, i64 7
  %3416 = load ptr, ptr %3415, align 8
  %3417 = call noundef i32 %3416(ptr noundef nonnull align 8 dereferenceable(144) %3413)
  %3418 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3419 = getelementptr inbounds %"struct.glslang::TParameter", ptr %3418, i32 0, i32 1
  %3420 = load ptr, ptr %3419, align 8, !tbaa !10
  %3421 = load ptr, ptr %3420, align 8, !tbaa !19
  %3422 = getelementptr inbounds ptr, ptr %3421, i64 10
  %3423 = load ptr, ptr %3422, align 8
  %3424 = call noundef nonnull align 8 dereferenceable(72) ptr %3423(ptr noundef nonnull align 8 dereferenceable(144) %3420)
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %3409, ptr noundef nonnull align 8 dereferenceable(24) %3410, i32 noundef %3417, ptr noundef nonnull align 8 dereferenceable(72) %3424)
  br label %14379

3425:                                             ; preds = %406
  call void @llvm.lifetime.start.p0(i64 24, ptr %61) #10
  %3426 = getelementptr inbounds %"struct.glslang::TParameter", ptr %61, i32 0, i32 0
  store ptr null, ptr %3426, align 8, !tbaa !99
  %3427 = getelementptr inbounds %"struct.glslang::TParameter", ptr %61, i32 0, i32 1
  %3428 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  %3429 = load ptr, ptr %15, align 8, !tbaa !5
  %3430 = getelementptr inbounds %union.YYSTYPE, ptr %3429, i64 0
  %3431 = getelementptr inbounds %struct.anon.0, ptr %3430, i32 0, i32 3
  invoke void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %3428, ptr noundef nonnull align 8 dereferenceable(232) %3431)
          to label %3432 unwind label %3452

3432:                                             ; preds = %3425
  store ptr %3428, ptr %3427, align 8, !tbaa !101
  %3433 = getelementptr inbounds %"struct.glslang::TParameter", ptr %61, i32 0, i32 2
  store ptr null, ptr %3433, align 8, !tbaa !102
  %3434 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3434, ptr align 8 %61, i64 24, i1 false), !tbaa.struct !133
  %3435 = load ptr, ptr %15, align 8, !tbaa !5
  %3436 = getelementptr inbounds %union.YYSTYPE, ptr %3435, i64 0
  %3437 = getelementptr inbounds %struct.anon.0, ptr %3436, i32 0, i32 3
  %3438 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3437, i32 0, i32 5
  %3439 = load ptr, ptr %3438, align 8, !tbaa !10
  %3440 = icmp ne ptr %3439, null
  br i1 %3440, label %3441, label %3456

3441:                                             ; preds = %3432
  %3442 = load ptr, ptr %3, align 8, !tbaa !5
  %3443 = load ptr, ptr %15, align 8, !tbaa !5
  %3444 = getelementptr inbounds %union.YYSTYPE, ptr %3443, i64 0
  %3445 = getelementptr inbounds %struct.anon.0, ptr %3444, i32 0, i32 3
  %3446 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3445, i32 0, i32 7
  %3447 = load ptr, ptr %15, align 8, !tbaa !5
  %3448 = getelementptr inbounds %union.YYSTYPE, ptr %3447, i64 0
  %3449 = getelementptr inbounds %struct.anon.0, ptr %3448, i32 0, i32 3
  %3450 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3449, i32 0, i32 5
  %3451 = load ptr, ptr %3450, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %3442, ptr noundef nonnull align 8 dereferenceable(24) %3446, ptr noundef nonnull align 8 dereferenceable(21) %3451)
  br label %3456

3452:                                             ; preds = %3425
  %3453 = landingpad { ptr, i32 }
          cleanup
  %3454 = extractvalue { ptr, i32 } %3453, 0
  store ptr %3454, ptr %31, align 8
  %3455 = extractvalue { ptr, i32 } %3453, 1
  store i32 %3455, ptr %32, align 4
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %3428) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #10
  br label %14723

3456:                                             ; preds = %3441, %3432
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #10
  br label %14379

3457:                                             ; preds = %406
  %3458 = load ptr, ptr %15, align 8, !tbaa !5
  %3459 = getelementptr inbounds %union.YYSTYPE, ptr %3458, i64 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %3459, i64 288, i1 false), !tbaa.struct !95
  br label %14379

3460:                                             ; preds = %406
  %3461 = load ptr, ptr %15, align 8, !tbaa !5
  %3462 = getelementptr inbounds %union.YYSTYPE, ptr %3461, i64 -2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %3462, i64 288, i1 false), !tbaa.struct !95
  %3463 = load ptr, ptr %3, align 8, !tbaa !5
  %3464 = load ptr, ptr %15, align 8, !tbaa !5
  %3465 = getelementptr inbounds %union.YYSTYPE, ptr %3464, i64 0
  %3466 = getelementptr inbounds %struct.anon, ptr %3465, i32 0, i32 0
  %3467 = load ptr, ptr %15, align 8, !tbaa !5
  %3468 = getelementptr inbounds %union.YYSTYPE, ptr %3467, i64 0
  %3469 = getelementptr inbounds %struct.anon, ptr %3468, i32 0, i32 1
  %3470 = load ptr, ptr %3469, align 8, !tbaa !10
  %3471 = load ptr, ptr %15, align 8, !tbaa !5
  %3472 = getelementptr inbounds %union.YYSTYPE, ptr %3471, i64 -2
  %3473 = getelementptr inbounds %struct.anon.0, ptr %3472, i32 0, i32 3
  %3474 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %3463, ptr noundef nonnull align 8 dereferenceable(24) %3466, ptr noundef nonnull align 8 dereferenceable(40) %3470, ptr noundef nonnull align 8 dereferenceable(232) %3473, ptr noundef null, ptr noundef null)
  br label %14379

3475:                                             ; preds = %406
  %3476 = load ptr, ptr %15, align 8, !tbaa !5
  %3477 = getelementptr inbounds %union.YYSTYPE, ptr %3476, i64 -3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %3477, i64 288, i1 false), !tbaa.struct !95
  %3478 = load ptr, ptr %3, align 8, !tbaa !5
  %3479 = load ptr, ptr %15, align 8, !tbaa !5
  %3480 = getelementptr inbounds %union.YYSTYPE, ptr %3479, i64 -1
  %3481 = getelementptr inbounds %struct.anon, ptr %3480, i32 0, i32 0
  %3482 = load ptr, ptr %15, align 8, !tbaa !5
  %3483 = getelementptr inbounds %union.YYSTYPE, ptr %3482, i64 -1
  %3484 = getelementptr inbounds %struct.anon, ptr %3483, i32 0, i32 1
  %3485 = load ptr, ptr %3484, align 8, !tbaa !10
  %3486 = load ptr, ptr %15, align 8, !tbaa !5
  %3487 = getelementptr inbounds %union.YYSTYPE, ptr %3486, i64 -3
  %3488 = getelementptr inbounds %struct.anon.0, ptr %3487, i32 0, i32 3
  %3489 = load ptr, ptr %15, align 8, !tbaa !5
  %3490 = getelementptr inbounds %union.YYSTYPE, ptr %3489, i64 0
  %3491 = getelementptr inbounds %struct.anon.0, ptr %3490, i32 0, i32 3
  %3492 = load ptr, ptr %3491, align 8, !tbaa !10
  %3493 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %3478, ptr noundef nonnull align 8 dereferenceable(24) %3481, ptr noundef nonnull align 8 dereferenceable(40) %3485, ptr noundef nonnull align 8 dereferenceable(232) %3488, ptr noundef %3492, ptr noundef null)
  br label %14379

3494:                                             ; preds = %406
  %3495 = load ptr, ptr %15, align 8, !tbaa !5
  %3496 = getelementptr inbounds %union.YYSTYPE, ptr %3495, i64 -5
  %3497 = getelementptr inbounds %struct.anon.0, ptr %3496, i32 0, i32 3
  %3498 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3498, ptr align 8 %3497, i64 232, i1 false), !tbaa.struct !135
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #10
  %3499 = load ptr, ptr %3, align 8, !tbaa !5
  %3500 = load ptr, ptr %15, align 8, !tbaa !5
  %3501 = getelementptr inbounds %union.YYSTYPE, ptr %3500, i64 -3
  %3502 = getelementptr inbounds %struct.anon, ptr %3501, i32 0, i32 0
  %3503 = load ptr, ptr %15, align 8, !tbaa !5
  %3504 = getelementptr inbounds %union.YYSTYPE, ptr %3503, i64 -3
  %3505 = getelementptr inbounds %struct.anon, ptr %3504, i32 0, i32 1
  %3506 = load ptr, ptr %3505, align 8, !tbaa !10
  %3507 = load ptr, ptr %15, align 8, !tbaa !5
  %3508 = getelementptr inbounds %union.YYSTYPE, ptr %3507, i64 -5
  %3509 = getelementptr inbounds %struct.anon.0, ptr %3508, i32 0, i32 3
  %3510 = load ptr, ptr %15, align 8, !tbaa !5
  %3511 = getelementptr inbounds %union.YYSTYPE, ptr %3510, i64 -2
  %3512 = getelementptr inbounds %struct.anon.0, ptr %3511, i32 0, i32 3
  %3513 = load ptr, ptr %3512, align 8, !tbaa !10
  %3514 = load ptr, ptr %15, align 8, !tbaa !5
  %3515 = getelementptr inbounds %union.YYSTYPE, ptr %3514, i64 0
  %3516 = getelementptr inbounds %struct.anon.0, ptr %3515, i32 0, i32 2
  %3517 = load ptr, ptr %3516, align 8, !tbaa !10
  %3518 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %3499, ptr noundef nonnull align 8 dereferenceable(24) %3502, ptr noundef nonnull align 8 dereferenceable(40) %3506, ptr noundef nonnull align 8 dereferenceable(232) %3509, ptr noundef %3513, ptr noundef %3517)
  store ptr %3518, ptr %62, align 8, !tbaa !5
  %3519 = load ptr, ptr %3, align 8, !tbaa !5
  %3520 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %3519, i32 0, i32 7
  %3521 = load ptr, ptr %3520, align 8, !tbaa !21
  %3522 = load ptr, ptr %15, align 8, !tbaa !5
  %3523 = getelementptr inbounds %union.YYSTYPE, ptr %3522, i64 -5
  %3524 = getelementptr inbounds %struct.anon.0, ptr %3523, i32 0, i32 2
  %3525 = load ptr, ptr %3524, align 8, !tbaa !10
  %3526 = load ptr, ptr %62, align 8, !tbaa !5
  %3527 = load ptr, ptr %15, align 8, !tbaa !5
  %3528 = getelementptr inbounds %union.YYSTYPE, ptr %3527, i64 -1
  %3529 = getelementptr inbounds %struct.anon, ptr %3528, i32 0, i32 0
  %3530 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %3521, ptr noundef %3525, ptr noundef %3526, ptr noundef nonnull align 8 dereferenceable(24) %3529)
  %3531 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %3530, ptr %3531, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #10
  br label %14379

3532:                                             ; preds = %406
  %3533 = load ptr, ptr %15, align 8, !tbaa !5
  %3534 = getelementptr inbounds %union.YYSTYPE, ptr %3533, i64 -4
  %3535 = getelementptr inbounds %struct.anon.0, ptr %3534, i32 0, i32 3
  %3536 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3536, ptr align 8 %3535, i64 232, i1 false), !tbaa.struct !135
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #10
  %3537 = load ptr, ptr %3, align 8, !tbaa !5
  %3538 = load ptr, ptr %15, align 8, !tbaa !5
  %3539 = getelementptr inbounds %union.YYSTYPE, ptr %3538, i64 -2
  %3540 = getelementptr inbounds %struct.anon, ptr %3539, i32 0, i32 0
  %3541 = load ptr, ptr %15, align 8, !tbaa !5
  %3542 = getelementptr inbounds %union.YYSTYPE, ptr %3541, i64 -2
  %3543 = getelementptr inbounds %struct.anon, ptr %3542, i32 0, i32 1
  %3544 = load ptr, ptr %3543, align 8, !tbaa !10
  %3545 = load ptr, ptr %15, align 8, !tbaa !5
  %3546 = getelementptr inbounds %union.YYSTYPE, ptr %3545, i64 -4
  %3547 = getelementptr inbounds %struct.anon.0, ptr %3546, i32 0, i32 3
  %3548 = load ptr, ptr %15, align 8, !tbaa !5
  %3549 = getelementptr inbounds %union.YYSTYPE, ptr %3548, i64 0
  %3550 = getelementptr inbounds %struct.anon.0, ptr %3549, i32 0, i32 2
  %3551 = load ptr, ptr %3550, align 8, !tbaa !10
  %3552 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %3537, ptr noundef nonnull align 8 dereferenceable(24) %3540, ptr noundef nonnull align 8 dereferenceable(40) %3544, ptr noundef nonnull align 8 dereferenceable(232) %3547, ptr noundef null, ptr noundef %3551)
  store ptr %3552, ptr %63, align 8, !tbaa !5
  %3553 = load ptr, ptr %3, align 8, !tbaa !5
  %3554 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %3553, i32 0, i32 7
  %3555 = load ptr, ptr %3554, align 8, !tbaa !21
  %3556 = load ptr, ptr %15, align 8, !tbaa !5
  %3557 = getelementptr inbounds %union.YYSTYPE, ptr %3556, i64 -4
  %3558 = getelementptr inbounds %struct.anon.0, ptr %3557, i32 0, i32 2
  %3559 = load ptr, ptr %3558, align 8, !tbaa !10
  %3560 = load ptr, ptr %63, align 8, !tbaa !5
  %3561 = load ptr, ptr %15, align 8, !tbaa !5
  %3562 = getelementptr inbounds %union.YYSTYPE, ptr %3561, i64 -1
  %3563 = getelementptr inbounds %struct.anon, ptr %3562, i32 0, i32 0
  %3564 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %3555, ptr noundef %3559, ptr noundef %3560, ptr noundef nonnull align 8 dereferenceable(24) %3563)
  %3565 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %3564, ptr %3565, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #10
  br label %14379

3566:                                             ; preds = %406
  %3567 = load ptr, ptr %15, align 8, !tbaa !5
  %3568 = getelementptr inbounds %union.YYSTYPE, ptr %3567, i64 0
  %3569 = getelementptr inbounds %struct.anon.0, ptr %3568, i32 0, i32 3
  %3570 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3570, ptr align 8 %3569, i64 232, i1 false), !tbaa.struct !135
  %3571 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %3571, align 8, !tbaa !10
  %3572 = load ptr, ptr %3, align 8, !tbaa !5
  %3573 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  %3574 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang13TParseContext19declareTypeDefaultsERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3572, ptr noundef nonnull align 8 dereferenceable(24) %3573, ptr noundef nonnull align 8 dereferenceable(232) %3574)
  br label %14379

3575:                                             ; preds = %406
  %3576 = load ptr, ptr %15, align 8, !tbaa !5
  %3577 = getelementptr inbounds %union.YYSTYPE, ptr %3576, i64 -1
  %3578 = getelementptr inbounds %struct.anon.0, ptr %3577, i32 0, i32 3
  %3579 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3579, ptr align 8 %3578, i64 232, i1 false), !tbaa.struct !135
  %3580 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %3580, align 8, !tbaa !10
  %3581 = load ptr, ptr %3, align 8, !tbaa !5
  %3582 = load ptr, ptr %15, align 8, !tbaa !5
  %3583 = getelementptr inbounds %union.YYSTYPE, ptr %3582, i64 0
  %3584 = getelementptr inbounds %struct.anon, ptr %3583, i32 0, i32 0
  %3585 = load ptr, ptr %15, align 8, !tbaa !5
  %3586 = getelementptr inbounds %union.YYSTYPE, ptr %3585, i64 0
  %3587 = getelementptr inbounds %struct.anon, ptr %3586, i32 0, i32 1
  %3588 = load ptr, ptr %3587, align 8, !tbaa !10
  %3589 = load ptr, ptr %15, align 8, !tbaa !5
  %3590 = getelementptr inbounds %union.YYSTYPE, ptr %3589, i64 -1
  %3591 = getelementptr inbounds %struct.anon.0, ptr %3590, i32 0, i32 3
  %3592 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %3581, ptr noundef nonnull align 8 dereferenceable(24) %3584, ptr noundef nonnull align 8 dereferenceable(40) %3588, ptr noundef nonnull align 8 dereferenceable(232) %3591, ptr noundef null, ptr noundef null)
  br label %14379

3593:                                             ; preds = %406
  %3594 = load ptr, ptr %15, align 8, !tbaa !5
  %3595 = getelementptr inbounds %union.YYSTYPE, ptr %3594, i64 -2
  %3596 = getelementptr inbounds %struct.anon.0, ptr %3595, i32 0, i32 3
  %3597 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3597, ptr align 8 %3596, i64 232, i1 false), !tbaa.struct !135
  %3598 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %3598, align 8, !tbaa !10
  %3599 = load ptr, ptr %3, align 8, !tbaa !5
  %3600 = load ptr, ptr %15, align 8, !tbaa !5
  %3601 = getelementptr inbounds %union.YYSTYPE, ptr %3600, i64 -1
  %3602 = getelementptr inbounds %struct.anon, ptr %3601, i32 0, i32 0
  %3603 = load ptr, ptr %15, align 8, !tbaa !5
  %3604 = getelementptr inbounds %union.YYSTYPE, ptr %3603, i64 -1
  %3605 = getelementptr inbounds %struct.anon, ptr %3604, i32 0, i32 1
  %3606 = load ptr, ptr %3605, align 8, !tbaa !10
  %3607 = load ptr, ptr %15, align 8, !tbaa !5
  %3608 = getelementptr inbounds %union.YYSTYPE, ptr %3607, i64 -2
  %3609 = getelementptr inbounds %struct.anon.0, ptr %3608, i32 0, i32 3
  %3610 = load ptr, ptr %15, align 8, !tbaa !5
  %3611 = getelementptr inbounds %union.YYSTYPE, ptr %3610, i64 0
  %3612 = getelementptr inbounds %struct.anon.0, ptr %3611, i32 0, i32 3
  %3613 = load ptr, ptr %3612, align 8, !tbaa !10
  %3614 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %3599, ptr noundef nonnull align 8 dereferenceable(24) %3602, ptr noundef nonnull align 8 dereferenceable(40) %3606, ptr noundef nonnull align 8 dereferenceable(232) %3609, ptr noundef %3613, ptr noundef null)
  br label %14379

3615:                                             ; preds = %406
  %3616 = load ptr, ptr %15, align 8, !tbaa !5
  %3617 = getelementptr inbounds %union.YYSTYPE, ptr %3616, i64 -4
  %3618 = getelementptr inbounds %struct.anon.0, ptr %3617, i32 0, i32 3
  %3619 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3619, ptr align 8 %3618, i64 232, i1 false), !tbaa.struct !135
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #10
  %3620 = load ptr, ptr %3, align 8, !tbaa !5
  %3621 = load ptr, ptr %15, align 8, !tbaa !5
  %3622 = getelementptr inbounds %union.YYSTYPE, ptr %3621, i64 -3
  %3623 = getelementptr inbounds %struct.anon, ptr %3622, i32 0, i32 0
  %3624 = load ptr, ptr %15, align 8, !tbaa !5
  %3625 = getelementptr inbounds %union.YYSTYPE, ptr %3624, i64 -3
  %3626 = getelementptr inbounds %struct.anon, ptr %3625, i32 0, i32 1
  %3627 = load ptr, ptr %3626, align 8, !tbaa !10
  %3628 = load ptr, ptr %15, align 8, !tbaa !5
  %3629 = getelementptr inbounds %union.YYSTYPE, ptr %3628, i64 -4
  %3630 = getelementptr inbounds %struct.anon.0, ptr %3629, i32 0, i32 3
  %3631 = load ptr, ptr %15, align 8, !tbaa !5
  %3632 = getelementptr inbounds %union.YYSTYPE, ptr %3631, i64 -2
  %3633 = getelementptr inbounds %struct.anon.0, ptr %3632, i32 0, i32 3
  %3634 = load ptr, ptr %3633, align 8, !tbaa !10
  %3635 = load ptr, ptr %15, align 8, !tbaa !5
  %3636 = getelementptr inbounds %union.YYSTYPE, ptr %3635, i64 0
  %3637 = getelementptr inbounds %struct.anon.0, ptr %3636, i32 0, i32 2
  %3638 = load ptr, ptr %3637, align 8, !tbaa !10
  %3639 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %3620, ptr noundef nonnull align 8 dereferenceable(24) %3623, ptr noundef nonnull align 8 dereferenceable(40) %3627, ptr noundef nonnull align 8 dereferenceable(232) %3630, ptr noundef %3634, ptr noundef %3638)
  store ptr %3639, ptr %64, align 8, !tbaa !5
  %3640 = load ptr, ptr %3, align 8, !tbaa !5
  %3641 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %3640, i32 0, i32 7
  %3642 = load ptr, ptr %3641, align 8, !tbaa !21
  %3643 = load ptr, ptr %64, align 8, !tbaa !5
  %3644 = load ptr, ptr %15, align 8, !tbaa !5
  %3645 = getelementptr inbounds %union.YYSTYPE, ptr %3644, i64 -1
  %3646 = getelementptr inbounds %struct.anon, ptr %3645, i32 0, i32 0
  %3647 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %3642, ptr noundef null, ptr noundef %3643, ptr noundef nonnull align 8 dereferenceable(24) %3646)
  %3648 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %3647, ptr %3648, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #10
  br label %14379

3649:                                             ; preds = %406
  %3650 = load ptr, ptr %15, align 8, !tbaa !5
  %3651 = getelementptr inbounds %union.YYSTYPE, ptr %3650, i64 -3
  %3652 = getelementptr inbounds %struct.anon.0, ptr %3651, i32 0, i32 3
  %3653 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3653, ptr align 8 %3652, i64 232, i1 false), !tbaa.struct !135
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #10
  %3654 = load ptr, ptr %3, align 8, !tbaa !5
  %3655 = load ptr, ptr %15, align 8, !tbaa !5
  %3656 = getelementptr inbounds %union.YYSTYPE, ptr %3655, i64 -2
  %3657 = getelementptr inbounds %struct.anon, ptr %3656, i32 0, i32 0
  %3658 = load ptr, ptr %15, align 8, !tbaa !5
  %3659 = getelementptr inbounds %union.YYSTYPE, ptr %3658, i64 -2
  %3660 = getelementptr inbounds %struct.anon, ptr %3659, i32 0, i32 1
  %3661 = load ptr, ptr %3660, align 8, !tbaa !10
  %3662 = load ptr, ptr %15, align 8, !tbaa !5
  %3663 = getelementptr inbounds %union.YYSTYPE, ptr %3662, i64 -3
  %3664 = getelementptr inbounds %struct.anon.0, ptr %3663, i32 0, i32 3
  %3665 = load ptr, ptr %15, align 8, !tbaa !5
  %3666 = getelementptr inbounds %union.YYSTYPE, ptr %3665, i64 0
  %3667 = getelementptr inbounds %struct.anon.0, ptr %3666, i32 0, i32 2
  %3668 = load ptr, ptr %3667, align 8, !tbaa !10
  %3669 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %3654, ptr noundef nonnull align 8 dereferenceable(24) %3657, ptr noundef nonnull align 8 dereferenceable(40) %3661, ptr noundef nonnull align 8 dereferenceable(232) %3664, ptr noundef null, ptr noundef %3668)
  store ptr %3669, ptr %65, align 8, !tbaa !5
  %3670 = load ptr, ptr %3, align 8, !tbaa !5
  %3671 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %3670, i32 0, i32 7
  %3672 = load ptr, ptr %3671, align 8, !tbaa !21
  %3673 = load ptr, ptr %65, align 8, !tbaa !5
  %3674 = load ptr, ptr %15, align 8, !tbaa !5
  %3675 = getelementptr inbounds %union.YYSTYPE, ptr %3674, i64 -1
  %3676 = getelementptr inbounds %struct.anon, ptr %3675, i32 0, i32 0
  %3677 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %3672, ptr noundef null, ptr noundef %3673, ptr noundef nonnull align 8 dereferenceable(24) %3676)
  %3678 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %3677, ptr %3678, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #10
  br label %14379

3679:                                             ; preds = %406
  %3680 = load ptr, ptr %15, align 8, !tbaa !5
  %3681 = getelementptr inbounds %union.YYSTYPE, ptr %3680, i64 0
  %3682 = getelementptr inbounds %struct.anon.0, ptr %3681, i32 0, i32 3
  %3683 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3683, ptr align 8 %3682, i64 232, i1 false), !tbaa.struct !135
  %3684 = load ptr, ptr %3, align 8, !tbaa !5
  %3685 = load ptr, ptr %15, align 8, !tbaa !5
  %3686 = getelementptr inbounds %union.YYSTYPE, ptr %3685, i64 0
  %3687 = getelementptr inbounds %struct.anon.0, ptr %3686, i32 0, i32 3
  %3688 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3687, i32 0, i32 7
  %3689 = load ptr, ptr %15, align 8, !tbaa !5
  %3690 = getelementptr inbounds %union.YYSTYPE, ptr %3689, i64 0
  %3691 = getelementptr inbounds %struct.anon.0, ptr %3690, i32 0, i32 3
  %3692 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3691, i32 0, i32 2
  %3693 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang13TParseContext24globalQualifierTypeCheckERKNS_10TSourceLocERKNS_10TQualifierERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3684, ptr noundef nonnull align 8 dereferenceable(24) %3688, ptr noundef nonnull align 8 dereferenceable(72) %3692, ptr noundef nonnull align 8 dereferenceable(232) %3693)
  %3694 = load ptr, ptr %15, align 8, !tbaa !5
  %3695 = getelementptr inbounds %union.YYSTYPE, ptr %3694, i64 0
  %3696 = getelementptr inbounds %struct.anon.0, ptr %3695, i32 0, i32 3
  %3697 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3696, i32 0, i32 5
  %3698 = load ptr, ptr %3697, align 8, !tbaa !10
  %3699 = icmp ne ptr %3698, null
  br i1 %3699, label %3700, label %3711

3700:                                             ; preds = %3679
  %3701 = load ptr, ptr %3, align 8, !tbaa !5
  %3702 = load ptr, ptr %15, align 8, !tbaa !5
  %3703 = getelementptr inbounds %union.YYSTYPE, ptr %3702, i64 0
  %3704 = getelementptr inbounds %struct.anon.0, ptr %3703, i32 0, i32 3
  %3705 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3704, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3701, ptr noundef nonnull align 8 dereferenceable(24) %3705, i32 noundef 1, i32 noundef 120, ptr noundef @.str.68, ptr noundef @.str.69)
  %3706 = load ptr, ptr %3, align 8, !tbaa !5
  %3707 = load ptr, ptr %15, align 8, !tbaa !5
  %3708 = getelementptr inbounds %union.YYSTYPE, ptr %3707, i64 0
  %3709 = getelementptr inbounds %struct.anon.0, ptr %3708, i32 0, i32 3
  %3710 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3709, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3706, ptr noundef nonnull align 8 dereferenceable(24) %3710, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.69)
  br label %3711

3711:                                             ; preds = %3700, %3679
  %3712 = load ptr, ptr %3, align 8, !tbaa !5
  %3713 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3714 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3713, i32 0, i32 7
  %3715 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3716 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3715, i32 0, i32 0
  %3717 = load i32, ptr %3716, align 8, !tbaa !10
  %3718 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3719 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3718, i32 0, i32 2
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %3712, ptr noundef nonnull align 8 dereferenceable(24) %3714, i32 noundef %3717, ptr noundef nonnull align 8 dereferenceable(72) %3719)
  br label %14379

3720:                                             ; preds = %406
  %3721 = load ptr, ptr %3, align 8, !tbaa !5
  %3722 = load ptr, ptr %15, align 8, !tbaa !5
  %3723 = getelementptr inbounds %union.YYSTYPE, ptr %3722, i64 -1
  %3724 = getelementptr inbounds %struct.anon.0, ptr %3723, i32 0, i32 3
  %3725 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3724, i32 0, i32 7
  %3726 = load ptr, ptr %15, align 8, !tbaa !5
  %3727 = getelementptr inbounds %union.YYSTYPE, ptr %3726, i64 -1
  %3728 = getelementptr inbounds %struct.anon.0, ptr %3727, i32 0, i32 3
  %3729 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3728, i32 0, i32 2
  call void @_ZN7glslang13TParseContext23globalQualifierFixCheckERKNS_10TSourceLocERNS_10TQualifierEb(ptr noundef nonnull align 8 dereferenceable(24912) %3721, ptr noundef nonnull align 8 dereferenceable(24) %3725, ptr noundef nonnull align 8 dereferenceable(72) %3729, i1 noundef zeroext false)
  %3730 = load ptr, ptr %3, align 8, !tbaa !5
  %3731 = load ptr, ptr %15, align 8, !tbaa !5
  %3732 = getelementptr inbounds %union.YYSTYPE, ptr %3731, i64 -1
  %3733 = getelementptr inbounds %struct.anon.0, ptr %3732, i32 0, i32 3
  %3734 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3733, i32 0, i32 7
  %3735 = load ptr, ptr %15, align 8, !tbaa !5
  %3736 = getelementptr inbounds %union.YYSTYPE, ptr %3735, i64 -1
  %3737 = getelementptr inbounds %struct.anon.0, ptr %3736, i32 0, i32 3
  %3738 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3737, i32 0, i32 2
  %3739 = load ptr, ptr %15, align 8, !tbaa !5
  %3740 = getelementptr inbounds %union.YYSTYPE, ptr %3739, i64 0
  %3741 = getelementptr inbounds %struct.anon.0, ptr %3740, i32 0, i32 3
  call void @_ZN7glslang13TParseContext24globalQualifierTypeCheckERKNS_10TSourceLocERKNS_10TQualifierERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %3730, ptr noundef nonnull align 8 dereferenceable(24) %3734, ptr noundef nonnull align 8 dereferenceable(72) %3738, ptr noundef nonnull align 8 dereferenceable(232) %3741)
  %3742 = load ptr, ptr %15, align 8, !tbaa !5
  %3743 = getelementptr inbounds %union.YYSTYPE, ptr %3742, i64 0
  %3744 = getelementptr inbounds %struct.anon.0, ptr %3743, i32 0, i32 3
  %3745 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3744, i32 0, i32 5
  %3746 = load ptr, ptr %3745, align 8, !tbaa !10
  %3747 = icmp ne ptr %3746, null
  br i1 %3747, label %3748, label %3759

3748:                                             ; preds = %3720
  %3749 = load ptr, ptr %3, align 8, !tbaa !5
  %3750 = load ptr, ptr %15, align 8, !tbaa !5
  %3751 = getelementptr inbounds %union.YYSTYPE, ptr %3750, i64 0
  %3752 = getelementptr inbounds %struct.anon.0, ptr %3751, i32 0, i32 3
  %3753 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3752, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3749, ptr noundef nonnull align 8 dereferenceable(24) %3753, i32 noundef 1, i32 noundef 120, ptr noundef @.str.68, ptr noundef @.str.69)
  %3754 = load ptr, ptr %3, align 8, !tbaa !5
  %3755 = load ptr, ptr %15, align 8, !tbaa !5
  %3756 = getelementptr inbounds %union.YYSTYPE, ptr %3755, i64 0
  %3757 = getelementptr inbounds %struct.anon.0, ptr %3756, i32 0, i32 3
  %3758 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3757, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3754, ptr noundef nonnull align 8 dereferenceable(24) %3758, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.69)
  br label %3759

3759:                                             ; preds = %3748, %3720
  %3760 = load ptr, ptr %15, align 8, !tbaa !5
  %3761 = getelementptr inbounds %union.YYSTYPE, ptr %3760, i64 0
  %3762 = getelementptr inbounds %struct.anon.0, ptr %3761, i32 0, i32 3
  %3763 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3762, i32 0, i32 5
  %3764 = load ptr, ptr %3763, align 8, !tbaa !10
  %3765 = icmp ne ptr %3764, null
  br i1 %3765, label %3766, label %3782

3766:                                             ; preds = %3759
  %3767 = load ptr, ptr %3, align 8, !tbaa !5
  %3768 = load ptr, ptr %15, align 8, !tbaa !5
  %3769 = getelementptr inbounds %union.YYSTYPE, ptr %3768, i64 0
  %3770 = getelementptr inbounds %struct.anon.0, ptr %3769, i32 0, i32 3
  %3771 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3770, i32 0, i32 7
  %3772 = load ptr, ptr %15, align 8, !tbaa !5
  %3773 = getelementptr inbounds %union.YYSTYPE, ptr %3772, i64 -1
  %3774 = getelementptr inbounds %struct.anon.0, ptr %3773, i32 0, i32 3
  %3775 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3774, i32 0, i32 2
  %3776 = call noundef zeroext i1 @_ZN7glslang13TParseContext19arrayQualifierErrorERKNS_10TSourceLocERKNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %3767, ptr noundef nonnull align 8 dereferenceable(24) %3771, ptr noundef nonnull align 8 dereferenceable(72) %3775)
  br i1 %3776, label %3777, label %3782

3777:                                             ; preds = %3766
  %3778 = load ptr, ptr %15, align 8, !tbaa !5
  %3779 = getelementptr inbounds %union.YYSTYPE, ptr %3778, i64 0
  %3780 = getelementptr inbounds %struct.anon.0, ptr %3779, i32 0, i32 3
  %3781 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3780, i32 0, i32 5
  store ptr null, ptr %3781, align 8, !tbaa !10
  br label %3782

3782:                                             ; preds = %3777, %3766, %3759
  %3783 = load ptr, ptr %3, align 8, !tbaa !5
  %3784 = load ptr, ptr %15, align 8, !tbaa !5
  %3785 = getelementptr inbounds %union.YYSTYPE, ptr %3784, i64 0
  %3786 = getelementptr inbounds %struct.anon.0, ptr %3785, i32 0, i32 3
  %3787 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3786, i32 0, i32 7
  %3788 = load ptr, ptr %15, align 8, !tbaa !5
  %3789 = getelementptr inbounds %union.YYSTYPE, ptr %3788, i64 -1
  %3790 = getelementptr inbounds %struct.anon.0, ptr %3789, i32 0, i32 3
  %3791 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3790, i32 0, i32 3
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %3783, ptr noundef nonnull align 8 dereferenceable(24) %3787, ptr noundef nonnull align 4 dereferenceable(88) %3791)
  %3792 = load ptr, ptr %15, align 8, !tbaa !5
  %3793 = getelementptr inbounds %union.YYSTYPE, ptr %3792, i64 0
  %3794 = getelementptr inbounds %struct.anon.0, ptr %3793, i32 0, i32 3
  %3795 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3794, i32 0, i32 3
  %3796 = load ptr, ptr %15, align 8, !tbaa !5
  %3797 = getelementptr inbounds %union.YYSTYPE, ptr %3796, i64 -1
  %3798 = getelementptr inbounds %struct.anon.0, ptr %3797, i32 0, i32 3
  %3799 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3798, i32 0, i32 3
  call void @_ZN7glslang17TShaderQualifiers5mergeERKS0_(ptr noundef nonnull align 4 dereferenceable(88) %3795, ptr noundef nonnull align 4 dereferenceable(88) %3799)
  %3800 = load ptr, ptr %3, align 8, !tbaa !5
  %3801 = load ptr, ptr %15, align 8, !tbaa !5
  %3802 = getelementptr inbounds %union.YYSTYPE, ptr %3801, i64 0
  %3803 = getelementptr inbounds %struct.anon.0, ptr %3802, i32 0, i32 3
  %3804 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3803, i32 0, i32 7
  %3805 = load ptr, ptr %15, align 8, !tbaa !5
  %3806 = getelementptr inbounds %union.YYSTYPE, ptr %3805, i64 0
  %3807 = getelementptr inbounds %struct.anon.0, ptr %3806, i32 0, i32 3
  %3808 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3807, i32 0, i32 2
  %3809 = load ptr, ptr %15, align 8, !tbaa !5
  %3810 = getelementptr inbounds %union.YYSTYPE, ptr %3809, i64 -1
  %3811 = getelementptr inbounds %struct.anon.0, ptr %3810, i32 0, i32 3
  %3812 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3811, i32 0, i32 2
  call void @_ZN7glslang13TParseContext15mergeQualifiersERKNS_10TSourceLocERNS_10TQualifierERKS4_b(ptr noundef nonnull align 8 dereferenceable(24912) %3800, ptr noundef nonnull align 8 dereferenceable(24) %3804, ptr noundef nonnull align 8 dereferenceable(72) %3808, ptr noundef nonnull align 8 dereferenceable(72) %3812, i1 noundef zeroext true)
  %3813 = load ptr, ptr %3, align 8, !tbaa !5
  %3814 = load ptr, ptr %15, align 8, !tbaa !5
  %3815 = getelementptr inbounds %union.YYSTYPE, ptr %3814, i64 0
  %3816 = getelementptr inbounds %struct.anon.0, ptr %3815, i32 0, i32 3
  %3817 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3816, i32 0, i32 7
  %3818 = load ptr, ptr %15, align 8, !tbaa !5
  %3819 = getelementptr inbounds %union.YYSTYPE, ptr %3818, i64 0
  %3820 = getelementptr inbounds %struct.anon.0, ptr %3819, i32 0, i32 3
  %3821 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3820, i32 0, i32 0
  %3822 = load i32, ptr %3821, align 8, !tbaa !10
  %3823 = load ptr, ptr %15, align 8, !tbaa !5
  %3824 = getelementptr inbounds %union.YYSTYPE, ptr %3823, i64 0
  %3825 = getelementptr inbounds %struct.anon.0, ptr %3824, i32 0, i32 3
  %3826 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3825, i32 0, i32 2
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %3813, ptr noundef nonnull align 8 dereferenceable(24) %3817, i32 noundef %3822, ptr noundef nonnull align 8 dereferenceable(72) %3826)
  %3827 = load ptr, ptr %15, align 8, !tbaa !5
  %3828 = getelementptr inbounds %union.YYSTYPE, ptr %3827, i64 0
  %3829 = getelementptr inbounds %struct.anon.0, ptr %3828, i32 0, i32 3
  %3830 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3830, ptr align 8 %3829, i64 232, i1 false), !tbaa.struct !135
  %3831 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3832 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3831, i32 0, i32 2
  %3833 = call noundef zeroext i1 @_ZNK7glslang10TQualifier15isInterpolationEv(ptr noundef nonnull align 8 dereferenceable(72) %3832)
  br i1 %3833, label %3867, label %3834

3834:                                             ; preds = %3782
  %3835 = load ptr, ptr %3, align 8, !tbaa !5
  %3836 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %3835, i32 0, i32 5
  %3837 = load i32, ptr %3836, align 4, !tbaa !148
  %3838 = icmp eq i32 %3837, 0
  br i1 %3838, label %3839, label %3847

3839:                                             ; preds = %3834
  %3840 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3841 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3840, i32 0, i32 2
  %3842 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3841, i32 0, i32 1
  %3843 = load i64, ptr %3842, align 8
  %3844 = and i64 %3843, 63
  %3845 = trunc i64 %3844 to i32
  %3846 = icmp eq i32 %3845, 4
  br i1 %3846, label %3860, label %3847

3847:                                             ; preds = %3839, %3834
  %3848 = load ptr, ptr %3, align 8, !tbaa !5
  %3849 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %3848, i32 0, i32 5
  %3850 = load i32, ptr %3849, align 4, !tbaa !148
  %3851 = icmp eq i32 %3850, 4
  br i1 %3851, label %3852, label %3867

3852:                                             ; preds = %3847
  %3853 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3854 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3853, i32 0, i32 2
  %3855 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3854, i32 0, i32 1
  %3856 = load i64, ptr %3855, align 8
  %3857 = and i64 %3856, 63
  %3858 = trunc i64 %3857 to i32
  %3859 = icmp eq i32 %3858, 3
  br i1 %3859, label %3860, label %3867

3860:                                             ; preds = %3852, %3839
  %3861 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3862 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3861, i32 0, i32 2
  %3863 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3862, i32 0, i32 1
  %3864 = load i64, ptr %3863, align 8
  %3865 = and i64 %3864, -536870913
  %3866 = or i64 %3865, 536870912
  store i64 %3866, ptr %3863, align 8
  br label %3867

3867:                                             ; preds = %3860, %3852, %3847, %3782
  br label %14379

3868:                                             ; preds = %406
  %3869 = load ptr, ptr %3, align 8, !tbaa !5
  %3870 = load ptr, ptr %15, align 8, !tbaa !5
  %3871 = getelementptr inbounds %union.YYSTYPE, ptr %3870, i64 0
  %3872 = getelementptr inbounds %struct.anon, ptr %3871, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %3869, ptr noundef nonnull align 8 dereferenceable(24) %3872, ptr noundef @.str.71)
  %3873 = load ptr, ptr %3, align 8, !tbaa !5
  %3874 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3875 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3874, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3873, ptr noundef nonnull align 8 dereferenceable(24) %3875, i32 noundef 1, i32 noundef 120, ptr noundef null, ptr noundef @.str.71)
  %3876 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3877 = load ptr, ptr %15, align 8, !tbaa !5
  %3878 = getelementptr inbounds %union.YYSTYPE, ptr %3877, i64 0
  %3879 = getelementptr inbounds %struct.anon, ptr %3878, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %3876, ptr noundef nonnull align 8 dereferenceable(24) %3879, i1 noundef zeroext false)
  %3880 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3881 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3880, i32 0, i32 2
  %3882 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3881, i32 0, i32 1
  %3883 = load i64, ptr %3882, align 8
  %3884 = and i64 %3883, -134217729
  %3885 = or i64 %3884, 134217728
  store i64 %3885, ptr %3882, align 8
  br label %14379

3886:                                             ; preds = %406
  %3887 = load ptr, ptr %3, align 8, !tbaa !5
  %3888 = load ptr, ptr %15, align 8, !tbaa !5
  %3889 = getelementptr inbounds %union.YYSTYPE, ptr %3888, i64 0
  %3890 = getelementptr inbounds %struct.anon, ptr %3889, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %3887, ptr noundef nonnull align 8 dereferenceable(24) %3890, ptr noundef @.str.72)
  %3891 = load ptr, ptr %3, align 8, !tbaa !5
  %3892 = load ptr, ptr %15, align 8, !tbaa !5
  %3893 = getelementptr inbounds %union.YYSTYPE, ptr %3892, i64 0
  %3894 = getelementptr inbounds %struct.anon, ptr %3893, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3891, ptr noundef nonnull align 8 dereferenceable(24) %3894, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef @.str.72)
  %3895 = load ptr, ptr %3, align 8, !tbaa !5
  %3896 = load ptr, ptr %15, align 8, !tbaa !5
  %3897 = getelementptr inbounds %union.YYSTYPE, ptr %3896, i64 0
  %3898 = getelementptr inbounds %struct.anon, ptr %3897, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3895, ptr noundef nonnull align 8 dereferenceable(24) %3898, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.72)
  %3899 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3900 = load ptr, ptr %15, align 8, !tbaa !5
  %3901 = getelementptr inbounds %union.YYSTYPE, ptr %3900, i64 0
  %3902 = getelementptr inbounds %struct.anon, ptr %3901, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %3899, ptr noundef nonnull align 8 dereferenceable(24) %3902, i1 noundef zeroext false)
  %3903 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3904 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3903, i32 0, i32 2
  %3905 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3904, i32 0, i32 1
  %3906 = load i64, ptr %3905, align 8
  %3907 = and i64 %3906, -536870913
  %3908 = or i64 %3907, 536870912
  store i64 %3908, ptr %3905, align 8
  br label %14379

3909:                                             ; preds = %406
  %3910 = load ptr, ptr %3, align 8, !tbaa !5
  %3911 = load ptr, ptr %15, align 8, !tbaa !5
  %3912 = getelementptr inbounds %union.YYSTYPE, ptr %3911, i64 0
  %3913 = getelementptr inbounds %struct.anon, ptr %3912, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %3910, ptr noundef nonnull align 8 dereferenceable(24) %3913, ptr noundef @.str.73)
  %3914 = load ptr, ptr %3, align 8, !tbaa !5
  %3915 = load ptr, ptr %15, align 8, !tbaa !5
  %3916 = getelementptr inbounds %union.YYSTYPE, ptr %3915, i64 0
  %3917 = getelementptr inbounds %struct.anon, ptr %3916, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3914, ptr noundef nonnull align 8 dereferenceable(24) %3917, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef @.str.73)
  %3918 = load ptr, ptr %3, align 8, !tbaa !5
  %3919 = load ptr, ptr %15, align 8, !tbaa !5
  %3920 = getelementptr inbounds %union.YYSTYPE, ptr %3919, i64 0
  %3921 = getelementptr inbounds %struct.anon, ptr %3920, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3918, ptr noundef nonnull align 8 dereferenceable(24) %3921, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.73)
  %3922 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3923 = load ptr, ptr %15, align 8, !tbaa !5
  %3924 = getelementptr inbounds %union.YYSTYPE, ptr %3923, i64 0
  %3925 = getelementptr inbounds %struct.anon, ptr %3924, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %3922, ptr noundef nonnull align 8 dereferenceable(24) %3925, i1 noundef zeroext false)
  %3926 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3927 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3926, i32 0, i32 2
  %3928 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3927, i32 0, i32 1
  %3929 = load i64, ptr %3928, align 8
  %3930 = and i64 %3929, -1073741825
  %3931 = or i64 %3930, 1073741824
  store i64 %3931, ptr %3928, align 8
  br label %14379

3932:                                             ; preds = %406
  %3933 = load ptr, ptr %3, align 8, !tbaa !5
  %3934 = load ptr, ptr %15, align 8, !tbaa !5
  %3935 = getelementptr inbounds %union.YYSTYPE, ptr %3934, i64 0
  %3936 = getelementptr inbounds %struct.anon, ptr %3935, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %3933, ptr noundef nonnull align 8 dereferenceable(24) %3936, ptr noundef @.str.74)
  %3937 = load ptr, ptr %3, align 8, !tbaa !5
  %3938 = load ptr, ptr %15, align 8, !tbaa !5
  %3939 = getelementptr inbounds %union.YYSTYPE, ptr %3938, i64 0
  %3940 = getelementptr inbounds %struct.anon, ptr %3939, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3937, ptr noundef nonnull align 8 dereferenceable(24) %3940, i32 noundef 8, i32 noundef 0, ptr noundef @.str.75, ptr noundef @.str.74)
  %3941 = load ptr, ptr %3, align 8, !tbaa !5
  %3942 = load ptr, ptr %15, align 8, !tbaa !5
  %3943 = getelementptr inbounds %union.YYSTYPE, ptr %3942, i64 0
  %3944 = getelementptr inbounds %struct.anon, ptr %3943, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3941, ptr noundef nonnull align 8 dereferenceable(24) %3944, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef @.str.74)
  %3945 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3946 = load ptr, ptr %15, align 8, !tbaa !5
  %3947 = getelementptr inbounds %union.YYSTYPE, ptr %3946, i64 0
  %3948 = getelementptr inbounds %struct.anon, ptr %3947, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %3945, ptr noundef nonnull align 8 dereferenceable(24) %3948, i1 noundef zeroext false)
  %3949 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3950 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3949, i32 0, i32 2
  %3951 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3950, i32 0, i32 1
  %3952 = load i64, ptr %3951, align 8
  %3953 = and i64 %3952, -68719476737
  %3954 = or i64 %3953, 68719476736
  store i64 %3954, ptr %3951, align 8
  br label %14379

3955:                                             ; preds = %406
  %3956 = load ptr, ptr %3, align 8, !tbaa !5
  %3957 = load ptr, ptr %15, align 8, !tbaa !5
  %3958 = getelementptr inbounds %union.YYSTYPE, ptr %3957, i64 0
  %3959 = getelementptr inbounds %struct.anon, ptr %3958, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %3956, ptr noundef nonnull align 8 dereferenceable(24) %3959, ptr noundef @.str.76)
  %3960 = load ptr, ptr %3, align 8, !tbaa !5
  %3961 = load ptr, ptr %15, align 8, !tbaa !5
  %3962 = getelementptr inbounds %union.YYSTYPE, ptr %3961, i64 0
  %3963 = getelementptr inbounds %struct.anon, ptr %3962, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3960, ptr noundef nonnull align 8 dereferenceable(24) %3963, i32 noundef 2, i32 noundef 450, ptr noundef @.str.77, ptr noundef @.str.78)
  %3964 = load ptr, ptr %3, align 8, !tbaa !5
  %3965 = load ptr, ptr %15, align 8, !tbaa !5
  %3966 = getelementptr inbounds %union.YYSTYPE, ptr %3965, i64 0
  %3967 = getelementptr inbounds %struct.anon, ptr %3966, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3964, ptr noundef nonnull align 8 dereferenceable(24) %3967, i32 noundef 4, i32 noundef 450, ptr noundef @.str.77, ptr noundef @.str.78)
  %3968 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3969 = load ptr, ptr %15, align 8, !tbaa !5
  %3970 = getelementptr inbounds %union.YYSTYPE, ptr %3969, i64 0
  %3971 = getelementptr inbounds %struct.anon, ptr %3970, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %3968, ptr noundef nonnull align 8 dereferenceable(24) %3971, i1 noundef zeroext false)
  %3972 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3973 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3972, i32 0, i32 2
  %3974 = getelementptr inbounds %"class.glslang::TQualifier", ptr %3973, i32 0, i32 1
  %3975 = load i64, ptr %3974, align 8
  %3976 = and i64 %3975, -137438953473
  %3977 = or i64 %3976, 137438953472
  store i64 %3977, ptr %3974, align 8
  br label %14379

3978:                                             ; preds = %406
  %3979 = load ptr, ptr %3, align 8, !tbaa !5
  %3980 = load ptr, ptr %15, align 8, !tbaa !5
  %3981 = getelementptr inbounds %union.YYSTYPE, ptr %3980, i64 0
  %3982 = getelementptr inbounds %struct.anon, ptr %3981, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %3979, ptr noundef nonnull align 8 dereferenceable(24) %3982, ptr noundef @.str.79)
  %3983 = load ptr, ptr %3, align 8, !tbaa !5
  %3984 = load ptr, ptr %15, align 8, !tbaa !5
  %3985 = getelementptr inbounds %union.YYSTYPE, ptr %3984, i64 0
  %3986 = getelementptr inbounds %struct.anon, ptr %3985, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3983, ptr noundef nonnull align 8 dereferenceable(24) %3986, i32 noundef 2, i32 noundef 0, ptr noundef @.str.80, ptr noundef @.str.81)
  %3987 = load ptr, ptr %3, align 8, !tbaa !5
  %3988 = load ptr, ptr %15, align 8, !tbaa !5
  %3989 = getelementptr inbounds %union.YYSTYPE, ptr %3988, i64 0
  %3990 = getelementptr inbounds %struct.anon, ptr %3989, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3987, ptr noundef nonnull align 8 dereferenceable(24) %3990, i32 noundef 4, i32 noundef 0, ptr noundef @.str.80, ptr noundef @.str.81)
  %3991 = load ptr, ptr %3, align 8, !tbaa !5
  %3992 = load ptr, ptr %15, align 8, !tbaa !5
  %3993 = getelementptr inbounds %union.YYSTYPE, ptr %3992, i64 0
  %3994 = getelementptr inbounds %struct.anon, ptr %3993, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %3991, ptr noundef nonnull align 8 dereferenceable(24) %3994, i32 noundef 8, i32 noundef 0, ptr noundef @.str.80, ptr noundef @.str.81)
  %3995 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %3996 = load ptr, ptr %15, align 8, !tbaa !5
  %3997 = getelementptr inbounds %union.YYSTYPE, ptr %3996, i64 0
  %3998 = getelementptr inbounds %struct.anon, ptr %3997, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %3995, ptr noundef nonnull align 8 dereferenceable(24) %3998, i1 noundef zeroext false)
  %3999 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4000 = getelementptr inbounds %"class.glslang::TPublicType", ptr %3999, i32 0, i32 2
  %4001 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4000, i32 0, i32 1
  %4002 = load i64, ptr %4001, align 8
  %4003 = and i64 %4002, -274877906945
  %4004 = or i64 %4003, 274877906944
  store i64 %4004, ptr %4001, align 8
  br label %14379

4005:                                             ; preds = %406
  %4006 = load ptr, ptr %3, align 8, !tbaa !5
  %4007 = load ptr, ptr %15, align 8, !tbaa !5
  %4008 = getelementptr inbounds %union.YYSTYPE, ptr %4007, i64 0
  %4009 = getelementptr inbounds %struct.anon, ptr %4008, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4006, ptr noundef nonnull align 8 dereferenceable(24) %4009, ptr noundef @.str.82)
  %4010 = load ptr, ptr %3, align 8, !tbaa !5
  %4011 = load ptr, ptr %15, align 8, !tbaa !5
  %4012 = getelementptr inbounds %union.YYSTYPE, ptr %4011, i64 0
  %4013 = getelementptr inbounds %struct.anon, ptr %4012, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4010, ptr noundef nonnull align 8 dereferenceable(24) %4013, i32 noundef 2, i32 noundef 0, ptr noundef @.str.83, ptr noundef @.str.81)
  %4014 = load ptr, ptr %3, align 8, !tbaa !5
  %4015 = load ptr, ptr %15, align 8, !tbaa !5
  %4016 = getelementptr inbounds %union.YYSTYPE, ptr %4015, i64 0
  %4017 = getelementptr inbounds %struct.anon, ptr %4016, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4014, ptr noundef nonnull align 8 dereferenceable(24) %4017, i32 noundef 4, i32 noundef 0, ptr noundef @.str.83, ptr noundef @.str.81)
  %4018 = load ptr, ptr %3, align 8, !tbaa !5
  %4019 = load ptr, ptr %15, align 8, !tbaa !5
  %4020 = getelementptr inbounds %union.YYSTYPE, ptr %4019, i64 0
  %4021 = getelementptr inbounds %struct.anon, ptr %4020, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4018, ptr noundef nonnull align 8 dereferenceable(24) %4021, i32 noundef 8, i32 noundef 0, ptr noundef @.str.83, ptr noundef @.str.81)
  %4022 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4023 = load ptr, ptr %15, align 8, !tbaa !5
  %4024 = getelementptr inbounds %union.YYSTYPE, ptr %4023, i64 0
  %4025 = getelementptr inbounds %struct.anon, ptr %4024, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4022, ptr noundef nonnull align 8 dereferenceable(24) %4025, i1 noundef zeroext false)
  %4026 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4027 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4026, i32 0, i32 2
  %4028 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4027, i32 0, i32 1
  %4029 = load i64, ptr %4028, align 8
  %4030 = and i64 %4029, -549755813889
  %4031 = or i64 %4030, 549755813888
  store i64 %4031, ptr %4028, align 8
  br label %14379

4032:                                             ; preds = %406
  %4033 = load ptr, ptr %3, align 8, !tbaa !5
  %4034 = load ptr, ptr %15, align 8, !tbaa !5
  %4035 = getelementptr inbounds %union.YYSTYPE, ptr %4034, i64 0
  %4036 = getelementptr inbounds %struct.anon, ptr %4035, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4033, ptr noundef nonnull align 8 dereferenceable(24) %4036, ptr noundef @.str.84)
  %4037 = load ptr, ptr %3, align 8, !tbaa !5
  %4038 = load ptr, ptr %15, align 8, !tbaa !5
  %4039 = getelementptr inbounds %union.YYSTYPE, ptr %4038, i64 0
  %4040 = getelementptr inbounds %struct.anon, ptr %4039, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4037, ptr noundef nonnull align 8 dereferenceable(24) %4040, i32 noundef 8208, ptr noundef @.str.84)
  %4041 = load ptr, ptr %3, align 8, !tbaa !5
  %4042 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %4041, i32 0, i32 5
  %4043 = load i32, ptr %4042, align 4, !tbaa !148
  %4044 = icmp eq i32 %4043, 4
  br i1 %4044, label %4045, label %4053

4045:                                             ; preds = %4032
  %4046 = load ptr, ptr %3, align 8, !tbaa !5
  %4047 = load ptr, ptr %15, align 8, !tbaa !5
  %4048 = getelementptr inbounds %union.YYSTYPE, ptr %4047, i64 0
  %4049 = getelementptr inbounds %struct.anon, ptr %4048, i32 0, i32 0
  %4050 = load ptr, ptr %4046, align 8, !tbaa !19
  %4051 = getelementptr inbounds ptr, ptr %4050, i64 5
  %4052 = load ptr, ptr %4051, align 8
  call void %4052(ptr noundef nonnull align 8 dereferenceable(192) %4046, ptr noundef nonnull align 8 dereferenceable(24) %4049, i32 noundef 1, ptr noundef @_ZN7glslangL19E_GL_NV_mesh_shaderE, ptr noundef @.str.84)
  br label %4053

4053:                                             ; preds = %4045, %4032
  %4054 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4055 = load ptr, ptr %15, align 8, !tbaa !5
  %4056 = getelementptr inbounds %union.YYSTYPE, ptr %4055, i64 0
  %4057 = getelementptr inbounds %struct.anon, ptr %4056, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4054, ptr noundef nonnull align 8 dereferenceable(24) %4057, i1 noundef zeroext false)
  %4058 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4059 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4058, i32 0, i32 2
  %4060 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4059, i32 0, i32 1
  %4061 = load i64, ptr %4060, align 8
  %4062 = and i64 %4061, -1099511627777
  %4063 = or i64 %4062, 1099511627776
  store i64 %4063, ptr %4060, align 8
  br label %14379

4064:                                             ; preds = %406
  %4065 = load ptr, ptr %3, align 8, !tbaa !5
  %4066 = load ptr, ptr %15, align 8, !tbaa !5
  %4067 = getelementptr inbounds %union.YYSTYPE, ptr %4066, i64 0
  %4068 = getelementptr inbounds %struct.anon, ptr %4067, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4065, ptr noundef nonnull align 8 dereferenceable(24) %4068, ptr noundef @.str.85)
  %4069 = load ptr, ptr %3, align 8, !tbaa !5
  %4070 = load ptr, ptr %15, align 8, !tbaa !5
  %4071 = getelementptr inbounds %union.YYSTYPE, ptr %4070, i64 0
  %4072 = getelementptr inbounds %struct.anon, ptr %4071, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %4069, ptr noundef nonnull align 8 dereferenceable(24) %4072, i32 noundef 13, ptr noundef @.str.85)
  %4073 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4074 = load ptr, ptr %15, align 8, !tbaa !5
  %4075 = getelementptr inbounds %union.YYSTYPE, ptr %4074, i64 0
  %4076 = getelementptr inbounds %struct.anon, ptr %4075, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4073, ptr noundef nonnull align 8 dereferenceable(24) %4076, i1 noundef zeroext false)
  %4077 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4078 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4077, i32 0, i32 2
  %4079 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4078, i32 0, i32 1
  %4080 = load i64, ptr %4079, align 8
  %4081 = and i64 %4080, -2199023255553
  %4082 = or i64 %4081, 2199023255552
  store i64 %4082, ptr %4079, align 8
  br label %14379

4083:                                             ; preds = %406
  %4084 = load ptr, ptr %3, align 8, !tbaa !5
  %4085 = load ptr, ptr %15, align 8, !tbaa !5
  %4086 = getelementptr inbounds %union.YYSTYPE, ptr %4085, i64 0
  %4087 = getelementptr inbounds %struct.anon, ptr %4086, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4084, ptr noundef nonnull align 8 dereferenceable(24) %4087, ptr noundef @.str.86)
  %4088 = load ptr, ptr %3, align 8, !tbaa !5
  %4089 = load ptr, ptr %15, align 8, !tbaa !5
  %4090 = getelementptr inbounds %union.YYSTYPE, ptr %4089, i64 0
  %4091 = getelementptr inbounds %struct.anon, ptr %4090, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4088, ptr noundef nonnull align 8 dereferenceable(24) %4091, i32 noundef 12288, ptr noundef @.str.86)
  %4092 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4093 = load ptr, ptr %15, align 8, !tbaa !5
  %4094 = getelementptr inbounds %union.YYSTYPE, ptr %4093, i64 0
  %4095 = getelementptr inbounds %struct.anon, ptr %4094, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4092, ptr noundef nonnull align 8 dereferenceable(24) %4095, i1 noundef zeroext false)
  %4096 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4097 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4096, i32 0, i32 2
  %4098 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4097, i32 0, i32 1
  %4099 = load i64, ptr %4098, align 8
  %4100 = and i64 %4099, -4398046511105
  %4101 = or i64 %4100, 4398046511104
  store i64 %4101, ptr %4098, align 8
  br label %14379

4102:                                             ; preds = %406
  %4103 = load ptr, ptr %15, align 8, !tbaa !5
  %4104 = getelementptr inbounds %union.YYSTYPE, ptr %4103, i64 -1
  %4105 = getelementptr inbounds %struct.anon.0, ptr %4104, i32 0, i32 3
  %4106 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4106, ptr align 8 %4105, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4107:                                             ; preds = %406
  %4108 = load ptr, ptr %15, align 8, !tbaa !5
  %4109 = getelementptr inbounds %union.YYSTYPE, ptr %4108, i64 0
  %4110 = getelementptr inbounds %struct.anon.0, ptr %4109, i32 0, i32 3
  %4111 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4111, ptr align 8 %4110, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4112:                                             ; preds = %406
  %4113 = load ptr, ptr %15, align 8, !tbaa !5
  %4114 = getelementptr inbounds %union.YYSTYPE, ptr %4113, i64 -2
  %4115 = getelementptr inbounds %struct.anon.0, ptr %4114, i32 0, i32 3
  %4116 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4116, ptr align 8 %4115, i64 232, i1 false), !tbaa.struct !135
  %4117 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4118 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4117, i32 0, i32 3
  %4119 = load ptr, ptr %15, align 8, !tbaa !5
  %4120 = getelementptr inbounds %union.YYSTYPE, ptr %4119, i64 0
  %4121 = getelementptr inbounds %struct.anon.0, ptr %4120, i32 0, i32 3
  %4122 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4121, i32 0, i32 3
  call void @_ZN7glslang17TShaderQualifiers5mergeERKS0_(ptr noundef nonnull align 4 dereferenceable(88) %4118, ptr noundef nonnull align 4 dereferenceable(88) %4122)
  %4123 = load ptr, ptr %3, align 8, !tbaa !5
  %4124 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4125 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4124, i32 0, i32 2
  %4126 = load ptr, ptr %15, align 8, !tbaa !5
  %4127 = getelementptr inbounds %union.YYSTYPE, ptr %4126, i64 0
  %4128 = getelementptr inbounds %struct.anon.0, ptr %4127, i32 0, i32 3
  %4129 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4128, i32 0, i32 2
  call void @_ZN7glslang13TParseContext27mergeObjectLayoutQualifiersERNS_10TQualifierERKS1_b(ptr noundef nonnull align 8 dereferenceable(24912) %4123, ptr noundef nonnull align 8 dereferenceable(72) %4125, ptr noundef nonnull align 8 dereferenceable(72) %4129, i1 noundef zeroext false)
  br label %14379

4130:                                             ; preds = %406
  %4131 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4132 = load ptr, ptr %15, align 8, !tbaa !5
  %4133 = getelementptr inbounds %union.YYSTYPE, ptr %4132, i64 0
  %4134 = getelementptr inbounds %struct.anon, ptr %4133, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4131, ptr noundef nonnull align 8 dereferenceable(24) %4134, i1 noundef zeroext false)
  %4135 = load ptr, ptr %3, align 8, !tbaa !5
  %4136 = load ptr, ptr %15, align 8, !tbaa !5
  %4137 = getelementptr inbounds %union.YYSTYPE, ptr %4136, i64 0
  %4138 = getelementptr inbounds %struct.anon, ptr %4137, i32 0, i32 0
  %4139 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4140 = load ptr, ptr %15, align 8, !tbaa !5
  %4141 = getelementptr inbounds %union.YYSTYPE, ptr %4140, i64 0
  %4142 = getelementptr inbounds %struct.anon, ptr %4141, i32 0, i32 1
  %4143 = load ptr, ptr %4142, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %4135, ptr noundef nonnull align 8 dereferenceable(24) %4138, ptr noundef nonnull align 8 dereferenceable(232) %4139, ptr noundef nonnull align 8 dereferenceable(40) %4143)
  br label %14379

4144:                                             ; preds = %406
  %4145 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4146 = load ptr, ptr %15, align 8, !tbaa !5
  %4147 = getelementptr inbounds %union.YYSTYPE, ptr %4146, i64 -2
  %4148 = getelementptr inbounds %struct.anon, ptr %4147, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4145, ptr noundef nonnull align 8 dereferenceable(24) %4148, i1 noundef zeroext false)
  %4149 = load ptr, ptr %3, align 8, !tbaa !5
  %4150 = load ptr, ptr %15, align 8, !tbaa !5
  %4151 = getelementptr inbounds %union.YYSTYPE, ptr %4150, i64 -2
  %4152 = getelementptr inbounds %struct.anon, ptr %4151, i32 0, i32 0
  %4153 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4154 = load ptr, ptr %15, align 8, !tbaa !5
  %4155 = getelementptr inbounds %union.YYSTYPE, ptr %4154, i64 -2
  %4156 = getelementptr inbounds %struct.anon, ptr %4155, i32 0, i32 1
  %4157 = load ptr, ptr %4156, align 8, !tbaa !10
  %4158 = load ptr, ptr %15, align 8, !tbaa !5
  %4159 = getelementptr inbounds %union.YYSTYPE, ptr %4158, i64 0
  %4160 = getelementptr inbounds %struct.anon.0, ptr %4159, i32 0, i32 2
  %4161 = load ptr, ptr %4160, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %4149, ptr noundef nonnull align 8 dereferenceable(24) %4152, ptr noundef nonnull align 8 dereferenceable(232) %4153, ptr noundef nonnull align 8 dereferenceable(40) %4157, ptr noundef %4161)
  br label %14379

4162:                                             ; preds = %406
  %4163 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4164 = load ptr, ptr %15, align 8, !tbaa !5
  %4165 = getelementptr inbounds %union.YYSTYPE, ptr %4164, i64 0
  %4166 = getelementptr inbounds %struct.anon, ptr %4165, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4163, ptr noundef nonnull align 8 dereferenceable(24) %4166, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %66) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #10
  call void @_ZN7glslang14pool_allocatorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %67)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEC2IS5_EEPKcRKS5_(ptr noundef nonnull align 8 dereferenceable(40) %66, ptr noundef @.str.87, ptr noundef nonnull align 8 dereferenceable(8) %67)
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #10
  %4167 = load ptr, ptr %3, align 8, !tbaa !5
  %4168 = load ptr, ptr %15, align 8, !tbaa !5
  %4169 = getelementptr inbounds %union.YYSTYPE, ptr %4168, i64 0
  %4170 = getelementptr inbounds %struct.anon, ptr %4169, i32 0, i32 0
  %4171 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  invoke void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %4167, ptr noundef nonnull align 8 dereferenceable(24) %4170, ptr noundef nonnull align 8 dereferenceable(232) %4171, ptr noundef nonnull align 8 dereferenceable(40) %66)
          to label %4172 unwind label %4173

4172:                                             ; preds = %4162
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %66) #10
  br label %14379

4173:                                             ; preds = %4162
  %4174 = landingpad { ptr, i32 }
          cleanup
  %4175 = extractvalue { ptr, i32 } %4174, 0
  store ptr %4175, ptr %31, align 8
  %4176 = extractvalue { ptr, i32 } %4174, 1
  store i32 %4176, ptr %32, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %66) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %66) #10
  br label %14723

4177:                                             ; preds = %406
  %4178 = load ptr, ptr %3, align 8, !tbaa !5
  %4179 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4180 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4179, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4178, ptr noundef nonnull align 8 dereferenceable(24) %4180, i32 noundef 6, i32 noundef 400, ptr noundef @.str.88, ptr noundef @.str.89)
  %4181 = load ptr, ptr %3, align 8, !tbaa !5
  %4182 = load ptr, ptr %15, align 8, !tbaa !5
  %4183 = getelementptr inbounds %union.YYSTYPE, ptr %4182, i64 0
  %4184 = getelementptr inbounds %struct.anon, ptr %4183, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiiPKPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4181, ptr noundef nonnull align 8 dereferenceable(24) %4184, i32 noundef 8, i32 noundef 320, i32 noundef 2, ptr noundef @_ZN7glslangL15AEP_gpu_shader5E, ptr noundef @.str.89)
  %4185 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4186 = load ptr, ptr %15, align 8, !tbaa !5
  %4187 = getelementptr inbounds %union.YYSTYPE, ptr %4186, i64 0
  %4188 = getelementptr inbounds %struct.anon, ptr %4187, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4185, ptr noundef nonnull align 8 dereferenceable(24) %4188, i1 noundef zeroext false)
  %4189 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4190 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4189, i32 0, i32 2
  %4191 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4190, i32 0, i32 1
  %4192 = load i64, ptr %4191, align 8
  %4193 = and i64 %4192, -34359738369
  %4194 = or i64 %4193, 34359738368
  store i64 %4194, ptr %4191, align 8
  br label %14379

4195:                                             ; preds = %406
  %4196 = load ptr, ptr %15, align 8, !tbaa !5
  %4197 = getelementptr inbounds %union.YYSTYPE, ptr %4196, i64 0
  %4198 = getelementptr inbounds %struct.anon.0, ptr %4197, i32 0, i32 3
  %4199 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4199, ptr align 8 %4198, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4200:                                             ; preds = %406
  %4201 = load ptr, ptr %15, align 8, !tbaa !5
  %4202 = getelementptr inbounds %union.YYSTYPE, ptr %4201, i64 -1
  %4203 = getelementptr inbounds %struct.anon.0, ptr %4202, i32 0, i32 3
  %4204 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4204, ptr align 8 %4203, i64 232, i1 false), !tbaa.struct !135
  %4205 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4206 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4205, i32 0, i32 0
  %4207 = load i32, ptr %4206, align 8, !tbaa !10
  %4208 = icmp eq i32 %4207, 0
  br i1 %4208, label %4209, label %4217

4209:                                             ; preds = %4200
  %4210 = load ptr, ptr %15, align 8, !tbaa !5
  %4211 = getelementptr inbounds %union.YYSTYPE, ptr %4210, i64 0
  %4212 = getelementptr inbounds %struct.anon.0, ptr %4211, i32 0, i32 3
  %4213 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4212, i32 0, i32 0
  %4214 = load i32, ptr %4213, align 8, !tbaa !10
  %4215 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4216 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4215, i32 0, i32 0
  store i32 %4214, ptr %4216, align 8, !tbaa !10
  br label %4217

4217:                                             ; preds = %4209, %4200
  %4218 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4219 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4218, i32 0, i32 3
  %4220 = load ptr, ptr %15, align 8, !tbaa !5
  %4221 = getelementptr inbounds %union.YYSTYPE, ptr %4220, i64 0
  %4222 = getelementptr inbounds %struct.anon.0, ptr %4221, i32 0, i32 3
  %4223 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4222, i32 0, i32 3
  call void @_ZN7glslang17TShaderQualifiers5mergeERKS0_(ptr noundef nonnull align 4 dereferenceable(88) %4219, ptr noundef nonnull align 4 dereferenceable(88) %4223)
  %4224 = load ptr, ptr %3, align 8, !tbaa !5
  %4225 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4226 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4225, i32 0, i32 7
  %4227 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4228 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4227, i32 0, i32 2
  %4229 = load ptr, ptr %15, align 8, !tbaa !5
  %4230 = getelementptr inbounds %union.YYSTYPE, ptr %4229, i64 0
  %4231 = getelementptr inbounds %struct.anon.0, ptr %4230, i32 0, i32 3
  %4232 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4231, i32 0, i32 2
  call void @_ZN7glslang13TParseContext15mergeQualifiersERKNS_10TSourceLocERNS_10TQualifierERKS4_b(ptr noundef nonnull align 8 dereferenceable(24912) %4224, ptr noundef nonnull align 8 dereferenceable(24) %4226, ptr noundef nonnull align 8 dereferenceable(72) %4228, ptr noundef nonnull align 8 dereferenceable(72) %4232, i1 noundef zeroext false)
  br label %14379

4233:                                             ; preds = %406
  %4234 = load ptr, ptr %15, align 8, !tbaa !5
  %4235 = getelementptr inbounds %union.YYSTYPE, ptr %4234, i64 0
  %4236 = getelementptr inbounds %struct.anon.0, ptr %4235, i32 0, i32 3
  %4237 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4237, ptr align 8 %4236, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4238:                                             ; preds = %406
  %4239 = load ptr, ptr %15, align 8, !tbaa !5
  %4240 = getelementptr inbounds %union.YYSTYPE, ptr %4239, i64 0
  %4241 = getelementptr inbounds %struct.anon.0, ptr %4240, i32 0, i32 3
  %4242 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4242, ptr align 8 %4241, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4243:                                             ; preds = %406
  %4244 = load ptr, ptr %3, align 8, !tbaa !5
  %4245 = load ptr, ptr %15, align 8, !tbaa !5
  %4246 = getelementptr inbounds %union.YYSTYPE, ptr %4245, i64 0
  %4247 = getelementptr inbounds %struct.anon.0, ptr %4246, i32 0, i32 3
  %4248 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4247, i32 0, i32 7
  %4249 = load ptr, ptr %15, align 8, !tbaa !5
  %4250 = getelementptr inbounds %union.YYSTYPE, ptr %4249, i64 0
  %4251 = getelementptr inbounds %struct.anon.0, ptr %4250, i32 0, i32 3
  %4252 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4251, i32 0, i32 2
  %4253 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4252, i32 0, i32 1
  %4254 = load i64, ptr %4253, align 8
  %4255 = lshr i64 %4254, 24
  %4256 = and i64 %4255, 7
  %4257 = trunc i64 %4256 to i32
  call void @_ZN7glslang13TParseContext23checkPrecisionQualifierERKNS_10TSourceLocENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %4244, ptr noundef nonnull align 8 dereferenceable(24) %4248, i32 noundef %4257)
  %4258 = load ptr, ptr %15, align 8, !tbaa !5
  %4259 = getelementptr inbounds %union.YYSTYPE, ptr %4258, i64 0
  %4260 = getelementptr inbounds %struct.anon.0, ptr %4259, i32 0, i32 3
  %4261 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4261, ptr align 8 %4260, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4262:                                             ; preds = %406
  %4263 = load ptr, ptr %15, align 8, !tbaa !5
  %4264 = getelementptr inbounds %union.YYSTYPE, ptr %4263, i64 0
  %4265 = getelementptr inbounds %struct.anon.0, ptr %4264, i32 0, i32 3
  %4266 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4266, ptr align 8 %4265, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4267:                                             ; preds = %406
  %4268 = load ptr, ptr %15, align 8, !tbaa !5
  %4269 = getelementptr inbounds %union.YYSTYPE, ptr %4268, i64 0
  %4270 = getelementptr inbounds %struct.anon.0, ptr %4269, i32 0, i32 3
  %4271 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4271, ptr align 8 %4270, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4272:                                             ; preds = %406
  %4273 = load ptr, ptr %15, align 8, !tbaa !5
  %4274 = getelementptr inbounds %union.YYSTYPE, ptr %4273, i64 0
  %4275 = getelementptr inbounds %struct.anon.0, ptr %4274, i32 0, i32 3
  %4276 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4276, ptr align 8 %4275, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4277:                                             ; preds = %406
  %4278 = load ptr, ptr %15, align 8, !tbaa !5
  %4279 = getelementptr inbounds %union.YYSTYPE, ptr %4278, i64 0
  %4280 = getelementptr inbounds %struct.anon.0, ptr %4279, i32 0, i32 3
  %4281 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4281, ptr align 8 %4280, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4282:                                             ; preds = %406
  %4283 = load ptr, ptr %3, align 8, !tbaa !5
  %4284 = load ptr, ptr %15, align 8, !tbaa !5
  %4285 = getelementptr inbounds %union.YYSTYPE, ptr %4284, i64 0
  %4286 = getelementptr inbounds %struct.anon.0, ptr %4285, i32 0, i32 3
  %4287 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4286, i32 0, i32 7
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4283, ptr noundef nonnull align 8 dereferenceable(24) %4287, ptr noundef @.str.90)
  %4288 = load ptr, ptr %3, align 8, !tbaa !5
  %4289 = load ptr, ptr %15, align 8, !tbaa !5
  %4290 = getelementptr inbounds %union.YYSTYPE, ptr %4289, i64 0
  %4291 = getelementptr inbounds %struct.anon.0, ptr %4290, i32 0, i32 3
  %4292 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4291, i32 0, i32 7
  %4293 = load ptr, ptr %4288, align 8, !tbaa !19
  %4294 = getelementptr inbounds ptr, ptr %4293, i64 5
  %4295 = load ptr, ptr %4294, align 8
  call void %4295(ptr noundef nonnull align 8 dereferenceable(192) %4288, ptr noundef nonnull align 8 dereferenceable(24) %4292, i32 noundef 1, ptr noundef @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef @.str.91)
  %4296 = load ptr, ptr %15, align 8, !tbaa !5
  %4297 = getelementptr inbounds %union.YYSTYPE, ptr %4296, i64 0
  %4298 = getelementptr inbounds %struct.anon.0, ptr %4297, i32 0, i32 3
  %4299 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4299, ptr align 8 %4298, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4300:                                             ; preds = %406
  %4301 = load ptr, ptr %3, align 8, !tbaa !5
  %4302 = load ptr, ptr %15, align 8, !tbaa !5
  %4303 = getelementptr inbounds %union.YYSTYPE, ptr %4302, i64 0
  %4304 = getelementptr inbounds %struct.anon.0, ptr %4303, i32 0, i32 3
  %4305 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4304, i32 0, i32 7
  %4306 = load ptr, ptr %4301, align 8, !tbaa !19
  %4307 = getelementptr inbounds ptr, ptr %4306, i64 5
  %4308 = load ptr, ptr %4307, align 8
  call void %4308(ptr noundef nonnull align 8 dereferenceable(192) %4301, ptr noundef nonnull align 8 dereferenceable(24) %4305, i32 noundef 1, ptr noundef @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef @.str.92)
  %4309 = load ptr, ptr %15, align 8, !tbaa !5
  %4310 = getelementptr inbounds %union.YYSTYPE, ptr %4309, i64 0
  %4311 = getelementptr inbounds %struct.anon.0, ptr %4310, i32 0, i32 3
  %4312 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4312, ptr align 8 %4311, i64 232, i1 false), !tbaa.struct !135
  br label %14379

4313:                                             ; preds = %406
  %4314 = load ptr, ptr %3, align 8, !tbaa !5
  %4315 = load ptr, ptr %15, align 8, !tbaa !5
  %4316 = getelementptr inbounds %union.YYSTYPE, ptr %4315, i64 0
  %4317 = getelementptr inbounds %struct.anon, ptr %4316, i32 0, i32 0
  %4318 = load ptr, ptr %4314, align 8, !tbaa !19
  %4319 = getelementptr inbounds ptr, ptr %4318, i64 5
  %4320 = load ptr, ptr %4319, align 8
  call void %4320(ptr noundef nonnull align 8 dereferenceable(192) %4314, ptr noundef nonnull align 8 dereferenceable(24) %4317, i32 noundef 1, ptr noundef @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef @.str.93)
  %4321 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4322 = load ptr, ptr %15, align 8, !tbaa !5
  %4323 = getelementptr inbounds %union.YYSTYPE, ptr %4322, i64 0
  %4324 = getelementptr inbounds %struct.anon, ptr %4323, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4321, ptr noundef nonnull align 8 dereferenceable(24) %4324, i1 noundef zeroext false)
  %4325 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4326 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4325, i32 0, i32 2
  call void @_ZN7glslang10TQualifier19setSpirvByReferenceEv(ptr noundef nonnull align 8 dereferenceable(72) %4326)
  br label %14379

4327:                                             ; preds = %406
  %4328 = load ptr, ptr %3, align 8, !tbaa !5
  %4329 = load ptr, ptr %15, align 8, !tbaa !5
  %4330 = getelementptr inbounds %union.YYSTYPE, ptr %4329, i64 0
  %4331 = getelementptr inbounds %struct.anon, ptr %4330, i32 0, i32 0
  %4332 = load ptr, ptr %4328, align 8, !tbaa !19
  %4333 = getelementptr inbounds ptr, ptr %4332, i64 5
  %4334 = load ptr, ptr %4333, align 8
  call void %4334(ptr noundef nonnull align 8 dereferenceable(192) %4328, ptr noundef nonnull align 8 dereferenceable(24) %4331, i32 noundef 1, ptr noundef @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef @.str.94)
  %4335 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4336 = load ptr, ptr %15, align 8, !tbaa !5
  %4337 = getelementptr inbounds %union.YYSTYPE, ptr %4336, i64 0
  %4338 = getelementptr inbounds %struct.anon, ptr %4337, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4335, ptr noundef nonnull align 8 dereferenceable(24) %4338, i1 noundef zeroext false)
  %4339 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4340 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4339, i32 0, i32 2
  call void @_ZN7glslang10TQualifier15setSpirvLiteralEv(ptr noundef nonnull align 8 dereferenceable(72) %4340)
  br label %14379

4341:                                             ; preds = %406
  %4342 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4343 = load ptr, ptr %15, align 8, !tbaa !5
  %4344 = getelementptr inbounds %union.YYSTYPE, ptr %4343, i64 0
  %4345 = getelementptr inbounds %struct.anon, ptr %4344, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4342, ptr noundef nonnull align 8 dereferenceable(24) %4345, i1 noundef zeroext false)
  %4346 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4347 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4346, i32 0, i32 2
  %4348 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4347, i32 0, i32 1
  %4349 = load i64, ptr %4348, align 8
  %4350 = and i64 %4349, -64
  %4351 = or i64 %4350, 2
  store i64 %4351, ptr %4348, align 8
  br label %14379

4352:                                             ; preds = %406
  %4353 = load ptr, ptr %3, align 8, !tbaa !5
  %4354 = load ptr, ptr %15, align 8, !tbaa !5
  %4355 = getelementptr inbounds %union.YYSTYPE, ptr %4354, i64 0
  %4356 = getelementptr inbounds %struct.anon, ptr %4355, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4353, ptr noundef nonnull align 8 dereferenceable(24) %4356, ptr noundef @.str.95)
  %4357 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4358 = load ptr, ptr %15, align 8, !tbaa !5
  %4359 = getelementptr inbounds %union.YYSTYPE, ptr %4358, i64 0
  %4360 = getelementptr inbounds %struct.anon, ptr %4359, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4357, ptr noundef nonnull align 8 dereferenceable(24) %4360, i1 noundef zeroext false)
  %4361 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4362 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4361, i32 0, i32 2
  %4363 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4362, i32 0, i32 1
  %4364 = load i64, ptr %4363, align 8
  %4365 = and i64 %4364, -64
  %4366 = or i64 %4365, 16
  store i64 %4366, ptr %4363, align 8
  br label %14379

4367:                                             ; preds = %406
  %4368 = load ptr, ptr %3, align 8, !tbaa !5
  %4369 = load ptr, ptr %15, align 8, !tbaa !5
  %4370 = getelementptr inbounds %union.YYSTYPE, ptr %4369, i64 0
  %4371 = getelementptr inbounds %struct.anon, ptr %4370, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4368, ptr noundef nonnull align 8 dereferenceable(24) %4371, ptr noundef @.str.96)
  %4372 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4373 = load ptr, ptr %15, align 8, !tbaa !5
  %4374 = getelementptr inbounds %union.YYSTYPE, ptr %4373, i64 0
  %4375 = getelementptr inbounds %struct.anon, ptr %4374, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4372, ptr noundef nonnull align 8 dereferenceable(24) %4375, i1 noundef zeroext false)
  %4376 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4377 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4376, i32 0, i32 2
  %4378 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4377, i32 0, i32 1
  %4379 = load i64, ptr %4378, align 8
  %4380 = and i64 %4379, -64
  %4381 = or i64 %4380, 14
  store i64 %4381, ptr %4378, align 8
  br label %14379

4382:                                             ; preds = %406
  %4383 = load ptr, ptr %3, align 8, !tbaa !5
  %4384 = load ptr, ptr %15, align 8, !tbaa !5
  %4385 = getelementptr inbounds %union.YYSTYPE, ptr %4384, i64 0
  %4386 = getelementptr inbounds %struct.anon, ptr %4385, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4383, ptr noundef nonnull align 8 dereferenceable(24) %4386, ptr noundef @.str.97)
  %4387 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4388 = load ptr, ptr %15, align 8, !tbaa !5
  %4389 = getelementptr inbounds %union.YYSTYPE, ptr %4388, i64 0
  %4390 = getelementptr inbounds %struct.anon, ptr %4389, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4387, ptr noundef nonnull align 8 dereferenceable(24) %4390, i1 noundef zeroext false)
  %4391 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4392 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4391, i32 0, i32 2
  %4393 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4392, i32 0, i32 1
  %4394 = load i64, ptr %4393, align 8
  %4395 = and i64 %4394, -64
  %4396 = or i64 %4395, 15
  store i64 %4396, ptr %4393, align 8
  br label %14379

4397:                                             ; preds = %406
  %4398 = load ptr, ptr %3, align 8, !tbaa !5
  %4399 = load ptr, ptr %15, align 8, !tbaa !5
  %4400 = getelementptr inbounds %union.YYSTYPE, ptr %4399, i64 0
  %4401 = getelementptr inbounds %struct.anon, ptr %4400, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4398, ptr noundef nonnull align 8 dereferenceable(24) %4401, i32 noundef 1, i32 noundef 120, ptr noundef null, ptr noundef @.str.98)
  %4402 = load ptr, ptr %3, align 8, !tbaa !5
  %4403 = load ptr, ptr %15, align 8, !tbaa !5
  %4404 = getelementptr inbounds %union.YYSTYPE, ptr %4403, i64 0
  %4405 = getelementptr inbounds %struct.anon, ptr %4404, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4402, ptr noundef nonnull align 8 dereferenceable(24) %4405, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.98)
  %4406 = load ptr, ptr %3, align 8, !tbaa !5
  %4407 = load ptr, ptr %15, align 8, !tbaa !5
  %4408 = getelementptr inbounds %union.YYSTYPE, ptr %4407, i64 0
  %4409 = getelementptr inbounds %struct.anon, ptr %4408, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4406, ptr noundef nonnull align 8 dereferenceable(24) %4409, ptr noundef @.str.98)
  %4410 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4411 = load ptr, ptr %15, align 8, !tbaa !5
  %4412 = getelementptr inbounds %union.YYSTYPE, ptr %4411, i64 0
  %4413 = getelementptr inbounds %struct.anon, ptr %4412, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4410, ptr noundef nonnull align 8 dereferenceable(24) %4413, i1 noundef zeroext false)
  %4414 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4415 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4414, i32 0, i32 2
  %4416 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4415, i32 0, i32 1
  %4417 = load i64, ptr %4416, align 8
  %4418 = and i64 %4417, -268435457
  %4419 = or i64 %4418, 268435456
  store i64 %4419, ptr %4416, align 8
  br label %14379

4420:                                             ; preds = %406
  %4421 = load ptr, ptr %3, align 8, !tbaa !5
  %4422 = load ptr, ptr %15, align 8, !tbaa !5
  %4423 = getelementptr inbounds %union.YYSTYPE, ptr %4422, i64 0
  %4424 = getelementptr inbounds %struct.anon, ptr %4423, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4421, ptr noundef nonnull align 8 dereferenceable(24) %4424, ptr noundef @.str.99)
  %4425 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4426 = load ptr, ptr %15, align 8, !tbaa !5
  %4427 = getelementptr inbounds %union.YYSTYPE, ptr %4426, i64 0
  %4428 = getelementptr inbounds %struct.anon, ptr %4427, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4425, ptr noundef nonnull align 8 dereferenceable(24) %4428, i1 noundef zeroext false)
  %4429 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4430 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4429, i32 0, i32 2
  %4431 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4430, i32 0, i32 1
  %4432 = load i64, ptr %4431, align 8
  %4433 = and i64 %4432, -64
  %4434 = or i64 %4433, 5
  store i64 %4434, ptr %4431, align 8
  br label %14379

4435:                                             ; preds = %406
  %4436 = load ptr, ptr %3, align 8, !tbaa !5
  %4437 = load ptr, ptr %15, align 8, !tbaa !5
  %4438 = getelementptr inbounds %union.YYSTYPE, ptr %4437, i64 0
  %4439 = getelementptr inbounds %struct.anon, ptr %4438, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4436, ptr noundef nonnull align 8 dereferenceable(24) %4439, ptr noundef @.str.87)
  %4440 = load ptr, ptr %3, align 8, !tbaa !5
  %4441 = load ptr, ptr %15, align 8, !tbaa !5
  %4442 = getelementptr inbounds %union.YYSTYPE, ptr %4441, i64 0
  %4443 = getelementptr inbounds %struct.anon, ptr %4442, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4440, ptr noundef nonnull align 8 dereferenceable(24) %4443, i32 noundef 6, i32 noundef 430, ptr noundef @.str.100, ptr noundef @.str.87)
  %4444 = load ptr, ptr %3, align 8, !tbaa !5
  %4445 = load ptr, ptr %15, align 8, !tbaa !5
  %4446 = getelementptr inbounds %union.YYSTYPE, ptr %4445, i64 0
  %4447 = getelementptr inbounds %struct.anon, ptr %4446, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4444, ptr noundef nonnull align 8 dereferenceable(24) %4447, i32 noundef 8, i32 noundef 310, ptr noundef null, ptr noundef @.str.87)
  %4448 = load ptr, ptr %3, align 8, !tbaa !5
  %4449 = load ptr, ptr %15, align 8, !tbaa !5
  %4450 = getelementptr inbounds %union.YYSTYPE, ptr %4449, i64 0
  %4451 = getelementptr inbounds %struct.anon, ptr %4450, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4448, ptr noundef nonnull align 8 dereferenceable(24) %4451, i32 noundef 12320, ptr noundef @.str.87)
  %4452 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4453 = load ptr, ptr %15, align 8, !tbaa !5
  %4454 = getelementptr inbounds %union.YYSTYPE, ptr %4453, i64 0
  %4455 = getelementptr inbounds %struct.anon, ptr %4454, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4452, ptr noundef nonnull align 8 dereferenceable(24) %4455, i1 noundef zeroext false)
  %4456 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4457 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4456, i32 0, i32 2
  %4458 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4457, i32 0, i32 1
  %4459 = load i64, ptr %4458, align 8
  %4460 = and i64 %4459, -64
  %4461 = or i64 %4460, 7
  store i64 %4461, ptr %4458, align 8
  br label %14379

4462:                                             ; preds = %406
  %4463 = load ptr, ptr %3, align 8, !tbaa !5
  %4464 = load ptr, ptr %15, align 8, !tbaa !5
  %4465 = getelementptr inbounds %union.YYSTYPE, ptr %4464, i64 0
  %4466 = getelementptr inbounds %struct.anon, ptr %4465, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4463, ptr noundef nonnull align 8 dereferenceable(24) %4466, ptr noundef @.str.101)
  %4467 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4468 = load ptr, ptr %15, align 8, !tbaa !5
  %4469 = getelementptr inbounds %union.YYSTYPE, ptr %4468, i64 0
  %4470 = getelementptr inbounds %struct.anon, ptr %4469, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4467, ptr noundef nonnull align 8 dereferenceable(24) %4470, i1 noundef zeroext false)
  %4471 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4472 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4471, i32 0, i32 2
  %4473 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4472, i32 0, i32 1
  %4474 = load i64, ptr %4473, align 8
  %4475 = and i64 %4474, -64
  %4476 = or i64 %4475, 6
  store i64 %4476, ptr %4473, align 8
  br label %14379

4477:                                             ; preds = %406
  %4478 = load ptr, ptr %3, align 8, !tbaa !5
  %4479 = load ptr, ptr %15, align 8, !tbaa !5
  %4480 = getelementptr inbounds %union.YYSTYPE, ptr %4479, i64 0
  %4481 = getelementptr inbounds %struct.anon, ptr %4480, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %4478, ptr noundef nonnull align 8 dereferenceable(24) %4481, i32 noundef 0, ptr noundef @.str.64)
  %4482 = load ptr, ptr %3, align 8, !tbaa !5
  %4483 = load ptr, ptr %15, align 8, !tbaa !5
  %4484 = getelementptr inbounds %union.YYSTYPE, ptr %4483, i64 0
  %4485 = getelementptr inbounds %struct.anon, ptr %4484, i32 0, i32 0
  %4486 = load ptr, ptr %4482, align 8, !tbaa !19
  %4487 = getelementptr inbounds ptr, ptr %4486, i64 3
  %4488 = load ptr, ptr %4487, align 8
  call void %4488(ptr noundef nonnull align 8 dereferenceable(192) %4482, ptr noundef nonnull align 8 dereferenceable(24) %4485, i32 noundef 2, i32 noundef 130, ptr noundef @.str.64)
  %4489 = load ptr, ptr %3, align 8, !tbaa !5
  %4490 = load ptr, ptr %15, align 8, !tbaa !5
  %4491 = getelementptr inbounds %union.YYSTYPE, ptr %4490, i64 0
  %4492 = getelementptr inbounds %struct.anon, ptr %4491, i32 0, i32 0
  %4493 = load ptr, ptr %4489, align 8, !tbaa !19
  %4494 = getelementptr inbounds ptr, ptr %4493, i64 3
  %4495 = load ptr, ptr %4494, align 8
  call void %4495(ptr noundef nonnull align 8 dereferenceable(192) %4489, ptr noundef nonnull align 8 dereferenceable(24) %4492, i32 noundef 1, i32 noundef 130, ptr noundef @.str.64)
  %4496 = load ptr, ptr %3, align 8, !tbaa !5
  %4497 = load ptr, ptr %15, align 8, !tbaa !5
  %4498 = getelementptr inbounds %union.YYSTYPE, ptr %4497, i64 0
  %4499 = getelementptr inbounds %struct.anon, ptr %4498, i32 0, i32 0
  %4500 = load ptr, ptr %4496, align 8, !tbaa !19
  %4501 = getelementptr inbounds ptr, ptr %4500, i64 4
  %4502 = load ptr, ptr %4501, align 8
  call void %4502(ptr noundef nonnull align 8 dereferenceable(192) %4496, ptr noundef nonnull align 8 dereferenceable(24) %4499, i32 noundef 2, i32 noundef 420, ptr noundef @.str.64)
  %4503 = load ptr, ptr %3, align 8, !tbaa !5
  %4504 = load ptr, ptr %15, align 8, !tbaa !5
  %4505 = getelementptr inbounds %union.YYSTYPE, ptr %4504, i64 0
  %4506 = getelementptr inbounds %struct.anon, ptr %4505, i32 0, i32 0
  %4507 = load ptr, ptr %4503, align 8, !tbaa !19
  %4508 = getelementptr inbounds ptr, ptr %4507, i64 4
  %4509 = load ptr, ptr %4508, align 8
  call void %4509(ptr noundef nonnull align 8 dereferenceable(192) %4503, ptr noundef nonnull align 8 dereferenceable(24) %4506, i32 noundef 8, i32 noundef 300, ptr noundef @.str.64)
  %4510 = load ptr, ptr %3, align 8, !tbaa !5
  %4511 = load ptr, ptr %15, align 8, !tbaa !5
  %4512 = getelementptr inbounds %union.YYSTYPE, ptr %4511, i64 0
  %4513 = getelementptr inbounds %struct.anon, ptr %4512, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4510, ptr noundef nonnull align 8 dereferenceable(24) %4513, ptr noundef @.str.64)
  %4514 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4515 = load ptr, ptr %15, align 8, !tbaa !5
  %4516 = getelementptr inbounds %union.YYSTYPE, ptr %4515, i64 0
  %4517 = getelementptr inbounds %struct.anon, ptr %4516, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4514, ptr noundef nonnull align 8 dereferenceable(24) %4517, i1 noundef zeroext false)
  %4518 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4519 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4518, i32 0, i32 2
  %4520 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4519, i32 0, i32 1
  %4521 = load i64, ptr %4520, align 8
  %4522 = and i64 %4521, -64
  %4523 = or i64 %4522, 3
  store i64 %4523, ptr %4520, align 8
  br label %14379

4524:                                             ; preds = %406
  %4525 = load ptr, ptr %3, align 8, !tbaa !5
  %4526 = load ptr, ptr %15, align 8, !tbaa !5
  %4527 = getelementptr inbounds %union.YYSTYPE, ptr %4526, i64 0
  %4528 = getelementptr inbounds %struct.anon, ptr %4527, i32 0, i32 0
  %4529 = load ptr, ptr %4525, align 8, !tbaa !19
  %4530 = getelementptr inbounds ptr, ptr %4529, i64 3
  %4531 = load ptr, ptr %4530, align 8
  call void %4531(ptr noundef nonnull align 8 dereferenceable(192) %4525, ptr noundef nonnull align 8 dereferenceable(24) %4528, i32 noundef 1, i32 noundef 130, ptr noundef @.str.102)
  %4532 = load ptr, ptr %3, align 8, !tbaa !5
  %4533 = load ptr, ptr %15, align 8, !tbaa !5
  %4534 = getelementptr inbounds %union.YYSTYPE, ptr %4533, i64 0
  %4535 = getelementptr inbounds %struct.anon, ptr %4534, i32 0, i32 0
  %4536 = load ptr, ptr %4532, align 8, !tbaa !19
  %4537 = getelementptr inbounds ptr, ptr %4536, i64 3
  %4538 = load ptr, ptr %4537, align 8
  call void %4538(ptr noundef nonnull align 8 dereferenceable(192) %4532, ptr noundef nonnull align 8 dereferenceable(24) %4535, i32 noundef 2, i32 noundef 130, ptr noundef @.str.102)
  %4539 = load ptr, ptr %3, align 8, !tbaa !5
  %4540 = load ptr, ptr %15, align 8, !tbaa !5
  %4541 = getelementptr inbounds %union.YYSTYPE, ptr %4540, i64 0
  %4542 = getelementptr inbounds %struct.anon, ptr %4541, i32 0, i32 0
  %4543 = load ptr, ptr %4539, align 8, !tbaa !19
  %4544 = getelementptr inbounds ptr, ptr %4543, i64 4
  %4545 = load ptr, ptr %4544, align 8
  call void %4545(ptr noundef nonnull align 8 dereferenceable(192) %4539, ptr noundef nonnull align 8 dereferenceable(24) %4542, i32 noundef 2, i32 noundef 420, ptr noundef @.str.102)
  %4546 = load ptr, ptr %3, align 8, !tbaa !5
  %4547 = load ptr, ptr %15, align 8, !tbaa !5
  %4548 = getelementptr inbounds %union.YYSTYPE, ptr %4547, i64 0
  %4549 = getelementptr inbounds %struct.anon, ptr %4548, i32 0, i32 0
  %4550 = load ptr, ptr %4546, align 8, !tbaa !19
  %4551 = getelementptr inbounds ptr, ptr %4550, i64 4
  %4552 = load ptr, ptr %4551, align 8
  call void %4552(ptr noundef nonnull align 8 dereferenceable(192) %4546, ptr noundef nonnull align 8 dereferenceable(24) %4549, i32 noundef 8, i32 noundef 300, ptr noundef @.str.102)
  %4553 = load ptr, ptr %3, align 8, !tbaa !5
  %4554 = load ptr, ptr %15, align 8, !tbaa !5
  %4555 = getelementptr inbounds %union.YYSTYPE, ptr %4554, i64 0
  %4556 = getelementptr inbounds %struct.anon, ptr %4555, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4553, ptr noundef nonnull align 8 dereferenceable(24) %4556, ptr noundef @.str.102)
  %4557 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4558 = load ptr, ptr %15, align 8, !tbaa !5
  %4559 = getelementptr inbounds %union.YYSTYPE, ptr %4558, i64 0
  %4560 = getelementptr inbounds %struct.anon, ptr %4559, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4557, ptr noundef nonnull align 8 dereferenceable(24) %4560, i1 noundef zeroext false)
  %4561 = load ptr, ptr %3, align 8, !tbaa !5
  %4562 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %4561, i32 0, i32 5
  %4563 = load i32, ptr %4562, align 4, !tbaa !148
  %4564 = icmp eq i32 %4563, 0
  br i1 %4564, label %4565, label %4572

4565:                                             ; preds = %4524
  %4566 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4567 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4566, i32 0, i32 2
  %4568 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4567, i32 0, i32 1
  %4569 = load i64, ptr %4568, align 8
  %4570 = and i64 %4569, -64
  %4571 = or i64 %4570, 4
  store i64 %4571, ptr %4568, align 8
  br label %4579

4572:                                             ; preds = %4524
  %4573 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4574 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4573, i32 0, i32 2
  %4575 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4574, i32 0, i32 1
  %4576 = load i64, ptr %4575, align 8
  %4577 = and i64 %4576, -64
  %4578 = or i64 %4577, 3
  store i64 %4578, ptr %4575, align 8
  br label %4579

4579:                                             ; preds = %4572, %4565
  br label %14379

4580:                                             ; preds = %406
  %4581 = load ptr, ptr %3, align 8, !tbaa !5
  %4582 = load ptr, ptr %15, align 8, !tbaa !5
  %4583 = getelementptr inbounds %union.YYSTYPE, ptr %4582, i64 0
  %4584 = getelementptr inbounds %struct.anon, ptr %4583, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4581, ptr noundef nonnull align 8 dereferenceable(24) %4584, ptr noundef @.str.103)
  %4585 = load ptr, ptr %3, align 8, !tbaa !5
  %4586 = load ptr, ptr %15, align 8, !tbaa !5
  %4587 = getelementptr inbounds %union.YYSTYPE, ptr %4586, i64 0
  %4588 = getelementptr inbounds %struct.anon, ptr %4587, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4585, ptr noundef nonnull align 8 dereferenceable(24) %4588, i32 noundef 6, ptr noundef @.str.103)
  %4589 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4590 = load ptr, ptr %15, align 8, !tbaa !5
  %4591 = getelementptr inbounds %union.YYSTYPE, ptr %4590, i64 0
  %4592 = getelementptr inbounds %struct.anon, ptr %4591, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4589, ptr noundef nonnull align 8 dereferenceable(24) %4592, i1 noundef zeroext false)
  %4593 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4594 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4593, i32 0, i32 2
  %4595 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4594, i32 0, i32 1
  %4596 = load i64, ptr %4595, align 8
  %4597 = and i64 %4596, -8796093022209
  %4598 = or i64 %4597, 8796093022208
  store i64 %4598, ptr %4595, align 8
  br label %14379

4599:                                             ; preds = %406
  %4600 = load ptr, ptr %3, align 8, !tbaa !5
  %4601 = load ptr, ptr %15, align 8, !tbaa !5
  %4602 = getelementptr inbounds %union.YYSTYPE, ptr %4601, i64 0
  %4603 = getelementptr inbounds %struct.anon, ptr %4602, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4600, ptr noundef nonnull align 8 dereferenceable(24) %4603, ptr noundef @.str.104)
  %4604 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4605 = load ptr, ptr %15, align 8, !tbaa !5
  %4606 = getelementptr inbounds %union.YYSTYPE, ptr %4605, i64 0
  %4607 = getelementptr inbounds %struct.anon, ptr %4606, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4604, ptr noundef nonnull align 8 dereferenceable(24) %4607, i1 noundef zeroext false)
  %4608 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4609 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4608, i32 0, i32 2
  %4610 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4609, i32 0, i32 1
  %4611 = load i64, ptr %4610, align 8
  %4612 = and i64 %4611, -17592186044417
  %4613 = or i64 %4612, 17592186044416
  store i64 %4613, ptr %4610, align 8
  br label %14379

4614:                                             ; preds = %406
  %4615 = load ptr, ptr %3, align 8, !tbaa !5
  %4616 = load ptr, ptr %15, align 8, !tbaa !5
  %4617 = getelementptr inbounds %union.YYSTYPE, ptr %4616, i64 0
  %4618 = getelementptr inbounds %struct.anon, ptr %4617, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4615, ptr noundef nonnull align 8 dereferenceable(24) %4618, ptr noundef @.str.105)
  %4619 = load ptr, ptr %3, align 8, !tbaa !5
  %4620 = load ptr, ptr %15, align 8, !tbaa !5
  %4621 = getelementptr inbounds %union.YYSTYPE, ptr %4620, i64 0
  %4622 = getelementptr inbounds %struct.anon, ptr %4621, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4619, ptr noundef nonnull align 8 dereferenceable(24) %4622, i32 noundef 896, ptr noundef @.str.105)
  %4623 = load ptr, ptr %3, align 8, !tbaa !5
  %4624 = load ptr, ptr %15, align 8, !tbaa !5
  %4625 = getelementptr inbounds %union.YYSTYPE, ptr %4624, i64 0
  %4626 = getelementptr inbounds %struct.anon, ptr %4625, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4623, ptr noundef nonnull align 8 dereferenceable(24) %4626, i32 noundef 2, i32 noundef 460, ptr noundef @.str.106, ptr noundef @.str.105)
  %4627 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4628 = load ptr, ptr %15, align 8, !tbaa !5
  %4629 = getelementptr inbounds %union.YYSTYPE, ptr %4628, i64 0
  %4630 = getelementptr inbounds %struct.anon, ptr %4629, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4627, ptr noundef nonnull align 8 dereferenceable(24) %4630, i1 noundef zeroext false)
  %4631 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4632 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4631, i32 0, i32 2
  %4633 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4632, i32 0, i32 1
  %4634 = load i64, ptr %4633, align 8
  %4635 = and i64 %4634, -64
  %4636 = or i64 %4635, 11
  store i64 %4636, ptr %4633, align 8
  br label %14379

4637:                                             ; preds = %406
  %4638 = load ptr, ptr %3, align 8, !tbaa !5
  %4639 = load ptr, ptr %15, align 8, !tbaa !5
  %4640 = getelementptr inbounds %union.YYSTYPE, ptr %4639, i64 0
  %4641 = getelementptr inbounds %struct.anon, ptr %4640, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4638, ptr noundef nonnull align 8 dereferenceable(24) %4641, ptr noundef @.str.107)
  %4642 = load ptr, ptr %3, align 8, !tbaa !5
  %4643 = load ptr, ptr %15, align 8, !tbaa !5
  %4644 = getelementptr inbounds %union.YYSTYPE, ptr %4643, i64 0
  %4645 = getelementptr inbounds %struct.anon, ptr %4644, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4642, ptr noundef nonnull align 8 dereferenceable(24) %4645, i32 noundef 896, ptr noundef @.str.107)
  %4646 = load ptr, ptr %3, align 8, !tbaa !5
  %4647 = load ptr, ptr %15, align 8, !tbaa !5
  %4648 = getelementptr inbounds %union.YYSTYPE, ptr %4647, i64 0
  %4649 = getelementptr inbounds %struct.anon, ptr %4648, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4646, ptr noundef nonnull align 8 dereferenceable(24) %4649, i32 noundef 2, i32 noundef 460, ptr noundef @.str.108, ptr noundef @.str.105)
  %4650 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4651 = load ptr, ptr %15, align 8, !tbaa !5
  %4652 = getelementptr inbounds %union.YYSTYPE, ptr %4651, i64 0
  %4653 = getelementptr inbounds %struct.anon, ptr %4652, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4650, ptr noundef nonnull align 8 dereferenceable(24) %4653, i1 noundef zeroext false)
  %4654 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4655 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4654, i32 0, i32 2
  %4656 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4655, i32 0, i32 1
  %4657 = load i64, ptr %4656, align 8
  %4658 = and i64 %4657, -64
  %4659 = or i64 %4658, 11
  store i64 %4659, ptr %4656, align 8
  br label %14379

4660:                                             ; preds = %406
  %4661 = load ptr, ptr %3, align 8, !tbaa !5
  %4662 = load ptr, ptr %15, align 8, !tbaa !5
  %4663 = getelementptr inbounds %union.YYSTYPE, ptr %4662, i64 0
  %4664 = getelementptr inbounds %struct.anon, ptr %4663, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4661, ptr noundef nonnull align 8 dereferenceable(24) %4664, ptr noundef @.str.109)
  %4665 = load ptr, ptr %3, align 8, !tbaa !5
  %4666 = load ptr, ptr %15, align 8, !tbaa !5
  %4667 = getelementptr inbounds %union.YYSTYPE, ptr %4666, i64 0
  %4668 = getelementptr inbounds %struct.anon, ptr %4667, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4665, ptr noundef nonnull align 8 dereferenceable(24) %4668, i32 noundef 1856, ptr noundef @.str.109)
  %4669 = load ptr, ptr %3, align 8, !tbaa !5
  %4670 = load ptr, ptr %15, align 8, !tbaa !5
  %4671 = getelementptr inbounds %union.YYSTYPE, ptr %4670, i64 0
  %4672 = getelementptr inbounds %struct.anon, ptr %4671, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4669, ptr noundef nonnull align 8 dereferenceable(24) %4672, i32 noundef 2, i32 noundef 460, ptr noundef @.str.106, ptr noundef @.str.109)
  %4673 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4674 = load ptr, ptr %15, align 8, !tbaa !5
  %4675 = getelementptr inbounds %union.YYSTYPE, ptr %4674, i64 0
  %4676 = getelementptr inbounds %struct.anon, ptr %4675, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4673, ptr noundef nonnull align 8 dereferenceable(24) %4676, i1 noundef zeroext false)
  %4677 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4678 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4677, i32 0, i32 2
  %4679 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4678, i32 0, i32 1
  %4680 = load i64, ptr %4679, align 8
  %4681 = and i64 %4680, -64
  %4682 = or i64 %4681, 9
  store i64 %4682, ptr %4679, align 8
  br label %14379

4683:                                             ; preds = %406
  %4684 = load ptr, ptr %3, align 8, !tbaa !5
  %4685 = load ptr, ptr %15, align 8, !tbaa !5
  %4686 = getelementptr inbounds %union.YYSTYPE, ptr %4685, i64 0
  %4687 = getelementptr inbounds %struct.anon, ptr %4686, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4684, ptr noundef nonnull align 8 dereferenceable(24) %4687, ptr noundef @.str.110)
  %4688 = load ptr, ptr %3, align 8, !tbaa !5
  %4689 = load ptr, ptr %15, align 8, !tbaa !5
  %4690 = getelementptr inbounds %union.YYSTYPE, ptr %4689, i64 0
  %4691 = getelementptr inbounds %struct.anon, ptr %4690, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4688, ptr noundef nonnull align 8 dereferenceable(24) %4691, i32 noundef 1856, ptr noundef @.str.110)
  %4692 = load ptr, ptr %3, align 8, !tbaa !5
  %4693 = load ptr, ptr %15, align 8, !tbaa !5
  %4694 = getelementptr inbounds %union.YYSTYPE, ptr %4693, i64 0
  %4695 = getelementptr inbounds %struct.anon, ptr %4694, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4692, ptr noundef nonnull align 8 dereferenceable(24) %4695, i32 noundef 2, i32 noundef 460, ptr noundef @.str.108, ptr noundef @.str.110)
  %4696 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4697 = load ptr, ptr %15, align 8, !tbaa !5
  %4698 = getelementptr inbounds %union.YYSTYPE, ptr %4697, i64 0
  %4699 = getelementptr inbounds %struct.anon, ptr %4698, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4696, ptr noundef nonnull align 8 dereferenceable(24) %4699, i1 noundef zeroext false)
  %4700 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4701 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4700, i32 0, i32 2
  %4702 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4701, i32 0, i32 1
  %4703 = load i64, ptr %4702, align 8
  %4704 = and i64 %4703, -64
  %4705 = or i64 %4704, 9
  store i64 %4705, ptr %4702, align 8
  br label %14379

4706:                                             ; preds = %406
  %4707 = load ptr, ptr %3, align 8, !tbaa !5
  %4708 = load ptr, ptr %15, align 8, !tbaa !5
  %4709 = getelementptr inbounds %union.YYSTYPE, ptr %4708, i64 0
  %4710 = getelementptr inbounds %struct.anon, ptr %4709, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4707, ptr noundef nonnull align 8 dereferenceable(24) %4710, ptr noundef @.str.111)
  %4711 = load ptr, ptr %3, align 8, !tbaa !5
  %4712 = load ptr, ptr %15, align 8, !tbaa !5
  %4713 = getelementptr inbounds %union.YYSTYPE, ptr %4712, i64 0
  %4714 = getelementptr inbounds %struct.anon, ptr %4713, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4711, ptr noundef nonnull align 8 dereferenceable(24) %4714, i32 noundef 1792, ptr noundef @.str.111)
  %4715 = load ptr, ptr %3, align 8, !tbaa !5
  %4716 = load ptr, ptr %15, align 8, !tbaa !5
  %4717 = getelementptr inbounds %union.YYSTYPE, ptr %4716, i64 0
  %4718 = getelementptr inbounds %struct.anon, ptr %4717, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4715, ptr noundef nonnull align 8 dereferenceable(24) %4718, i32 noundef 2, i32 noundef 460, ptr noundef @.str.106, ptr noundef @.str.111)
  %4719 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4720 = load ptr, ptr %15, align 8, !tbaa !5
  %4721 = getelementptr inbounds %union.YYSTYPE, ptr %4720, i64 0
  %4722 = getelementptr inbounds %struct.anon, ptr %4721, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4719, ptr noundef nonnull align 8 dereferenceable(24) %4722, i1 noundef zeroext false)
  %4723 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4724 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4723, i32 0, i32 2
  %4725 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4724, i32 0, i32 1
  %4726 = load i64, ptr %4725, align 8
  %4727 = and i64 %4726, -64
  %4728 = or i64 %4727, 10
  store i64 %4728, ptr %4725, align 8
  br label %14379

4729:                                             ; preds = %406
  %4730 = load ptr, ptr %3, align 8, !tbaa !5
  %4731 = load ptr, ptr %15, align 8, !tbaa !5
  %4732 = getelementptr inbounds %union.YYSTYPE, ptr %4731, i64 0
  %4733 = getelementptr inbounds %struct.anon, ptr %4732, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4730, ptr noundef nonnull align 8 dereferenceable(24) %4733, ptr noundef @.str.112)
  %4734 = load ptr, ptr %3, align 8, !tbaa !5
  %4735 = load ptr, ptr %15, align 8, !tbaa !5
  %4736 = getelementptr inbounds %union.YYSTYPE, ptr %4735, i64 0
  %4737 = getelementptr inbounds %struct.anon, ptr %4736, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4734, ptr noundef nonnull align 8 dereferenceable(24) %4737, i32 noundef 1792, ptr noundef @.str.112)
  %4738 = load ptr, ptr %3, align 8, !tbaa !5
  %4739 = load ptr, ptr %15, align 8, !tbaa !5
  %4740 = getelementptr inbounds %union.YYSTYPE, ptr %4739, i64 0
  %4741 = getelementptr inbounds %struct.anon, ptr %4740, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4738, ptr noundef nonnull align 8 dereferenceable(24) %4741, i32 noundef 2, i32 noundef 460, ptr noundef @.str.108, ptr noundef @.str.112)
  %4742 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4743 = load ptr, ptr %15, align 8, !tbaa !5
  %4744 = getelementptr inbounds %union.YYSTYPE, ptr %4743, i64 0
  %4745 = getelementptr inbounds %struct.anon, ptr %4744, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4742, ptr noundef nonnull align 8 dereferenceable(24) %4745, i1 noundef zeroext false)
  %4746 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4747 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4746, i32 0, i32 2
  %4748 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4747, i32 0, i32 1
  %4749 = load i64, ptr %4748, align 8
  %4750 = and i64 %4749, -64
  %4751 = or i64 %4750, 10
  store i64 %4751, ptr %4748, align 8
  br label %14379

4752:                                             ; preds = %406
  %4753 = load ptr, ptr %3, align 8, !tbaa !5
  %4754 = load ptr, ptr %15, align 8, !tbaa !5
  %4755 = getelementptr inbounds %union.YYSTYPE, ptr %4754, i64 0
  %4756 = getelementptr inbounds %struct.anon, ptr %4755, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4753, ptr noundef nonnull align 8 dereferenceable(24) %4756, ptr noundef @.str.113)
  %4757 = load ptr, ptr %3, align 8, !tbaa !5
  %4758 = load ptr, ptr %15, align 8, !tbaa !5
  %4759 = getelementptr inbounds %union.YYSTYPE, ptr %4758, i64 0
  %4760 = getelementptr inbounds %struct.anon, ptr %4759, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4757, ptr noundef nonnull align 8 dereferenceable(24) %4760, i32 noundef 3648, ptr noundef @.str.113)
  %4761 = load ptr, ptr %3, align 8, !tbaa !5
  %4762 = load ptr, ptr %15, align 8, !tbaa !5
  %4763 = getelementptr inbounds %union.YYSTYPE, ptr %4762, i64 0
  %4764 = getelementptr inbounds %struct.anon, ptr %4763, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4761, ptr noundef nonnull align 8 dereferenceable(24) %4764, i32 noundef 2, i32 noundef 460, ptr noundef @.str.106, ptr noundef @.str.113)
  %4765 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4766 = load ptr, ptr %15, align 8, !tbaa !5
  %4767 = getelementptr inbounds %union.YYSTYPE, ptr %4766, i64 0
  %4768 = getelementptr inbounds %struct.anon, ptr %4767, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4765, ptr noundef nonnull align 8 dereferenceable(24) %4768, i1 noundef zeroext false)
  %4769 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4770 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4769, i32 0, i32 2
  %4771 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4770, i32 0, i32 1
  %4772 = load i64, ptr %4771, align 8
  %4773 = and i64 %4772, -64
  %4774 = or i64 %4773, 12
  store i64 %4774, ptr %4771, align 8
  br label %14379

4775:                                             ; preds = %406
  %4776 = load ptr, ptr %3, align 8, !tbaa !5
  %4777 = load ptr, ptr %15, align 8, !tbaa !5
  %4778 = getelementptr inbounds %union.YYSTYPE, ptr %4777, i64 0
  %4779 = getelementptr inbounds %struct.anon, ptr %4778, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4776, ptr noundef nonnull align 8 dereferenceable(24) %4779, ptr noundef @.str.114)
  %4780 = load ptr, ptr %3, align 8, !tbaa !5
  %4781 = load ptr, ptr %15, align 8, !tbaa !5
  %4782 = getelementptr inbounds %union.YYSTYPE, ptr %4781, i64 0
  %4783 = getelementptr inbounds %struct.anon, ptr %4782, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4780, ptr noundef nonnull align 8 dereferenceable(24) %4783, i32 noundef 3648, ptr noundef @.str.114)
  %4784 = load ptr, ptr %3, align 8, !tbaa !5
  %4785 = load ptr, ptr %15, align 8, !tbaa !5
  %4786 = getelementptr inbounds %union.YYSTYPE, ptr %4785, i64 0
  %4787 = getelementptr inbounds %struct.anon, ptr %4786, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4784, ptr noundef nonnull align 8 dereferenceable(24) %4787, i32 noundef 2, i32 noundef 460, ptr noundef @.str.108, ptr noundef @.str.114)
  %4788 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4789 = load ptr, ptr %15, align 8, !tbaa !5
  %4790 = getelementptr inbounds %union.YYSTYPE, ptr %4789, i64 0
  %4791 = getelementptr inbounds %struct.anon, ptr %4790, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4788, ptr noundef nonnull align 8 dereferenceable(24) %4791, i1 noundef zeroext false)
  %4792 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4793 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4792, i32 0, i32 2
  %4794 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4793, i32 0, i32 1
  %4795 = load i64, ptr %4794, align 8
  %4796 = and i64 %4795, -64
  %4797 = or i64 %4796, 12
  store i64 %4797, ptr %4794, align 8
  br label %14379

4798:                                             ; preds = %406
  %4799 = load ptr, ptr %3, align 8, !tbaa !5
  %4800 = load ptr, ptr %15, align 8, !tbaa !5
  %4801 = getelementptr inbounds %union.YYSTYPE, ptr %4800, i64 0
  %4802 = getelementptr inbounds %struct.anon, ptr %4801, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4799, ptr noundef nonnull align 8 dereferenceable(24) %4802, ptr noundef @.str.115)
  %4803 = load ptr, ptr %3, align 8, !tbaa !5
  %4804 = load ptr, ptr %15, align 8, !tbaa !5
  %4805 = getelementptr inbounds %union.YYSTYPE, ptr %4804, i64 0
  %4806 = getelementptr inbounds %struct.anon, ptr %4805, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4803, ptr noundef nonnull align 8 dereferenceable(24) %4806, i32 noundef 2048, ptr noundef @.str.115)
  %4807 = load ptr, ptr %3, align 8, !tbaa !5
  %4808 = load ptr, ptr %15, align 8, !tbaa !5
  %4809 = getelementptr inbounds %union.YYSTYPE, ptr %4808, i64 0
  %4810 = getelementptr inbounds %struct.anon, ptr %4809, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4807, ptr noundef nonnull align 8 dereferenceable(24) %4810, i32 noundef 2, i32 noundef 460, ptr noundef @.str.106, ptr noundef @.str.115)
  %4811 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4812 = load ptr, ptr %15, align 8, !tbaa !5
  %4813 = getelementptr inbounds %union.YYSTYPE, ptr %4812, i64 0
  %4814 = getelementptr inbounds %struct.anon, ptr %4813, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4811, ptr noundef nonnull align 8 dereferenceable(24) %4814, i1 noundef zeroext false)
  %4815 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4816 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4815, i32 0, i32 2
  %4817 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4816, i32 0, i32 1
  %4818 = load i64, ptr %4817, align 8
  %4819 = and i64 %4818, -64
  %4820 = or i64 %4819, 13
  store i64 %4820, ptr %4817, align 8
  br label %14379

4821:                                             ; preds = %406
  %4822 = load ptr, ptr %3, align 8, !tbaa !5
  %4823 = load ptr, ptr %15, align 8, !tbaa !5
  %4824 = getelementptr inbounds %union.YYSTYPE, ptr %4823, i64 0
  %4825 = getelementptr inbounds %struct.anon, ptr %4824, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %4822, ptr noundef nonnull align 8 dereferenceable(24) %4825, ptr noundef @.str.116)
  %4826 = load ptr, ptr %3, align 8, !tbaa !5
  %4827 = load ptr, ptr %15, align 8, !tbaa !5
  %4828 = getelementptr inbounds %union.YYSTYPE, ptr %4827, i64 0
  %4829 = getelementptr inbounds %struct.anon, ptr %4828, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %4826, ptr noundef nonnull align 8 dereferenceable(24) %4829, i32 noundef 2048, ptr noundef @.str.116)
  %4830 = load ptr, ptr %3, align 8, !tbaa !5
  %4831 = load ptr, ptr %15, align 8, !tbaa !5
  %4832 = getelementptr inbounds %union.YYSTYPE, ptr %4831, i64 0
  %4833 = getelementptr inbounds %struct.anon, ptr %4832, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %4830, ptr noundef nonnull align 8 dereferenceable(24) %4833, i32 noundef 2, i32 noundef 460, ptr noundef @.str.108, ptr noundef @.str.116)
  %4834 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4835 = load ptr, ptr %15, align 8, !tbaa !5
  %4836 = getelementptr inbounds %union.YYSTYPE, ptr %4835, i64 0
  %4837 = getelementptr inbounds %struct.anon, ptr %4836, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4834, ptr noundef nonnull align 8 dereferenceable(24) %4837, i1 noundef zeroext false)
  %4838 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4839 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4838, i32 0, i32 2
  %4840 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4839, i32 0, i32 1
  %4841 = load i64, ptr %4840, align 8
  %4842 = and i64 %4841, -64
  %4843 = or i64 %4842, 13
  store i64 %4843, ptr %4840, align 8
  br label %14379

4844:                                             ; preds = %406
  %4845 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4846 = load ptr, ptr %15, align 8, !tbaa !5
  %4847 = getelementptr inbounds %union.YYSTYPE, ptr %4846, i64 0
  %4848 = getelementptr inbounds %struct.anon, ptr %4847, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4845, ptr noundef nonnull align 8 dereferenceable(24) %4848, i1 noundef zeroext false)
  %4849 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4850 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4849, i32 0, i32 2
  %4851 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4850, i32 0, i32 1
  %4852 = load i64, ptr %4851, align 8
  %4853 = and i64 %4852, -281474976710657
  %4854 = or i64 %4853, 281474976710656
  store i64 %4854, ptr %4851, align 8
  br label %14379

4855:                                             ; preds = %406
  %4856 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4857 = load ptr, ptr %15, align 8, !tbaa !5
  %4858 = getelementptr inbounds %union.YYSTYPE, ptr %4857, i64 0
  %4859 = getelementptr inbounds %struct.anon, ptr %4858, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4856, ptr noundef nonnull align 8 dereferenceable(24) %4859, i1 noundef zeroext false)
  %4860 = load ptr, ptr %3, align 8, !tbaa !5
  %4861 = load ptr, ptr %15, align 8, !tbaa !5
  %4862 = getelementptr inbounds %union.YYSTYPE, ptr %4861, i64 0
  %4863 = getelementptr inbounds %struct.anon, ptr %4862, i32 0, i32 0
  %4864 = load ptr, ptr %4860, align 8, !tbaa !19
  %4865 = getelementptr inbounds ptr, ptr %4864, i64 5
  %4866 = load ptr, ptr %4865, align 8
  call void %4866(ptr noundef nonnull align 8 dereferenceable(192) %4860, ptr noundef nonnull align 8 dereferenceable(24) %4863, i32 noundef 1, ptr noundef @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef @.str.117)
  %4867 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4868 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4867, i32 0, i32 2
  %4869 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4868, i32 0, i32 1
  %4870 = load i64, ptr %4869, align 8
  %4871 = and i64 %4870, -1125899906842625
  %4872 = or i64 %4871, 1125899906842624
  store i64 %4872, ptr %4869, align 8
  br label %14379

4873:                                             ; preds = %406
  %4874 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4875 = load ptr, ptr %15, align 8, !tbaa !5
  %4876 = getelementptr inbounds %union.YYSTYPE, ptr %4875, i64 0
  %4877 = getelementptr inbounds %struct.anon, ptr %4876, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4874, ptr noundef nonnull align 8 dereferenceable(24) %4877, i1 noundef zeroext false)
  %4878 = load ptr, ptr %3, align 8, !tbaa !5
  %4879 = load ptr, ptr %15, align 8, !tbaa !5
  %4880 = getelementptr inbounds %union.YYSTYPE, ptr %4879, i64 0
  %4881 = getelementptr inbounds %struct.anon, ptr %4880, i32 0, i32 0
  %4882 = load ptr, ptr %4878, align 8, !tbaa !19
  %4883 = getelementptr inbounds ptr, ptr %4882, i64 5
  %4884 = load ptr, ptr %4883, align 8
  call void %4884(ptr noundef nonnull align 8 dereferenceable(192) %4878, ptr noundef nonnull align 8 dereferenceable(24) %4881, i32 noundef 1, ptr noundef @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef @.str.118)
  %4885 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4886 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4885, i32 0, i32 2
  %4887 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4886, i32 0, i32 1
  %4888 = load i64, ptr %4887, align 8
  %4889 = and i64 %4888, -2251799813685249
  %4890 = or i64 %4889, 2251799813685248
  store i64 %4890, ptr %4887, align 8
  br label %14379

4891:                                             ; preds = %406
  %4892 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4893 = load ptr, ptr %15, align 8, !tbaa !5
  %4894 = getelementptr inbounds %union.YYSTYPE, ptr %4893, i64 0
  %4895 = getelementptr inbounds %struct.anon, ptr %4894, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4892, ptr noundef nonnull align 8 dereferenceable(24) %4895, i1 noundef zeroext false)
  %4896 = load ptr, ptr %3, align 8, !tbaa !5
  %4897 = load ptr, ptr %15, align 8, !tbaa !5
  %4898 = getelementptr inbounds %union.YYSTYPE, ptr %4897, i64 0
  %4899 = getelementptr inbounds %struct.anon, ptr %4898, i32 0, i32 0
  %4900 = load ptr, ptr %4896, align 8, !tbaa !19
  %4901 = getelementptr inbounds ptr, ptr %4900, i64 5
  %4902 = load ptr, ptr %4901, align 8
  call void %4902(ptr noundef nonnull align 8 dereferenceable(192) %4896, ptr noundef nonnull align 8 dereferenceable(24) %4899, i32 noundef 1, ptr noundef @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef @.str.119)
  %4903 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4904 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4903, i32 0, i32 2
  %4905 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4904, i32 0, i32 1
  %4906 = load i64, ptr %4905, align 8
  %4907 = and i64 %4906, -4503599627370497
  %4908 = or i64 %4907, 4503599627370496
  store i64 %4908, ptr %4905, align 8
  br label %14379

4909:                                             ; preds = %406
  %4910 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4911 = load ptr, ptr %15, align 8, !tbaa !5
  %4912 = getelementptr inbounds %union.YYSTYPE, ptr %4911, i64 0
  %4913 = getelementptr inbounds %struct.anon, ptr %4912, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4910, ptr noundef nonnull align 8 dereferenceable(24) %4913, i1 noundef zeroext false)
  %4914 = load ptr, ptr %3, align 8, !tbaa !5
  %4915 = load ptr, ptr %15, align 8, !tbaa !5
  %4916 = getelementptr inbounds %union.YYSTYPE, ptr %4915, i64 0
  %4917 = getelementptr inbounds %struct.anon, ptr %4916, i32 0, i32 0
  %4918 = load ptr, ptr %4914, align 8, !tbaa !19
  %4919 = getelementptr inbounds ptr, ptr %4918, i64 5
  %4920 = load ptr, ptr %4919, align 8
  call void %4920(ptr noundef nonnull align 8 dereferenceable(192) %4914, ptr noundef nonnull align 8 dereferenceable(24) %4917, i32 noundef 1, ptr noundef @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef @.str.120)
  %4921 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4922 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4921, i32 0, i32 2
  %4923 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4922, i32 0, i32 1
  %4924 = load i64, ptr %4923, align 8
  %4925 = and i64 %4924, -9007199254740993
  %4926 = or i64 %4925, 9007199254740992
  store i64 %4926, ptr %4923, align 8
  br label %14379

4927:                                             ; preds = %406
  %4928 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4929 = load ptr, ptr %15, align 8, !tbaa !5
  %4930 = getelementptr inbounds %union.YYSTYPE, ptr %4929, i64 0
  %4931 = getelementptr inbounds %struct.anon, ptr %4930, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4928, ptr noundef nonnull align 8 dereferenceable(24) %4931, i1 noundef zeroext false)
  %4932 = load ptr, ptr %3, align 8, !tbaa !5
  %4933 = load ptr, ptr %15, align 8, !tbaa !5
  %4934 = getelementptr inbounds %union.YYSTYPE, ptr %4933, i64 0
  %4935 = getelementptr inbounds %struct.anon, ptr %4934, i32 0, i32 0
  %4936 = load ptr, ptr %4932, align 8, !tbaa !19
  %4937 = getelementptr inbounds ptr, ptr %4936, i64 5
  %4938 = load ptr, ptr %4937, align 8
  call void %4938(ptr noundef nonnull align 8 dereferenceable(192) %4932, ptr noundef nonnull align 8 dereferenceable(24) %4935, i32 noundef 1, ptr noundef @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef @.str.121)
  %4939 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4940 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4939, i32 0, i32 2
  %4941 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4940, i32 0, i32 1
  %4942 = load i64, ptr %4941, align 8
  %4943 = and i64 %4942, -36028797018963969
  %4944 = or i64 %4943, 36028797018963968
  store i64 %4944, ptr %4941, align 8
  br label %14379

4945:                                             ; preds = %406
  %4946 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4947 = load ptr, ptr %15, align 8, !tbaa !5
  %4948 = getelementptr inbounds %union.YYSTYPE, ptr %4947, i64 0
  %4949 = getelementptr inbounds %struct.anon, ptr %4948, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4946, ptr noundef nonnull align 8 dereferenceable(24) %4949, i1 noundef zeroext false)
  %4950 = load ptr, ptr %3, align 8, !tbaa !5
  %4951 = load ptr, ptr %15, align 8, !tbaa !5
  %4952 = getelementptr inbounds %union.YYSTYPE, ptr %4951, i64 0
  %4953 = getelementptr inbounds %struct.anon, ptr %4952, i32 0, i32 0
  %4954 = load ptr, ptr %4950, align 8, !tbaa !19
  %4955 = getelementptr inbounds ptr, ptr %4954, i64 5
  %4956 = load ptr, ptr %4955, align 8
  call void %4956(ptr noundef nonnull align 8 dereferenceable(192) %4950, ptr noundef nonnull align 8 dereferenceable(24) %4953, i32 noundef 1, ptr noundef @_ZN7glslangL20E_GL_EXT_ray_tracingE, ptr noundef @.str.122)
  %4957 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4958 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4957, i32 0, i32 2
  %4959 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4958, i32 0, i32 1
  %4960 = load i64, ptr %4959, align 8
  %4961 = and i64 %4960, -18014398509481985
  %4962 = or i64 %4961, 18014398509481984
  store i64 %4962, ptr %4959, align 8
  br label %14379

4963:                                             ; preds = %406
  %4964 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4965 = load ptr, ptr %15, align 8, !tbaa !5
  %4966 = getelementptr inbounds %union.YYSTYPE, ptr %4965, i64 0
  %4967 = getelementptr inbounds %struct.anon, ptr %4966, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4964, ptr noundef nonnull align 8 dereferenceable(24) %4967, i1 noundef zeroext false)
  %4968 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4969 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4968, i32 0, i32 2
  %4970 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4969, i32 0, i32 1
  %4971 = load i64, ptr %4970, align 8
  %4972 = and i64 %4971, -562949953421313
  %4973 = or i64 %4972, 562949953421312
  store i64 %4973, ptr %4970, align 8
  br label %14379

4974:                                             ; preds = %406
  %4975 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4976 = load ptr, ptr %15, align 8, !tbaa !5
  %4977 = getelementptr inbounds %union.YYSTYPE, ptr %4976, i64 0
  %4978 = getelementptr inbounds %struct.anon, ptr %4977, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4975, ptr noundef nonnull align 8 dereferenceable(24) %4978, i1 noundef zeroext false)
  %4979 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4980 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4979, i32 0, i32 2
  %4981 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4980, i32 0, i32 1
  %4982 = load i64, ptr %4981, align 8
  %4983 = and i64 %4982, -35184372088833
  %4984 = or i64 %4983, 35184372088832
  store i64 %4984, ptr %4981, align 8
  br label %14379

4985:                                             ; preds = %406
  %4986 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4987 = load ptr, ptr %15, align 8, !tbaa !5
  %4988 = getelementptr inbounds %union.YYSTYPE, ptr %4987, i64 0
  %4989 = getelementptr inbounds %struct.anon, ptr %4988, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4986, ptr noundef nonnull align 8 dereferenceable(24) %4989, i1 noundef zeroext false)
  %4990 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4991 = getelementptr inbounds %"class.glslang::TPublicType", ptr %4990, i32 0, i32 2
  %4992 = getelementptr inbounds %"class.glslang::TQualifier", ptr %4991, i32 0, i32 1
  %4993 = load i64, ptr %4992, align 8
  %4994 = and i64 %4993, -70368744177665
  %4995 = or i64 %4994, 70368744177664
  store i64 %4995, ptr %4992, align 8
  br label %14379

4996:                                             ; preds = %406
  %4997 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %4998 = load ptr, ptr %15, align 8, !tbaa !5
  %4999 = getelementptr inbounds %union.YYSTYPE, ptr %4998, i64 0
  %5000 = getelementptr inbounds %struct.anon, ptr %4999, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %4997, ptr noundef nonnull align 8 dereferenceable(24) %5000, i1 noundef zeroext false)
  %5001 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5002 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5001, i32 0, i32 2
  %5003 = getelementptr inbounds %"class.glslang::TQualifier", ptr %5002, i32 0, i32 1
  %5004 = load i64, ptr %5003, align 8
  %5005 = and i64 %5004, -140737488355329
  %5006 = or i64 %5005, 140737488355328
  store i64 %5006, ptr %5003, align 8
  br label %14379

5007:                                             ; preds = %406
  %5008 = load ptr, ptr %3, align 8, !tbaa !5
  %5009 = load ptr, ptr %15, align 8, !tbaa !5
  %5010 = getelementptr inbounds %union.YYSTYPE, ptr %5009, i64 0
  %5011 = getelementptr inbounds %struct.anon, ptr %5010, i32 0, i32 0
  %5012 = load ptr, ptr %5008, align 8, !tbaa !19
  %5013 = getelementptr inbounds ptr, ptr %5012, i64 37
  %5014 = load ptr, ptr %5013, align 8
  call void %5014(ptr noundef nonnull align 8 dereferenceable(192) %5008, ptr noundef nonnull align 8 dereferenceable(24) %5011, ptr noundef @.str.123)
  %5015 = load ptr, ptr %3, align 8, !tbaa !5
  %5016 = load ptr, ptr %15, align 8, !tbaa !5
  %5017 = getelementptr inbounds %union.YYSTYPE, ptr %5016, i64 0
  %5018 = getelementptr inbounds %struct.anon, ptr %5017, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %5015, ptr noundef nonnull align 8 dereferenceable(24) %5018, ptr noundef @.str.123)
  %5019 = load ptr, ptr %3, align 8, !tbaa !5
  %5020 = load ptr, ptr %15, align 8, !tbaa !5
  %5021 = getelementptr inbounds %union.YYSTYPE, ptr %5020, i64 0
  %5022 = getelementptr inbounds %struct.anon, ptr %5021, i32 0, i32 0
  %5023 = load ptr, ptr %5019, align 8, !tbaa !19
  %5024 = getelementptr inbounds ptr, ptr %5023, i64 16
  %5025 = load ptr, ptr %5024, align 8
  call void %5025(ptr noundef nonnull align 8 dereferenceable(192) %5019, ptr noundef nonnull align 8 dereferenceable(24) %5022, ptr noundef @.str.123)
  %5026 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5027 = load ptr, ptr %15, align 8, !tbaa !5
  %5028 = getelementptr inbounds %union.YYSTYPE, ptr %5027, i64 0
  %5029 = getelementptr inbounds %struct.anon, ptr %5028, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5026, ptr noundef nonnull align 8 dereferenceable(24) %5029, i1 noundef zeroext false)
  br label %14379

5030:                                             ; preds = %406
  %5031 = load ptr, ptr %3, align 8, !tbaa !5
  %5032 = load ptr, ptr %15, align 8, !tbaa !5
  %5033 = getelementptr inbounds %union.YYSTYPE, ptr %5032, i64 -3
  %5034 = getelementptr inbounds %struct.anon, ptr %5033, i32 0, i32 0
  %5035 = load ptr, ptr %5031, align 8, !tbaa !19
  %5036 = getelementptr inbounds ptr, ptr %5035, i64 37
  %5037 = load ptr, ptr %5036, align 8
  call void %5037(ptr noundef nonnull align 8 dereferenceable(192) %5031, ptr noundef nonnull align 8 dereferenceable(24) %5034, ptr noundef @.str.123)
  %5038 = load ptr, ptr %3, align 8, !tbaa !5
  %5039 = load ptr, ptr %15, align 8, !tbaa !5
  %5040 = getelementptr inbounds %union.YYSTYPE, ptr %5039, i64 -3
  %5041 = getelementptr inbounds %struct.anon, ptr %5040, i32 0, i32 0
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %5038, ptr noundef nonnull align 8 dereferenceable(24) %5041, ptr noundef @.str.123)
  %5042 = load ptr, ptr %3, align 8, !tbaa !5
  %5043 = load ptr, ptr %15, align 8, !tbaa !5
  %5044 = getelementptr inbounds %union.YYSTYPE, ptr %5043, i64 -3
  %5045 = getelementptr inbounds %struct.anon, ptr %5044, i32 0, i32 0
  %5046 = load ptr, ptr %5042, align 8, !tbaa !19
  %5047 = getelementptr inbounds ptr, ptr %5046, i64 16
  %5048 = load ptr, ptr %5047, align 8
  call void %5048(ptr noundef nonnull align 8 dereferenceable(192) %5042, ptr noundef nonnull align 8 dereferenceable(24) %5045, ptr noundef @.str.123)
  %5049 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5050 = load ptr, ptr %15, align 8, !tbaa !5
  %5051 = getelementptr inbounds %union.YYSTYPE, ptr %5050, i64 -3
  %5052 = getelementptr inbounds %struct.anon, ptr %5051, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5049, ptr noundef nonnull align 8 dereferenceable(24) %5052, i1 noundef zeroext false)
  br label %14379

5053:                                             ; preds = %406
  %5054 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5055 = load ptr, ptr %15, align 8, !tbaa !5
  %5056 = getelementptr inbounds %union.YYSTYPE, ptr %5055, i64 0
  %5057 = getelementptr inbounds %struct.anon, ptr %5056, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5054, ptr noundef nonnull align 8 dereferenceable(24) %5057, i1 noundef zeroext false)
  %5058 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5059 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5058, i32 0, i32 2
  %5060 = getelementptr inbounds %"class.glslang::TQualifier", ptr %5059, i32 0, i32 1
  %5061 = load i64, ptr %5060, align 8
  %5062 = and i64 %5061, -4294967297
  %5063 = or i64 %5062, 4294967296
  store i64 %5063, ptr %5060, align 8
  br label %14379

5064:                                             ; preds = %406
  br label %14379

5065:                                             ; preds = %406
  br label %14379

5066:                                             ; preds = %406
  %5067 = load ptr, ptr %15, align 8, !tbaa !5
  %5068 = getelementptr inbounds %union.YYSTYPE, ptr %5067, i64 -1
  %5069 = getelementptr inbounds %struct.anon.0, ptr %5068, i32 0, i32 3
  %5070 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5070, ptr align 8 %5069, i64 232, i1 false), !tbaa.struct !135
  %5071 = load ptr, ptr %3, align 8, !tbaa !5
  %5072 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5073 = call noundef i32 @_ZN7glslang13TParseContext19getDefaultPrecisionERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %5071, ptr noundef nonnull align 8 dereferenceable(232) %5072)
  %5074 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5075 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5074, i32 0, i32 2
  %5076 = getelementptr inbounds %"class.glslang::TQualifier", ptr %5075, i32 0, i32 1
  %5077 = zext i32 %5073 to i64
  %5078 = load i64, ptr %5076, align 8
  %5079 = and i64 %5077, 7
  %5080 = shl i64 %5079, 24
  %5081 = and i64 %5078, -117440513
  %5082 = or i64 %5081, %5080
  store i64 %5082, ptr %5076, align 8
  %5083 = load ptr, ptr %15, align 8, !tbaa !5
  %5084 = getelementptr inbounds %union.YYSTYPE, ptr %5083, i64 0
  %5085 = getelementptr inbounds %struct.anon.0, ptr %5084, i32 0, i32 4
  %5086 = load ptr, ptr %5085, align 8, !tbaa !10
  %5087 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5088 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5087, i32 0, i32 8
  store ptr %5086, ptr %5088, align 8, !tbaa !10
  br label %14379

5089:                                             ; preds = %406
  %5090 = load ptr, ptr %3, align 8, !tbaa !5
  %5091 = load ptr, ptr %15, align 8, !tbaa !5
  %5092 = getelementptr inbounds %union.YYSTYPE, ptr %5091, i64 0
  %5093 = getelementptr inbounds %struct.anon.0, ptr %5092, i32 0, i32 0
  %5094 = load ptr, ptr %15, align 8, !tbaa !5
  %5095 = getelementptr inbounds %union.YYSTYPE, ptr %5094, i64 0
  %5096 = getelementptr inbounds %struct.anon.0, ptr %5095, i32 0, i32 3
  %5097 = load ptr, ptr %5096, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %5090, ptr noundef nonnull align 8 dereferenceable(24) %5093, ptr noundef %5097)
  %5098 = load ptr, ptr %15, align 8, !tbaa !5
  %5099 = getelementptr inbounds %union.YYSTYPE, ptr %5098, i64 -2
  %5100 = getelementptr inbounds %struct.anon.0, ptr %5099, i32 0, i32 3
  %5101 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5101, ptr align 8 %5100, i64 232, i1 false), !tbaa.struct !135
  %5102 = load ptr, ptr %3, align 8, !tbaa !5
  %5103 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5104 = call noundef i32 @_ZN7glslang13TParseContext19getDefaultPrecisionERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %5102, ptr noundef nonnull align 8 dereferenceable(232) %5103)
  %5105 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5106 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5105, i32 0, i32 2
  %5107 = getelementptr inbounds %"class.glslang::TQualifier", ptr %5106, i32 0, i32 1
  %5108 = zext i32 %5104 to i64
  %5109 = load i64, ptr %5107, align 8
  %5110 = and i64 %5108, 7
  %5111 = shl i64 %5110, 24
  %5112 = and i64 %5109, -117440513
  %5113 = or i64 %5112, %5111
  store i64 %5113, ptr %5107, align 8
  %5114 = load ptr, ptr %15, align 8, !tbaa !5
  %5115 = getelementptr inbounds %union.YYSTYPE, ptr %5114, i64 -1
  %5116 = getelementptr inbounds %struct.anon.0, ptr %5115, i32 0, i32 4
  %5117 = load ptr, ptr %5116, align 8, !tbaa !10
  %5118 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5119 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5118, i32 0, i32 8
  store ptr %5117, ptr %5119, align 8, !tbaa !10
  %5120 = load ptr, ptr %15, align 8, !tbaa !5
  %5121 = getelementptr inbounds %union.YYSTYPE, ptr %5120, i64 0
  %5122 = getelementptr inbounds %struct.anon.0, ptr %5121, i32 0, i32 3
  %5123 = load ptr, ptr %5122, align 8, !tbaa !10
  %5124 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5125 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5124, i32 0, i32 5
  store ptr %5123, ptr %5125, align 8, !tbaa !10
  br label %14379

5126:                                             ; preds = %406
  %5127 = load ptr, ptr %15, align 8, !tbaa !5
  %5128 = getelementptr inbounds %union.YYSTYPE, ptr %5127, i64 -1
  %5129 = getelementptr inbounds %struct.anon, ptr %5128, i32 0, i32 0
  %5130 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5130, ptr align 8 %5129, i64 24, i1 false), !tbaa.struct !98
  %5131 = call noundef ptr @_ZN7glslang11TArraySizesnwEm(i64 noundef 24)
  invoke void @_ZN7glslang11TArraySizesC2Ev(ptr noundef nonnull align 8 dereferenceable(21) %5131)
          to label %5132 unwind label %5136

5132:                                             ; preds = %5126
  %5133 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %5131, ptr %5133, align 8, !tbaa !10
  %5134 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5135 = load ptr, ptr %5134, align 8, !tbaa !10
  call void @_ZN7glslang11TArraySizes12addInnerSizeEv(ptr noundef nonnull align 8 dereferenceable(21) %5135)
  br label %14379

5136:                                             ; preds = %5126
  %5137 = landingpad { ptr, i32 }
          cleanup
  %5138 = extractvalue { ptr, i32 } %5137, 0
  store ptr %5138, ptr %31, align 8
  %5139 = extractvalue { ptr, i32 } %5137, 1
  store i32 %5139, ptr %32, align 4
  call void @_ZN7glslang11TArraySizesdlEPv(ptr noundef %5131) #10
  br label %14723

5140:                                             ; preds = %406
  %5141 = load ptr, ptr %15, align 8, !tbaa !5
  %5142 = getelementptr inbounds %union.YYSTYPE, ptr %5141, i64 -2
  %5143 = getelementptr inbounds %struct.anon, ptr %5142, i32 0, i32 0
  %5144 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 0
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5144, ptr align 8 %5143, i64 24, i1 false), !tbaa.struct !98
  %5145 = call noundef ptr @_ZN7glslang11TArraySizesnwEm(i64 noundef 24)
  invoke void @_ZN7glslang11TArraySizesC2Ev(ptr noundef nonnull align 8 dereferenceable(21) %5145)
          to label %5146 unwind label %5167

5146:                                             ; preds = %5140
  %5147 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %5145, ptr %5147, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #10
  %5148 = load ptr, ptr %3, align 8, !tbaa !5
  %5149 = load ptr, ptr %15, align 8, !tbaa !5
  %5150 = getelementptr inbounds %union.YYSTYPE, ptr %5149, i64 -1
  %5151 = getelementptr inbounds %struct.anon.0, ptr %5150, i32 0, i32 2
  %5152 = load ptr, ptr %5151, align 8, !tbaa !10
  %5153 = load ptr, ptr %5152, align 8, !tbaa !19
  %5154 = getelementptr inbounds ptr, ptr %5153, i64 0
  %5155 = load ptr, ptr %5154, align 8
  %5156 = call noundef nonnull align 8 dereferenceable(24) ptr %5155(ptr noundef nonnull align 8 dereferenceable(32) %5152)
  %5157 = load ptr, ptr %15, align 8, !tbaa !5
  %5158 = getelementptr inbounds %union.YYSTYPE, ptr %5157, i64 -1
  %5159 = getelementptr inbounds %struct.anon.0, ptr %5158, i32 0, i32 2
  %5160 = load ptr, ptr %5159, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %5148, ptr noundef nonnull align 8 dereferenceable(24) %5156, ptr noundef %5160, ptr noundef nonnull align 8 dereferenceable(16) %68, ptr noundef @.str.124)
  %5161 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5162 = load ptr, ptr %5161, align 8, !tbaa !10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %69, ptr align 8 %68, i64 16, i1 false), !tbaa.struct !149
  %5163 = getelementptr inbounds { i32, ptr }, ptr %69, i32 0, i32 0
  %5164 = load i32, ptr %5163, align 8
  %5165 = getelementptr inbounds { i32, ptr }, ptr %69, i32 0, i32 1
  %5166 = load ptr, ptr %5165, align 8
  call void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21) %5162, i32 %5164, ptr %5166)
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #10
  br label %14379

5167:                                             ; preds = %5140
  %5168 = landingpad { ptr, i32 }
          cleanup
  %5169 = extractvalue { ptr, i32 } %5168, 0
  store ptr %5169, ptr %31, align 8
  %5170 = extractvalue { ptr, i32 } %5168, 1
  store i32 %5170, ptr %32, align 4
  call void @_ZN7glslang11TArraySizesdlEPv(ptr noundef %5145) #10
  br label %14723

5171:                                             ; preds = %406
  %5172 = load ptr, ptr %15, align 8, !tbaa !5
  %5173 = getelementptr inbounds %union.YYSTYPE, ptr %5172, i64 -2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %5173, i64 288, i1 false), !tbaa.struct !95
  %5174 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5175 = load ptr, ptr %5174, align 8, !tbaa !10
  call void @_ZN7glslang11TArraySizes12addInnerSizeEv(ptr noundef nonnull align 8 dereferenceable(21) %5175)
  br label %14379

5176:                                             ; preds = %406
  %5177 = load ptr, ptr %15, align 8, !tbaa !5
  %5178 = getelementptr inbounds %union.YYSTYPE, ptr %5177, i64 -3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %19, ptr align 8 %5178, i64 288, i1 false), !tbaa.struct !95
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #10
  %5179 = load ptr, ptr %3, align 8, !tbaa !5
  %5180 = load ptr, ptr %15, align 8, !tbaa !5
  %5181 = getelementptr inbounds %union.YYSTYPE, ptr %5180, i64 -1
  %5182 = getelementptr inbounds %struct.anon.0, ptr %5181, i32 0, i32 2
  %5183 = load ptr, ptr %5182, align 8, !tbaa !10
  %5184 = load ptr, ptr %5183, align 8, !tbaa !19
  %5185 = getelementptr inbounds ptr, ptr %5184, i64 0
  %5186 = load ptr, ptr %5185, align 8
  %5187 = call noundef nonnull align 8 dereferenceable(24) ptr %5186(ptr noundef nonnull align 8 dereferenceable(32) %5183)
  %5188 = load ptr, ptr %15, align 8, !tbaa !5
  %5189 = getelementptr inbounds %union.YYSTYPE, ptr %5188, i64 -1
  %5190 = getelementptr inbounds %struct.anon.0, ptr %5189, i32 0, i32 2
  %5191 = load ptr, ptr %5190, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %5179, ptr noundef nonnull align 8 dereferenceable(24) %5187, ptr noundef %5191, ptr noundef nonnull align 8 dereferenceable(16) %70, ptr noundef @.str.124)
  %5192 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5193 = load ptr, ptr %5192, align 8, !tbaa !10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %71, ptr align 8 %70, i64 16, i1 false), !tbaa.struct !149
  %5194 = getelementptr inbounds { i32, ptr }, ptr %71, i32 0, i32 0
  %5195 = load i32, ptr %5194, align 8
  %5196 = getelementptr inbounds { i32, ptr }, ptr %71, i32 0, i32 1
  %5197 = load ptr, ptr %5196, align 8
  call void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21) %5193, i32 %5195, ptr %5197)
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #10
  br label %14379

5198:                                             ; preds = %406
  %5199 = load ptr, ptr %15, align 8, !tbaa !5
  %5200 = getelementptr inbounds %union.YYSTYPE, ptr %5199, i64 0
  %5201 = getelementptr inbounds %struct.anon.0, ptr %5200, i32 0, i32 4
  %5202 = load ptr, ptr %5201, align 8, !tbaa !10
  %5203 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 4
  store ptr %5202, ptr %5203, align 8, !tbaa !10
  br label %14379

5204:                                             ; preds = %406
  %5205 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 4
  store ptr null, ptr %5205, align 8, !tbaa !10
  br label %14379

5206:                                             ; preds = %406
  %5207 = load ptr, ptr %15, align 8, !tbaa !5
  %5208 = getelementptr inbounds %union.YYSTYPE, ptr %5207, i64 -1
  %5209 = getelementptr inbounds %struct.anon.0, ptr %5208, i32 0, i32 4
  %5210 = load ptr, ptr %5209, align 8, !tbaa !10
  %5211 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 4
  store ptr %5210, ptr %5211, align 8, !tbaa !10
  br label %14379

5212:                                             ; preds = %406
  %5213 = call noundef ptr @_ZN7glslang11TArraySizesnwEm(i64 noundef 24)
  invoke void @_ZN7glslang11TArraySizesC2Ev(ptr noundef nonnull align 8 dereferenceable(21) %5213)
          to label %5214 unwind label %5235

5214:                                             ; preds = %5212
  %5215 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 4
  store ptr %5213, ptr %5215, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #10
  %5216 = load ptr, ptr %3, align 8, !tbaa !5
  %5217 = load ptr, ptr %15, align 8, !tbaa !5
  %5218 = getelementptr inbounds %union.YYSTYPE, ptr %5217, i64 0
  %5219 = getelementptr inbounds %struct.anon.0, ptr %5218, i32 0, i32 2
  %5220 = load ptr, ptr %5219, align 8, !tbaa !10
  %5221 = load ptr, ptr %5220, align 8, !tbaa !19
  %5222 = getelementptr inbounds ptr, ptr %5221, i64 0
  %5223 = load ptr, ptr %5222, align 8
  %5224 = call noundef nonnull align 8 dereferenceable(24) ptr %5223(ptr noundef nonnull align 8 dereferenceable(32) %5220)
  %5225 = load ptr, ptr %15, align 8, !tbaa !5
  %5226 = getelementptr inbounds %union.YYSTYPE, ptr %5225, i64 0
  %5227 = getelementptr inbounds %struct.anon.0, ptr %5226, i32 0, i32 2
  %5228 = load ptr, ptr %5227, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %5216, ptr noundef nonnull align 8 dereferenceable(24) %5224, ptr noundef %5228, ptr noundef nonnull align 8 dereferenceable(16) %72, ptr noundef @.str.125)
  %5229 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 4
  %5230 = load ptr, ptr %5229, align 8, !tbaa !10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %73, ptr align 8 %72, i64 16, i1 false), !tbaa.struct !149
  %5231 = getelementptr inbounds { i32, ptr }, ptr %73, i32 0, i32 0
  %5232 = load i32, ptr %5231, align 8
  %5233 = getelementptr inbounds { i32, ptr }, ptr %73, i32 0, i32 1
  %5234 = load ptr, ptr %5233, align 8
  call void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21) %5230, i32 %5232, ptr %5234)
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #10
  br label %14379

5235:                                             ; preds = %5212
  %5236 = landingpad { ptr, i32 }
          cleanup
  %5237 = extractvalue { ptr, i32 } %5236, 0
  store ptr %5237, ptr %31, align 8
  %5238 = extractvalue { ptr, i32 } %5236, 1
  store i32 %5238, ptr %32, align 4
  call void @_ZN7glslang11TArraySizesdlEPv(ptr noundef %5213) #10
  br label %14723

5239:                                             ; preds = %406
  %5240 = load ptr, ptr %15, align 8, !tbaa !5
  %5241 = getelementptr inbounds %union.YYSTYPE, ptr %5240, i64 -2
  %5242 = getelementptr inbounds %struct.anon.0, ptr %5241, i32 0, i32 4
  %5243 = load ptr, ptr %5242, align 8, !tbaa !10
  %5244 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 4
  store ptr %5243, ptr %5244, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #10
  %5245 = load ptr, ptr %3, align 8, !tbaa !5
  %5246 = load ptr, ptr %15, align 8, !tbaa !5
  %5247 = getelementptr inbounds %union.YYSTYPE, ptr %5246, i64 0
  %5248 = getelementptr inbounds %struct.anon.0, ptr %5247, i32 0, i32 2
  %5249 = load ptr, ptr %5248, align 8, !tbaa !10
  %5250 = load ptr, ptr %5249, align 8, !tbaa !19
  %5251 = getelementptr inbounds ptr, ptr %5250, i64 0
  %5252 = load ptr, ptr %5251, align 8
  %5253 = call noundef nonnull align 8 dereferenceable(24) ptr %5252(ptr noundef nonnull align 8 dereferenceable(32) %5249)
  %5254 = load ptr, ptr %15, align 8, !tbaa !5
  %5255 = getelementptr inbounds %union.YYSTYPE, ptr %5254, i64 0
  %5256 = getelementptr inbounds %struct.anon.0, ptr %5255, i32 0, i32 2
  %5257 = load ptr, ptr %5256, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %5245, ptr noundef nonnull align 8 dereferenceable(24) %5253, ptr noundef %5257, ptr noundef nonnull align 8 dereferenceable(16) %74, ptr noundef @.str.125)
  %5258 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 4
  %5259 = load ptr, ptr %5258, align 8, !tbaa !10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %75, ptr align 8 %74, i64 16, i1 false), !tbaa.struct !149
  %5260 = getelementptr inbounds { i32, ptr }, ptr %75, i32 0, i32 0
  %5261 = load i32, ptr %5260, align 8
  %5262 = getelementptr inbounds { i32, ptr }, ptr %75, i32 0, i32 1
  %5263 = load ptr, ptr %5262, align 8
  call void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21) %5259, i32 %5261, ptr %5263)
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #10
  br label %14379

5264:                                             ; preds = %406
  %5265 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5266 = load ptr, ptr %15, align 8, !tbaa !5
  %5267 = getelementptr inbounds %union.YYSTYPE, ptr %5266, i64 0
  %5268 = getelementptr inbounds %struct.anon, ptr %5267, i32 0, i32 0
  %5269 = load ptr, ptr %3, align 8, !tbaa !5
  %5270 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5269, i32 0, i32 2
  %5271 = load ptr, ptr %5270, align 8, !tbaa !45
  %5272 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5271)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5265, ptr noundef nonnull align 8 dereferenceable(24) %5268, i1 noundef zeroext %5272)
  %5273 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5274 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5273, i32 0, i32 0
  store i32 0, ptr %5274, align 8, !tbaa !10
  br label %14379

5275:                                             ; preds = %406
  %5276 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5277 = load ptr, ptr %15, align 8, !tbaa !5
  %5278 = getelementptr inbounds %union.YYSTYPE, ptr %5277, i64 0
  %5279 = getelementptr inbounds %struct.anon, ptr %5278, i32 0, i32 0
  %5280 = load ptr, ptr %3, align 8, !tbaa !5
  %5281 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5280, i32 0, i32 2
  %5282 = load ptr, ptr %5281, align 8, !tbaa !45
  %5283 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5282)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5276, ptr noundef nonnull align 8 dereferenceable(24) %5279, i1 noundef zeroext %5283)
  %5284 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5285 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5284, i32 0, i32 0
  store i32 1, ptr %5285, align 8, !tbaa !10
  br label %14379

5286:                                             ; preds = %406
  %5287 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5288 = load ptr, ptr %15, align 8, !tbaa !5
  %5289 = getelementptr inbounds %union.YYSTYPE, ptr %5288, i64 0
  %5290 = getelementptr inbounds %struct.anon, ptr %5289, i32 0, i32 0
  %5291 = load ptr, ptr %3, align 8, !tbaa !5
  %5292 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5291, i32 0, i32 2
  %5293 = load ptr, ptr %5292, align 8, !tbaa !45
  %5294 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5293)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5287, ptr noundef nonnull align 8 dereferenceable(24) %5290, i1 noundef zeroext %5294)
  %5295 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5296 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5295, i32 0, i32 0
  store i32 8, ptr %5296, align 8, !tbaa !10
  br label %14379

5297:                                             ; preds = %406
  %5298 = load ptr, ptr %3, align 8, !tbaa !5
  %5299 = load ptr, ptr %15, align 8, !tbaa !5
  %5300 = getelementptr inbounds %union.YYSTYPE, ptr %5299, i64 0
  %5301 = getelementptr inbounds %struct.anon, ptr %5300, i32 0, i32 0
  %5302 = load ptr, ptr %5298, align 8, !tbaa !19
  %5303 = getelementptr inbounds ptr, ptr %5302, i64 15
  %5304 = load ptr, ptr %5303, align 8
  call void %5304(ptr noundef nonnull align 8 dereferenceable(192) %5298, ptr noundef nonnull align 8 dereferenceable(24) %5301, ptr noundef @.str.126)
  %5305 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5306 = load ptr, ptr %15, align 8, !tbaa !5
  %5307 = getelementptr inbounds %union.YYSTYPE, ptr %5306, i64 0
  %5308 = getelementptr inbounds %struct.anon, ptr %5307, i32 0, i32 0
  %5309 = load ptr, ptr %3, align 8, !tbaa !5
  %5310 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5309, i32 0, i32 2
  %5311 = load ptr, ptr %5310, align 8, !tbaa !45
  %5312 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5311)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5305, ptr noundef nonnull align 8 dereferenceable(24) %5308, i1 noundef zeroext %5312)
  %5313 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5314 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5313, i32 0, i32 0
  store i32 9, ptr %5314, align 8, !tbaa !10
  br label %14379

5315:                                             ; preds = %406
  %5316 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5317 = load ptr, ptr %15, align 8, !tbaa !5
  %5318 = getelementptr inbounds %union.YYSTYPE, ptr %5317, i64 0
  %5319 = getelementptr inbounds %struct.anon, ptr %5318, i32 0, i32 0
  %5320 = load ptr, ptr %3, align 8, !tbaa !5
  %5321 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5320, i32 0, i32 2
  %5322 = load ptr, ptr %5321, align 8, !tbaa !45
  %5323 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5322)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5316, ptr noundef nonnull align 8 dereferenceable(24) %5319, i1 noundef zeroext %5323)
  %5324 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5325 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5324, i32 0, i32 0
  store i32 12, ptr %5325, align 8, !tbaa !10
  br label %14379

5326:                                             ; preds = %406
  %5327 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5328 = load ptr, ptr %15, align 8, !tbaa !5
  %5329 = getelementptr inbounds %union.YYSTYPE, ptr %5328, i64 0
  %5330 = getelementptr inbounds %struct.anon, ptr %5329, i32 0, i32 0
  %5331 = load ptr, ptr %3, align 8, !tbaa !5
  %5332 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5331, i32 0, i32 2
  %5333 = load ptr, ptr %5332, align 8, !tbaa !45
  %5334 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5333)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5327, ptr noundef nonnull align 8 dereferenceable(24) %5330, i1 noundef zeroext %5334)
  %5335 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5336 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5335, i32 0, i32 0
  store i32 1, ptr %5336, align 8, !tbaa !10
  %5337 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5337, i32 noundef 2)
  br label %14379

5338:                                             ; preds = %406
  %5339 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5340 = load ptr, ptr %15, align 8, !tbaa !5
  %5341 = getelementptr inbounds %union.YYSTYPE, ptr %5340, i64 0
  %5342 = getelementptr inbounds %struct.anon, ptr %5341, i32 0, i32 0
  %5343 = load ptr, ptr %3, align 8, !tbaa !5
  %5344 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5343, i32 0, i32 2
  %5345 = load ptr, ptr %5344, align 8, !tbaa !45
  %5346 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5345)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5339, ptr noundef nonnull align 8 dereferenceable(24) %5342, i1 noundef zeroext %5346)
  %5347 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5348 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5347, i32 0, i32 0
  store i32 1, ptr %5348, align 8, !tbaa !10
  %5349 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5349, i32 noundef 3)
  br label %14379

5350:                                             ; preds = %406
  %5351 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5352 = load ptr, ptr %15, align 8, !tbaa !5
  %5353 = getelementptr inbounds %union.YYSTYPE, ptr %5352, i64 0
  %5354 = getelementptr inbounds %struct.anon, ptr %5353, i32 0, i32 0
  %5355 = load ptr, ptr %3, align 8, !tbaa !5
  %5356 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5355, i32 0, i32 2
  %5357 = load ptr, ptr %5356, align 8, !tbaa !45
  %5358 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5357)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5351, ptr noundef nonnull align 8 dereferenceable(24) %5354, i1 noundef zeroext %5358)
  %5359 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5360 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5359, i32 0, i32 0
  store i32 1, ptr %5360, align 8, !tbaa !10
  %5361 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5361, i32 noundef 4)
  br label %14379

5362:                                             ; preds = %406
  %5363 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5364 = load ptr, ptr %15, align 8, !tbaa !5
  %5365 = getelementptr inbounds %union.YYSTYPE, ptr %5364, i64 0
  %5366 = getelementptr inbounds %struct.anon, ptr %5365, i32 0, i32 0
  %5367 = load ptr, ptr %3, align 8, !tbaa !5
  %5368 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5367, i32 0, i32 2
  %5369 = load ptr, ptr %5368, align 8, !tbaa !45
  %5370 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5369)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5363, ptr noundef nonnull align 8 dereferenceable(24) %5366, i1 noundef zeroext %5370)
  %5371 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5372 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5371, i32 0, i32 0
  store i32 12, ptr %5372, align 8, !tbaa !10
  %5373 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5373, i32 noundef 2)
  br label %14379

5374:                                             ; preds = %406
  %5375 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5376 = load ptr, ptr %15, align 8, !tbaa !5
  %5377 = getelementptr inbounds %union.YYSTYPE, ptr %5376, i64 0
  %5378 = getelementptr inbounds %struct.anon, ptr %5377, i32 0, i32 0
  %5379 = load ptr, ptr %3, align 8, !tbaa !5
  %5380 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5379, i32 0, i32 2
  %5381 = load ptr, ptr %5380, align 8, !tbaa !45
  %5382 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5381)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5375, ptr noundef nonnull align 8 dereferenceable(24) %5378, i1 noundef zeroext %5382)
  %5383 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5384 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5383, i32 0, i32 0
  store i32 12, ptr %5384, align 8, !tbaa !10
  %5385 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5385, i32 noundef 3)
  br label %14379

5386:                                             ; preds = %406
  %5387 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5388 = load ptr, ptr %15, align 8, !tbaa !5
  %5389 = getelementptr inbounds %union.YYSTYPE, ptr %5388, i64 0
  %5390 = getelementptr inbounds %struct.anon, ptr %5389, i32 0, i32 0
  %5391 = load ptr, ptr %3, align 8, !tbaa !5
  %5392 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5391, i32 0, i32 2
  %5393 = load ptr, ptr %5392, align 8, !tbaa !45
  %5394 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5393)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5387, ptr noundef nonnull align 8 dereferenceable(24) %5390, i1 noundef zeroext %5394)
  %5395 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5396 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5395, i32 0, i32 0
  store i32 12, ptr %5396, align 8, !tbaa !10
  %5397 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5397, i32 noundef 4)
  br label %14379

5398:                                             ; preds = %406
  %5399 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5400 = load ptr, ptr %15, align 8, !tbaa !5
  %5401 = getelementptr inbounds %union.YYSTYPE, ptr %5400, i64 0
  %5402 = getelementptr inbounds %struct.anon, ptr %5401, i32 0, i32 0
  %5403 = load ptr, ptr %3, align 8, !tbaa !5
  %5404 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5403, i32 0, i32 2
  %5405 = load ptr, ptr %5404, align 8, !tbaa !45
  %5406 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5405)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5399, ptr noundef nonnull align 8 dereferenceable(24) %5402, i1 noundef zeroext %5406)
  %5407 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5408 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5407, i32 0, i32 0
  store i32 8, ptr %5408, align 8, !tbaa !10
  %5409 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5409, i32 noundef 2)
  br label %14379

5410:                                             ; preds = %406
  %5411 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5412 = load ptr, ptr %15, align 8, !tbaa !5
  %5413 = getelementptr inbounds %union.YYSTYPE, ptr %5412, i64 0
  %5414 = getelementptr inbounds %struct.anon, ptr %5413, i32 0, i32 0
  %5415 = load ptr, ptr %3, align 8, !tbaa !5
  %5416 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5415, i32 0, i32 2
  %5417 = load ptr, ptr %5416, align 8, !tbaa !45
  %5418 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5417)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5411, ptr noundef nonnull align 8 dereferenceable(24) %5414, i1 noundef zeroext %5418)
  %5419 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5420 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5419, i32 0, i32 0
  store i32 8, ptr %5420, align 8, !tbaa !10
  %5421 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5421, i32 noundef 3)
  br label %14379

5422:                                             ; preds = %406
  %5423 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5424 = load ptr, ptr %15, align 8, !tbaa !5
  %5425 = getelementptr inbounds %union.YYSTYPE, ptr %5424, i64 0
  %5426 = getelementptr inbounds %struct.anon, ptr %5425, i32 0, i32 0
  %5427 = load ptr, ptr %3, align 8, !tbaa !5
  %5428 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5427, i32 0, i32 2
  %5429 = load ptr, ptr %5428, align 8, !tbaa !45
  %5430 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5429)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5423, ptr noundef nonnull align 8 dereferenceable(24) %5426, i1 noundef zeroext %5430)
  %5431 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5432 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5431, i32 0, i32 0
  store i32 8, ptr %5432, align 8, !tbaa !10
  %5433 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5433, i32 noundef 4)
  br label %14379

5434:                                             ; preds = %406
  %5435 = load ptr, ptr %3, align 8, !tbaa !5
  %5436 = load ptr, ptr %15, align 8, !tbaa !5
  %5437 = getelementptr inbounds %union.YYSTYPE, ptr %5436, i64 0
  %5438 = getelementptr inbounds %struct.anon, ptr %5437, i32 0, i32 0
  %5439 = load ptr, ptr %5435, align 8, !tbaa !19
  %5440 = getelementptr inbounds ptr, ptr %5439, i64 15
  %5441 = load ptr, ptr %5440, align 8
  call void %5441(ptr noundef nonnull align 8 dereferenceable(192) %5435, ptr noundef nonnull align 8 dereferenceable(24) %5438, ptr noundef @.str.127)
  %5442 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5443 = load ptr, ptr %15, align 8, !tbaa !5
  %5444 = getelementptr inbounds %union.YYSTYPE, ptr %5443, i64 0
  %5445 = getelementptr inbounds %struct.anon, ptr %5444, i32 0, i32 0
  %5446 = load ptr, ptr %3, align 8, !tbaa !5
  %5447 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5446, i32 0, i32 2
  %5448 = load ptr, ptr %5447, align 8, !tbaa !45
  %5449 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5448)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5442, ptr noundef nonnull align 8 dereferenceable(24) %5445, i1 noundef zeroext %5449)
  %5450 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5451 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5450, i32 0, i32 0
  store i32 9, ptr %5451, align 8, !tbaa !10
  %5452 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5452, i32 noundef 2)
  br label %14379

5453:                                             ; preds = %406
  %5454 = load ptr, ptr %3, align 8, !tbaa !5
  %5455 = load ptr, ptr %15, align 8, !tbaa !5
  %5456 = getelementptr inbounds %union.YYSTYPE, ptr %5455, i64 0
  %5457 = getelementptr inbounds %struct.anon, ptr %5456, i32 0, i32 0
  %5458 = load ptr, ptr %5454, align 8, !tbaa !19
  %5459 = getelementptr inbounds ptr, ptr %5458, i64 15
  %5460 = load ptr, ptr %5459, align 8
  call void %5460(ptr noundef nonnull align 8 dereferenceable(192) %5454, ptr noundef nonnull align 8 dereferenceable(24) %5457, ptr noundef @.str.127)
  %5461 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5462 = load ptr, ptr %15, align 8, !tbaa !5
  %5463 = getelementptr inbounds %union.YYSTYPE, ptr %5462, i64 0
  %5464 = getelementptr inbounds %struct.anon, ptr %5463, i32 0, i32 0
  %5465 = load ptr, ptr %3, align 8, !tbaa !5
  %5466 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5465, i32 0, i32 2
  %5467 = load ptr, ptr %5466, align 8, !tbaa !45
  %5468 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5467)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5461, ptr noundef nonnull align 8 dereferenceable(24) %5464, i1 noundef zeroext %5468)
  %5469 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5470 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5469, i32 0, i32 0
  store i32 9, ptr %5470, align 8, !tbaa !10
  %5471 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5471, i32 noundef 3)
  br label %14379

5472:                                             ; preds = %406
  %5473 = load ptr, ptr %3, align 8, !tbaa !5
  %5474 = load ptr, ptr %15, align 8, !tbaa !5
  %5475 = getelementptr inbounds %union.YYSTYPE, ptr %5474, i64 0
  %5476 = getelementptr inbounds %struct.anon, ptr %5475, i32 0, i32 0
  %5477 = load ptr, ptr %5473, align 8, !tbaa !19
  %5478 = getelementptr inbounds ptr, ptr %5477, i64 15
  %5479 = load ptr, ptr %5478, align 8
  call void %5479(ptr noundef nonnull align 8 dereferenceable(192) %5473, ptr noundef nonnull align 8 dereferenceable(24) %5476, ptr noundef @.str.127)
  %5480 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5481 = load ptr, ptr %15, align 8, !tbaa !5
  %5482 = getelementptr inbounds %union.YYSTYPE, ptr %5481, i64 0
  %5483 = getelementptr inbounds %struct.anon, ptr %5482, i32 0, i32 0
  %5484 = load ptr, ptr %3, align 8, !tbaa !5
  %5485 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5484, i32 0, i32 2
  %5486 = load ptr, ptr %5485, align 8, !tbaa !45
  %5487 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5486)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5480, ptr noundef nonnull align 8 dereferenceable(24) %5483, i1 noundef zeroext %5487)
  %5488 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5489 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5488, i32 0, i32 0
  store i32 9, ptr %5489, align 8, !tbaa !10
  %5490 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5490, i32 noundef 4)
  br label %14379

5491:                                             ; preds = %406
  %5492 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5493 = load ptr, ptr %15, align 8, !tbaa !5
  %5494 = getelementptr inbounds %union.YYSTYPE, ptr %5493, i64 0
  %5495 = getelementptr inbounds %struct.anon, ptr %5494, i32 0, i32 0
  %5496 = load ptr, ptr %3, align 8, !tbaa !5
  %5497 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5496, i32 0, i32 2
  %5498 = load ptr, ptr %5497, align 8, !tbaa !45
  %5499 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5498)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5492, ptr noundef nonnull align 8 dereferenceable(24) %5495, i1 noundef zeroext %5499)
  %5500 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5501 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5500, i32 0, i32 0
  store i32 1, ptr %5501, align 8, !tbaa !10
  %5502 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5502, i32 noundef 2, i32 noundef 2)
  br label %14379

5503:                                             ; preds = %406
  %5504 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5505 = load ptr, ptr %15, align 8, !tbaa !5
  %5506 = getelementptr inbounds %union.YYSTYPE, ptr %5505, i64 0
  %5507 = getelementptr inbounds %struct.anon, ptr %5506, i32 0, i32 0
  %5508 = load ptr, ptr %3, align 8, !tbaa !5
  %5509 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5508, i32 0, i32 2
  %5510 = load ptr, ptr %5509, align 8, !tbaa !45
  %5511 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5510)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5504, ptr noundef nonnull align 8 dereferenceable(24) %5507, i1 noundef zeroext %5511)
  %5512 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5513 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5512, i32 0, i32 0
  store i32 1, ptr %5513, align 8, !tbaa !10
  %5514 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5514, i32 noundef 3, i32 noundef 3)
  br label %14379

5515:                                             ; preds = %406
  %5516 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5517 = load ptr, ptr %15, align 8, !tbaa !5
  %5518 = getelementptr inbounds %union.YYSTYPE, ptr %5517, i64 0
  %5519 = getelementptr inbounds %struct.anon, ptr %5518, i32 0, i32 0
  %5520 = load ptr, ptr %3, align 8, !tbaa !5
  %5521 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5520, i32 0, i32 2
  %5522 = load ptr, ptr %5521, align 8, !tbaa !45
  %5523 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5522)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5516, ptr noundef nonnull align 8 dereferenceable(24) %5519, i1 noundef zeroext %5523)
  %5524 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5525 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5524, i32 0, i32 0
  store i32 1, ptr %5525, align 8, !tbaa !10
  %5526 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5526, i32 noundef 4, i32 noundef 4)
  br label %14379

5527:                                             ; preds = %406
  %5528 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5529 = load ptr, ptr %15, align 8, !tbaa !5
  %5530 = getelementptr inbounds %union.YYSTYPE, ptr %5529, i64 0
  %5531 = getelementptr inbounds %struct.anon, ptr %5530, i32 0, i32 0
  %5532 = load ptr, ptr %3, align 8, !tbaa !5
  %5533 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5532, i32 0, i32 2
  %5534 = load ptr, ptr %5533, align 8, !tbaa !45
  %5535 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5534)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5528, ptr noundef nonnull align 8 dereferenceable(24) %5531, i1 noundef zeroext %5535)
  %5536 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5537 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5536, i32 0, i32 0
  store i32 1, ptr %5537, align 8, !tbaa !10
  %5538 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5538, i32 noundef 2, i32 noundef 2)
  br label %14379

5539:                                             ; preds = %406
  %5540 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5541 = load ptr, ptr %15, align 8, !tbaa !5
  %5542 = getelementptr inbounds %union.YYSTYPE, ptr %5541, i64 0
  %5543 = getelementptr inbounds %struct.anon, ptr %5542, i32 0, i32 0
  %5544 = load ptr, ptr %3, align 8, !tbaa !5
  %5545 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5544, i32 0, i32 2
  %5546 = load ptr, ptr %5545, align 8, !tbaa !45
  %5547 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5546)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5540, ptr noundef nonnull align 8 dereferenceable(24) %5543, i1 noundef zeroext %5547)
  %5548 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5549 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5548, i32 0, i32 0
  store i32 1, ptr %5549, align 8, !tbaa !10
  %5550 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5550, i32 noundef 2, i32 noundef 3)
  br label %14379

5551:                                             ; preds = %406
  %5552 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5553 = load ptr, ptr %15, align 8, !tbaa !5
  %5554 = getelementptr inbounds %union.YYSTYPE, ptr %5553, i64 0
  %5555 = getelementptr inbounds %struct.anon, ptr %5554, i32 0, i32 0
  %5556 = load ptr, ptr %3, align 8, !tbaa !5
  %5557 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5556, i32 0, i32 2
  %5558 = load ptr, ptr %5557, align 8, !tbaa !45
  %5559 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5558)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5552, ptr noundef nonnull align 8 dereferenceable(24) %5555, i1 noundef zeroext %5559)
  %5560 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5561 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5560, i32 0, i32 0
  store i32 1, ptr %5561, align 8, !tbaa !10
  %5562 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5562, i32 noundef 2, i32 noundef 4)
  br label %14379

5563:                                             ; preds = %406
  %5564 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5565 = load ptr, ptr %15, align 8, !tbaa !5
  %5566 = getelementptr inbounds %union.YYSTYPE, ptr %5565, i64 0
  %5567 = getelementptr inbounds %struct.anon, ptr %5566, i32 0, i32 0
  %5568 = load ptr, ptr %3, align 8, !tbaa !5
  %5569 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5568, i32 0, i32 2
  %5570 = load ptr, ptr %5569, align 8, !tbaa !45
  %5571 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5570)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5564, ptr noundef nonnull align 8 dereferenceable(24) %5567, i1 noundef zeroext %5571)
  %5572 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5573 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5572, i32 0, i32 0
  store i32 1, ptr %5573, align 8, !tbaa !10
  %5574 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5574, i32 noundef 3, i32 noundef 2)
  br label %14379

5575:                                             ; preds = %406
  %5576 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5577 = load ptr, ptr %15, align 8, !tbaa !5
  %5578 = getelementptr inbounds %union.YYSTYPE, ptr %5577, i64 0
  %5579 = getelementptr inbounds %struct.anon, ptr %5578, i32 0, i32 0
  %5580 = load ptr, ptr %3, align 8, !tbaa !5
  %5581 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5580, i32 0, i32 2
  %5582 = load ptr, ptr %5581, align 8, !tbaa !45
  %5583 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5582)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5576, ptr noundef nonnull align 8 dereferenceable(24) %5579, i1 noundef zeroext %5583)
  %5584 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5585 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5584, i32 0, i32 0
  store i32 1, ptr %5585, align 8, !tbaa !10
  %5586 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5586, i32 noundef 3, i32 noundef 3)
  br label %14379

5587:                                             ; preds = %406
  %5588 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5589 = load ptr, ptr %15, align 8, !tbaa !5
  %5590 = getelementptr inbounds %union.YYSTYPE, ptr %5589, i64 0
  %5591 = getelementptr inbounds %struct.anon, ptr %5590, i32 0, i32 0
  %5592 = load ptr, ptr %3, align 8, !tbaa !5
  %5593 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5592, i32 0, i32 2
  %5594 = load ptr, ptr %5593, align 8, !tbaa !45
  %5595 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5594)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5588, ptr noundef nonnull align 8 dereferenceable(24) %5591, i1 noundef zeroext %5595)
  %5596 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5597 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5596, i32 0, i32 0
  store i32 1, ptr %5597, align 8, !tbaa !10
  %5598 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5598, i32 noundef 3, i32 noundef 4)
  br label %14379

5599:                                             ; preds = %406
  %5600 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5601 = load ptr, ptr %15, align 8, !tbaa !5
  %5602 = getelementptr inbounds %union.YYSTYPE, ptr %5601, i64 0
  %5603 = getelementptr inbounds %struct.anon, ptr %5602, i32 0, i32 0
  %5604 = load ptr, ptr %3, align 8, !tbaa !5
  %5605 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5604, i32 0, i32 2
  %5606 = load ptr, ptr %5605, align 8, !tbaa !45
  %5607 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5606)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5600, ptr noundef nonnull align 8 dereferenceable(24) %5603, i1 noundef zeroext %5607)
  %5608 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5609 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5608, i32 0, i32 0
  store i32 1, ptr %5609, align 8, !tbaa !10
  %5610 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5610, i32 noundef 4, i32 noundef 2)
  br label %14379

5611:                                             ; preds = %406
  %5612 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5613 = load ptr, ptr %15, align 8, !tbaa !5
  %5614 = getelementptr inbounds %union.YYSTYPE, ptr %5613, i64 0
  %5615 = getelementptr inbounds %struct.anon, ptr %5614, i32 0, i32 0
  %5616 = load ptr, ptr %3, align 8, !tbaa !5
  %5617 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5616, i32 0, i32 2
  %5618 = load ptr, ptr %5617, align 8, !tbaa !45
  %5619 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5618)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5612, ptr noundef nonnull align 8 dereferenceable(24) %5615, i1 noundef zeroext %5619)
  %5620 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5621 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5620, i32 0, i32 0
  store i32 1, ptr %5621, align 8, !tbaa !10
  %5622 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5622, i32 noundef 4, i32 noundef 3)
  br label %14379

5623:                                             ; preds = %406
  %5624 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5625 = load ptr, ptr %15, align 8, !tbaa !5
  %5626 = getelementptr inbounds %union.YYSTYPE, ptr %5625, i64 0
  %5627 = getelementptr inbounds %struct.anon, ptr %5626, i32 0, i32 0
  %5628 = load ptr, ptr %3, align 8, !tbaa !5
  %5629 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5628, i32 0, i32 2
  %5630 = load ptr, ptr %5629, align 8, !tbaa !45
  %5631 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5630)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5624, ptr noundef nonnull align 8 dereferenceable(24) %5627, i1 noundef zeroext %5631)
  %5632 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5633 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5632, i32 0, i32 0
  store i32 1, ptr %5633, align 8, !tbaa !10
  %5634 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %5634, i32 noundef 4, i32 noundef 4)
  br label %14379

5635:                                             ; preds = %406
  %5636 = load ptr, ptr %3, align 8, !tbaa !5
  %5637 = load ptr, ptr %15, align 8, !tbaa !5
  %5638 = getelementptr inbounds %union.YYSTYPE, ptr %5637, i64 0
  %5639 = getelementptr inbounds %struct.anon, ptr %5638, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %5636, ptr noundef nonnull align 8 dereferenceable(24) %5639, i32 noundef 6, ptr noundef @.str.128)
  %5640 = load ptr, ptr %3, align 8, !tbaa !5
  %5641 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5640, i32 0, i32 2
  %5642 = load ptr, ptr %5641, align 8, !tbaa !45
  %5643 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5642)
  br i1 %5643, label %5652, label %5644

5644:                                             ; preds = %5635
  %5645 = load ptr, ptr %3, align 8, !tbaa !5
  %5646 = load ptr, ptr %15, align 8, !tbaa !5
  %5647 = getelementptr inbounds %union.YYSTYPE, ptr %5646, i64 0
  %5648 = getelementptr inbounds %struct.anon, ptr %5647, i32 0, i32 0
  %5649 = load ptr, ptr %5645, align 8, !tbaa !19
  %5650 = getelementptr inbounds ptr, ptr %5649, i64 17
  %5651 = load ptr, ptr %5650, align 8
  call void %5651(ptr noundef nonnull align 8 dereferenceable(192) %5645, ptr noundef nonnull align 8 dereferenceable(24) %5648, ptr noundef @.str.128)
  br label %5652

5652:                                             ; preds = %5644, %5635
  %5653 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5654 = load ptr, ptr %15, align 8, !tbaa !5
  %5655 = getelementptr inbounds %union.YYSTYPE, ptr %5654, i64 0
  %5656 = getelementptr inbounds %struct.anon, ptr %5655, i32 0, i32 0
  %5657 = load ptr, ptr %3, align 8, !tbaa !5
  %5658 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5657, i32 0, i32 2
  %5659 = load ptr, ptr %5658, align 8, !tbaa !45
  %5660 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5659)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5653, ptr noundef nonnull align 8 dereferenceable(24) %5656, i1 noundef zeroext %5660)
  %5661 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5662 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5661, i32 0, i32 0
  store i32 2, ptr %5662, align 8, !tbaa !10
  br label %14379

5663:                                             ; preds = %406
  %5664 = load ptr, ptr %3, align 8, !tbaa !5
  %5665 = load ptr, ptr %15, align 8, !tbaa !5
  %5666 = getelementptr inbounds %union.YYSTYPE, ptr %5665, i64 0
  %5667 = getelementptr inbounds %struct.anon, ptr %5666, i32 0, i32 0
  %5668 = load ptr, ptr %3, align 8, !tbaa !5
  %5669 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5668, i32 0, i32 2
  %5670 = load ptr, ptr %5669, align 8, !tbaa !45
  %5671 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5670)
  %5672 = load ptr, ptr %5664, align 8, !tbaa !19
  %5673 = getelementptr inbounds ptr, ptr %5672, i64 19
  %5674 = load ptr, ptr %5673, align 8
  call void %5674(ptr noundef nonnull align 8 dereferenceable(192) %5664, ptr noundef nonnull align 8 dereferenceable(24) %5667, ptr noundef @.str.129, i1 noundef zeroext %5671)
  %5675 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5676 = load ptr, ptr %15, align 8, !tbaa !5
  %5677 = getelementptr inbounds %union.YYSTYPE, ptr %5676, i64 0
  %5678 = getelementptr inbounds %struct.anon, ptr %5677, i32 0, i32 0
  %5679 = load ptr, ptr %3, align 8, !tbaa !5
  %5680 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5679, i32 0, i32 2
  %5681 = load ptr, ptr %5680, align 8, !tbaa !45
  %5682 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5681)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5675, ptr noundef nonnull align 8 dereferenceable(24) %5678, i1 noundef zeroext %5682)
  %5683 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5684 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5683, i32 0, i32 0
  store i32 3, ptr %5684, align 8, !tbaa !10
  br label %14379

5685:                                             ; preds = %406
  %5686 = load ptr, ptr %3, align 8, !tbaa !5
  %5687 = load ptr, ptr %15, align 8, !tbaa !5
  %5688 = getelementptr inbounds %union.YYSTYPE, ptr %5687, i64 0
  %5689 = getelementptr inbounds %struct.anon, ptr %5688, i32 0, i32 0
  %5690 = load ptr, ptr %3, align 8, !tbaa !5
  %5691 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5690, i32 0, i32 2
  %5692 = load ptr, ptr %5691, align 8, !tbaa !45
  %5693 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5692)
  %5694 = load ptr, ptr %5686, align 8, !tbaa !19
  %5695 = getelementptr inbounds ptr, ptr %5694, i64 33
  %5696 = load ptr, ptr %5695, align 8
  call void %5696(ptr noundef nonnull align 8 dereferenceable(192) %5686, ptr noundef nonnull align 8 dereferenceable(24) %5689, ptr noundef @.str.130, i1 noundef zeroext %5693)
  %5697 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5698 = load ptr, ptr %15, align 8, !tbaa !5
  %5699 = getelementptr inbounds %union.YYSTYPE, ptr %5698, i64 0
  %5700 = getelementptr inbounds %struct.anon, ptr %5699, i32 0, i32 0
  %5701 = load ptr, ptr %3, align 8, !tbaa !5
  %5702 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5701, i32 0, i32 2
  %5703 = load ptr, ptr %5702, align 8, !tbaa !45
  %5704 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5703)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5697, ptr noundef nonnull align 8 dereferenceable(24) %5700, i1 noundef zeroext %5704)
  %5705 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5706 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5705, i32 0, i32 0
  store i32 1, ptr %5706, align 8, !tbaa !10
  br label %14379

5707:                                             ; preds = %406
  %5708 = load ptr, ptr %3, align 8, !tbaa !5
  %5709 = load ptr, ptr %15, align 8, !tbaa !5
  %5710 = getelementptr inbounds %union.YYSTYPE, ptr %5709, i64 0
  %5711 = getelementptr inbounds %struct.anon, ptr %5710, i32 0, i32 0
  %5712 = load ptr, ptr %3, align 8, !tbaa !5
  %5713 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5712, i32 0, i32 2
  %5714 = load ptr, ptr %5713, align 8, !tbaa !45
  %5715 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5714)
  %5716 = load ptr, ptr %5708, align 8, !tbaa !19
  %5717 = getelementptr inbounds ptr, ptr %5716, i64 34
  %5718 = load ptr, ptr %5717, align 8
  call void %5718(ptr noundef nonnull align 8 dereferenceable(192) %5708, ptr noundef nonnull align 8 dereferenceable(24) %5711, ptr noundef @.str.131, i1 noundef zeroext %5715)
  %5719 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5720 = load ptr, ptr %15, align 8, !tbaa !5
  %5721 = getelementptr inbounds %union.YYSTYPE, ptr %5720, i64 0
  %5722 = getelementptr inbounds %struct.anon, ptr %5721, i32 0, i32 0
  %5723 = load ptr, ptr %3, align 8, !tbaa !5
  %5724 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5723, i32 0, i32 2
  %5725 = load ptr, ptr %5724, align 8, !tbaa !45
  %5726 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5725)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5719, ptr noundef nonnull align 8 dereferenceable(24) %5722, i1 noundef zeroext %5726)
  %5727 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5728 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5727, i32 0, i32 0
  store i32 2, ptr %5728, align 8, !tbaa !10
  br label %14379

5729:                                             ; preds = %406
  %5730 = load ptr, ptr %3, align 8, !tbaa !5
  %5731 = load ptr, ptr %15, align 8, !tbaa !5
  %5732 = getelementptr inbounds %union.YYSTYPE, ptr %5731, i64 0
  %5733 = getelementptr inbounds %struct.anon, ptr %5732, i32 0, i32 0
  %5734 = load ptr, ptr %3, align 8, !tbaa !5
  %5735 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5734, i32 0, i32 2
  %5736 = load ptr, ptr %5735, align 8, !tbaa !45
  %5737 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5736)
  %5738 = load ptr, ptr %5730, align 8, !tbaa !19
  %5739 = getelementptr inbounds ptr, ptr %5738, i64 25
  %5740 = load ptr, ptr %5739, align 8
  call void %5740(ptr noundef nonnull align 8 dereferenceable(192) %5730, ptr noundef nonnull align 8 dereferenceable(24) %5733, ptr noundef @.str.132, i1 noundef zeroext %5737)
  %5741 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5742 = load ptr, ptr %15, align 8, !tbaa !5
  %5743 = getelementptr inbounds %union.YYSTYPE, ptr %5742, i64 0
  %5744 = getelementptr inbounds %struct.anon, ptr %5743, i32 0, i32 0
  %5745 = load ptr, ptr %3, align 8, !tbaa !5
  %5746 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5745, i32 0, i32 2
  %5747 = load ptr, ptr %5746, align 8, !tbaa !45
  %5748 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5747)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5741, ptr noundef nonnull align 8 dereferenceable(24) %5744, i1 noundef zeroext %5748)
  %5749 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5750 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5749, i32 0, i32 0
  store i32 4, ptr %5750, align 8, !tbaa !10
  br label %14379

5751:                                             ; preds = %406
  %5752 = load ptr, ptr %3, align 8, !tbaa !5
  %5753 = load ptr, ptr %15, align 8, !tbaa !5
  %5754 = getelementptr inbounds %union.YYSTYPE, ptr %5753, i64 0
  %5755 = getelementptr inbounds %struct.anon, ptr %5754, i32 0, i32 0
  %5756 = load ptr, ptr %3, align 8, !tbaa !5
  %5757 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5756, i32 0, i32 2
  %5758 = load ptr, ptr %5757, align 8, !tbaa !45
  %5759 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5758)
  %5760 = load ptr, ptr %5752, align 8, !tbaa !19
  %5761 = getelementptr inbounds ptr, ptr %5760, i64 25
  %5762 = load ptr, ptr %5761, align 8
  call void %5762(ptr noundef nonnull align 8 dereferenceable(192) %5752, ptr noundef nonnull align 8 dereferenceable(24) %5755, ptr noundef @.str.133, i1 noundef zeroext %5759)
  %5763 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5764 = load ptr, ptr %15, align 8, !tbaa !5
  %5765 = getelementptr inbounds %union.YYSTYPE, ptr %5764, i64 0
  %5766 = getelementptr inbounds %struct.anon, ptr %5765, i32 0, i32 0
  %5767 = load ptr, ptr %3, align 8, !tbaa !5
  %5768 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5767, i32 0, i32 2
  %5769 = load ptr, ptr %5768, align 8, !tbaa !45
  %5770 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5769)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5763, ptr noundef nonnull align 8 dereferenceable(24) %5766, i1 noundef zeroext %5770)
  %5771 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5772 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5771, i32 0, i32 0
  store i32 5, ptr %5772, align 8, !tbaa !10
  br label %14379

5773:                                             ; preds = %406
  %5774 = load ptr, ptr %3, align 8, !tbaa !5
  %5775 = load ptr, ptr %15, align 8, !tbaa !5
  %5776 = getelementptr inbounds %union.YYSTYPE, ptr %5775, i64 0
  %5777 = getelementptr inbounds %struct.anon, ptr %5776, i32 0, i32 0
  %5778 = load ptr, ptr %3, align 8, !tbaa !5
  %5779 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5778, i32 0, i32 2
  %5780 = load ptr, ptr %5779, align 8, !tbaa !45
  %5781 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5780)
  %5782 = load ptr, ptr %5774, align 8, !tbaa !19
  %5783 = getelementptr inbounds ptr, ptr %5782, i64 22
  %5784 = load ptr, ptr %5783, align 8
  call void %5784(ptr noundef nonnull align 8 dereferenceable(192) %5774, ptr noundef nonnull align 8 dereferenceable(24) %5777, ptr noundef @.str.134, i1 noundef zeroext %5781)
  %5785 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5786 = load ptr, ptr %15, align 8, !tbaa !5
  %5787 = getelementptr inbounds %union.YYSTYPE, ptr %5786, i64 0
  %5788 = getelementptr inbounds %struct.anon, ptr %5787, i32 0, i32 0
  %5789 = load ptr, ptr %3, align 8, !tbaa !5
  %5790 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5789, i32 0, i32 2
  %5791 = load ptr, ptr %5790, align 8, !tbaa !45
  %5792 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5791)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5785, ptr noundef nonnull align 8 dereferenceable(24) %5788, i1 noundef zeroext %5792)
  %5793 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5794 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5793, i32 0, i32 0
  store i32 6, ptr %5794, align 8, !tbaa !10
  br label %14379

5795:                                             ; preds = %406
  %5796 = load ptr, ptr %3, align 8, !tbaa !5
  %5797 = load ptr, ptr %15, align 8, !tbaa !5
  %5798 = getelementptr inbounds %union.YYSTYPE, ptr %5797, i64 0
  %5799 = getelementptr inbounds %struct.anon, ptr %5798, i32 0, i32 0
  %5800 = load ptr, ptr %3, align 8, !tbaa !5
  %5801 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5800, i32 0, i32 2
  %5802 = load ptr, ptr %5801, align 8, !tbaa !45
  %5803 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5802)
  %5804 = load ptr, ptr %5796, align 8, !tbaa !19
  %5805 = getelementptr inbounds ptr, ptr %5804, i64 22
  %5806 = load ptr, ptr %5805, align 8
  call void %5806(ptr noundef nonnull align 8 dereferenceable(192) %5796, ptr noundef nonnull align 8 dereferenceable(24) %5799, ptr noundef @.str.135, i1 noundef zeroext %5803)
  %5807 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5808 = load ptr, ptr %15, align 8, !tbaa !5
  %5809 = getelementptr inbounds %union.YYSTYPE, ptr %5808, i64 0
  %5810 = getelementptr inbounds %struct.anon, ptr %5809, i32 0, i32 0
  %5811 = load ptr, ptr %3, align 8, !tbaa !5
  %5812 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5811, i32 0, i32 2
  %5813 = load ptr, ptr %5812, align 8, !tbaa !45
  %5814 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5813)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5807, ptr noundef nonnull align 8 dereferenceable(24) %5810, i1 noundef zeroext %5814)
  %5815 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5816 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5815, i32 0, i32 0
  store i32 7, ptr %5816, align 8, !tbaa !10
  br label %14379

5817:                                             ; preds = %406
  %5818 = load ptr, ptr %3, align 8, !tbaa !5
  %5819 = load ptr, ptr %15, align 8, !tbaa !5
  %5820 = getelementptr inbounds %union.YYSTYPE, ptr %5819, i64 0
  %5821 = getelementptr inbounds %struct.anon, ptr %5820, i32 0, i32 0
  %5822 = load ptr, ptr %3, align 8, !tbaa !5
  %5823 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5822, i32 0, i32 2
  %5824 = load ptr, ptr %5823, align 8, !tbaa !45
  %5825 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5824)
  %5826 = load ptr, ptr %5818, align 8, !tbaa !19
  %5827 = getelementptr inbounds ptr, ptr %5826, i64 32
  %5828 = load ptr, ptr %5827, align 8
  call void %5828(ptr noundef nonnull align 8 dereferenceable(192) %5818, ptr noundef nonnull align 8 dereferenceable(24) %5821, ptr noundef @.str.136, i1 noundef zeroext %5825)
  %5829 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5830 = load ptr, ptr %15, align 8, !tbaa !5
  %5831 = getelementptr inbounds %union.YYSTYPE, ptr %5830, i64 0
  %5832 = getelementptr inbounds %struct.anon, ptr %5831, i32 0, i32 0
  %5833 = load ptr, ptr %3, align 8, !tbaa !5
  %5834 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5833, i32 0, i32 2
  %5835 = load ptr, ptr %5834, align 8, !tbaa !45
  %5836 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5835)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5829, ptr noundef nonnull align 8 dereferenceable(24) %5832, i1 noundef zeroext %5836)
  %5837 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5838 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5837, i32 0, i32 0
  store i32 8, ptr %5838, align 8, !tbaa !10
  br label %14379

5839:                                             ; preds = %406
  %5840 = load ptr, ptr %3, align 8, !tbaa !5
  %5841 = load ptr, ptr %15, align 8, !tbaa !5
  %5842 = getelementptr inbounds %union.YYSTYPE, ptr %5841, i64 0
  %5843 = getelementptr inbounds %struct.anon, ptr %5842, i32 0, i32 0
  %5844 = load ptr, ptr %3, align 8, !tbaa !5
  %5845 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5844, i32 0, i32 2
  %5846 = load ptr, ptr %5845, align 8, !tbaa !45
  %5847 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5846)
  %5848 = load ptr, ptr %5840, align 8, !tbaa !19
  %5849 = getelementptr inbounds ptr, ptr %5848, i64 32
  %5850 = load ptr, ptr %5849, align 8
  call void %5850(ptr noundef nonnull align 8 dereferenceable(192) %5840, ptr noundef nonnull align 8 dereferenceable(24) %5843, ptr noundef @.str.137, i1 noundef zeroext %5847)
  %5851 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5852 = load ptr, ptr %15, align 8, !tbaa !5
  %5853 = getelementptr inbounds %union.YYSTYPE, ptr %5852, i64 0
  %5854 = getelementptr inbounds %struct.anon, ptr %5853, i32 0, i32 0
  %5855 = load ptr, ptr %3, align 8, !tbaa !5
  %5856 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5855, i32 0, i32 2
  %5857 = load ptr, ptr %5856, align 8, !tbaa !45
  %5858 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5857)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5851, ptr noundef nonnull align 8 dereferenceable(24) %5854, i1 noundef zeroext %5858)
  %5859 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5860 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5859, i32 0, i32 0
  store i32 9, ptr %5860, align 8, !tbaa !10
  br label %14379

5861:                                             ; preds = %406
  %5862 = load ptr, ptr %3, align 8, !tbaa !5
  %5863 = load ptr, ptr %15, align 8, !tbaa !5
  %5864 = getelementptr inbounds %union.YYSTYPE, ptr %5863, i64 0
  %5865 = getelementptr inbounds %struct.anon, ptr %5864, i32 0, i32 0
  %5866 = load ptr, ptr %3, align 8, !tbaa !5
  %5867 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5866, i32 0, i32 2
  %5868 = load ptr, ptr %5867, align 8, !tbaa !45
  %5869 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5868)
  %5870 = load ptr, ptr %5862, align 8, !tbaa !19
  %5871 = getelementptr inbounds ptr, ptr %5870, i64 29
  %5872 = load ptr, ptr %5871, align 8
  call void %5872(ptr noundef nonnull align 8 dereferenceable(192) %5862, ptr noundef nonnull align 8 dereferenceable(24) %5865, ptr noundef @.str.138, i1 noundef zeroext %5869)
  %5873 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5874 = load ptr, ptr %15, align 8, !tbaa !5
  %5875 = getelementptr inbounds %union.YYSTYPE, ptr %5874, i64 0
  %5876 = getelementptr inbounds %struct.anon, ptr %5875, i32 0, i32 0
  %5877 = load ptr, ptr %3, align 8, !tbaa !5
  %5878 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5877, i32 0, i32 2
  %5879 = load ptr, ptr %5878, align 8, !tbaa !45
  %5880 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5879)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5873, ptr noundef nonnull align 8 dereferenceable(24) %5876, i1 noundef zeroext %5880)
  %5881 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5882 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5881, i32 0, i32 0
  store i32 10, ptr %5882, align 8, !tbaa !10
  br label %14379

5883:                                             ; preds = %406
  %5884 = load ptr, ptr %3, align 8, !tbaa !5
  %5885 = load ptr, ptr %15, align 8, !tbaa !5
  %5886 = getelementptr inbounds %union.YYSTYPE, ptr %5885, i64 0
  %5887 = getelementptr inbounds %struct.anon, ptr %5886, i32 0, i32 0
  %5888 = load ptr, ptr %3, align 8, !tbaa !5
  %5889 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5888, i32 0, i32 2
  %5890 = load ptr, ptr %5889, align 8, !tbaa !45
  %5891 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5890)
  %5892 = load ptr, ptr %5884, align 8, !tbaa !19
  %5893 = getelementptr inbounds ptr, ptr %5892, i64 29
  %5894 = load ptr, ptr %5893, align 8
  call void %5894(ptr noundef nonnull align 8 dereferenceable(192) %5884, ptr noundef nonnull align 8 dereferenceable(24) %5887, ptr noundef @.str.139, i1 noundef zeroext %5891)
  %5895 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5896 = load ptr, ptr %15, align 8, !tbaa !5
  %5897 = getelementptr inbounds %union.YYSTYPE, ptr %5896, i64 0
  %5898 = getelementptr inbounds %struct.anon, ptr %5897, i32 0, i32 0
  %5899 = load ptr, ptr %3, align 8, !tbaa !5
  %5900 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5899, i32 0, i32 2
  %5901 = load ptr, ptr %5900, align 8, !tbaa !45
  %5902 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5901)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5895, ptr noundef nonnull align 8 dereferenceable(24) %5898, i1 noundef zeroext %5902)
  %5903 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5904 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5903, i32 0, i32 0
  store i32 11, ptr %5904, align 8, !tbaa !10
  br label %14379

5905:                                             ; preds = %406
  %5906 = load ptr, ptr %3, align 8, !tbaa !5
  %5907 = load ptr, ptr %15, align 8, !tbaa !5
  %5908 = getelementptr inbounds %union.YYSTYPE, ptr %5907, i64 0
  %5909 = getelementptr inbounds %struct.anon, ptr %5908, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %5906, ptr noundef nonnull align 8 dereferenceable(24) %5909, i32 noundef 6, ptr noundef @.str.140)
  %5910 = load ptr, ptr %3, align 8, !tbaa !5
  %5911 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5910, i32 0, i32 2
  %5912 = load ptr, ptr %5911, align 8, !tbaa !45
  %5913 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5912)
  br i1 %5913, label %5922, label %5914

5914:                                             ; preds = %5905
  %5915 = load ptr, ptr %3, align 8, !tbaa !5
  %5916 = load ptr, ptr %15, align 8, !tbaa !5
  %5917 = getelementptr inbounds %union.YYSTYPE, ptr %5916, i64 0
  %5918 = getelementptr inbounds %struct.anon, ptr %5917, i32 0, i32 0
  %5919 = load ptr, ptr %5915, align 8, !tbaa !19
  %5920 = getelementptr inbounds ptr, ptr %5919, i64 17
  %5921 = load ptr, ptr %5920, align 8
  call void %5921(ptr noundef nonnull align 8 dereferenceable(192) %5915, ptr noundef nonnull align 8 dereferenceable(24) %5918, ptr noundef @.str.140)
  br label %5922

5922:                                             ; preds = %5914, %5905
  %5923 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5924 = load ptr, ptr %15, align 8, !tbaa !5
  %5925 = getelementptr inbounds %union.YYSTYPE, ptr %5924, i64 0
  %5926 = getelementptr inbounds %struct.anon, ptr %5925, i32 0, i32 0
  %5927 = load ptr, ptr %3, align 8, !tbaa !5
  %5928 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5927, i32 0, i32 2
  %5929 = load ptr, ptr %5928, align 8, !tbaa !45
  %5930 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5929)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5923, ptr noundef nonnull align 8 dereferenceable(24) %5926, i1 noundef zeroext %5930)
  %5931 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5932 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5931, i32 0, i32 0
  store i32 2, ptr %5932, align 8, !tbaa !10
  %5933 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5933, i32 noundef 2)
  br label %14379

5934:                                             ; preds = %406
  %5935 = load ptr, ptr %3, align 8, !tbaa !5
  %5936 = load ptr, ptr %15, align 8, !tbaa !5
  %5937 = getelementptr inbounds %union.YYSTYPE, ptr %5936, i64 0
  %5938 = getelementptr inbounds %struct.anon, ptr %5937, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %5935, ptr noundef nonnull align 8 dereferenceable(24) %5938, i32 noundef 6, ptr noundef @.str.140)
  %5939 = load ptr, ptr %3, align 8, !tbaa !5
  %5940 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5939, i32 0, i32 2
  %5941 = load ptr, ptr %5940, align 8, !tbaa !45
  %5942 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5941)
  br i1 %5942, label %5951, label %5943

5943:                                             ; preds = %5934
  %5944 = load ptr, ptr %3, align 8, !tbaa !5
  %5945 = load ptr, ptr %15, align 8, !tbaa !5
  %5946 = getelementptr inbounds %union.YYSTYPE, ptr %5945, i64 0
  %5947 = getelementptr inbounds %struct.anon, ptr %5946, i32 0, i32 0
  %5948 = load ptr, ptr %5944, align 8, !tbaa !19
  %5949 = getelementptr inbounds ptr, ptr %5948, i64 17
  %5950 = load ptr, ptr %5949, align 8
  call void %5950(ptr noundef nonnull align 8 dereferenceable(192) %5944, ptr noundef nonnull align 8 dereferenceable(24) %5947, ptr noundef @.str.140)
  br label %5951

5951:                                             ; preds = %5943, %5934
  %5952 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5953 = load ptr, ptr %15, align 8, !tbaa !5
  %5954 = getelementptr inbounds %union.YYSTYPE, ptr %5953, i64 0
  %5955 = getelementptr inbounds %struct.anon, ptr %5954, i32 0, i32 0
  %5956 = load ptr, ptr %3, align 8, !tbaa !5
  %5957 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5956, i32 0, i32 2
  %5958 = load ptr, ptr %5957, align 8, !tbaa !45
  %5959 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5958)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5952, ptr noundef nonnull align 8 dereferenceable(24) %5955, i1 noundef zeroext %5959)
  %5960 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5961 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5960, i32 0, i32 0
  store i32 2, ptr %5961, align 8, !tbaa !10
  %5962 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5962, i32 noundef 3)
  br label %14379

5963:                                             ; preds = %406
  %5964 = load ptr, ptr %3, align 8, !tbaa !5
  %5965 = load ptr, ptr %15, align 8, !tbaa !5
  %5966 = getelementptr inbounds %union.YYSTYPE, ptr %5965, i64 0
  %5967 = getelementptr inbounds %struct.anon, ptr %5966, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %5964, ptr noundef nonnull align 8 dereferenceable(24) %5967, i32 noundef 6, ptr noundef @.str.140)
  %5968 = load ptr, ptr %3, align 8, !tbaa !5
  %5969 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5968, i32 0, i32 2
  %5970 = load ptr, ptr %5969, align 8, !tbaa !45
  %5971 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5970)
  br i1 %5971, label %5980, label %5972

5972:                                             ; preds = %5963
  %5973 = load ptr, ptr %3, align 8, !tbaa !5
  %5974 = load ptr, ptr %15, align 8, !tbaa !5
  %5975 = getelementptr inbounds %union.YYSTYPE, ptr %5974, i64 0
  %5976 = getelementptr inbounds %struct.anon, ptr %5975, i32 0, i32 0
  %5977 = load ptr, ptr %5973, align 8, !tbaa !19
  %5978 = getelementptr inbounds ptr, ptr %5977, i64 17
  %5979 = load ptr, ptr %5978, align 8
  call void %5979(ptr noundef nonnull align 8 dereferenceable(192) %5973, ptr noundef nonnull align 8 dereferenceable(24) %5976, ptr noundef @.str.140)
  br label %5980

5980:                                             ; preds = %5972, %5963
  %5981 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5982 = load ptr, ptr %15, align 8, !tbaa !5
  %5983 = getelementptr inbounds %union.YYSTYPE, ptr %5982, i64 0
  %5984 = getelementptr inbounds %struct.anon, ptr %5983, i32 0, i32 0
  %5985 = load ptr, ptr %3, align 8, !tbaa !5
  %5986 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5985, i32 0, i32 2
  %5987 = load ptr, ptr %5986, align 8, !tbaa !45
  %5988 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5987)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %5981, ptr noundef nonnull align 8 dereferenceable(24) %5984, i1 noundef zeroext %5988)
  %5989 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %5990 = getelementptr inbounds %"class.glslang::TPublicType", ptr %5989, i32 0, i32 0
  store i32 2, ptr %5990, align 8, !tbaa !10
  %5991 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %5991, i32 noundef 4)
  br label %14379

5992:                                             ; preds = %406
  %5993 = load ptr, ptr %3, align 8, !tbaa !5
  %5994 = load ptr, ptr %15, align 8, !tbaa !5
  %5995 = getelementptr inbounds %union.YYSTYPE, ptr %5994, i64 0
  %5996 = getelementptr inbounds %struct.anon, ptr %5995, i32 0, i32 0
  %5997 = load ptr, ptr %3, align 8, !tbaa !5
  %5998 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %5997, i32 0, i32 2
  %5999 = load ptr, ptr %5998, align 8, !tbaa !45
  %6000 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5999)
  %6001 = load ptr, ptr %5993, align 8, !tbaa !19
  %6002 = getelementptr inbounds ptr, ptr %6001, i64 19
  %6003 = load ptr, ptr %6002, align 8
  call void %6003(ptr noundef nonnull align 8 dereferenceable(192) %5993, ptr noundef nonnull align 8 dereferenceable(24) %5996, ptr noundef @.str.141, i1 noundef zeroext %6000)
  %6004 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6005 = load ptr, ptr %15, align 8, !tbaa !5
  %6006 = getelementptr inbounds %union.YYSTYPE, ptr %6005, i64 0
  %6007 = getelementptr inbounds %struct.anon, ptr %6006, i32 0, i32 0
  %6008 = load ptr, ptr %3, align 8, !tbaa !5
  %6009 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6008, i32 0, i32 2
  %6010 = load ptr, ptr %6009, align 8, !tbaa !45
  %6011 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6010)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6004, ptr noundef nonnull align 8 dereferenceable(24) %6007, i1 noundef zeroext %6011)
  %6012 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6013 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6012, i32 0, i32 0
  store i32 3, ptr %6013, align 8, !tbaa !10
  %6014 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6014, i32 noundef 2)
  br label %14379

6015:                                             ; preds = %406
  %6016 = load ptr, ptr %3, align 8, !tbaa !5
  %6017 = load ptr, ptr %15, align 8, !tbaa !5
  %6018 = getelementptr inbounds %union.YYSTYPE, ptr %6017, i64 0
  %6019 = getelementptr inbounds %struct.anon, ptr %6018, i32 0, i32 0
  %6020 = load ptr, ptr %3, align 8, !tbaa !5
  %6021 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6020, i32 0, i32 2
  %6022 = load ptr, ptr %6021, align 8, !tbaa !45
  %6023 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6022)
  %6024 = load ptr, ptr %6016, align 8, !tbaa !19
  %6025 = getelementptr inbounds ptr, ptr %6024, i64 19
  %6026 = load ptr, ptr %6025, align 8
  call void %6026(ptr noundef nonnull align 8 dereferenceable(192) %6016, ptr noundef nonnull align 8 dereferenceable(24) %6019, ptr noundef @.str.141, i1 noundef zeroext %6023)
  %6027 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6028 = load ptr, ptr %15, align 8, !tbaa !5
  %6029 = getelementptr inbounds %union.YYSTYPE, ptr %6028, i64 0
  %6030 = getelementptr inbounds %struct.anon, ptr %6029, i32 0, i32 0
  %6031 = load ptr, ptr %3, align 8, !tbaa !5
  %6032 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6031, i32 0, i32 2
  %6033 = load ptr, ptr %6032, align 8, !tbaa !45
  %6034 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6033)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6027, ptr noundef nonnull align 8 dereferenceable(24) %6030, i1 noundef zeroext %6034)
  %6035 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6036 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6035, i32 0, i32 0
  store i32 3, ptr %6036, align 8, !tbaa !10
  %6037 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6037, i32 noundef 3)
  br label %14379

6038:                                             ; preds = %406
  %6039 = load ptr, ptr %3, align 8, !tbaa !5
  %6040 = load ptr, ptr %15, align 8, !tbaa !5
  %6041 = getelementptr inbounds %union.YYSTYPE, ptr %6040, i64 0
  %6042 = getelementptr inbounds %struct.anon, ptr %6041, i32 0, i32 0
  %6043 = load ptr, ptr %3, align 8, !tbaa !5
  %6044 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6043, i32 0, i32 2
  %6045 = load ptr, ptr %6044, align 8, !tbaa !45
  %6046 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6045)
  %6047 = load ptr, ptr %6039, align 8, !tbaa !19
  %6048 = getelementptr inbounds ptr, ptr %6047, i64 19
  %6049 = load ptr, ptr %6048, align 8
  call void %6049(ptr noundef nonnull align 8 dereferenceable(192) %6039, ptr noundef nonnull align 8 dereferenceable(24) %6042, ptr noundef @.str.141, i1 noundef zeroext %6046)
  %6050 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6051 = load ptr, ptr %15, align 8, !tbaa !5
  %6052 = getelementptr inbounds %union.YYSTYPE, ptr %6051, i64 0
  %6053 = getelementptr inbounds %struct.anon, ptr %6052, i32 0, i32 0
  %6054 = load ptr, ptr %3, align 8, !tbaa !5
  %6055 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6054, i32 0, i32 2
  %6056 = load ptr, ptr %6055, align 8, !tbaa !45
  %6057 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6056)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6050, ptr noundef nonnull align 8 dereferenceable(24) %6053, i1 noundef zeroext %6057)
  %6058 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6059 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6058, i32 0, i32 0
  store i32 3, ptr %6059, align 8, !tbaa !10
  %6060 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6060, i32 noundef 4)
  br label %14379

6061:                                             ; preds = %406
  %6062 = load ptr, ptr %3, align 8, !tbaa !5
  %6063 = load ptr, ptr %15, align 8, !tbaa !5
  %6064 = getelementptr inbounds %union.YYSTYPE, ptr %6063, i64 0
  %6065 = getelementptr inbounds %struct.anon, ptr %6064, i32 0, i32 0
  %6066 = load ptr, ptr %3, align 8, !tbaa !5
  %6067 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6066, i32 0, i32 2
  %6068 = load ptr, ptr %6067, align 8, !tbaa !45
  %6069 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6068)
  %6070 = load ptr, ptr %6062, align 8, !tbaa !19
  %6071 = getelementptr inbounds ptr, ptr %6070, i64 33
  %6072 = load ptr, ptr %6071, align 8
  call void %6072(ptr noundef nonnull align 8 dereferenceable(192) %6062, ptr noundef nonnull align 8 dereferenceable(24) %6065, ptr noundef @.str.142, i1 noundef zeroext %6069)
  %6073 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6074 = load ptr, ptr %15, align 8, !tbaa !5
  %6075 = getelementptr inbounds %union.YYSTYPE, ptr %6074, i64 0
  %6076 = getelementptr inbounds %struct.anon, ptr %6075, i32 0, i32 0
  %6077 = load ptr, ptr %3, align 8, !tbaa !5
  %6078 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6077, i32 0, i32 2
  %6079 = load ptr, ptr %6078, align 8, !tbaa !45
  %6080 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6079)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6073, ptr noundef nonnull align 8 dereferenceable(24) %6076, i1 noundef zeroext %6080)
  %6081 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6082 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6081, i32 0, i32 0
  store i32 1, ptr %6082, align 8, !tbaa !10
  %6083 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6083, i32 noundef 2)
  br label %14379

6084:                                             ; preds = %406
  %6085 = load ptr, ptr %3, align 8, !tbaa !5
  %6086 = load ptr, ptr %15, align 8, !tbaa !5
  %6087 = getelementptr inbounds %union.YYSTYPE, ptr %6086, i64 0
  %6088 = getelementptr inbounds %struct.anon, ptr %6087, i32 0, i32 0
  %6089 = load ptr, ptr %3, align 8, !tbaa !5
  %6090 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6089, i32 0, i32 2
  %6091 = load ptr, ptr %6090, align 8, !tbaa !45
  %6092 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6091)
  %6093 = load ptr, ptr %6085, align 8, !tbaa !19
  %6094 = getelementptr inbounds ptr, ptr %6093, i64 33
  %6095 = load ptr, ptr %6094, align 8
  call void %6095(ptr noundef nonnull align 8 dereferenceable(192) %6085, ptr noundef nonnull align 8 dereferenceable(24) %6088, ptr noundef @.str.142, i1 noundef zeroext %6092)
  %6096 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6097 = load ptr, ptr %15, align 8, !tbaa !5
  %6098 = getelementptr inbounds %union.YYSTYPE, ptr %6097, i64 0
  %6099 = getelementptr inbounds %struct.anon, ptr %6098, i32 0, i32 0
  %6100 = load ptr, ptr %3, align 8, !tbaa !5
  %6101 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6100, i32 0, i32 2
  %6102 = load ptr, ptr %6101, align 8, !tbaa !45
  %6103 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6102)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6096, ptr noundef nonnull align 8 dereferenceable(24) %6099, i1 noundef zeroext %6103)
  %6104 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6105 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6104, i32 0, i32 0
  store i32 1, ptr %6105, align 8, !tbaa !10
  %6106 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6106, i32 noundef 3)
  br label %14379

6107:                                             ; preds = %406
  %6108 = load ptr, ptr %3, align 8, !tbaa !5
  %6109 = load ptr, ptr %15, align 8, !tbaa !5
  %6110 = getelementptr inbounds %union.YYSTYPE, ptr %6109, i64 0
  %6111 = getelementptr inbounds %struct.anon, ptr %6110, i32 0, i32 0
  %6112 = load ptr, ptr %3, align 8, !tbaa !5
  %6113 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6112, i32 0, i32 2
  %6114 = load ptr, ptr %6113, align 8, !tbaa !45
  %6115 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6114)
  %6116 = load ptr, ptr %6108, align 8, !tbaa !19
  %6117 = getelementptr inbounds ptr, ptr %6116, i64 33
  %6118 = load ptr, ptr %6117, align 8
  call void %6118(ptr noundef nonnull align 8 dereferenceable(192) %6108, ptr noundef nonnull align 8 dereferenceable(24) %6111, ptr noundef @.str.142, i1 noundef zeroext %6115)
  %6119 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6120 = load ptr, ptr %15, align 8, !tbaa !5
  %6121 = getelementptr inbounds %union.YYSTYPE, ptr %6120, i64 0
  %6122 = getelementptr inbounds %struct.anon, ptr %6121, i32 0, i32 0
  %6123 = load ptr, ptr %3, align 8, !tbaa !5
  %6124 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6123, i32 0, i32 2
  %6125 = load ptr, ptr %6124, align 8, !tbaa !45
  %6126 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6125)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6119, ptr noundef nonnull align 8 dereferenceable(24) %6122, i1 noundef zeroext %6126)
  %6127 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6128 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6127, i32 0, i32 0
  store i32 1, ptr %6128, align 8, !tbaa !10
  %6129 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6129, i32 noundef 4)
  br label %14379

6130:                                             ; preds = %406
  %6131 = load ptr, ptr %3, align 8, !tbaa !5
  %6132 = load ptr, ptr %15, align 8, !tbaa !5
  %6133 = getelementptr inbounds %union.YYSTYPE, ptr %6132, i64 0
  %6134 = getelementptr inbounds %struct.anon, ptr %6133, i32 0, i32 0
  %6135 = load ptr, ptr %3, align 8, !tbaa !5
  %6136 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6135, i32 0, i32 2
  %6137 = load ptr, ptr %6136, align 8, !tbaa !45
  %6138 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6137)
  %6139 = load ptr, ptr %6131, align 8, !tbaa !19
  %6140 = getelementptr inbounds ptr, ptr %6139, i64 34
  %6141 = load ptr, ptr %6140, align 8
  call void %6141(ptr noundef nonnull align 8 dereferenceable(192) %6131, ptr noundef nonnull align 8 dereferenceable(24) %6134, ptr noundef @.str.143, i1 noundef zeroext %6138)
  %6142 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6143 = load ptr, ptr %15, align 8, !tbaa !5
  %6144 = getelementptr inbounds %union.YYSTYPE, ptr %6143, i64 0
  %6145 = getelementptr inbounds %struct.anon, ptr %6144, i32 0, i32 0
  %6146 = load ptr, ptr %3, align 8, !tbaa !5
  %6147 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6146, i32 0, i32 2
  %6148 = load ptr, ptr %6147, align 8, !tbaa !45
  %6149 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6148)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6142, ptr noundef nonnull align 8 dereferenceable(24) %6145, i1 noundef zeroext %6149)
  %6150 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6151 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6150, i32 0, i32 0
  store i32 2, ptr %6151, align 8, !tbaa !10
  %6152 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6152, i32 noundef 2)
  br label %14379

6153:                                             ; preds = %406
  %6154 = load ptr, ptr %3, align 8, !tbaa !5
  %6155 = load ptr, ptr %15, align 8, !tbaa !5
  %6156 = getelementptr inbounds %union.YYSTYPE, ptr %6155, i64 0
  %6157 = getelementptr inbounds %struct.anon, ptr %6156, i32 0, i32 0
  %6158 = load ptr, ptr %3, align 8, !tbaa !5
  %6159 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6158, i32 0, i32 2
  %6160 = load ptr, ptr %6159, align 8, !tbaa !45
  %6161 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6160)
  %6162 = load ptr, ptr %6154, align 8, !tbaa !19
  %6163 = getelementptr inbounds ptr, ptr %6162, i64 34
  %6164 = load ptr, ptr %6163, align 8
  call void %6164(ptr noundef nonnull align 8 dereferenceable(192) %6154, ptr noundef nonnull align 8 dereferenceable(24) %6157, ptr noundef @.str.143, i1 noundef zeroext %6161)
  %6165 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6166 = load ptr, ptr %15, align 8, !tbaa !5
  %6167 = getelementptr inbounds %union.YYSTYPE, ptr %6166, i64 0
  %6168 = getelementptr inbounds %struct.anon, ptr %6167, i32 0, i32 0
  %6169 = load ptr, ptr %3, align 8, !tbaa !5
  %6170 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6169, i32 0, i32 2
  %6171 = load ptr, ptr %6170, align 8, !tbaa !45
  %6172 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6171)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6165, ptr noundef nonnull align 8 dereferenceable(24) %6168, i1 noundef zeroext %6172)
  %6173 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6174 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6173, i32 0, i32 0
  store i32 2, ptr %6174, align 8, !tbaa !10
  %6175 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6175, i32 noundef 3)
  br label %14379

6176:                                             ; preds = %406
  %6177 = load ptr, ptr %3, align 8, !tbaa !5
  %6178 = load ptr, ptr %15, align 8, !tbaa !5
  %6179 = getelementptr inbounds %union.YYSTYPE, ptr %6178, i64 0
  %6180 = getelementptr inbounds %struct.anon, ptr %6179, i32 0, i32 0
  %6181 = load ptr, ptr %3, align 8, !tbaa !5
  %6182 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6181, i32 0, i32 2
  %6183 = load ptr, ptr %6182, align 8, !tbaa !45
  %6184 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6183)
  %6185 = load ptr, ptr %6177, align 8, !tbaa !19
  %6186 = getelementptr inbounds ptr, ptr %6185, i64 34
  %6187 = load ptr, ptr %6186, align 8
  call void %6187(ptr noundef nonnull align 8 dereferenceable(192) %6177, ptr noundef nonnull align 8 dereferenceable(24) %6180, ptr noundef @.str.143, i1 noundef zeroext %6184)
  %6188 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6189 = load ptr, ptr %15, align 8, !tbaa !5
  %6190 = getelementptr inbounds %union.YYSTYPE, ptr %6189, i64 0
  %6191 = getelementptr inbounds %struct.anon, ptr %6190, i32 0, i32 0
  %6192 = load ptr, ptr %3, align 8, !tbaa !5
  %6193 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6192, i32 0, i32 2
  %6194 = load ptr, ptr %6193, align 8, !tbaa !45
  %6195 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6194)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6188, ptr noundef nonnull align 8 dereferenceable(24) %6191, i1 noundef zeroext %6195)
  %6196 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6197 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6196, i32 0, i32 0
  store i32 2, ptr %6197, align 8, !tbaa !10
  %6198 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6198, i32 noundef 4)
  br label %14379

6199:                                             ; preds = %406
  %6200 = load ptr, ptr %3, align 8, !tbaa !5
  %6201 = load ptr, ptr %15, align 8, !tbaa !5
  %6202 = getelementptr inbounds %union.YYSTYPE, ptr %6201, i64 0
  %6203 = getelementptr inbounds %struct.anon, ptr %6202, i32 0, i32 0
  %6204 = load ptr, ptr %3, align 8, !tbaa !5
  %6205 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6204, i32 0, i32 2
  %6206 = load ptr, ptr %6205, align 8, !tbaa !45
  %6207 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6206)
  %6208 = load ptr, ptr %6200, align 8, !tbaa !19
  %6209 = getelementptr inbounds ptr, ptr %6208, i64 25
  %6210 = load ptr, ptr %6209, align 8
  call void %6210(ptr noundef nonnull align 8 dereferenceable(192) %6200, ptr noundef nonnull align 8 dereferenceable(24) %6203, ptr noundef @.str.144, i1 noundef zeroext %6207)
  %6211 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6212 = load ptr, ptr %15, align 8, !tbaa !5
  %6213 = getelementptr inbounds %union.YYSTYPE, ptr %6212, i64 0
  %6214 = getelementptr inbounds %struct.anon, ptr %6213, i32 0, i32 0
  %6215 = load ptr, ptr %3, align 8, !tbaa !5
  %6216 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6215, i32 0, i32 2
  %6217 = load ptr, ptr %6216, align 8, !tbaa !45
  %6218 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6217)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6211, ptr noundef nonnull align 8 dereferenceable(24) %6214, i1 noundef zeroext %6218)
  %6219 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6220 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6219, i32 0, i32 0
  store i32 4, ptr %6220, align 8, !tbaa !10
  %6221 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6221, i32 noundef 2)
  br label %14379

6222:                                             ; preds = %406
  %6223 = load ptr, ptr %3, align 8, !tbaa !5
  %6224 = load ptr, ptr %15, align 8, !tbaa !5
  %6225 = getelementptr inbounds %union.YYSTYPE, ptr %6224, i64 0
  %6226 = getelementptr inbounds %struct.anon, ptr %6225, i32 0, i32 0
  %6227 = load ptr, ptr %3, align 8, !tbaa !5
  %6228 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6227, i32 0, i32 2
  %6229 = load ptr, ptr %6228, align 8, !tbaa !45
  %6230 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6229)
  %6231 = load ptr, ptr %6223, align 8, !tbaa !19
  %6232 = getelementptr inbounds ptr, ptr %6231, i64 25
  %6233 = load ptr, ptr %6232, align 8
  call void %6233(ptr noundef nonnull align 8 dereferenceable(192) %6223, ptr noundef nonnull align 8 dereferenceable(24) %6226, ptr noundef @.str.144, i1 noundef zeroext %6230)
  %6234 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6235 = load ptr, ptr %15, align 8, !tbaa !5
  %6236 = getelementptr inbounds %union.YYSTYPE, ptr %6235, i64 0
  %6237 = getelementptr inbounds %struct.anon, ptr %6236, i32 0, i32 0
  %6238 = load ptr, ptr %3, align 8, !tbaa !5
  %6239 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6238, i32 0, i32 2
  %6240 = load ptr, ptr %6239, align 8, !tbaa !45
  %6241 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6240)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6234, ptr noundef nonnull align 8 dereferenceable(24) %6237, i1 noundef zeroext %6241)
  %6242 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6243 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6242, i32 0, i32 0
  store i32 4, ptr %6243, align 8, !tbaa !10
  %6244 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6244, i32 noundef 3)
  br label %14379

6245:                                             ; preds = %406
  %6246 = load ptr, ptr %3, align 8, !tbaa !5
  %6247 = load ptr, ptr %15, align 8, !tbaa !5
  %6248 = getelementptr inbounds %union.YYSTYPE, ptr %6247, i64 0
  %6249 = getelementptr inbounds %struct.anon, ptr %6248, i32 0, i32 0
  %6250 = load ptr, ptr %3, align 8, !tbaa !5
  %6251 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6250, i32 0, i32 2
  %6252 = load ptr, ptr %6251, align 8, !tbaa !45
  %6253 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6252)
  %6254 = load ptr, ptr %6246, align 8, !tbaa !19
  %6255 = getelementptr inbounds ptr, ptr %6254, i64 25
  %6256 = load ptr, ptr %6255, align 8
  call void %6256(ptr noundef nonnull align 8 dereferenceable(192) %6246, ptr noundef nonnull align 8 dereferenceable(24) %6249, ptr noundef @.str.144, i1 noundef zeroext %6253)
  %6257 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6258 = load ptr, ptr %15, align 8, !tbaa !5
  %6259 = getelementptr inbounds %union.YYSTYPE, ptr %6258, i64 0
  %6260 = getelementptr inbounds %struct.anon, ptr %6259, i32 0, i32 0
  %6261 = load ptr, ptr %3, align 8, !tbaa !5
  %6262 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6261, i32 0, i32 2
  %6263 = load ptr, ptr %6262, align 8, !tbaa !45
  %6264 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6263)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6257, ptr noundef nonnull align 8 dereferenceable(24) %6260, i1 noundef zeroext %6264)
  %6265 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6266 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6265, i32 0, i32 0
  store i32 4, ptr %6266, align 8, !tbaa !10
  %6267 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6267, i32 noundef 4)
  br label %14379

6268:                                             ; preds = %406
  %6269 = load ptr, ptr %3, align 8, !tbaa !5
  %6270 = load ptr, ptr %15, align 8, !tbaa !5
  %6271 = getelementptr inbounds %union.YYSTYPE, ptr %6270, i64 0
  %6272 = getelementptr inbounds %struct.anon, ptr %6271, i32 0, i32 0
  %6273 = load ptr, ptr %3, align 8, !tbaa !5
  %6274 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6273, i32 0, i32 2
  %6275 = load ptr, ptr %6274, align 8, !tbaa !45
  %6276 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6275)
  %6277 = load ptr, ptr %6269, align 8, !tbaa !19
  %6278 = getelementptr inbounds ptr, ptr %6277, i64 22
  %6279 = load ptr, ptr %6278, align 8
  call void %6279(ptr noundef nonnull align 8 dereferenceable(192) %6269, ptr noundef nonnull align 8 dereferenceable(24) %6272, ptr noundef @.str.145, i1 noundef zeroext %6276)
  %6280 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6281 = load ptr, ptr %15, align 8, !tbaa !5
  %6282 = getelementptr inbounds %union.YYSTYPE, ptr %6281, i64 0
  %6283 = getelementptr inbounds %struct.anon, ptr %6282, i32 0, i32 0
  %6284 = load ptr, ptr %3, align 8, !tbaa !5
  %6285 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6284, i32 0, i32 2
  %6286 = load ptr, ptr %6285, align 8, !tbaa !45
  %6287 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6286)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6280, ptr noundef nonnull align 8 dereferenceable(24) %6283, i1 noundef zeroext %6287)
  %6288 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6289 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6288, i32 0, i32 0
  store i32 6, ptr %6289, align 8, !tbaa !10
  %6290 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6290, i32 noundef 2)
  br label %14379

6291:                                             ; preds = %406
  %6292 = load ptr, ptr %3, align 8, !tbaa !5
  %6293 = load ptr, ptr %15, align 8, !tbaa !5
  %6294 = getelementptr inbounds %union.YYSTYPE, ptr %6293, i64 0
  %6295 = getelementptr inbounds %struct.anon, ptr %6294, i32 0, i32 0
  %6296 = load ptr, ptr %3, align 8, !tbaa !5
  %6297 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6296, i32 0, i32 2
  %6298 = load ptr, ptr %6297, align 8, !tbaa !45
  %6299 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6298)
  %6300 = load ptr, ptr %6292, align 8, !tbaa !19
  %6301 = getelementptr inbounds ptr, ptr %6300, i64 22
  %6302 = load ptr, ptr %6301, align 8
  call void %6302(ptr noundef nonnull align 8 dereferenceable(192) %6292, ptr noundef nonnull align 8 dereferenceable(24) %6295, ptr noundef @.str.145, i1 noundef zeroext %6299)
  %6303 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6304 = load ptr, ptr %15, align 8, !tbaa !5
  %6305 = getelementptr inbounds %union.YYSTYPE, ptr %6304, i64 0
  %6306 = getelementptr inbounds %struct.anon, ptr %6305, i32 0, i32 0
  %6307 = load ptr, ptr %3, align 8, !tbaa !5
  %6308 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6307, i32 0, i32 2
  %6309 = load ptr, ptr %6308, align 8, !tbaa !45
  %6310 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6309)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6303, ptr noundef nonnull align 8 dereferenceable(24) %6306, i1 noundef zeroext %6310)
  %6311 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6312 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6311, i32 0, i32 0
  store i32 6, ptr %6312, align 8, !tbaa !10
  %6313 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6313, i32 noundef 3)
  br label %14379

6314:                                             ; preds = %406
  %6315 = load ptr, ptr %3, align 8, !tbaa !5
  %6316 = load ptr, ptr %15, align 8, !tbaa !5
  %6317 = getelementptr inbounds %union.YYSTYPE, ptr %6316, i64 0
  %6318 = getelementptr inbounds %struct.anon, ptr %6317, i32 0, i32 0
  %6319 = load ptr, ptr %3, align 8, !tbaa !5
  %6320 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6319, i32 0, i32 2
  %6321 = load ptr, ptr %6320, align 8, !tbaa !45
  %6322 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6321)
  %6323 = load ptr, ptr %6315, align 8, !tbaa !19
  %6324 = getelementptr inbounds ptr, ptr %6323, i64 22
  %6325 = load ptr, ptr %6324, align 8
  call void %6325(ptr noundef nonnull align 8 dereferenceable(192) %6315, ptr noundef nonnull align 8 dereferenceable(24) %6318, ptr noundef @.str.145, i1 noundef zeroext %6322)
  %6326 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6327 = load ptr, ptr %15, align 8, !tbaa !5
  %6328 = getelementptr inbounds %union.YYSTYPE, ptr %6327, i64 0
  %6329 = getelementptr inbounds %struct.anon, ptr %6328, i32 0, i32 0
  %6330 = load ptr, ptr %3, align 8, !tbaa !5
  %6331 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6330, i32 0, i32 2
  %6332 = load ptr, ptr %6331, align 8, !tbaa !45
  %6333 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6332)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6326, ptr noundef nonnull align 8 dereferenceable(24) %6329, i1 noundef zeroext %6333)
  %6334 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6335 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6334, i32 0, i32 0
  store i32 6, ptr %6335, align 8, !tbaa !10
  %6336 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6336, i32 noundef 4)
  br label %14379

6337:                                             ; preds = %406
  %6338 = load ptr, ptr %3, align 8, !tbaa !5
  %6339 = load ptr, ptr %15, align 8, !tbaa !5
  %6340 = getelementptr inbounds %union.YYSTYPE, ptr %6339, i64 0
  %6341 = getelementptr inbounds %struct.anon, ptr %6340, i32 0, i32 0
  %6342 = load ptr, ptr %3, align 8, !tbaa !5
  %6343 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6342, i32 0, i32 2
  %6344 = load ptr, ptr %6343, align 8, !tbaa !45
  %6345 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6344)
  %6346 = load ptr, ptr %6338, align 8, !tbaa !19
  %6347 = getelementptr inbounds ptr, ptr %6346, i64 32
  %6348 = load ptr, ptr %6347, align 8
  call void %6348(ptr noundef nonnull align 8 dereferenceable(192) %6338, ptr noundef nonnull align 8 dereferenceable(24) %6341, ptr noundef @.str.146, i1 noundef zeroext %6345)
  %6349 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6350 = load ptr, ptr %15, align 8, !tbaa !5
  %6351 = getelementptr inbounds %union.YYSTYPE, ptr %6350, i64 0
  %6352 = getelementptr inbounds %struct.anon, ptr %6351, i32 0, i32 0
  %6353 = load ptr, ptr %3, align 8, !tbaa !5
  %6354 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6353, i32 0, i32 2
  %6355 = load ptr, ptr %6354, align 8, !tbaa !45
  %6356 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6355)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6349, ptr noundef nonnull align 8 dereferenceable(24) %6352, i1 noundef zeroext %6356)
  %6357 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6358 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6357, i32 0, i32 0
  store i32 8, ptr %6358, align 8, !tbaa !10
  %6359 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6359, i32 noundef 2)
  br label %14379

6360:                                             ; preds = %406
  %6361 = load ptr, ptr %3, align 8, !tbaa !5
  %6362 = load ptr, ptr %15, align 8, !tbaa !5
  %6363 = getelementptr inbounds %union.YYSTYPE, ptr %6362, i64 0
  %6364 = getelementptr inbounds %struct.anon, ptr %6363, i32 0, i32 0
  %6365 = load ptr, ptr %3, align 8, !tbaa !5
  %6366 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6365, i32 0, i32 2
  %6367 = load ptr, ptr %6366, align 8, !tbaa !45
  %6368 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6367)
  %6369 = load ptr, ptr %6361, align 8, !tbaa !19
  %6370 = getelementptr inbounds ptr, ptr %6369, i64 32
  %6371 = load ptr, ptr %6370, align 8
  call void %6371(ptr noundef nonnull align 8 dereferenceable(192) %6361, ptr noundef nonnull align 8 dereferenceable(24) %6364, ptr noundef @.str.146, i1 noundef zeroext %6368)
  %6372 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6373 = load ptr, ptr %15, align 8, !tbaa !5
  %6374 = getelementptr inbounds %union.YYSTYPE, ptr %6373, i64 0
  %6375 = getelementptr inbounds %struct.anon, ptr %6374, i32 0, i32 0
  %6376 = load ptr, ptr %3, align 8, !tbaa !5
  %6377 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6376, i32 0, i32 2
  %6378 = load ptr, ptr %6377, align 8, !tbaa !45
  %6379 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6378)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6372, ptr noundef nonnull align 8 dereferenceable(24) %6375, i1 noundef zeroext %6379)
  %6380 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6381 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6380, i32 0, i32 0
  store i32 8, ptr %6381, align 8, !tbaa !10
  %6382 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6382, i32 noundef 3)
  br label %14379

6383:                                             ; preds = %406
  %6384 = load ptr, ptr %3, align 8, !tbaa !5
  %6385 = load ptr, ptr %15, align 8, !tbaa !5
  %6386 = getelementptr inbounds %union.YYSTYPE, ptr %6385, i64 0
  %6387 = getelementptr inbounds %struct.anon, ptr %6386, i32 0, i32 0
  %6388 = load ptr, ptr %3, align 8, !tbaa !5
  %6389 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6388, i32 0, i32 2
  %6390 = load ptr, ptr %6389, align 8, !tbaa !45
  %6391 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6390)
  %6392 = load ptr, ptr %6384, align 8, !tbaa !19
  %6393 = getelementptr inbounds ptr, ptr %6392, i64 32
  %6394 = load ptr, ptr %6393, align 8
  call void %6394(ptr noundef nonnull align 8 dereferenceable(192) %6384, ptr noundef nonnull align 8 dereferenceable(24) %6387, ptr noundef @.str.146, i1 noundef zeroext %6391)
  %6395 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6396 = load ptr, ptr %15, align 8, !tbaa !5
  %6397 = getelementptr inbounds %union.YYSTYPE, ptr %6396, i64 0
  %6398 = getelementptr inbounds %struct.anon, ptr %6397, i32 0, i32 0
  %6399 = load ptr, ptr %3, align 8, !tbaa !5
  %6400 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6399, i32 0, i32 2
  %6401 = load ptr, ptr %6400, align 8, !tbaa !45
  %6402 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6401)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6395, ptr noundef nonnull align 8 dereferenceable(24) %6398, i1 noundef zeroext %6402)
  %6403 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6404 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6403, i32 0, i32 0
  store i32 8, ptr %6404, align 8, !tbaa !10
  %6405 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6405, i32 noundef 4)
  br label %14379

6406:                                             ; preds = %406
  %6407 = load ptr, ptr %3, align 8, !tbaa !5
  %6408 = load ptr, ptr %15, align 8, !tbaa !5
  %6409 = getelementptr inbounds %union.YYSTYPE, ptr %6408, i64 0
  %6410 = getelementptr inbounds %struct.anon, ptr %6409, i32 0, i32 0
  %6411 = load ptr, ptr %3, align 8, !tbaa !5
  %6412 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6411, i32 0, i32 2
  %6413 = load ptr, ptr %6412, align 8, !tbaa !45
  %6414 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6413)
  %6415 = load ptr, ptr %6407, align 8, !tbaa !19
  %6416 = getelementptr inbounds ptr, ptr %6415, i64 29
  %6417 = load ptr, ptr %6416, align 8
  call void %6417(ptr noundef nonnull align 8 dereferenceable(192) %6407, ptr noundef nonnull align 8 dereferenceable(24) %6410, ptr noundef @.str.147, i1 noundef zeroext %6414)
  %6418 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6419 = load ptr, ptr %15, align 8, !tbaa !5
  %6420 = getelementptr inbounds %union.YYSTYPE, ptr %6419, i64 0
  %6421 = getelementptr inbounds %struct.anon, ptr %6420, i32 0, i32 0
  %6422 = load ptr, ptr %3, align 8, !tbaa !5
  %6423 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6422, i32 0, i32 2
  %6424 = load ptr, ptr %6423, align 8, !tbaa !45
  %6425 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6424)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6418, ptr noundef nonnull align 8 dereferenceable(24) %6421, i1 noundef zeroext %6425)
  %6426 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6427 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6426, i32 0, i32 0
  store i32 10, ptr %6427, align 8, !tbaa !10
  %6428 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6428, i32 noundef 2)
  br label %14379

6429:                                             ; preds = %406
  %6430 = load ptr, ptr %3, align 8, !tbaa !5
  %6431 = load ptr, ptr %15, align 8, !tbaa !5
  %6432 = getelementptr inbounds %union.YYSTYPE, ptr %6431, i64 0
  %6433 = getelementptr inbounds %struct.anon, ptr %6432, i32 0, i32 0
  %6434 = load ptr, ptr %3, align 8, !tbaa !5
  %6435 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6434, i32 0, i32 2
  %6436 = load ptr, ptr %6435, align 8, !tbaa !45
  %6437 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6436)
  %6438 = load ptr, ptr %6430, align 8, !tbaa !19
  %6439 = getelementptr inbounds ptr, ptr %6438, i64 29
  %6440 = load ptr, ptr %6439, align 8
  call void %6440(ptr noundef nonnull align 8 dereferenceable(192) %6430, ptr noundef nonnull align 8 dereferenceable(24) %6433, ptr noundef @.str.147, i1 noundef zeroext %6437)
  %6441 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6442 = load ptr, ptr %15, align 8, !tbaa !5
  %6443 = getelementptr inbounds %union.YYSTYPE, ptr %6442, i64 0
  %6444 = getelementptr inbounds %struct.anon, ptr %6443, i32 0, i32 0
  %6445 = load ptr, ptr %3, align 8, !tbaa !5
  %6446 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6445, i32 0, i32 2
  %6447 = load ptr, ptr %6446, align 8, !tbaa !45
  %6448 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6447)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6441, ptr noundef nonnull align 8 dereferenceable(24) %6444, i1 noundef zeroext %6448)
  %6449 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6450 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6449, i32 0, i32 0
  store i32 10, ptr %6450, align 8, !tbaa !10
  %6451 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6451, i32 noundef 3)
  br label %14379

6452:                                             ; preds = %406
  %6453 = load ptr, ptr %3, align 8, !tbaa !5
  %6454 = load ptr, ptr %15, align 8, !tbaa !5
  %6455 = getelementptr inbounds %union.YYSTYPE, ptr %6454, i64 0
  %6456 = getelementptr inbounds %struct.anon, ptr %6455, i32 0, i32 0
  %6457 = load ptr, ptr %3, align 8, !tbaa !5
  %6458 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6457, i32 0, i32 2
  %6459 = load ptr, ptr %6458, align 8, !tbaa !45
  %6460 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6459)
  %6461 = load ptr, ptr %6453, align 8, !tbaa !19
  %6462 = getelementptr inbounds ptr, ptr %6461, i64 29
  %6463 = load ptr, ptr %6462, align 8
  call void %6463(ptr noundef nonnull align 8 dereferenceable(192) %6453, ptr noundef nonnull align 8 dereferenceable(24) %6456, ptr noundef @.str.147, i1 noundef zeroext %6460)
  %6464 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6465 = load ptr, ptr %15, align 8, !tbaa !5
  %6466 = getelementptr inbounds %union.YYSTYPE, ptr %6465, i64 0
  %6467 = getelementptr inbounds %struct.anon, ptr %6466, i32 0, i32 0
  %6468 = load ptr, ptr %3, align 8, !tbaa !5
  %6469 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6468, i32 0, i32 2
  %6470 = load ptr, ptr %6469, align 8, !tbaa !45
  %6471 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6470)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6464, ptr noundef nonnull align 8 dereferenceable(24) %6467, i1 noundef zeroext %6471)
  %6472 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6473 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6472, i32 0, i32 0
  store i32 10, ptr %6473, align 8, !tbaa !10
  %6474 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6474, i32 noundef 4)
  br label %14379

6475:                                             ; preds = %406
  %6476 = load ptr, ptr %3, align 8, !tbaa !5
  %6477 = load ptr, ptr %15, align 8, !tbaa !5
  %6478 = getelementptr inbounds %union.YYSTYPE, ptr %6477, i64 0
  %6479 = getelementptr inbounds %struct.anon, ptr %6478, i32 0, i32 0
  %6480 = load ptr, ptr %3, align 8, !tbaa !5
  %6481 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6480, i32 0, i32 2
  %6482 = load ptr, ptr %6481, align 8, !tbaa !45
  %6483 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6482)
  %6484 = load ptr, ptr %6476, align 8, !tbaa !19
  %6485 = getelementptr inbounds ptr, ptr %6484, i64 25
  %6486 = load ptr, ptr %6485, align 8
  call void %6486(ptr noundef nonnull align 8 dereferenceable(192) %6476, ptr noundef nonnull align 8 dereferenceable(24) %6479, ptr noundef @.str.148, i1 noundef zeroext %6483)
  %6487 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6488 = load ptr, ptr %15, align 8, !tbaa !5
  %6489 = getelementptr inbounds %union.YYSTYPE, ptr %6488, i64 0
  %6490 = getelementptr inbounds %struct.anon, ptr %6489, i32 0, i32 0
  %6491 = load ptr, ptr %3, align 8, !tbaa !5
  %6492 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6491, i32 0, i32 2
  %6493 = load ptr, ptr %6492, align 8, !tbaa !45
  %6494 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6493)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6487, ptr noundef nonnull align 8 dereferenceable(24) %6490, i1 noundef zeroext %6494)
  %6495 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6496 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6495, i32 0, i32 0
  store i32 5, ptr %6496, align 8, !tbaa !10
  %6497 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6497, i32 noundef 2)
  br label %14379

6498:                                             ; preds = %406
  %6499 = load ptr, ptr %3, align 8, !tbaa !5
  %6500 = load ptr, ptr %15, align 8, !tbaa !5
  %6501 = getelementptr inbounds %union.YYSTYPE, ptr %6500, i64 0
  %6502 = getelementptr inbounds %struct.anon, ptr %6501, i32 0, i32 0
  %6503 = load ptr, ptr %3, align 8, !tbaa !5
  %6504 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6503, i32 0, i32 2
  %6505 = load ptr, ptr %6504, align 8, !tbaa !45
  %6506 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6505)
  %6507 = load ptr, ptr %6499, align 8, !tbaa !19
  %6508 = getelementptr inbounds ptr, ptr %6507, i64 25
  %6509 = load ptr, ptr %6508, align 8
  call void %6509(ptr noundef nonnull align 8 dereferenceable(192) %6499, ptr noundef nonnull align 8 dereferenceable(24) %6502, ptr noundef @.str.148, i1 noundef zeroext %6506)
  %6510 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6511 = load ptr, ptr %15, align 8, !tbaa !5
  %6512 = getelementptr inbounds %union.YYSTYPE, ptr %6511, i64 0
  %6513 = getelementptr inbounds %struct.anon, ptr %6512, i32 0, i32 0
  %6514 = load ptr, ptr %3, align 8, !tbaa !5
  %6515 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6514, i32 0, i32 2
  %6516 = load ptr, ptr %6515, align 8, !tbaa !45
  %6517 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6516)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6510, ptr noundef nonnull align 8 dereferenceable(24) %6513, i1 noundef zeroext %6517)
  %6518 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6519 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6518, i32 0, i32 0
  store i32 5, ptr %6519, align 8, !tbaa !10
  %6520 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6520, i32 noundef 3)
  br label %14379

6521:                                             ; preds = %406
  %6522 = load ptr, ptr %3, align 8, !tbaa !5
  %6523 = load ptr, ptr %15, align 8, !tbaa !5
  %6524 = getelementptr inbounds %union.YYSTYPE, ptr %6523, i64 0
  %6525 = getelementptr inbounds %struct.anon, ptr %6524, i32 0, i32 0
  %6526 = load ptr, ptr %3, align 8, !tbaa !5
  %6527 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6526, i32 0, i32 2
  %6528 = load ptr, ptr %6527, align 8, !tbaa !45
  %6529 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6528)
  %6530 = load ptr, ptr %6522, align 8, !tbaa !19
  %6531 = getelementptr inbounds ptr, ptr %6530, i64 25
  %6532 = load ptr, ptr %6531, align 8
  call void %6532(ptr noundef nonnull align 8 dereferenceable(192) %6522, ptr noundef nonnull align 8 dereferenceable(24) %6525, ptr noundef @.str.148, i1 noundef zeroext %6529)
  %6533 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6534 = load ptr, ptr %15, align 8, !tbaa !5
  %6535 = getelementptr inbounds %union.YYSTYPE, ptr %6534, i64 0
  %6536 = getelementptr inbounds %struct.anon, ptr %6535, i32 0, i32 0
  %6537 = load ptr, ptr %3, align 8, !tbaa !5
  %6538 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6537, i32 0, i32 2
  %6539 = load ptr, ptr %6538, align 8, !tbaa !45
  %6540 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6539)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6533, ptr noundef nonnull align 8 dereferenceable(24) %6536, i1 noundef zeroext %6540)
  %6541 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6542 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6541, i32 0, i32 0
  store i32 5, ptr %6542, align 8, !tbaa !10
  %6543 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6543, i32 noundef 4)
  br label %14379

6544:                                             ; preds = %406
  %6545 = load ptr, ptr %3, align 8, !tbaa !5
  %6546 = load ptr, ptr %15, align 8, !tbaa !5
  %6547 = getelementptr inbounds %union.YYSTYPE, ptr %6546, i64 0
  %6548 = getelementptr inbounds %struct.anon, ptr %6547, i32 0, i32 0
  %6549 = load ptr, ptr %3, align 8, !tbaa !5
  %6550 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6549, i32 0, i32 2
  %6551 = load ptr, ptr %6550, align 8, !tbaa !45
  %6552 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6551)
  %6553 = load ptr, ptr %6545, align 8, !tbaa !19
  %6554 = getelementptr inbounds ptr, ptr %6553, i64 22
  %6555 = load ptr, ptr %6554, align 8
  call void %6555(ptr noundef nonnull align 8 dereferenceable(192) %6545, ptr noundef nonnull align 8 dereferenceable(24) %6548, ptr noundef @.str.149, i1 noundef zeroext %6552)
  %6556 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6557 = load ptr, ptr %15, align 8, !tbaa !5
  %6558 = getelementptr inbounds %union.YYSTYPE, ptr %6557, i64 0
  %6559 = getelementptr inbounds %struct.anon, ptr %6558, i32 0, i32 0
  %6560 = load ptr, ptr %3, align 8, !tbaa !5
  %6561 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6560, i32 0, i32 2
  %6562 = load ptr, ptr %6561, align 8, !tbaa !45
  %6563 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6562)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6556, ptr noundef nonnull align 8 dereferenceable(24) %6559, i1 noundef zeroext %6563)
  %6564 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6565 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6564, i32 0, i32 0
  store i32 7, ptr %6565, align 8, !tbaa !10
  %6566 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6566, i32 noundef 2)
  br label %14379

6567:                                             ; preds = %406
  %6568 = load ptr, ptr %3, align 8, !tbaa !5
  %6569 = load ptr, ptr %15, align 8, !tbaa !5
  %6570 = getelementptr inbounds %union.YYSTYPE, ptr %6569, i64 0
  %6571 = getelementptr inbounds %struct.anon, ptr %6570, i32 0, i32 0
  %6572 = load ptr, ptr %3, align 8, !tbaa !5
  %6573 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6572, i32 0, i32 2
  %6574 = load ptr, ptr %6573, align 8, !tbaa !45
  %6575 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6574)
  %6576 = load ptr, ptr %6568, align 8, !tbaa !19
  %6577 = getelementptr inbounds ptr, ptr %6576, i64 22
  %6578 = load ptr, ptr %6577, align 8
  call void %6578(ptr noundef nonnull align 8 dereferenceable(192) %6568, ptr noundef nonnull align 8 dereferenceable(24) %6571, ptr noundef @.str.149, i1 noundef zeroext %6575)
  %6579 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6580 = load ptr, ptr %15, align 8, !tbaa !5
  %6581 = getelementptr inbounds %union.YYSTYPE, ptr %6580, i64 0
  %6582 = getelementptr inbounds %struct.anon, ptr %6581, i32 0, i32 0
  %6583 = load ptr, ptr %3, align 8, !tbaa !5
  %6584 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6583, i32 0, i32 2
  %6585 = load ptr, ptr %6584, align 8, !tbaa !45
  %6586 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6585)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6579, ptr noundef nonnull align 8 dereferenceable(24) %6582, i1 noundef zeroext %6586)
  %6587 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6588 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6587, i32 0, i32 0
  store i32 7, ptr %6588, align 8, !tbaa !10
  %6589 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6589, i32 noundef 3)
  br label %14379

6590:                                             ; preds = %406
  %6591 = load ptr, ptr %3, align 8, !tbaa !5
  %6592 = load ptr, ptr %15, align 8, !tbaa !5
  %6593 = getelementptr inbounds %union.YYSTYPE, ptr %6592, i64 0
  %6594 = getelementptr inbounds %struct.anon, ptr %6593, i32 0, i32 0
  %6595 = load ptr, ptr %3, align 8, !tbaa !5
  %6596 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6595, i32 0, i32 2
  %6597 = load ptr, ptr %6596, align 8, !tbaa !45
  %6598 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6597)
  %6599 = load ptr, ptr %6591, align 8, !tbaa !19
  %6600 = getelementptr inbounds ptr, ptr %6599, i64 22
  %6601 = load ptr, ptr %6600, align 8
  call void %6601(ptr noundef nonnull align 8 dereferenceable(192) %6591, ptr noundef nonnull align 8 dereferenceable(24) %6594, ptr noundef @.str.149, i1 noundef zeroext %6598)
  %6602 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6603 = load ptr, ptr %15, align 8, !tbaa !5
  %6604 = getelementptr inbounds %union.YYSTYPE, ptr %6603, i64 0
  %6605 = getelementptr inbounds %struct.anon, ptr %6604, i32 0, i32 0
  %6606 = load ptr, ptr %3, align 8, !tbaa !5
  %6607 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6606, i32 0, i32 2
  %6608 = load ptr, ptr %6607, align 8, !tbaa !45
  %6609 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6608)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6602, ptr noundef nonnull align 8 dereferenceable(24) %6605, i1 noundef zeroext %6609)
  %6610 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6611 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6610, i32 0, i32 0
  store i32 7, ptr %6611, align 8, !tbaa !10
  %6612 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6612, i32 noundef 4)
  br label %14379

6613:                                             ; preds = %406
  %6614 = load ptr, ptr %3, align 8, !tbaa !5
  %6615 = load ptr, ptr %15, align 8, !tbaa !5
  %6616 = getelementptr inbounds %union.YYSTYPE, ptr %6615, i64 0
  %6617 = getelementptr inbounds %struct.anon, ptr %6616, i32 0, i32 0
  %6618 = load ptr, ptr %3, align 8, !tbaa !5
  %6619 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6618, i32 0, i32 2
  %6620 = load ptr, ptr %6619, align 8, !tbaa !45
  %6621 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6620)
  %6622 = load ptr, ptr %6614, align 8, !tbaa !19
  %6623 = getelementptr inbounds ptr, ptr %6622, i64 32
  %6624 = load ptr, ptr %6623, align 8
  call void %6624(ptr noundef nonnull align 8 dereferenceable(192) %6614, ptr noundef nonnull align 8 dereferenceable(24) %6617, ptr noundef @.str.150, i1 noundef zeroext %6621)
  %6625 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6626 = load ptr, ptr %15, align 8, !tbaa !5
  %6627 = getelementptr inbounds %union.YYSTYPE, ptr %6626, i64 0
  %6628 = getelementptr inbounds %struct.anon, ptr %6627, i32 0, i32 0
  %6629 = load ptr, ptr %3, align 8, !tbaa !5
  %6630 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6629, i32 0, i32 2
  %6631 = load ptr, ptr %6630, align 8, !tbaa !45
  %6632 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6631)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6625, ptr noundef nonnull align 8 dereferenceable(24) %6628, i1 noundef zeroext %6632)
  %6633 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6634 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6633, i32 0, i32 0
  store i32 9, ptr %6634, align 8, !tbaa !10
  %6635 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6635, i32 noundef 2)
  br label %14379

6636:                                             ; preds = %406
  %6637 = load ptr, ptr %3, align 8, !tbaa !5
  %6638 = load ptr, ptr %15, align 8, !tbaa !5
  %6639 = getelementptr inbounds %union.YYSTYPE, ptr %6638, i64 0
  %6640 = getelementptr inbounds %struct.anon, ptr %6639, i32 0, i32 0
  %6641 = load ptr, ptr %3, align 8, !tbaa !5
  %6642 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6641, i32 0, i32 2
  %6643 = load ptr, ptr %6642, align 8, !tbaa !45
  %6644 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6643)
  %6645 = load ptr, ptr %6637, align 8, !tbaa !19
  %6646 = getelementptr inbounds ptr, ptr %6645, i64 32
  %6647 = load ptr, ptr %6646, align 8
  call void %6647(ptr noundef nonnull align 8 dereferenceable(192) %6637, ptr noundef nonnull align 8 dereferenceable(24) %6640, ptr noundef @.str.150, i1 noundef zeroext %6644)
  %6648 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6649 = load ptr, ptr %15, align 8, !tbaa !5
  %6650 = getelementptr inbounds %union.YYSTYPE, ptr %6649, i64 0
  %6651 = getelementptr inbounds %struct.anon, ptr %6650, i32 0, i32 0
  %6652 = load ptr, ptr %3, align 8, !tbaa !5
  %6653 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6652, i32 0, i32 2
  %6654 = load ptr, ptr %6653, align 8, !tbaa !45
  %6655 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6654)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6648, ptr noundef nonnull align 8 dereferenceable(24) %6651, i1 noundef zeroext %6655)
  %6656 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6657 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6656, i32 0, i32 0
  store i32 9, ptr %6657, align 8, !tbaa !10
  %6658 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6658, i32 noundef 3)
  br label %14379

6659:                                             ; preds = %406
  %6660 = load ptr, ptr %3, align 8, !tbaa !5
  %6661 = load ptr, ptr %15, align 8, !tbaa !5
  %6662 = getelementptr inbounds %union.YYSTYPE, ptr %6661, i64 0
  %6663 = getelementptr inbounds %struct.anon, ptr %6662, i32 0, i32 0
  %6664 = load ptr, ptr %3, align 8, !tbaa !5
  %6665 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6664, i32 0, i32 2
  %6666 = load ptr, ptr %6665, align 8, !tbaa !45
  %6667 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6666)
  %6668 = load ptr, ptr %6660, align 8, !tbaa !19
  %6669 = getelementptr inbounds ptr, ptr %6668, i64 32
  %6670 = load ptr, ptr %6669, align 8
  call void %6670(ptr noundef nonnull align 8 dereferenceable(192) %6660, ptr noundef nonnull align 8 dereferenceable(24) %6663, ptr noundef @.str.150, i1 noundef zeroext %6667)
  %6671 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6672 = load ptr, ptr %15, align 8, !tbaa !5
  %6673 = getelementptr inbounds %union.YYSTYPE, ptr %6672, i64 0
  %6674 = getelementptr inbounds %struct.anon, ptr %6673, i32 0, i32 0
  %6675 = load ptr, ptr %3, align 8, !tbaa !5
  %6676 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6675, i32 0, i32 2
  %6677 = load ptr, ptr %6676, align 8, !tbaa !45
  %6678 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6677)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6671, ptr noundef nonnull align 8 dereferenceable(24) %6674, i1 noundef zeroext %6678)
  %6679 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6680 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6679, i32 0, i32 0
  store i32 9, ptr %6680, align 8, !tbaa !10
  %6681 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6681, i32 noundef 4)
  br label %14379

6682:                                             ; preds = %406
  %6683 = load ptr, ptr %3, align 8, !tbaa !5
  %6684 = load ptr, ptr %15, align 8, !tbaa !5
  %6685 = getelementptr inbounds %union.YYSTYPE, ptr %6684, i64 0
  %6686 = getelementptr inbounds %struct.anon, ptr %6685, i32 0, i32 0
  %6687 = load ptr, ptr %3, align 8, !tbaa !5
  %6688 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6687, i32 0, i32 2
  %6689 = load ptr, ptr %6688, align 8, !tbaa !45
  %6690 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6689)
  %6691 = load ptr, ptr %6683, align 8, !tbaa !19
  %6692 = getelementptr inbounds ptr, ptr %6691, i64 29
  %6693 = load ptr, ptr %6692, align 8
  call void %6693(ptr noundef nonnull align 8 dereferenceable(192) %6683, ptr noundef nonnull align 8 dereferenceable(24) %6686, ptr noundef @.str.151, i1 noundef zeroext %6690)
  %6694 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6695 = load ptr, ptr %15, align 8, !tbaa !5
  %6696 = getelementptr inbounds %union.YYSTYPE, ptr %6695, i64 0
  %6697 = getelementptr inbounds %struct.anon, ptr %6696, i32 0, i32 0
  %6698 = load ptr, ptr %3, align 8, !tbaa !5
  %6699 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6698, i32 0, i32 2
  %6700 = load ptr, ptr %6699, align 8, !tbaa !45
  %6701 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6700)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6694, ptr noundef nonnull align 8 dereferenceable(24) %6697, i1 noundef zeroext %6701)
  %6702 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6703 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6702, i32 0, i32 0
  store i32 11, ptr %6703, align 8, !tbaa !10
  %6704 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6704, i32 noundef 2)
  br label %14379

6705:                                             ; preds = %406
  %6706 = load ptr, ptr %3, align 8, !tbaa !5
  %6707 = load ptr, ptr %15, align 8, !tbaa !5
  %6708 = getelementptr inbounds %union.YYSTYPE, ptr %6707, i64 0
  %6709 = getelementptr inbounds %struct.anon, ptr %6708, i32 0, i32 0
  %6710 = load ptr, ptr %3, align 8, !tbaa !5
  %6711 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6710, i32 0, i32 2
  %6712 = load ptr, ptr %6711, align 8, !tbaa !45
  %6713 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6712)
  %6714 = load ptr, ptr %6706, align 8, !tbaa !19
  %6715 = getelementptr inbounds ptr, ptr %6714, i64 29
  %6716 = load ptr, ptr %6715, align 8
  call void %6716(ptr noundef nonnull align 8 dereferenceable(192) %6706, ptr noundef nonnull align 8 dereferenceable(24) %6709, ptr noundef @.str.151, i1 noundef zeroext %6713)
  %6717 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6718 = load ptr, ptr %15, align 8, !tbaa !5
  %6719 = getelementptr inbounds %union.YYSTYPE, ptr %6718, i64 0
  %6720 = getelementptr inbounds %struct.anon, ptr %6719, i32 0, i32 0
  %6721 = load ptr, ptr %3, align 8, !tbaa !5
  %6722 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6721, i32 0, i32 2
  %6723 = load ptr, ptr %6722, align 8, !tbaa !45
  %6724 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6723)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6717, ptr noundef nonnull align 8 dereferenceable(24) %6720, i1 noundef zeroext %6724)
  %6725 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6726 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6725, i32 0, i32 0
  store i32 11, ptr %6726, align 8, !tbaa !10
  %6727 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6727, i32 noundef 3)
  br label %14379

6728:                                             ; preds = %406
  %6729 = load ptr, ptr %3, align 8, !tbaa !5
  %6730 = load ptr, ptr %15, align 8, !tbaa !5
  %6731 = getelementptr inbounds %union.YYSTYPE, ptr %6730, i64 0
  %6732 = getelementptr inbounds %struct.anon, ptr %6731, i32 0, i32 0
  %6733 = load ptr, ptr %3, align 8, !tbaa !5
  %6734 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6733, i32 0, i32 2
  %6735 = load ptr, ptr %6734, align 8, !tbaa !45
  %6736 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6735)
  %6737 = load ptr, ptr %6729, align 8, !tbaa !19
  %6738 = getelementptr inbounds ptr, ptr %6737, i64 29
  %6739 = load ptr, ptr %6738, align 8
  call void %6739(ptr noundef nonnull align 8 dereferenceable(192) %6729, ptr noundef nonnull align 8 dereferenceable(24) %6732, ptr noundef @.str.151, i1 noundef zeroext %6736)
  %6740 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6741 = load ptr, ptr %15, align 8, !tbaa !5
  %6742 = getelementptr inbounds %union.YYSTYPE, ptr %6741, i64 0
  %6743 = getelementptr inbounds %struct.anon, ptr %6742, i32 0, i32 0
  %6744 = load ptr, ptr %3, align 8, !tbaa !5
  %6745 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6744, i32 0, i32 2
  %6746 = load ptr, ptr %6745, align 8, !tbaa !45
  %6747 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6746)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6740, ptr noundef nonnull align 8 dereferenceable(24) %6743, i1 noundef zeroext %6747)
  %6748 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6749 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6748, i32 0, i32 0
  store i32 11, ptr %6749, align 8, !tbaa !10
  %6750 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %6750, i32 noundef 4)
  br label %14379

6751:                                             ; preds = %406
  %6752 = load ptr, ptr %3, align 8, !tbaa !5
  %6753 = load ptr, ptr %15, align 8, !tbaa !5
  %6754 = getelementptr inbounds %union.YYSTYPE, ptr %6753, i64 0
  %6755 = getelementptr inbounds %struct.anon, ptr %6754, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6752, ptr noundef nonnull align 8 dereferenceable(24) %6755, i32 noundef 6, ptr noundef @.str.152)
  %6756 = load ptr, ptr %3, align 8, !tbaa !5
  %6757 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6756, i32 0, i32 2
  %6758 = load ptr, ptr %6757, align 8, !tbaa !45
  %6759 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6758)
  br i1 %6759, label %6768, label %6760

6760:                                             ; preds = %6751
  %6761 = load ptr, ptr %3, align 8, !tbaa !5
  %6762 = load ptr, ptr %15, align 8, !tbaa !5
  %6763 = getelementptr inbounds %union.YYSTYPE, ptr %6762, i64 0
  %6764 = getelementptr inbounds %struct.anon, ptr %6763, i32 0, i32 0
  %6765 = load ptr, ptr %6761, align 8, !tbaa !19
  %6766 = getelementptr inbounds ptr, ptr %6765, i64 17
  %6767 = load ptr, ptr %6766, align 8
  call void %6767(ptr noundef nonnull align 8 dereferenceable(192) %6761, ptr noundef nonnull align 8 dereferenceable(24) %6764, ptr noundef @.str.152)
  br label %6768

6768:                                             ; preds = %6760, %6751
  %6769 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6770 = load ptr, ptr %15, align 8, !tbaa !5
  %6771 = getelementptr inbounds %union.YYSTYPE, ptr %6770, i64 0
  %6772 = getelementptr inbounds %struct.anon, ptr %6771, i32 0, i32 0
  %6773 = load ptr, ptr %3, align 8, !tbaa !5
  %6774 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6773, i32 0, i32 2
  %6775 = load ptr, ptr %6774, align 8, !tbaa !45
  %6776 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6775)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6769, ptr noundef nonnull align 8 dereferenceable(24) %6772, i1 noundef zeroext %6776)
  %6777 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6778 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6777, i32 0, i32 0
  store i32 2, ptr %6778, align 8, !tbaa !10
  %6779 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %6779, i32 noundef 2, i32 noundef 2)
  br label %14379

6780:                                             ; preds = %406
  %6781 = load ptr, ptr %3, align 8, !tbaa !5
  %6782 = load ptr, ptr %15, align 8, !tbaa !5
  %6783 = getelementptr inbounds %union.YYSTYPE, ptr %6782, i64 0
  %6784 = getelementptr inbounds %struct.anon, ptr %6783, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6781, ptr noundef nonnull align 8 dereferenceable(24) %6784, i32 noundef 6, ptr noundef @.str.152)
  %6785 = load ptr, ptr %3, align 8, !tbaa !5
  %6786 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6785, i32 0, i32 2
  %6787 = load ptr, ptr %6786, align 8, !tbaa !45
  %6788 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6787)
  br i1 %6788, label %6797, label %6789

6789:                                             ; preds = %6780
  %6790 = load ptr, ptr %3, align 8, !tbaa !5
  %6791 = load ptr, ptr %15, align 8, !tbaa !5
  %6792 = getelementptr inbounds %union.YYSTYPE, ptr %6791, i64 0
  %6793 = getelementptr inbounds %struct.anon, ptr %6792, i32 0, i32 0
  %6794 = load ptr, ptr %6790, align 8, !tbaa !19
  %6795 = getelementptr inbounds ptr, ptr %6794, i64 17
  %6796 = load ptr, ptr %6795, align 8
  call void %6796(ptr noundef nonnull align 8 dereferenceable(192) %6790, ptr noundef nonnull align 8 dereferenceable(24) %6793, ptr noundef @.str.152)
  br label %6797

6797:                                             ; preds = %6789, %6780
  %6798 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6799 = load ptr, ptr %15, align 8, !tbaa !5
  %6800 = getelementptr inbounds %union.YYSTYPE, ptr %6799, i64 0
  %6801 = getelementptr inbounds %struct.anon, ptr %6800, i32 0, i32 0
  %6802 = load ptr, ptr %3, align 8, !tbaa !5
  %6803 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6802, i32 0, i32 2
  %6804 = load ptr, ptr %6803, align 8, !tbaa !45
  %6805 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6804)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6798, ptr noundef nonnull align 8 dereferenceable(24) %6801, i1 noundef zeroext %6805)
  %6806 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6807 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6806, i32 0, i32 0
  store i32 2, ptr %6807, align 8, !tbaa !10
  %6808 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %6808, i32 noundef 3, i32 noundef 3)
  br label %14379

6809:                                             ; preds = %406
  %6810 = load ptr, ptr %3, align 8, !tbaa !5
  %6811 = load ptr, ptr %15, align 8, !tbaa !5
  %6812 = getelementptr inbounds %union.YYSTYPE, ptr %6811, i64 0
  %6813 = getelementptr inbounds %struct.anon, ptr %6812, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6810, ptr noundef nonnull align 8 dereferenceable(24) %6813, i32 noundef 6, ptr noundef @.str.152)
  %6814 = load ptr, ptr %3, align 8, !tbaa !5
  %6815 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6814, i32 0, i32 2
  %6816 = load ptr, ptr %6815, align 8, !tbaa !45
  %6817 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6816)
  br i1 %6817, label %6826, label %6818

6818:                                             ; preds = %6809
  %6819 = load ptr, ptr %3, align 8, !tbaa !5
  %6820 = load ptr, ptr %15, align 8, !tbaa !5
  %6821 = getelementptr inbounds %union.YYSTYPE, ptr %6820, i64 0
  %6822 = getelementptr inbounds %struct.anon, ptr %6821, i32 0, i32 0
  %6823 = load ptr, ptr %6819, align 8, !tbaa !19
  %6824 = getelementptr inbounds ptr, ptr %6823, i64 17
  %6825 = load ptr, ptr %6824, align 8
  call void %6825(ptr noundef nonnull align 8 dereferenceable(192) %6819, ptr noundef nonnull align 8 dereferenceable(24) %6822, ptr noundef @.str.152)
  br label %6826

6826:                                             ; preds = %6818, %6809
  %6827 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6828 = load ptr, ptr %15, align 8, !tbaa !5
  %6829 = getelementptr inbounds %union.YYSTYPE, ptr %6828, i64 0
  %6830 = getelementptr inbounds %struct.anon, ptr %6829, i32 0, i32 0
  %6831 = load ptr, ptr %3, align 8, !tbaa !5
  %6832 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6831, i32 0, i32 2
  %6833 = load ptr, ptr %6832, align 8, !tbaa !45
  %6834 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6833)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6827, ptr noundef nonnull align 8 dereferenceable(24) %6830, i1 noundef zeroext %6834)
  %6835 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6836 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6835, i32 0, i32 0
  store i32 2, ptr %6836, align 8, !tbaa !10
  %6837 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %6837, i32 noundef 4, i32 noundef 4)
  br label %14379

6838:                                             ; preds = %406
  %6839 = load ptr, ptr %3, align 8, !tbaa !5
  %6840 = load ptr, ptr %15, align 8, !tbaa !5
  %6841 = getelementptr inbounds %union.YYSTYPE, ptr %6840, i64 0
  %6842 = getelementptr inbounds %struct.anon, ptr %6841, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6839, ptr noundef nonnull align 8 dereferenceable(24) %6842, i32 noundef 6, ptr noundef @.str.152)
  %6843 = load ptr, ptr %3, align 8, !tbaa !5
  %6844 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6843, i32 0, i32 2
  %6845 = load ptr, ptr %6844, align 8, !tbaa !45
  %6846 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6845)
  br i1 %6846, label %6855, label %6847

6847:                                             ; preds = %6838
  %6848 = load ptr, ptr %3, align 8, !tbaa !5
  %6849 = load ptr, ptr %15, align 8, !tbaa !5
  %6850 = getelementptr inbounds %union.YYSTYPE, ptr %6849, i64 0
  %6851 = getelementptr inbounds %struct.anon, ptr %6850, i32 0, i32 0
  %6852 = load ptr, ptr %6848, align 8, !tbaa !19
  %6853 = getelementptr inbounds ptr, ptr %6852, i64 17
  %6854 = load ptr, ptr %6853, align 8
  call void %6854(ptr noundef nonnull align 8 dereferenceable(192) %6848, ptr noundef nonnull align 8 dereferenceable(24) %6851, ptr noundef @.str.152)
  br label %6855

6855:                                             ; preds = %6847, %6838
  %6856 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6857 = load ptr, ptr %15, align 8, !tbaa !5
  %6858 = getelementptr inbounds %union.YYSTYPE, ptr %6857, i64 0
  %6859 = getelementptr inbounds %struct.anon, ptr %6858, i32 0, i32 0
  %6860 = load ptr, ptr %3, align 8, !tbaa !5
  %6861 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6860, i32 0, i32 2
  %6862 = load ptr, ptr %6861, align 8, !tbaa !45
  %6863 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6862)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6856, ptr noundef nonnull align 8 dereferenceable(24) %6859, i1 noundef zeroext %6863)
  %6864 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6865 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6864, i32 0, i32 0
  store i32 2, ptr %6865, align 8, !tbaa !10
  %6866 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %6866, i32 noundef 2, i32 noundef 2)
  br label %14379

6867:                                             ; preds = %406
  %6868 = load ptr, ptr %3, align 8, !tbaa !5
  %6869 = load ptr, ptr %15, align 8, !tbaa !5
  %6870 = getelementptr inbounds %union.YYSTYPE, ptr %6869, i64 0
  %6871 = getelementptr inbounds %struct.anon, ptr %6870, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6868, ptr noundef nonnull align 8 dereferenceable(24) %6871, i32 noundef 6, ptr noundef @.str.152)
  %6872 = load ptr, ptr %3, align 8, !tbaa !5
  %6873 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6872, i32 0, i32 2
  %6874 = load ptr, ptr %6873, align 8, !tbaa !45
  %6875 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6874)
  br i1 %6875, label %6884, label %6876

6876:                                             ; preds = %6867
  %6877 = load ptr, ptr %3, align 8, !tbaa !5
  %6878 = load ptr, ptr %15, align 8, !tbaa !5
  %6879 = getelementptr inbounds %union.YYSTYPE, ptr %6878, i64 0
  %6880 = getelementptr inbounds %struct.anon, ptr %6879, i32 0, i32 0
  %6881 = load ptr, ptr %6877, align 8, !tbaa !19
  %6882 = getelementptr inbounds ptr, ptr %6881, i64 17
  %6883 = load ptr, ptr %6882, align 8
  call void %6883(ptr noundef nonnull align 8 dereferenceable(192) %6877, ptr noundef nonnull align 8 dereferenceable(24) %6880, ptr noundef @.str.152)
  br label %6884

6884:                                             ; preds = %6876, %6867
  %6885 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6886 = load ptr, ptr %15, align 8, !tbaa !5
  %6887 = getelementptr inbounds %union.YYSTYPE, ptr %6886, i64 0
  %6888 = getelementptr inbounds %struct.anon, ptr %6887, i32 0, i32 0
  %6889 = load ptr, ptr %3, align 8, !tbaa !5
  %6890 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6889, i32 0, i32 2
  %6891 = load ptr, ptr %6890, align 8, !tbaa !45
  %6892 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6891)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6885, ptr noundef nonnull align 8 dereferenceable(24) %6888, i1 noundef zeroext %6892)
  %6893 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6894 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6893, i32 0, i32 0
  store i32 2, ptr %6894, align 8, !tbaa !10
  %6895 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %6895, i32 noundef 2, i32 noundef 3)
  br label %14379

6896:                                             ; preds = %406
  %6897 = load ptr, ptr %3, align 8, !tbaa !5
  %6898 = load ptr, ptr %15, align 8, !tbaa !5
  %6899 = getelementptr inbounds %union.YYSTYPE, ptr %6898, i64 0
  %6900 = getelementptr inbounds %struct.anon, ptr %6899, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6897, ptr noundef nonnull align 8 dereferenceable(24) %6900, i32 noundef 6, ptr noundef @.str.152)
  %6901 = load ptr, ptr %3, align 8, !tbaa !5
  %6902 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6901, i32 0, i32 2
  %6903 = load ptr, ptr %6902, align 8, !tbaa !45
  %6904 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6903)
  br i1 %6904, label %6913, label %6905

6905:                                             ; preds = %6896
  %6906 = load ptr, ptr %3, align 8, !tbaa !5
  %6907 = load ptr, ptr %15, align 8, !tbaa !5
  %6908 = getelementptr inbounds %union.YYSTYPE, ptr %6907, i64 0
  %6909 = getelementptr inbounds %struct.anon, ptr %6908, i32 0, i32 0
  %6910 = load ptr, ptr %6906, align 8, !tbaa !19
  %6911 = getelementptr inbounds ptr, ptr %6910, i64 17
  %6912 = load ptr, ptr %6911, align 8
  call void %6912(ptr noundef nonnull align 8 dereferenceable(192) %6906, ptr noundef nonnull align 8 dereferenceable(24) %6909, ptr noundef @.str.152)
  br label %6913

6913:                                             ; preds = %6905, %6896
  %6914 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6915 = load ptr, ptr %15, align 8, !tbaa !5
  %6916 = getelementptr inbounds %union.YYSTYPE, ptr %6915, i64 0
  %6917 = getelementptr inbounds %struct.anon, ptr %6916, i32 0, i32 0
  %6918 = load ptr, ptr %3, align 8, !tbaa !5
  %6919 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6918, i32 0, i32 2
  %6920 = load ptr, ptr %6919, align 8, !tbaa !45
  %6921 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6920)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6914, ptr noundef nonnull align 8 dereferenceable(24) %6917, i1 noundef zeroext %6921)
  %6922 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6923 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6922, i32 0, i32 0
  store i32 2, ptr %6923, align 8, !tbaa !10
  %6924 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %6924, i32 noundef 2, i32 noundef 4)
  br label %14379

6925:                                             ; preds = %406
  %6926 = load ptr, ptr %3, align 8, !tbaa !5
  %6927 = load ptr, ptr %15, align 8, !tbaa !5
  %6928 = getelementptr inbounds %union.YYSTYPE, ptr %6927, i64 0
  %6929 = getelementptr inbounds %struct.anon, ptr %6928, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6926, ptr noundef nonnull align 8 dereferenceable(24) %6929, i32 noundef 6, ptr noundef @.str.152)
  %6930 = load ptr, ptr %3, align 8, !tbaa !5
  %6931 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6930, i32 0, i32 2
  %6932 = load ptr, ptr %6931, align 8, !tbaa !45
  %6933 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6932)
  br i1 %6933, label %6942, label %6934

6934:                                             ; preds = %6925
  %6935 = load ptr, ptr %3, align 8, !tbaa !5
  %6936 = load ptr, ptr %15, align 8, !tbaa !5
  %6937 = getelementptr inbounds %union.YYSTYPE, ptr %6936, i64 0
  %6938 = getelementptr inbounds %struct.anon, ptr %6937, i32 0, i32 0
  %6939 = load ptr, ptr %6935, align 8, !tbaa !19
  %6940 = getelementptr inbounds ptr, ptr %6939, i64 17
  %6941 = load ptr, ptr %6940, align 8
  call void %6941(ptr noundef nonnull align 8 dereferenceable(192) %6935, ptr noundef nonnull align 8 dereferenceable(24) %6938, ptr noundef @.str.152)
  br label %6942

6942:                                             ; preds = %6934, %6925
  %6943 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6944 = load ptr, ptr %15, align 8, !tbaa !5
  %6945 = getelementptr inbounds %union.YYSTYPE, ptr %6944, i64 0
  %6946 = getelementptr inbounds %struct.anon, ptr %6945, i32 0, i32 0
  %6947 = load ptr, ptr %3, align 8, !tbaa !5
  %6948 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6947, i32 0, i32 2
  %6949 = load ptr, ptr %6948, align 8, !tbaa !45
  %6950 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6949)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6943, ptr noundef nonnull align 8 dereferenceable(24) %6946, i1 noundef zeroext %6950)
  %6951 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6952 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6951, i32 0, i32 0
  store i32 2, ptr %6952, align 8, !tbaa !10
  %6953 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %6953, i32 noundef 3, i32 noundef 2)
  br label %14379

6954:                                             ; preds = %406
  %6955 = load ptr, ptr %3, align 8, !tbaa !5
  %6956 = load ptr, ptr %15, align 8, !tbaa !5
  %6957 = getelementptr inbounds %union.YYSTYPE, ptr %6956, i64 0
  %6958 = getelementptr inbounds %struct.anon, ptr %6957, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6955, ptr noundef nonnull align 8 dereferenceable(24) %6958, i32 noundef 6, ptr noundef @.str.152)
  %6959 = load ptr, ptr %3, align 8, !tbaa !5
  %6960 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6959, i32 0, i32 2
  %6961 = load ptr, ptr %6960, align 8, !tbaa !45
  %6962 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6961)
  br i1 %6962, label %6971, label %6963

6963:                                             ; preds = %6954
  %6964 = load ptr, ptr %3, align 8, !tbaa !5
  %6965 = load ptr, ptr %15, align 8, !tbaa !5
  %6966 = getelementptr inbounds %union.YYSTYPE, ptr %6965, i64 0
  %6967 = getelementptr inbounds %struct.anon, ptr %6966, i32 0, i32 0
  %6968 = load ptr, ptr %6964, align 8, !tbaa !19
  %6969 = getelementptr inbounds ptr, ptr %6968, i64 17
  %6970 = load ptr, ptr %6969, align 8
  call void %6970(ptr noundef nonnull align 8 dereferenceable(192) %6964, ptr noundef nonnull align 8 dereferenceable(24) %6967, ptr noundef @.str.152)
  br label %6971

6971:                                             ; preds = %6963, %6954
  %6972 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6973 = load ptr, ptr %15, align 8, !tbaa !5
  %6974 = getelementptr inbounds %union.YYSTYPE, ptr %6973, i64 0
  %6975 = getelementptr inbounds %struct.anon, ptr %6974, i32 0, i32 0
  %6976 = load ptr, ptr %3, align 8, !tbaa !5
  %6977 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6976, i32 0, i32 2
  %6978 = load ptr, ptr %6977, align 8, !tbaa !45
  %6979 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6978)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %6972, ptr noundef nonnull align 8 dereferenceable(24) %6975, i1 noundef zeroext %6979)
  %6980 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %6981 = getelementptr inbounds %"class.glslang::TPublicType", ptr %6980, i32 0, i32 0
  store i32 2, ptr %6981, align 8, !tbaa !10
  %6982 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %6982, i32 noundef 3, i32 noundef 3)
  br label %14379

6983:                                             ; preds = %406
  %6984 = load ptr, ptr %3, align 8, !tbaa !5
  %6985 = load ptr, ptr %15, align 8, !tbaa !5
  %6986 = getelementptr inbounds %union.YYSTYPE, ptr %6985, i64 0
  %6987 = getelementptr inbounds %struct.anon, ptr %6986, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %6984, ptr noundef nonnull align 8 dereferenceable(24) %6987, i32 noundef 6, ptr noundef @.str.152)
  %6988 = load ptr, ptr %3, align 8, !tbaa !5
  %6989 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %6988, i32 0, i32 2
  %6990 = load ptr, ptr %6989, align 8, !tbaa !45
  %6991 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %6990)
  br i1 %6991, label %7000, label %6992

6992:                                             ; preds = %6983
  %6993 = load ptr, ptr %3, align 8, !tbaa !5
  %6994 = load ptr, ptr %15, align 8, !tbaa !5
  %6995 = getelementptr inbounds %union.YYSTYPE, ptr %6994, i64 0
  %6996 = getelementptr inbounds %struct.anon, ptr %6995, i32 0, i32 0
  %6997 = load ptr, ptr %6993, align 8, !tbaa !19
  %6998 = getelementptr inbounds ptr, ptr %6997, i64 17
  %6999 = load ptr, ptr %6998, align 8
  call void %6999(ptr noundef nonnull align 8 dereferenceable(192) %6993, ptr noundef nonnull align 8 dereferenceable(24) %6996, ptr noundef @.str.152)
  br label %7000

7000:                                             ; preds = %6992, %6983
  %7001 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7002 = load ptr, ptr %15, align 8, !tbaa !5
  %7003 = getelementptr inbounds %union.YYSTYPE, ptr %7002, i64 0
  %7004 = getelementptr inbounds %struct.anon, ptr %7003, i32 0, i32 0
  %7005 = load ptr, ptr %3, align 8, !tbaa !5
  %7006 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7005, i32 0, i32 2
  %7007 = load ptr, ptr %7006, align 8, !tbaa !45
  %7008 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7007)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7001, ptr noundef nonnull align 8 dereferenceable(24) %7004, i1 noundef zeroext %7008)
  %7009 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7010 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7009, i32 0, i32 0
  store i32 2, ptr %7010, align 8, !tbaa !10
  %7011 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7011, i32 noundef 3, i32 noundef 4)
  br label %14379

7012:                                             ; preds = %406
  %7013 = load ptr, ptr %3, align 8, !tbaa !5
  %7014 = load ptr, ptr %15, align 8, !tbaa !5
  %7015 = getelementptr inbounds %union.YYSTYPE, ptr %7014, i64 0
  %7016 = getelementptr inbounds %struct.anon, ptr %7015, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %7013, ptr noundef nonnull align 8 dereferenceable(24) %7016, i32 noundef 6, ptr noundef @.str.152)
  %7017 = load ptr, ptr %3, align 8, !tbaa !5
  %7018 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7017, i32 0, i32 2
  %7019 = load ptr, ptr %7018, align 8, !tbaa !45
  %7020 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7019)
  br i1 %7020, label %7029, label %7021

7021:                                             ; preds = %7012
  %7022 = load ptr, ptr %3, align 8, !tbaa !5
  %7023 = load ptr, ptr %15, align 8, !tbaa !5
  %7024 = getelementptr inbounds %union.YYSTYPE, ptr %7023, i64 0
  %7025 = getelementptr inbounds %struct.anon, ptr %7024, i32 0, i32 0
  %7026 = load ptr, ptr %7022, align 8, !tbaa !19
  %7027 = getelementptr inbounds ptr, ptr %7026, i64 17
  %7028 = load ptr, ptr %7027, align 8
  call void %7028(ptr noundef nonnull align 8 dereferenceable(192) %7022, ptr noundef nonnull align 8 dereferenceable(24) %7025, ptr noundef @.str.152)
  br label %7029

7029:                                             ; preds = %7021, %7012
  %7030 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7031 = load ptr, ptr %15, align 8, !tbaa !5
  %7032 = getelementptr inbounds %union.YYSTYPE, ptr %7031, i64 0
  %7033 = getelementptr inbounds %struct.anon, ptr %7032, i32 0, i32 0
  %7034 = load ptr, ptr %3, align 8, !tbaa !5
  %7035 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7034, i32 0, i32 2
  %7036 = load ptr, ptr %7035, align 8, !tbaa !45
  %7037 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7036)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7030, ptr noundef nonnull align 8 dereferenceable(24) %7033, i1 noundef zeroext %7037)
  %7038 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7039 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7038, i32 0, i32 0
  store i32 2, ptr %7039, align 8, !tbaa !10
  %7040 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7040, i32 noundef 4, i32 noundef 2)
  br label %14379

7041:                                             ; preds = %406
  %7042 = load ptr, ptr %3, align 8, !tbaa !5
  %7043 = load ptr, ptr %15, align 8, !tbaa !5
  %7044 = getelementptr inbounds %union.YYSTYPE, ptr %7043, i64 0
  %7045 = getelementptr inbounds %struct.anon, ptr %7044, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %7042, ptr noundef nonnull align 8 dereferenceable(24) %7045, i32 noundef 6, ptr noundef @.str.152)
  %7046 = load ptr, ptr %3, align 8, !tbaa !5
  %7047 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7046, i32 0, i32 2
  %7048 = load ptr, ptr %7047, align 8, !tbaa !45
  %7049 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7048)
  br i1 %7049, label %7058, label %7050

7050:                                             ; preds = %7041
  %7051 = load ptr, ptr %3, align 8, !tbaa !5
  %7052 = load ptr, ptr %15, align 8, !tbaa !5
  %7053 = getelementptr inbounds %union.YYSTYPE, ptr %7052, i64 0
  %7054 = getelementptr inbounds %struct.anon, ptr %7053, i32 0, i32 0
  %7055 = load ptr, ptr %7051, align 8, !tbaa !19
  %7056 = getelementptr inbounds ptr, ptr %7055, i64 17
  %7057 = load ptr, ptr %7056, align 8
  call void %7057(ptr noundef nonnull align 8 dereferenceable(192) %7051, ptr noundef nonnull align 8 dereferenceable(24) %7054, ptr noundef @.str.152)
  br label %7058

7058:                                             ; preds = %7050, %7041
  %7059 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7060 = load ptr, ptr %15, align 8, !tbaa !5
  %7061 = getelementptr inbounds %union.YYSTYPE, ptr %7060, i64 0
  %7062 = getelementptr inbounds %struct.anon, ptr %7061, i32 0, i32 0
  %7063 = load ptr, ptr %3, align 8, !tbaa !5
  %7064 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7063, i32 0, i32 2
  %7065 = load ptr, ptr %7064, align 8, !tbaa !45
  %7066 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7065)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7059, ptr noundef nonnull align 8 dereferenceable(24) %7062, i1 noundef zeroext %7066)
  %7067 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7068 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7067, i32 0, i32 0
  store i32 2, ptr %7068, align 8, !tbaa !10
  %7069 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7069, i32 noundef 4, i32 noundef 3)
  br label %14379

7070:                                             ; preds = %406
  %7071 = load ptr, ptr %3, align 8, !tbaa !5
  %7072 = load ptr, ptr %15, align 8, !tbaa !5
  %7073 = getelementptr inbounds %union.YYSTYPE, ptr %7072, i64 0
  %7074 = getelementptr inbounds %struct.anon, ptr %7073, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %7071, ptr noundef nonnull align 8 dereferenceable(24) %7074, i32 noundef 6, ptr noundef @.str.152)
  %7075 = load ptr, ptr %3, align 8, !tbaa !5
  %7076 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7075, i32 0, i32 2
  %7077 = load ptr, ptr %7076, align 8, !tbaa !45
  %7078 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7077)
  br i1 %7078, label %7087, label %7079

7079:                                             ; preds = %7070
  %7080 = load ptr, ptr %3, align 8, !tbaa !5
  %7081 = load ptr, ptr %15, align 8, !tbaa !5
  %7082 = getelementptr inbounds %union.YYSTYPE, ptr %7081, i64 0
  %7083 = getelementptr inbounds %struct.anon, ptr %7082, i32 0, i32 0
  %7084 = load ptr, ptr %7080, align 8, !tbaa !19
  %7085 = getelementptr inbounds ptr, ptr %7084, i64 17
  %7086 = load ptr, ptr %7085, align 8
  call void %7086(ptr noundef nonnull align 8 dereferenceable(192) %7080, ptr noundef nonnull align 8 dereferenceable(24) %7083, ptr noundef @.str.152)
  br label %7087

7087:                                             ; preds = %7079, %7070
  %7088 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7089 = load ptr, ptr %15, align 8, !tbaa !5
  %7090 = getelementptr inbounds %union.YYSTYPE, ptr %7089, i64 0
  %7091 = getelementptr inbounds %struct.anon, ptr %7090, i32 0, i32 0
  %7092 = load ptr, ptr %3, align 8, !tbaa !5
  %7093 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7092, i32 0, i32 2
  %7094 = load ptr, ptr %7093, align 8, !tbaa !45
  %7095 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7094)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7088, ptr noundef nonnull align 8 dereferenceable(24) %7091, i1 noundef zeroext %7095)
  %7096 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7097 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7096, i32 0, i32 0
  store i32 2, ptr %7097, align 8, !tbaa !10
  %7098 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7098, i32 noundef 4, i32 noundef 4)
  br label %14379

7099:                                             ; preds = %406
  %7100 = load ptr, ptr %3, align 8, !tbaa !5
  %7101 = load ptr, ptr %15, align 8, !tbaa !5
  %7102 = getelementptr inbounds %union.YYSTYPE, ptr %7101, i64 0
  %7103 = getelementptr inbounds %struct.anon, ptr %7102, i32 0, i32 0
  %7104 = load ptr, ptr %3, align 8, !tbaa !5
  %7105 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7104, i32 0, i32 2
  %7106 = load ptr, ptr %7105, align 8, !tbaa !45
  %7107 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7106)
  %7108 = load ptr, ptr %7100, align 8, !tbaa !19
  %7109 = getelementptr inbounds ptr, ptr %7108, i64 18
  %7110 = load ptr, ptr %7109, align 8
  call void %7110(ptr noundef nonnull align 8 dereferenceable(192) %7100, ptr noundef nonnull align 8 dereferenceable(24) %7103, ptr noundef @.str.153, i1 noundef zeroext %7107)
  %7111 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7112 = load ptr, ptr %15, align 8, !tbaa !5
  %7113 = getelementptr inbounds %union.YYSTYPE, ptr %7112, i64 0
  %7114 = getelementptr inbounds %struct.anon, ptr %7113, i32 0, i32 0
  %7115 = load ptr, ptr %3, align 8, !tbaa !5
  %7116 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7115, i32 0, i32 2
  %7117 = load ptr, ptr %7116, align 8, !tbaa !45
  %7118 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7117)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7111, ptr noundef nonnull align 8 dereferenceable(24) %7114, i1 noundef zeroext %7118)
  %7119 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7120 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7119, i32 0, i32 0
  store i32 3, ptr %7120, align 8, !tbaa !10
  %7121 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7121, i32 noundef 2, i32 noundef 2)
  br label %14379

7122:                                             ; preds = %406
  %7123 = load ptr, ptr %3, align 8, !tbaa !5
  %7124 = load ptr, ptr %15, align 8, !tbaa !5
  %7125 = getelementptr inbounds %union.YYSTYPE, ptr %7124, i64 0
  %7126 = getelementptr inbounds %struct.anon, ptr %7125, i32 0, i32 0
  %7127 = load ptr, ptr %3, align 8, !tbaa !5
  %7128 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7127, i32 0, i32 2
  %7129 = load ptr, ptr %7128, align 8, !tbaa !45
  %7130 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7129)
  %7131 = load ptr, ptr %7123, align 8, !tbaa !19
  %7132 = getelementptr inbounds ptr, ptr %7131, i64 18
  %7133 = load ptr, ptr %7132, align 8
  call void %7133(ptr noundef nonnull align 8 dereferenceable(192) %7123, ptr noundef nonnull align 8 dereferenceable(24) %7126, ptr noundef @.str.153, i1 noundef zeroext %7130)
  %7134 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7135 = load ptr, ptr %15, align 8, !tbaa !5
  %7136 = getelementptr inbounds %union.YYSTYPE, ptr %7135, i64 0
  %7137 = getelementptr inbounds %struct.anon, ptr %7136, i32 0, i32 0
  %7138 = load ptr, ptr %3, align 8, !tbaa !5
  %7139 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7138, i32 0, i32 2
  %7140 = load ptr, ptr %7139, align 8, !tbaa !45
  %7141 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7140)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7134, ptr noundef nonnull align 8 dereferenceable(24) %7137, i1 noundef zeroext %7141)
  %7142 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7143 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7142, i32 0, i32 0
  store i32 3, ptr %7143, align 8, !tbaa !10
  %7144 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7144, i32 noundef 3, i32 noundef 3)
  br label %14379

7145:                                             ; preds = %406
  %7146 = load ptr, ptr %3, align 8, !tbaa !5
  %7147 = load ptr, ptr %15, align 8, !tbaa !5
  %7148 = getelementptr inbounds %union.YYSTYPE, ptr %7147, i64 0
  %7149 = getelementptr inbounds %struct.anon, ptr %7148, i32 0, i32 0
  %7150 = load ptr, ptr %3, align 8, !tbaa !5
  %7151 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7150, i32 0, i32 2
  %7152 = load ptr, ptr %7151, align 8, !tbaa !45
  %7153 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7152)
  %7154 = load ptr, ptr %7146, align 8, !tbaa !19
  %7155 = getelementptr inbounds ptr, ptr %7154, i64 18
  %7156 = load ptr, ptr %7155, align 8
  call void %7156(ptr noundef nonnull align 8 dereferenceable(192) %7146, ptr noundef nonnull align 8 dereferenceable(24) %7149, ptr noundef @.str.153, i1 noundef zeroext %7153)
  %7157 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7158 = load ptr, ptr %15, align 8, !tbaa !5
  %7159 = getelementptr inbounds %union.YYSTYPE, ptr %7158, i64 0
  %7160 = getelementptr inbounds %struct.anon, ptr %7159, i32 0, i32 0
  %7161 = load ptr, ptr %3, align 8, !tbaa !5
  %7162 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7161, i32 0, i32 2
  %7163 = load ptr, ptr %7162, align 8, !tbaa !45
  %7164 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7163)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7157, ptr noundef nonnull align 8 dereferenceable(24) %7160, i1 noundef zeroext %7164)
  %7165 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7166 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7165, i32 0, i32 0
  store i32 3, ptr %7166, align 8, !tbaa !10
  %7167 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7167, i32 noundef 4, i32 noundef 4)
  br label %14379

7168:                                             ; preds = %406
  %7169 = load ptr, ptr %3, align 8, !tbaa !5
  %7170 = load ptr, ptr %15, align 8, !tbaa !5
  %7171 = getelementptr inbounds %union.YYSTYPE, ptr %7170, i64 0
  %7172 = getelementptr inbounds %struct.anon, ptr %7171, i32 0, i32 0
  %7173 = load ptr, ptr %3, align 8, !tbaa !5
  %7174 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7173, i32 0, i32 2
  %7175 = load ptr, ptr %7174, align 8, !tbaa !45
  %7176 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7175)
  %7177 = load ptr, ptr %7169, align 8, !tbaa !19
  %7178 = getelementptr inbounds ptr, ptr %7177, i64 18
  %7179 = load ptr, ptr %7178, align 8
  call void %7179(ptr noundef nonnull align 8 dereferenceable(192) %7169, ptr noundef nonnull align 8 dereferenceable(24) %7172, ptr noundef @.str.153, i1 noundef zeroext %7176)
  %7180 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7181 = load ptr, ptr %15, align 8, !tbaa !5
  %7182 = getelementptr inbounds %union.YYSTYPE, ptr %7181, i64 0
  %7183 = getelementptr inbounds %struct.anon, ptr %7182, i32 0, i32 0
  %7184 = load ptr, ptr %3, align 8, !tbaa !5
  %7185 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7184, i32 0, i32 2
  %7186 = load ptr, ptr %7185, align 8, !tbaa !45
  %7187 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7186)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7180, ptr noundef nonnull align 8 dereferenceable(24) %7183, i1 noundef zeroext %7187)
  %7188 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7189 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7188, i32 0, i32 0
  store i32 3, ptr %7189, align 8, !tbaa !10
  %7190 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7190, i32 noundef 2, i32 noundef 2)
  br label %14379

7191:                                             ; preds = %406
  %7192 = load ptr, ptr %3, align 8, !tbaa !5
  %7193 = load ptr, ptr %15, align 8, !tbaa !5
  %7194 = getelementptr inbounds %union.YYSTYPE, ptr %7193, i64 0
  %7195 = getelementptr inbounds %struct.anon, ptr %7194, i32 0, i32 0
  %7196 = load ptr, ptr %3, align 8, !tbaa !5
  %7197 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7196, i32 0, i32 2
  %7198 = load ptr, ptr %7197, align 8, !tbaa !45
  %7199 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7198)
  %7200 = load ptr, ptr %7192, align 8, !tbaa !19
  %7201 = getelementptr inbounds ptr, ptr %7200, i64 18
  %7202 = load ptr, ptr %7201, align 8
  call void %7202(ptr noundef nonnull align 8 dereferenceable(192) %7192, ptr noundef nonnull align 8 dereferenceable(24) %7195, ptr noundef @.str.153, i1 noundef zeroext %7199)
  %7203 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7204 = load ptr, ptr %15, align 8, !tbaa !5
  %7205 = getelementptr inbounds %union.YYSTYPE, ptr %7204, i64 0
  %7206 = getelementptr inbounds %struct.anon, ptr %7205, i32 0, i32 0
  %7207 = load ptr, ptr %3, align 8, !tbaa !5
  %7208 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7207, i32 0, i32 2
  %7209 = load ptr, ptr %7208, align 8, !tbaa !45
  %7210 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7209)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7203, ptr noundef nonnull align 8 dereferenceable(24) %7206, i1 noundef zeroext %7210)
  %7211 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7212 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7211, i32 0, i32 0
  store i32 3, ptr %7212, align 8, !tbaa !10
  %7213 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7213, i32 noundef 2, i32 noundef 3)
  br label %14379

7214:                                             ; preds = %406
  %7215 = load ptr, ptr %3, align 8, !tbaa !5
  %7216 = load ptr, ptr %15, align 8, !tbaa !5
  %7217 = getelementptr inbounds %union.YYSTYPE, ptr %7216, i64 0
  %7218 = getelementptr inbounds %struct.anon, ptr %7217, i32 0, i32 0
  %7219 = load ptr, ptr %3, align 8, !tbaa !5
  %7220 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7219, i32 0, i32 2
  %7221 = load ptr, ptr %7220, align 8, !tbaa !45
  %7222 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7221)
  %7223 = load ptr, ptr %7215, align 8, !tbaa !19
  %7224 = getelementptr inbounds ptr, ptr %7223, i64 18
  %7225 = load ptr, ptr %7224, align 8
  call void %7225(ptr noundef nonnull align 8 dereferenceable(192) %7215, ptr noundef nonnull align 8 dereferenceable(24) %7218, ptr noundef @.str.153, i1 noundef zeroext %7222)
  %7226 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7227 = load ptr, ptr %15, align 8, !tbaa !5
  %7228 = getelementptr inbounds %union.YYSTYPE, ptr %7227, i64 0
  %7229 = getelementptr inbounds %struct.anon, ptr %7228, i32 0, i32 0
  %7230 = load ptr, ptr %3, align 8, !tbaa !5
  %7231 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7230, i32 0, i32 2
  %7232 = load ptr, ptr %7231, align 8, !tbaa !45
  %7233 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7232)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7226, ptr noundef nonnull align 8 dereferenceable(24) %7229, i1 noundef zeroext %7233)
  %7234 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7235 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7234, i32 0, i32 0
  store i32 3, ptr %7235, align 8, !tbaa !10
  %7236 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7236, i32 noundef 2, i32 noundef 4)
  br label %14379

7237:                                             ; preds = %406
  %7238 = load ptr, ptr %3, align 8, !tbaa !5
  %7239 = load ptr, ptr %15, align 8, !tbaa !5
  %7240 = getelementptr inbounds %union.YYSTYPE, ptr %7239, i64 0
  %7241 = getelementptr inbounds %struct.anon, ptr %7240, i32 0, i32 0
  %7242 = load ptr, ptr %3, align 8, !tbaa !5
  %7243 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7242, i32 0, i32 2
  %7244 = load ptr, ptr %7243, align 8, !tbaa !45
  %7245 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7244)
  %7246 = load ptr, ptr %7238, align 8, !tbaa !19
  %7247 = getelementptr inbounds ptr, ptr %7246, i64 18
  %7248 = load ptr, ptr %7247, align 8
  call void %7248(ptr noundef nonnull align 8 dereferenceable(192) %7238, ptr noundef nonnull align 8 dereferenceable(24) %7241, ptr noundef @.str.153, i1 noundef zeroext %7245)
  %7249 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7250 = load ptr, ptr %15, align 8, !tbaa !5
  %7251 = getelementptr inbounds %union.YYSTYPE, ptr %7250, i64 0
  %7252 = getelementptr inbounds %struct.anon, ptr %7251, i32 0, i32 0
  %7253 = load ptr, ptr %3, align 8, !tbaa !5
  %7254 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7253, i32 0, i32 2
  %7255 = load ptr, ptr %7254, align 8, !tbaa !45
  %7256 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7255)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7249, ptr noundef nonnull align 8 dereferenceable(24) %7252, i1 noundef zeroext %7256)
  %7257 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7258 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7257, i32 0, i32 0
  store i32 3, ptr %7258, align 8, !tbaa !10
  %7259 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7259, i32 noundef 3, i32 noundef 2)
  br label %14379

7260:                                             ; preds = %406
  %7261 = load ptr, ptr %3, align 8, !tbaa !5
  %7262 = load ptr, ptr %15, align 8, !tbaa !5
  %7263 = getelementptr inbounds %union.YYSTYPE, ptr %7262, i64 0
  %7264 = getelementptr inbounds %struct.anon, ptr %7263, i32 0, i32 0
  %7265 = load ptr, ptr %3, align 8, !tbaa !5
  %7266 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7265, i32 0, i32 2
  %7267 = load ptr, ptr %7266, align 8, !tbaa !45
  %7268 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7267)
  %7269 = load ptr, ptr %7261, align 8, !tbaa !19
  %7270 = getelementptr inbounds ptr, ptr %7269, i64 18
  %7271 = load ptr, ptr %7270, align 8
  call void %7271(ptr noundef nonnull align 8 dereferenceable(192) %7261, ptr noundef nonnull align 8 dereferenceable(24) %7264, ptr noundef @.str.153, i1 noundef zeroext %7268)
  %7272 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7273 = load ptr, ptr %15, align 8, !tbaa !5
  %7274 = getelementptr inbounds %union.YYSTYPE, ptr %7273, i64 0
  %7275 = getelementptr inbounds %struct.anon, ptr %7274, i32 0, i32 0
  %7276 = load ptr, ptr %3, align 8, !tbaa !5
  %7277 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7276, i32 0, i32 2
  %7278 = load ptr, ptr %7277, align 8, !tbaa !45
  %7279 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7278)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7272, ptr noundef nonnull align 8 dereferenceable(24) %7275, i1 noundef zeroext %7279)
  %7280 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7281 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7280, i32 0, i32 0
  store i32 3, ptr %7281, align 8, !tbaa !10
  %7282 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7282, i32 noundef 3, i32 noundef 3)
  br label %14379

7283:                                             ; preds = %406
  %7284 = load ptr, ptr %3, align 8, !tbaa !5
  %7285 = load ptr, ptr %15, align 8, !tbaa !5
  %7286 = getelementptr inbounds %union.YYSTYPE, ptr %7285, i64 0
  %7287 = getelementptr inbounds %struct.anon, ptr %7286, i32 0, i32 0
  %7288 = load ptr, ptr %3, align 8, !tbaa !5
  %7289 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7288, i32 0, i32 2
  %7290 = load ptr, ptr %7289, align 8, !tbaa !45
  %7291 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7290)
  %7292 = load ptr, ptr %7284, align 8, !tbaa !19
  %7293 = getelementptr inbounds ptr, ptr %7292, i64 18
  %7294 = load ptr, ptr %7293, align 8
  call void %7294(ptr noundef nonnull align 8 dereferenceable(192) %7284, ptr noundef nonnull align 8 dereferenceable(24) %7287, ptr noundef @.str.153, i1 noundef zeroext %7291)
  %7295 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7296 = load ptr, ptr %15, align 8, !tbaa !5
  %7297 = getelementptr inbounds %union.YYSTYPE, ptr %7296, i64 0
  %7298 = getelementptr inbounds %struct.anon, ptr %7297, i32 0, i32 0
  %7299 = load ptr, ptr %3, align 8, !tbaa !5
  %7300 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7299, i32 0, i32 2
  %7301 = load ptr, ptr %7300, align 8, !tbaa !45
  %7302 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7301)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7295, ptr noundef nonnull align 8 dereferenceable(24) %7298, i1 noundef zeroext %7302)
  %7303 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7304 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7303, i32 0, i32 0
  store i32 3, ptr %7304, align 8, !tbaa !10
  %7305 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7305, i32 noundef 3, i32 noundef 4)
  br label %14379

7306:                                             ; preds = %406
  %7307 = load ptr, ptr %3, align 8, !tbaa !5
  %7308 = load ptr, ptr %15, align 8, !tbaa !5
  %7309 = getelementptr inbounds %union.YYSTYPE, ptr %7308, i64 0
  %7310 = getelementptr inbounds %struct.anon, ptr %7309, i32 0, i32 0
  %7311 = load ptr, ptr %3, align 8, !tbaa !5
  %7312 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7311, i32 0, i32 2
  %7313 = load ptr, ptr %7312, align 8, !tbaa !45
  %7314 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7313)
  %7315 = load ptr, ptr %7307, align 8, !tbaa !19
  %7316 = getelementptr inbounds ptr, ptr %7315, i64 18
  %7317 = load ptr, ptr %7316, align 8
  call void %7317(ptr noundef nonnull align 8 dereferenceable(192) %7307, ptr noundef nonnull align 8 dereferenceable(24) %7310, ptr noundef @.str.153, i1 noundef zeroext %7314)
  %7318 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7319 = load ptr, ptr %15, align 8, !tbaa !5
  %7320 = getelementptr inbounds %union.YYSTYPE, ptr %7319, i64 0
  %7321 = getelementptr inbounds %struct.anon, ptr %7320, i32 0, i32 0
  %7322 = load ptr, ptr %3, align 8, !tbaa !5
  %7323 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7322, i32 0, i32 2
  %7324 = load ptr, ptr %7323, align 8, !tbaa !45
  %7325 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7324)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7318, ptr noundef nonnull align 8 dereferenceable(24) %7321, i1 noundef zeroext %7325)
  %7326 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7327 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7326, i32 0, i32 0
  store i32 3, ptr %7327, align 8, !tbaa !10
  %7328 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7328, i32 noundef 4, i32 noundef 2)
  br label %14379

7329:                                             ; preds = %406
  %7330 = load ptr, ptr %3, align 8, !tbaa !5
  %7331 = load ptr, ptr %15, align 8, !tbaa !5
  %7332 = getelementptr inbounds %union.YYSTYPE, ptr %7331, i64 0
  %7333 = getelementptr inbounds %struct.anon, ptr %7332, i32 0, i32 0
  %7334 = load ptr, ptr %3, align 8, !tbaa !5
  %7335 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7334, i32 0, i32 2
  %7336 = load ptr, ptr %7335, align 8, !tbaa !45
  %7337 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7336)
  %7338 = load ptr, ptr %7330, align 8, !tbaa !19
  %7339 = getelementptr inbounds ptr, ptr %7338, i64 18
  %7340 = load ptr, ptr %7339, align 8
  call void %7340(ptr noundef nonnull align 8 dereferenceable(192) %7330, ptr noundef nonnull align 8 dereferenceable(24) %7333, ptr noundef @.str.153, i1 noundef zeroext %7337)
  %7341 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7342 = load ptr, ptr %15, align 8, !tbaa !5
  %7343 = getelementptr inbounds %union.YYSTYPE, ptr %7342, i64 0
  %7344 = getelementptr inbounds %struct.anon, ptr %7343, i32 0, i32 0
  %7345 = load ptr, ptr %3, align 8, !tbaa !5
  %7346 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7345, i32 0, i32 2
  %7347 = load ptr, ptr %7346, align 8, !tbaa !45
  %7348 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7347)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7341, ptr noundef nonnull align 8 dereferenceable(24) %7344, i1 noundef zeroext %7348)
  %7349 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7350 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7349, i32 0, i32 0
  store i32 3, ptr %7350, align 8, !tbaa !10
  %7351 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7351, i32 noundef 4, i32 noundef 3)
  br label %14379

7352:                                             ; preds = %406
  %7353 = load ptr, ptr %3, align 8, !tbaa !5
  %7354 = load ptr, ptr %15, align 8, !tbaa !5
  %7355 = getelementptr inbounds %union.YYSTYPE, ptr %7354, i64 0
  %7356 = getelementptr inbounds %struct.anon, ptr %7355, i32 0, i32 0
  %7357 = load ptr, ptr %3, align 8, !tbaa !5
  %7358 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7357, i32 0, i32 2
  %7359 = load ptr, ptr %7358, align 8, !tbaa !45
  %7360 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7359)
  %7361 = load ptr, ptr %7353, align 8, !tbaa !19
  %7362 = getelementptr inbounds ptr, ptr %7361, i64 18
  %7363 = load ptr, ptr %7362, align 8
  call void %7363(ptr noundef nonnull align 8 dereferenceable(192) %7353, ptr noundef nonnull align 8 dereferenceable(24) %7356, ptr noundef @.str.153, i1 noundef zeroext %7360)
  %7364 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7365 = load ptr, ptr %15, align 8, !tbaa !5
  %7366 = getelementptr inbounds %union.YYSTYPE, ptr %7365, i64 0
  %7367 = getelementptr inbounds %struct.anon, ptr %7366, i32 0, i32 0
  %7368 = load ptr, ptr %3, align 8, !tbaa !5
  %7369 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7368, i32 0, i32 2
  %7370 = load ptr, ptr %7369, align 8, !tbaa !45
  %7371 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7370)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7364, ptr noundef nonnull align 8 dereferenceable(24) %7367, i1 noundef zeroext %7371)
  %7372 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7373 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7372, i32 0, i32 0
  store i32 3, ptr %7373, align 8, !tbaa !10
  %7374 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7374, i32 noundef 4, i32 noundef 4)
  br label %14379

7375:                                             ; preds = %406
  %7376 = load ptr, ptr %3, align 8, !tbaa !5
  %7377 = load ptr, ptr %15, align 8, !tbaa !5
  %7378 = getelementptr inbounds %union.YYSTYPE, ptr %7377, i64 0
  %7379 = getelementptr inbounds %struct.anon, ptr %7378, i32 0, i32 0
  %7380 = load ptr, ptr %3, align 8, !tbaa !5
  %7381 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7380, i32 0, i32 2
  %7382 = load ptr, ptr %7381, align 8, !tbaa !45
  %7383 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7382)
  %7384 = load ptr, ptr %7376, align 8, !tbaa !19
  %7385 = getelementptr inbounds ptr, ptr %7384, i64 33
  %7386 = load ptr, ptr %7385, align 8
  call void %7386(ptr noundef nonnull align 8 dereferenceable(192) %7376, ptr noundef nonnull align 8 dereferenceable(24) %7379, ptr noundef @.str.154, i1 noundef zeroext %7383)
  %7387 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7388 = load ptr, ptr %15, align 8, !tbaa !5
  %7389 = getelementptr inbounds %union.YYSTYPE, ptr %7388, i64 0
  %7390 = getelementptr inbounds %struct.anon, ptr %7389, i32 0, i32 0
  %7391 = load ptr, ptr %3, align 8, !tbaa !5
  %7392 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7391, i32 0, i32 2
  %7393 = load ptr, ptr %7392, align 8, !tbaa !45
  %7394 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7393)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7387, ptr noundef nonnull align 8 dereferenceable(24) %7390, i1 noundef zeroext %7394)
  %7395 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7396 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7395, i32 0, i32 0
  store i32 1, ptr %7396, align 8, !tbaa !10
  %7397 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7397, i32 noundef 2, i32 noundef 2)
  br label %14379

7398:                                             ; preds = %406
  %7399 = load ptr, ptr %3, align 8, !tbaa !5
  %7400 = load ptr, ptr %15, align 8, !tbaa !5
  %7401 = getelementptr inbounds %union.YYSTYPE, ptr %7400, i64 0
  %7402 = getelementptr inbounds %struct.anon, ptr %7401, i32 0, i32 0
  %7403 = load ptr, ptr %3, align 8, !tbaa !5
  %7404 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7403, i32 0, i32 2
  %7405 = load ptr, ptr %7404, align 8, !tbaa !45
  %7406 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7405)
  %7407 = load ptr, ptr %7399, align 8, !tbaa !19
  %7408 = getelementptr inbounds ptr, ptr %7407, i64 33
  %7409 = load ptr, ptr %7408, align 8
  call void %7409(ptr noundef nonnull align 8 dereferenceable(192) %7399, ptr noundef nonnull align 8 dereferenceable(24) %7402, ptr noundef @.str.154, i1 noundef zeroext %7406)
  %7410 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7411 = load ptr, ptr %15, align 8, !tbaa !5
  %7412 = getelementptr inbounds %union.YYSTYPE, ptr %7411, i64 0
  %7413 = getelementptr inbounds %struct.anon, ptr %7412, i32 0, i32 0
  %7414 = load ptr, ptr %3, align 8, !tbaa !5
  %7415 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7414, i32 0, i32 2
  %7416 = load ptr, ptr %7415, align 8, !tbaa !45
  %7417 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7416)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7410, ptr noundef nonnull align 8 dereferenceable(24) %7413, i1 noundef zeroext %7417)
  %7418 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7419 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7418, i32 0, i32 0
  store i32 1, ptr %7419, align 8, !tbaa !10
  %7420 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7420, i32 noundef 3, i32 noundef 3)
  br label %14379

7421:                                             ; preds = %406
  %7422 = load ptr, ptr %3, align 8, !tbaa !5
  %7423 = load ptr, ptr %15, align 8, !tbaa !5
  %7424 = getelementptr inbounds %union.YYSTYPE, ptr %7423, i64 0
  %7425 = getelementptr inbounds %struct.anon, ptr %7424, i32 0, i32 0
  %7426 = load ptr, ptr %3, align 8, !tbaa !5
  %7427 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7426, i32 0, i32 2
  %7428 = load ptr, ptr %7427, align 8, !tbaa !45
  %7429 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7428)
  %7430 = load ptr, ptr %7422, align 8, !tbaa !19
  %7431 = getelementptr inbounds ptr, ptr %7430, i64 33
  %7432 = load ptr, ptr %7431, align 8
  call void %7432(ptr noundef nonnull align 8 dereferenceable(192) %7422, ptr noundef nonnull align 8 dereferenceable(24) %7425, ptr noundef @.str.154, i1 noundef zeroext %7429)
  %7433 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7434 = load ptr, ptr %15, align 8, !tbaa !5
  %7435 = getelementptr inbounds %union.YYSTYPE, ptr %7434, i64 0
  %7436 = getelementptr inbounds %struct.anon, ptr %7435, i32 0, i32 0
  %7437 = load ptr, ptr %3, align 8, !tbaa !5
  %7438 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7437, i32 0, i32 2
  %7439 = load ptr, ptr %7438, align 8, !tbaa !45
  %7440 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7439)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7433, ptr noundef nonnull align 8 dereferenceable(24) %7436, i1 noundef zeroext %7440)
  %7441 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7442 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7441, i32 0, i32 0
  store i32 1, ptr %7442, align 8, !tbaa !10
  %7443 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7443, i32 noundef 4, i32 noundef 4)
  br label %14379

7444:                                             ; preds = %406
  %7445 = load ptr, ptr %3, align 8, !tbaa !5
  %7446 = load ptr, ptr %15, align 8, !tbaa !5
  %7447 = getelementptr inbounds %union.YYSTYPE, ptr %7446, i64 0
  %7448 = getelementptr inbounds %struct.anon, ptr %7447, i32 0, i32 0
  %7449 = load ptr, ptr %3, align 8, !tbaa !5
  %7450 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7449, i32 0, i32 2
  %7451 = load ptr, ptr %7450, align 8, !tbaa !45
  %7452 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7451)
  %7453 = load ptr, ptr %7445, align 8, !tbaa !19
  %7454 = getelementptr inbounds ptr, ptr %7453, i64 33
  %7455 = load ptr, ptr %7454, align 8
  call void %7455(ptr noundef nonnull align 8 dereferenceable(192) %7445, ptr noundef nonnull align 8 dereferenceable(24) %7448, ptr noundef @.str.154, i1 noundef zeroext %7452)
  %7456 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7457 = load ptr, ptr %15, align 8, !tbaa !5
  %7458 = getelementptr inbounds %union.YYSTYPE, ptr %7457, i64 0
  %7459 = getelementptr inbounds %struct.anon, ptr %7458, i32 0, i32 0
  %7460 = load ptr, ptr %3, align 8, !tbaa !5
  %7461 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7460, i32 0, i32 2
  %7462 = load ptr, ptr %7461, align 8, !tbaa !45
  %7463 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7462)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7456, ptr noundef nonnull align 8 dereferenceable(24) %7459, i1 noundef zeroext %7463)
  %7464 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7465 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7464, i32 0, i32 0
  store i32 1, ptr %7465, align 8, !tbaa !10
  %7466 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7466, i32 noundef 2, i32 noundef 2)
  br label %14379

7467:                                             ; preds = %406
  %7468 = load ptr, ptr %3, align 8, !tbaa !5
  %7469 = load ptr, ptr %15, align 8, !tbaa !5
  %7470 = getelementptr inbounds %union.YYSTYPE, ptr %7469, i64 0
  %7471 = getelementptr inbounds %struct.anon, ptr %7470, i32 0, i32 0
  %7472 = load ptr, ptr %3, align 8, !tbaa !5
  %7473 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7472, i32 0, i32 2
  %7474 = load ptr, ptr %7473, align 8, !tbaa !45
  %7475 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7474)
  %7476 = load ptr, ptr %7468, align 8, !tbaa !19
  %7477 = getelementptr inbounds ptr, ptr %7476, i64 33
  %7478 = load ptr, ptr %7477, align 8
  call void %7478(ptr noundef nonnull align 8 dereferenceable(192) %7468, ptr noundef nonnull align 8 dereferenceable(24) %7471, ptr noundef @.str.154, i1 noundef zeroext %7475)
  %7479 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7480 = load ptr, ptr %15, align 8, !tbaa !5
  %7481 = getelementptr inbounds %union.YYSTYPE, ptr %7480, i64 0
  %7482 = getelementptr inbounds %struct.anon, ptr %7481, i32 0, i32 0
  %7483 = load ptr, ptr %3, align 8, !tbaa !5
  %7484 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7483, i32 0, i32 2
  %7485 = load ptr, ptr %7484, align 8, !tbaa !45
  %7486 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7485)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7479, ptr noundef nonnull align 8 dereferenceable(24) %7482, i1 noundef zeroext %7486)
  %7487 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7488 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7487, i32 0, i32 0
  store i32 1, ptr %7488, align 8, !tbaa !10
  %7489 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7489, i32 noundef 2, i32 noundef 3)
  br label %14379

7490:                                             ; preds = %406
  %7491 = load ptr, ptr %3, align 8, !tbaa !5
  %7492 = load ptr, ptr %15, align 8, !tbaa !5
  %7493 = getelementptr inbounds %union.YYSTYPE, ptr %7492, i64 0
  %7494 = getelementptr inbounds %struct.anon, ptr %7493, i32 0, i32 0
  %7495 = load ptr, ptr %3, align 8, !tbaa !5
  %7496 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7495, i32 0, i32 2
  %7497 = load ptr, ptr %7496, align 8, !tbaa !45
  %7498 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7497)
  %7499 = load ptr, ptr %7491, align 8, !tbaa !19
  %7500 = getelementptr inbounds ptr, ptr %7499, i64 33
  %7501 = load ptr, ptr %7500, align 8
  call void %7501(ptr noundef nonnull align 8 dereferenceable(192) %7491, ptr noundef nonnull align 8 dereferenceable(24) %7494, ptr noundef @.str.154, i1 noundef zeroext %7498)
  %7502 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7503 = load ptr, ptr %15, align 8, !tbaa !5
  %7504 = getelementptr inbounds %union.YYSTYPE, ptr %7503, i64 0
  %7505 = getelementptr inbounds %struct.anon, ptr %7504, i32 0, i32 0
  %7506 = load ptr, ptr %3, align 8, !tbaa !5
  %7507 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7506, i32 0, i32 2
  %7508 = load ptr, ptr %7507, align 8, !tbaa !45
  %7509 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7508)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7502, ptr noundef nonnull align 8 dereferenceable(24) %7505, i1 noundef zeroext %7509)
  %7510 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7511 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7510, i32 0, i32 0
  store i32 1, ptr %7511, align 8, !tbaa !10
  %7512 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7512, i32 noundef 2, i32 noundef 4)
  br label %14379

7513:                                             ; preds = %406
  %7514 = load ptr, ptr %3, align 8, !tbaa !5
  %7515 = load ptr, ptr %15, align 8, !tbaa !5
  %7516 = getelementptr inbounds %union.YYSTYPE, ptr %7515, i64 0
  %7517 = getelementptr inbounds %struct.anon, ptr %7516, i32 0, i32 0
  %7518 = load ptr, ptr %3, align 8, !tbaa !5
  %7519 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7518, i32 0, i32 2
  %7520 = load ptr, ptr %7519, align 8, !tbaa !45
  %7521 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7520)
  %7522 = load ptr, ptr %7514, align 8, !tbaa !19
  %7523 = getelementptr inbounds ptr, ptr %7522, i64 33
  %7524 = load ptr, ptr %7523, align 8
  call void %7524(ptr noundef nonnull align 8 dereferenceable(192) %7514, ptr noundef nonnull align 8 dereferenceable(24) %7517, ptr noundef @.str.154, i1 noundef zeroext %7521)
  %7525 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7526 = load ptr, ptr %15, align 8, !tbaa !5
  %7527 = getelementptr inbounds %union.YYSTYPE, ptr %7526, i64 0
  %7528 = getelementptr inbounds %struct.anon, ptr %7527, i32 0, i32 0
  %7529 = load ptr, ptr %3, align 8, !tbaa !5
  %7530 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7529, i32 0, i32 2
  %7531 = load ptr, ptr %7530, align 8, !tbaa !45
  %7532 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7531)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7525, ptr noundef nonnull align 8 dereferenceable(24) %7528, i1 noundef zeroext %7532)
  %7533 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7534 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7533, i32 0, i32 0
  store i32 1, ptr %7534, align 8, !tbaa !10
  %7535 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7535, i32 noundef 3, i32 noundef 2)
  br label %14379

7536:                                             ; preds = %406
  %7537 = load ptr, ptr %3, align 8, !tbaa !5
  %7538 = load ptr, ptr %15, align 8, !tbaa !5
  %7539 = getelementptr inbounds %union.YYSTYPE, ptr %7538, i64 0
  %7540 = getelementptr inbounds %struct.anon, ptr %7539, i32 0, i32 0
  %7541 = load ptr, ptr %3, align 8, !tbaa !5
  %7542 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7541, i32 0, i32 2
  %7543 = load ptr, ptr %7542, align 8, !tbaa !45
  %7544 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7543)
  %7545 = load ptr, ptr %7537, align 8, !tbaa !19
  %7546 = getelementptr inbounds ptr, ptr %7545, i64 33
  %7547 = load ptr, ptr %7546, align 8
  call void %7547(ptr noundef nonnull align 8 dereferenceable(192) %7537, ptr noundef nonnull align 8 dereferenceable(24) %7540, ptr noundef @.str.154, i1 noundef zeroext %7544)
  %7548 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7549 = load ptr, ptr %15, align 8, !tbaa !5
  %7550 = getelementptr inbounds %union.YYSTYPE, ptr %7549, i64 0
  %7551 = getelementptr inbounds %struct.anon, ptr %7550, i32 0, i32 0
  %7552 = load ptr, ptr %3, align 8, !tbaa !5
  %7553 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7552, i32 0, i32 2
  %7554 = load ptr, ptr %7553, align 8, !tbaa !45
  %7555 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7554)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7548, ptr noundef nonnull align 8 dereferenceable(24) %7551, i1 noundef zeroext %7555)
  %7556 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7557 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7556, i32 0, i32 0
  store i32 1, ptr %7557, align 8, !tbaa !10
  %7558 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7558, i32 noundef 3, i32 noundef 3)
  br label %14379

7559:                                             ; preds = %406
  %7560 = load ptr, ptr %3, align 8, !tbaa !5
  %7561 = load ptr, ptr %15, align 8, !tbaa !5
  %7562 = getelementptr inbounds %union.YYSTYPE, ptr %7561, i64 0
  %7563 = getelementptr inbounds %struct.anon, ptr %7562, i32 0, i32 0
  %7564 = load ptr, ptr %3, align 8, !tbaa !5
  %7565 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7564, i32 0, i32 2
  %7566 = load ptr, ptr %7565, align 8, !tbaa !45
  %7567 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7566)
  %7568 = load ptr, ptr %7560, align 8, !tbaa !19
  %7569 = getelementptr inbounds ptr, ptr %7568, i64 33
  %7570 = load ptr, ptr %7569, align 8
  call void %7570(ptr noundef nonnull align 8 dereferenceable(192) %7560, ptr noundef nonnull align 8 dereferenceable(24) %7563, ptr noundef @.str.154, i1 noundef zeroext %7567)
  %7571 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7572 = load ptr, ptr %15, align 8, !tbaa !5
  %7573 = getelementptr inbounds %union.YYSTYPE, ptr %7572, i64 0
  %7574 = getelementptr inbounds %struct.anon, ptr %7573, i32 0, i32 0
  %7575 = load ptr, ptr %3, align 8, !tbaa !5
  %7576 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7575, i32 0, i32 2
  %7577 = load ptr, ptr %7576, align 8, !tbaa !45
  %7578 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7577)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7571, ptr noundef nonnull align 8 dereferenceable(24) %7574, i1 noundef zeroext %7578)
  %7579 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7580 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7579, i32 0, i32 0
  store i32 1, ptr %7580, align 8, !tbaa !10
  %7581 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7581, i32 noundef 3, i32 noundef 4)
  br label %14379

7582:                                             ; preds = %406
  %7583 = load ptr, ptr %3, align 8, !tbaa !5
  %7584 = load ptr, ptr %15, align 8, !tbaa !5
  %7585 = getelementptr inbounds %union.YYSTYPE, ptr %7584, i64 0
  %7586 = getelementptr inbounds %struct.anon, ptr %7585, i32 0, i32 0
  %7587 = load ptr, ptr %3, align 8, !tbaa !5
  %7588 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7587, i32 0, i32 2
  %7589 = load ptr, ptr %7588, align 8, !tbaa !45
  %7590 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7589)
  %7591 = load ptr, ptr %7583, align 8, !tbaa !19
  %7592 = getelementptr inbounds ptr, ptr %7591, i64 33
  %7593 = load ptr, ptr %7592, align 8
  call void %7593(ptr noundef nonnull align 8 dereferenceable(192) %7583, ptr noundef nonnull align 8 dereferenceable(24) %7586, ptr noundef @.str.154, i1 noundef zeroext %7590)
  %7594 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7595 = load ptr, ptr %15, align 8, !tbaa !5
  %7596 = getelementptr inbounds %union.YYSTYPE, ptr %7595, i64 0
  %7597 = getelementptr inbounds %struct.anon, ptr %7596, i32 0, i32 0
  %7598 = load ptr, ptr %3, align 8, !tbaa !5
  %7599 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7598, i32 0, i32 2
  %7600 = load ptr, ptr %7599, align 8, !tbaa !45
  %7601 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7600)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7594, ptr noundef nonnull align 8 dereferenceable(24) %7597, i1 noundef zeroext %7601)
  %7602 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7603 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7602, i32 0, i32 0
  store i32 1, ptr %7603, align 8, !tbaa !10
  %7604 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7604, i32 noundef 4, i32 noundef 2)
  br label %14379

7605:                                             ; preds = %406
  %7606 = load ptr, ptr %3, align 8, !tbaa !5
  %7607 = load ptr, ptr %15, align 8, !tbaa !5
  %7608 = getelementptr inbounds %union.YYSTYPE, ptr %7607, i64 0
  %7609 = getelementptr inbounds %struct.anon, ptr %7608, i32 0, i32 0
  %7610 = load ptr, ptr %3, align 8, !tbaa !5
  %7611 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7610, i32 0, i32 2
  %7612 = load ptr, ptr %7611, align 8, !tbaa !45
  %7613 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7612)
  %7614 = load ptr, ptr %7606, align 8, !tbaa !19
  %7615 = getelementptr inbounds ptr, ptr %7614, i64 33
  %7616 = load ptr, ptr %7615, align 8
  call void %7616(ptr noundef nonnull align 8 dereferenceable(192) %7606, ptr noundef nonnull align 8 dereferenceable(24) %7609, ptr noundef @.str.154, i1 noundef zeroext %7613)
  %7617 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7618 = load ptr, ptr %15, align 8, !tbaa !5
  %7619 = getelementptr inbounds %union.YYSTYPE, ptr %7618, i64 0
  %7620 = getelementptr inbounds %struct.anon, ptr %7619, i32 0, i32 0
  %7621 = load ptr, ptr %3, align 8, !tbaa !5
  %7622 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7621, i32 0, i32 2
  %7623 = load ptr, ptr %7622, align 8, !tbaa !45
  %7624 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7623)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7617, ptr noundef nonnull align 8 dereferenceable(24) %7620, i1 noundef zeroext %7624)
  %7625 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7626 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7625, i32 0, i32 0
  store i32 1, ptr %7626, align 8, !tbaa !10
  %7627 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7627, i32 noundef 4, i32 noundef 3)
  br label %14379

7628:                                             ; preds = %406
  %7629 = load ptr, ptr %3, align 8, !tbaa !5
  %7630 = load ptr, ptr %15, align 8, !tbaa !5
  %7631 = getelementptr inbounds %union.YYSTYPE, ptr %7630, i64 0
  %7632 = getelementptr inbounds %struct.anon, ptr %7631, i32 0, i32 0
  %7633 = load ptr, ptr %3, align 8, !tbaa !5
  %7634 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7633, i32 0, i32 2
  %7635 = load ptr, ptr %7634, align 8, !tbaa !45
  %7636 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7635)
  %7637 = load ptr, ptr %7629, align 8, !tbaa !19
  %7638 = getelementptr inbounds ptr, ptr %7637, i64 33
  %7639 = load ptr, ptr %7638, align 8
  call void %7639(ptr noundef nonnull align 8 dereferenceable(192) %7629, ptr noundef nonnull align 8 dereferenceable(24) %7632, ptr noundef @.str.154, i1 noundef zeroext %7636)
  %7640 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7641 = load ptr, ptr %15, align 8, !tbaa !5
  %7642 = getelementptr inbounds %union.YYSTYPE, ptr %7641, i64 0
  %7643 = getelementptr inbounds %struct.anon, ptr %7642, i32 0, i32 0
  %7644 = load ptr, ptr %3, align 8, !tbaa !5
  %7645 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7644, i32 0, i32 2
  %7646 = load ptr, ptr %7645, align 8, !tbaa !45
  %7647 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7646)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7640, ptr noundef nonnull align 8 dereferenceable(24) %7643, i1 noundef zeroext %7647)
  %7648 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7649 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7648, i32 0, i32 0
  store i32 1, ptr %7649, align 8, !tbaa !10
  %7650 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7650, i32 noundef 4, i32 noundef 4)
  br label %14379

7651:                                             ; preds = %406
  %7652 = load ptr, ptr %3, align 8, !tbaa !5
  %7653 = load ptr, ptr %15, align 8, !tbaa !5
  %7654 = getelementptr inbounds %union.YYSTYPE, ptr %7653, i64 0
  %7655 = getelementptr inbounds %struct.anon, ptr %7654, i32 0, i32 0
  %7656 = load ptr, ptr %3, align 8, !tbaa !5
  %7657 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7656, i32 0, i32 2
  %7658 = load ptr, ptr %7657, align 8, !tbaa !45
  %7659 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7658)
  %7660 = load ptr, ptr %7652, align 8, !tbaa !19
  %7661 = getelementptr inbounds ptr, ptr %7660, i64 34
  %7662 = load ptr, ptr %7661, align 8
  call void %7662(ptr noundef nonnull align 8 dereferenceable(192) %7652, ptr noundef nonnull align 8 dereferenceable(24) %7655, ptr noundef @.str.155, i1 noundef zeroext %7659)
  %7663 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7664 = load ptr, ptr %15, align 8, !tbaa !5
  %7665 = getelementptr inbounds %union.YYSTYPE, ptr %7664, i64 0
  %7666 = getelementptr inbounds %struct.anon, ptr %7665, i32 0, i32 0
  %7667 = load ptr, ptr %3, align 8, !tbaa !5
  %7668 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7667, i32 0, i32 2
  %7669 = load ptr, ptr %7668, align 8, !tbaa !45
  %7670 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7669)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7663, ptr noundef nonnull align 8 dereferenceable(24) %7666, i1 noundef zeroext %7670)
  %7671 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7672 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7671, i32 0, i32 0
  store i32 2, ptr %7672, align 8, !tbaa !10
  %7673 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7673, i32 noundef 2, i32 noundef 2)
  br label %14379

7674:                                             ; preds = %406
  %7675 = load ptr, ptr %3, align 8, !tbaa !5
  %7676 = load ptr, ptr %15, align 8, !tbaa !5
  %7677 = getelementptr inbounds %union.YYSTYPE, ptr %7676, i64 0
  %7678 = getelementptr inbounds %struct.anon, ptr %7677, i32 0, i32 0
  %7679 = load ptr, ptr %3, align 8, !tbaa !5
  %7680 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7679, i32 0, i32 2
  %7681 = load ptr, ptr %7680, align 8, !tbaa !45
  %7682 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7681)
  %7683 = load ptr, ptr %7675, align 8, !tbaa !19
  %7684 = getelementptr inbounds ptr, ptr %7683, i64 34
  %7685 = load ptr, ptr %7684, align 8
  call void %7685(ptr noundef nonnull align 8 dereferenceable(192) %7675, ptr noundef nonnull align 8 dereferenceable(24) %7678, ptr noundef @.str.155, i1 noundef zeroext %7682)
  %7686 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7687 = load ptr, ptr %15, align 8, !tbaa !5
  %7688 = getelementptr inbounds %union.YYSTYPE, ptr %7687, i64 0
  %7689 = getelementptr inbounds %struct.anon, ptr %7688, i32 0, i32 0
  %7690 = load ptr, ptr %3, align 8, !tbaa !5
  %7691 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7690, i32 0, i32 2
  %7692 = load ptr, ptr %7691, align 8, !tbaa !45
  %7693 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7692)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7686, ptr noundef nonnull align 8 dereferenceable(24) %7689, i1 noundef zeroext %7693)
  %7694 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7695 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7694, i32 0, i32 0
  store i32 2, ptr %7695, align 8, !tbaa !10
  %7696 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7696, i32 noundef 3, i32 noundef 3)
  br label %14379

7697:                                             ; preds = %406
  %7698 = load ptr, ptr %3, align 8, !tbaa !5
  %7699 = load ptr, ptr %15, align 8, !tbaa !5
  %7700 = getelementptr inbounds %union.YYSTYPE, ptr %7699, i64 0
  %7701 = getelementptr inbounds %struct.anon, ptr %7700, i32 0, i32 0
  %7702 = load ptr, ptr %3, align 8, !tbaa !5
  %7703 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7702, i32 0, i32 2
  %7704 = load ptr, ptr %7703, align 8, !tbaa !45
  %7705 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7704)
  %7706 = load ptr, ptr %7698, align 8, !tbaa !19
  %7707 = getelementptr inbounds ptr, ptr %7706, i64 34
  %7708 = load ptr, ptr %7707, align 8
  call void %7708(ptr noundef nonnull align 8 dereferenceable(192) %7698, ptr noundef nonnull align 8 dereferenceable(24) %7701, ptr noundef @.str.155, i1 noundef zeroext %7705)
  %7709 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7710 = load ptr, ptr %15, align 8, !tbaa !5
  %7711 = getelementptr inbounds %union.YYSTYPE, ptr %7710, i64 0
  %7712 = getelementptr inbounds %struct.anon, ptr %7711, i32 0, i32 0
  %7713 = load ptr, ptr %3, align 8, !tbaa !5
  %7714 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7713, i32 0, i32 2
  %7715 = load ptr, ptr %7714, align 8, !tbaa !45
  %7716 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7715)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7709, ptr noundef nonnull align 8 dereferenceable(24) %7712, i1 noundef zeroext %7716)
  %7717 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7718 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7717, i32 0, i32 0
  store i32 2, ptr %7718, align 8, !tbaa !10
  %7719 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7719, i32 noundef 4, i32 noundef 4)
  br label %14379

7720:                                             ; preds = %406
  %7721 = load ptr, ptr %3, align 8, !tbaa !5
  %7722 = load ptr, ptr %15, align 8, !tbaa !5
  %7723 = getelementptr inbounds %union.YYSTYPE, ptr %7722, i64 0
  %7724 = getelementptr inbounds %struct.anon, ptr %7723, i32 0, i32 0
  %7725 = load ptr, ptr %3, align 8, !tbaa !5
  %7726 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7725, i32 0, i32 2
  %7727 = load ptr, ptr %7726, align 8, !tbaa !45
  %7728 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7727)
  %7729 = load ptr, ptr %7721, align 8, !tbaa !19
  %7730 = getelementptr inbounds ptr, ptr %7729, i64 34
  %7731 = load ptr, ptr %7730, align 8
  call void %7731(ptr noundef nonnull align 8 dereferenceable(192) %7721, ptr noundef nonnull align 8 dereferenceable(24) %7724, ptr noundef @.str.155, i1 noundef zeroext %7728)
  %7732 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7733 = load ptr, ptr %15, align 8, !tbaa !5
  %7734 = getelementptr inbounds %union.YYSTYPE, ptr %7733, i64 0
  %7735 = getelementptr inbounds %struct.anon, ptr %7734, i32 0, i32 0
  %7736 = load ptr, ptr %3, align 8, !tbaa !5
  %7737 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7736, i32 0, i32 2
  %7738 = load ptr, ptr %7737, align 8, !tbaa !45
  %7739 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7738)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7732, ptr noundef nonnull align 8 dereferenceable(24) %7735, i1 noundef zeroext %7739)
  %7740 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7741 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7740, i32 0, i32 0
  store i32 2, ptr %7741, align 8, !tbaa !10
  %7742 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7742, i32 noundef 2, i32 noundef 2)
  br label %14379

7743:                                             ; preds = %406
  %7744 = load ptr, ptr %3, align 8, !tbaa !5
  %7745 = load ptr, ptr %15, align 8, !tbaa !5
  %7746 = getelementptr inbounds %union.YYSTYPE, ptr %7745, i64 0
  %7747 = getelementptr inbounds %struct.anon, ptr %7746, i32 0, i32 0
  %7748 = load ptr, ptr %3, align 8, !tbaa !5
  %7749 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7748, i32 0, i32 2
  %7750 = load ptr, ptr %7749, align 8, !tbaa !45
  %7751 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7750)
  %7752 = load ptr, ptr %7744, align 8, !tbaa !19
  %7753 = getelementptr inbounds ptr, ptr %7752, i64 34
  %7754 = load ptr, ptr %7753, align 8
  call void %7754(ptr noundef nonnull align 8 dereferenceable(192) %7744, ptr noundef nonnull align 8 dereferenceable(24) %7747, ptr noundef @.str.155, i1 noundef zeroext %7751)
  %7755 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7756 = load ptr, ptr %15, align 8, !tbaa !5
  %7757 = getelementptr inbounds %union.YYSTYPE, ptr %7756, i64 0
  %7758 = getelementptr inbounds %struct.anon, ptr %7757, i32 0, i32 0
  %7759 = load ptr, ptr %3, align 8, !tbaa !5
  %7760 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7759, i32 0, i32 2
  %7761 = load ptr, ptr %7760, align 8, !tbaa !45
  %7762 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7761)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7755, ptr noundef nonnull align 8 dereferenceable(24) %7758, i1 noundef zeroext %7762)
  %7763 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7764 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7763, i32 0, i32 0
  store i32 2, ptr %7764, align 8, !tbaa !10
  %7765 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7765, i32 noundef 2, i32 noundef 3)
  br label %14379

7766:                                             ; preds = %406
  %7767 = load ptr, ptr %3, align 8, !tbaa !5
  %7768 = load ptr, ptr %15, align 8, !tbaa !5
  %7769 = getelementptr inbounds %union.YYSTYPE, ptr %7768, i64 0
  %7770 = getelementptr inbounds %struct.anon, ptr %7769, i32 0, i32 0
  %7771 = load ptr, ptr %3, align 8, !tbaa !5
  %7772 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7771, i32 0, i32 2
  %7773 = load ptr, ptr %7772, align 8, !tbaa !45
  %7774 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7773)
  %7775 = load ptr, ptr %7767, align 8, !tbaa !19
  %7776 = getelementptr inbounds ptr, ptr %7775, i64 34
  %7777 = load ptr, ptr %7776, align 8
  call void %7777(ptr noundef nonnull align 8 dereferenceable(192) %7767, ptr noundef nonnull align 8 dereferenceable(24) %7770, ptr noundef @.str.155, i1 noundef zeroext %7774)
  %7778 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7779 = load ptr, ptr %15, align 8, !tbaa !5
  %7780 = getelementptr inbounds %union.YYSTYPE, ptr %7779, i64 0
  %7781 = getelementptr inbounds %struct.anon, ptr %7780, i32 0, i32 0
  %7782 = load ptr, ptr %3, align 8, !tbaa !5
  %7783 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7782, i32 0, i32 2
  %7784 = load ptr, ptr %7783, align 8, !tbaa !45
  %7785 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7784)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7778, ptr noundef nonnull align 8 dereferenceable(24) %7781, i1 noundef zeroext %7785)
  %7786 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7787 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7786, i32 0, i32 0
  store i32 2, ptr %7787, align 8, !tbaa !10
  %7788 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7788, i32 noundef 2, i32 noundef 4)
  br label %14379

7789:                                             ; preds = %406
  %7790 = load ptr, ptr %3, align 8, !tbaa !5
  %7791 = load ptr, ptr %15, align 8, !tbaa !5
  %7792 = getelementptr inbounds %union.YYSTYPE, ptr %7791, i64 0
  %7793 = getelementptr inbounds %struct.anon, ptr %7792, i32 0, i32 0
  %7794 = load ptr, ptr %3, align 8, !tbaa !5
  %7795 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7794, i32 0, i32 2
  %7796 = load ptr, ptr %7795, align 8, !tbaa !45
  %7797 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7796)
  %7798 = load ptr, ptr %7790, align 8, !tbaa !19
  %7799 = getelementptr inbounds ptr, ptr %7798, i64 34
  %7800 = load ptr, ptr %7799, align 8
  call void %7800(ptr noundef nonnull align 8 dereferenceable(192) %7790, ptr noundef nonnull align 8 dereferenceable(24) %7793, ptr noundef @.str.155, i1 noundef zeroext %7797)
  %7801 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7802 = load ptr, ptr %15, align 8, !tbaa !5
  %7803 = getelementptr inbounds %union.YYSTYPE, ptr %7802, i64 0
  %7804 = getelementptr inbounds %struct.anon, ptr %7803, i32 0, i32 0
  %7805 = load ptr, ptr %3, align 8, !tbaa !5
  %7806 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7805, i32 0, i32 2
  %7807 = load ptr, ptr %7806, align 8, !tbaa !45
  %7808 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7807)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7801, ptr noundef nonnull align 8 dereferenceable(24) %7804, i1 noundef zeroext %7808)
  %7809 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7810 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7809, i32 0, i32 0
  store i32 2, ptr %7810, align 8, !tbaa !10
  %7811 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7811, i32 noundef 3, i32 noundef 2)
  br label %14379

7812:                                             ; preds = %406
  %7813 = load ptr, ptr %3, align 8, !tbaa !5
  %7814 = load ptr, ptr %15, align 8, !tbaa !5
  %7815 = getelementptr inbounds %union.YYSTYPE, ptr %7814, i64 0
  %7816 = getelementptr inbounds %struct.anon, ptr %7815, i32 0, i32 0
  %7817 = load ptr, ptr %3, align 8, !tbaa !5
  %7818 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7817, i32 0, i32 2
  %7819 = load ptr, ptr %7818, align 8, !tbaa !45
  %7820 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7819)
  %7821 = load ptr, ptr %7813, align 8, !tbaa !19
  %7822 = getelementptr inbounds ptr, ptr %7821, i64 34
  %7823 = load ptr, ptr %7822, align 8
  call void %7823(ptr noundef nonnull align 8 dereferenceable(192) %7813, ptr noundef nonnull align 8 dereferenceable(24) %7816, ptr noundef @.str.155, i1 noundef zeroext %7820)
  %7824 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7825 = load ptr, ptr %15, align 8, !tbaa !5
  %7826 = getelementptr inbounds %union.YYSTYPE, ptr %7825, i64 0
  %7827 = getelementptr inbounds %struct.anon, ptr %7826, i32 0, i32 0
  %7828 = load ptr, ptr %3, align 8, !tbaa !5
  %7829 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7828, i32 0, i32 2
  %7830 = load ptr, ptr %7829, align 8, !tbaa !45
  %7831 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7830)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7824, ptr noundef nonnull align 8 dereferenceable(24) %7827, i1 noundef zeroext %7831)
  %7832 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7833 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7832, i32 0, i32 0
  store i32 2, ptr %7833, align 8, !tbaa !10
  %7834 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7834, i32 noundef 3, i32 noundef 3)
  br label %14379

7835:                                             ; preds = %406
  %7836 = load ptr, ptr %3, align 8, !tbaa !5
  %7837 = load ptr, ptr %15, align 8, !tbaa !5
  %7838 = getelementptr inbounds %union.YYSTYPE, ptr %7837, i64 0
  %7839 = getelementptr inbounds %struct.anon, ptr %7838, i32 0, i32 0
  %7840 = load ptr, ptr %3, align 8, !tbaa !5
  %7841 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7840, i32 0, i32 2
  %7842 = load ptr, ptr %7841, align 8, !tbaa !45
  %7843 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7842)
  %7844 = load ptr, ptr %7836, align 8, !tbaa !19
  %7845 = getelementptr inbounds ptr, ptr %7844, i64 34
  %7846 = load ptr, ptr %7845, align 8
  call void %7846(ptr noundef nonnull align 8 dereferenceable(192) %7836, ptr noundef nonnull align 8 dereferenceable(24) %7839, ptr noundef @.str.155, i1 noundef zeroext %7843)
  %7847 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7848 = load ptr, ptr %15, align 8, !tbaa !5
  %7849 = getelementptr inbounds %union.YYSTYPE, ptr %7848, i64 0
  %7850 = getelementptr inbounds %struct.anon, ptr %7849, i32 0, i32 0
  %7851 = load ptr, ptr %3, align 8, !tbaa !5
  %7852 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7851, i32 0, i32 2
  %7853 = load ptr, ptr %7852, align 8, !tbaa !45
  %7854 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7853)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7847, ptr noundef nonnull align 8 dereferenceable(24) %7850, i1 noundef zeroext %7854)
  %7855 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7856 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7855, i32 0, i32 0
  store i32 2, ptr %7856, align 8, !tbaa !10
  %7857 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7857, i32 noundef 3, i32 noundef 4)
  br label %14379

7858:                                             ; preds = %406
  %7859 = load ptr, ptr %3, align 8, !tbaa !5
  %7860 = load ptr, ptr %15, align 8, !tbaa !5
  %7861 = getelementptr inbounds %union.YYSTYPE, ptr %7860, i64 0
  %7862 = getelementptr inbounds %struct.anon, ptr %7861, i32 0, i32 0
  %7863 = load ptr, ptr %3, align 8, !tbaa !5
  %7864 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7863, i32 0, i32 2
  %7865 = load ptr, ptr %7864, align 8, !tbaa !45
  %7866 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7865)
  %7867 = load ptr, ptr %7859, align 8, !tbaa !19
  %7868 = getelementptr inbounds ptr, ptr %7867, i64 34
  %7869 = load ptr, ptr %7868, align 8
  call void %7869(ptr noundef nonnull align 8 dereferenceable(192) %7859, ptr noundef nonnull align 8 dereferenceable(24) %7862, ptr noundef @.str.155, i1 noundef zeroext %7866)
  %7870 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7871 = load ptr, ptr %15, align 8, !tbaa !5
  %7872 = getelementptr inbounds %union.YYSTYPE, ptr %7871, i64 0
  %7873 = getelementptr inbounds %struct.anon, ptr %7872, i32 0, i32 0
  %7874 = load ptr, ptr %3, align 8, !tbaa !5
  %7875 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7874, i32 0, i32 2
  %7876 = load ptr, ptr %7875, align 8, !tbaa !45
  %7877 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7876)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7870, ptr noundef nonnull align 8 dereferenceable(24) %7873, i1 noundef zeroext %7877)
  %7878 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7879 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7878, i32 0, i32 0
  store i32 2, ptr %7879, align 8, !tbaa !10
  %7880 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7880, i32 noundef 4, i32 noundef 2)
  br label %14379

7881:                                             ; preds = %406
  %7882 = load ptr, ptr %3, align 8, !tbaa !5
  %7883 = load ptr, ptr %15, align 8, !tbaa !5
  %7884 = getelementptr inbounds %union.YYSTYPE, ptr %7883, i64 0
  %7885 = getelementptr inbounds %struct.anon, ptr %7884, i32 0, i32 0
  %7886 = load ptr, ptr %3, align 8, !tbaa !5
  %7887 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7886, i32 0, i32 2
  %7888 = load ptr, ptr %7887, align 8, !tbaa !45
  %7889 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7888)
  %7890 = load ptr, ptr %7882, align 8, !tbaa !19
  %7891 = getelementptr inbounds ptr, ptr %7890, i64 34
  %7892 = load ptr, ptr %7891, align 8
  call void %7892(ptr noundef nonnull align 8 dereferenceable(192) %7882, ptr noundef nonnull align 8 dereferenceable(24) %7885, ptr noundef @.str.155, i1 noundef zeroext %7889)
  %7893 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7894 = load ptr, ptr %15, align 8, !tbaa !5
  %7895 = getelementptr inbounds %union.YYSTYPE, ptr %7894, i64 0
  %7896 = getelementptr inbounds %struct.anon, ptr %7895, i32 0, i32 0
  %7897 = load ptr, ptr %3, align 8, !tbaa !5
  %7898 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7897, i32 0, i32 2
  %7899 = load ptr, ptr %7898, align 8, !tbaa !45
  %7900 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7899)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7893, ptr noundef nonnull align 8 dereferenceable(24) %7896, i1 noundef zeroext %7900)
  %7901 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7902 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7901, i32 0, i32 0
  store i32 2, ptr %7902, align 8, !tbaa !10
  %7903 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7903, i32 noundef 4, i32 noundef 3)
  br label %14379

7904:                                             ; preds = %406
  %7905 = load ptr, ptr %3, align 8, !tbaa !5
  %7906 = load ptr, ptr %15, align 8, !tbaa !5
  %7907 = getelementptr inbounds %union.YYSTYPE, ptr %7906, i64 0
  %7908 = getelementptr inbounds %struct.anon, ptr %7907, i32 0, i32 0
  %7909 = load ptr, ptr %3, align 8, !tbaa !5
  %7910 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7909, i32 0, i32 2
  %7911 = load ptr, ptr %7910, align 8, !tbaa !45
  %7912 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7911)
  %7913 = load ptr, ptr %7905, align 8, !tbaa !19
  %7914 = getelementptr inbounds ptr, ptr %7913, i64 34
  %7915 = load ptr, ptr %7914, align 8
  call void %7915(ptr noundef nonnull align 8 dereferenceable(192) %7905, ptr noundef nonnull align 8 dereferenceable(24) %7908, ptr noundef @.str.155, i1 noundef zeroext %7912)
  %7916 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7917 = load ptr, ptr %15, align 8, !tbaa !5
  %7918 = getelementptr inbounds %union.YYSTYPE, ptr %7917, i64 0
  %7919 = getelementptr inbounds %struct.anon, ptr %7918, i32 0, i32 0
  %7920 = load ptr, ptr %3, align 8, !tbaa !5
  %7921 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7920, i32 0, i32 2
  %7922 = load ptr, ptr %7921, align 8, !tbaa !45
  %7923 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7922)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7916, ptr noundef nonnull align 8 dereferenceable(24) %7919, i1 noundef zeroext %7923)
  %7924 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7925 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7924, i32 0, i32 0
  store i32 2, ptr %7925, align 8, !tbaa !10
  %7926 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %7926, i32 noundef 4, i32 noundef 4)
  br label %14379

7927:                                             ; preds = %406
  %7928 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7929 = load ptr, ptr %15, align 8, !tbaa !5
  %7930 = getelementptr inbounds %union.YYSTYPE, ptr %7929, i64 0
  %7931 = getelementptr inbounds %struct.anon, ptr %7930, i32 0, i32 0
  %7932 = load ptr, ptr %3, align 8, !tbaa !5
  %7933 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7932, i32 0, i32 2
  %7934 = load ptr, ptr %7933, align 8, !tbaa !45
  %7935 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7934)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7928, ptr noundef nonnull align 8 dereferenceable(24) %7931, i1 noundef zeroext %7935)
  %7936 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7937 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7936, i32 0, i32 0
  store i32 17, ptr %7937, align 8, !tbaa !10
  br label %14379

7938:                                             ; preds = %406
  %7939 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7940 = load ptr, ptr %15, align 8, !tbaa !5
  %7941 = getelementptr inbounds %union.YYSTYPE, ptr %7940, i64 0
  %7942 = getelementptr inbounds %struct.anon, ptr %7941, i32 0, i32 0
  %7943 = load ptr, ptr %3, align 8, !tbaa !5
  %7944 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7943, i32 0, i32 2
  %7945 = load ptr, ptr %7944, align 8, !tbaa !45
  %7946 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7945)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7939, ptr noundef nonnull align 8 dereferenceable(24) %7942, i1 noundef zeroext %7946)
  %7947 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7948 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7947, i32 0, i32 0
  store i32 17, ptr %7948, align 8, !tbaa !10
  br label %14379

7949:                                             ; preds = %406
  %7950 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7951 = load ptr, ptr %15, align 8, !tbaa !5
  %7952 = getelementptr inbounds %union.YYSTYPE, ptr %7951, i64 0
  %7953 = getelementptr inbounds %struct.anon, ptr %7952, i32 0, i32 0
  %7954 = load ptr, ptr %3, align 8, !tbaa !5
  %7955 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7954, i32 0, i32 2
  %7956 = load ptr, ptr %7955, align 8, !tbaa !45
  %7957 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7956)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7950, ptr noundef nonnull align 8 dereferenceable(24) %7953, i1 noundef zeroext %7957)
  %7958 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7959 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7958, i32 0, i32 0
  store i32 19, ptr %7959, align 8, !tbaa !10
  br label %14379

7960:                                             ; preds = %406
  %7961 = load ptr, ptr %3, align 8, !tbaa !5
  %7962 = load ptr, ptr %15, align 8, !tbaa !5
  %7963 = getelementptr inbounds %union.YYSTYPE, ptr %7962, i64 0
  %7964 = getelementptr inbounds %struct.anon, ptr %7963, i32 0, i32 0
  %7965 = load ptr, ptr %7961, align 8, !tbaa !19
  %7966 = getelementptr inbounds ptr, ptr %7965, i64 38
  %7967 = load ptr, ptr %7966, align 8
  call void %7967(ptr noundef nonnull align 8 dereferenceable(192) %7961, ptr noundef nonnull align 8 dereferenceable(24) %7964, ptr noundef @.str.156)
  %7968 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7969 = load ptr, ptr %15, align 8, !tbaa !5
  %7970 = getelementptr inbounds %union.YYSTYPE, ptr %7969, i64 0
  %7971 = getelementptr inbounds %struct.anon, ptr %7970, i32 0, i32 0
  %7972 = load ptr, ptr %3, align 8, !tbaa !5
  %7973 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7972, i32 0, i32 2
  %7974 = load ptr, ptr %7973, align 8, !tbaa !45
  %7975 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7974)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7968, ptr noundef nonnull align 8 dereferenceable(24) %7971, i1 noundef zeroext %7975)
  %7976 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7977 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7976, i32 0, i32 0
  store i32 13, ptr %7977, align 8, !tbaa !10
  br label %14379

7978:                                             ; preds = %406
  %7979 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7980 = load ptr, ptr %15, align 8, !tbaa !5
  %7981 = getelementptr inbounds %union.YYSTYPE, ptr %7980, i64 0
  %7982 = getelementptr inbounds %struct.anon, ptr %7981, i32 0, i32 0
  %7983 = load ptr, ptr %3, align 8, !tbaa !5
  %7984 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7983, i32 0, i32 2
  %7985 = load ptr, ptr %7984, align 8, !tbaa !45
  %7986 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7985)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7979, ptr noundef nonnull align 8 dereferenceable(24) %7982, i1 noundef zeroext %7986)
  %7987 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7988 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7987, i32 0, i32 0
  store i32 14, ptr %7988, align 8, !tbaa !10
  %7989 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7990 = getelementptr inbounds %"class.glslang::TPublicType", ptr %7989, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %7990, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

7991:                                             ; preds = %406
  %7992 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %7993 = load ptr, ptr %15, align 8, !tbaa !5
  %7994 = getelementptr inbounds %union.YYSTYPE, ptr %7993, i64 0
  %7995 = getelementptr inbounds %struct.anon, ptr %7994, i32 0, i32 0
  %7996 = load ptr, ptr %3, align 8, !tbaa !5
  %7997 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %7996, i32 0, i32 2
  %7998 = load ptr, ptr %7997, align 8, !tbaa !45
  %7999 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %7998)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %7992, ptr noundef nonnull align 8 dereferenceable(24) %7995, i1 noundef zeroext %7999)
  %8000 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8001 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8000, i32 0, i32 0
  store i32 14, ptr %8001, align 8, !tbaa !10
  %8002 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8003 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8002, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8003, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8004:                                             ; preds = %406
  %8005 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8006 = load ptr, ptr %15, align 8, !tbaa !5
  %8007 = getelementptr inbounds %union.YYSTYPE, ptr %8006, i64 0
  %8008 = getelementptr inbounds %struct.anon, ptr %8007, i32 0, i32 0
  %8009 = load ptr, ptr %3, align 8, !tbaa !5
  %8010 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8009, i32 0, i32 2
  %8011 = load ptr, ptr %8010, align 8, !tbaa !45
  %8012 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8011)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8005, ptr noundef nonnull align 8 dereferenceable(24) %8008, i1 noundef zeroext %8012)
  %8013 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8014 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8013, i32 0, i32 0
  store i32 14, ptr %8014, align 8, !tbaa !10
  %8015 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8016 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8015, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8016, i32 noundef 1, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8017:                                             ; preds = %406
  %8018 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8019 = load ptr, ptr %15, align 8, !tbaa !5
  %8020 = getelementptr inbounds %union.YYSTYPE, ptr %8019, i64 0
  %8021 = getelementptr inbounds %struct.anon, ptr %8020, i32 0, i32 0
  %8022 = load ptr, ptr %3, align 8, !tbaa !5
  %8023 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8022, i32 0, i32 2
  %8024 = load ptr, ptr %8023, align 8, !tbaa !45
  %8025 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8024)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8018, ptr noundef nonnull align 8 dereferenceable(24) %8021, i1 noundef zeroext %8025)
  %8026 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8027 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8026, i32 0, i32 0
  store i32 14, ptr %8027, align 8, !tbaa !10
  %8028 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8029 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8028, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8029, i32 noundef 1, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8030:                                             ; preds = %406
  %8031 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8032 = load ptr, ptr %15, align 8, !tbaa !5
  %8033 = getelementptr inbounds %union.YYSTYPE, ptr %8032, i64 0
  %8034 = getelementptr inbounds %struct.anon, ptr %8033, i32 0, i32 0
  %8035 = load ptr, ptr %3, align 8, !tbaa !5
  %8036 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8035, i32 0, i32 2
  %8037 = load ptr, ptr %8036, align 8, !tbaa !45
  %8038 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8037)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8031, ptr noundef nonnull align 8 dereferenceable(24) %8034, i1 noundef zeroext %8038)
  %8039 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8040 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8039, i32 0, i32 0
  store i32 14, ptr %8040, align 8, !tbaa !10
  %8041 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8042 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8041, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8042, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8043:                                             ; preds = %406
  %8044 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8045 = load ptr, ptr %15, align 8, !tbaa !5
  %8046 = getelementptr inbounds %union.YYSTYPE, ptr %8045, i64 0
  %8047 = getelementptr inbounds %struct.anon, ptr %8046, i32 0, i32 0
  %8048 = load ptr, ptr %3, align 8, !tbaa !5
  %8049 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8048, i32 0, i32 2
  %8050 = load ptr, ptr %8049, align 8, !tbaa !45
  %8051 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8050)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8044, ptr noundef nonnull align 8 dereferenceable(24) %8047, i1 noundef zeroext %8051)
  %8052 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8053 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8052, i32 0, i32 0
  store i32 14, ptr %8053, align 8, !tbaa !10
  %8054 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8055 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8054, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8055, i32 noundef 1, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8056:                                             ; preds = %406
  %8057 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8058 = load ptr, ptr %15, align 8, !tbaa !5
  %8059 = getelementptr inbounds %union.YYSTYPE, ptr %8058, i64 0
  %8060 = getelementptr inbounds %struct.anon, ptr %8059, i32 0, i32 0
  %8061 = load ptr, ptr %3, align 8, !tbaa !5
  %8062 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8061, i32 0, i32 2
  %8063 = load ptr, ptr %8062, align 8, !tbaa !45
  %8064 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8063)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8057, ptr noundef nonnull align 8 dereferenceable(24) %8060, i1 noundef zeroext %8064)
  %8065 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8066 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8065, i32 0, i32 0
  store i32 14, ptr %8066, align 8, !tbaa !10
  %8067 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8068 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8067, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8068, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8069:                                             ; preds = %406
  %8070 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8071 = load ptr, ptr %15, align 8, !tbaa !5
  %8072 = getelementptr inbounds %union.YYSTYPE, ptr %8071, i64 0
  %8073 = getelementptr inbounds %struct.anon, ptr %8072, i32 0, i32 0
  %8074 = load ptr, ptr %3, align 8, !tbaa !5
  %8075 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8074, i32 0, i32 2
  %8076 = load ptr, ptr %8075, align 8, !tbaa !45
  %8077 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8076)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8070, ptr noundef nonnull align 8 dereferenceable(24) %8073, i1 noundef zeroext %8077)
  %8078 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8079 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8078, i32 0, i32 0
  store i32 14, ptr %8079, align 8, !tbaa !10
  %8080 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8081 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8080, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8081, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8082:                                             ; preds = %406
  %8083 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8084 = load ptr, ptr %15, align 8, !tbaa !5
  %8085 = getelementptr inbounds %union.YYSTYPE, ptr %8084, i64 0
  %8086 = getelementptr inbounds %struct.anon, ptr %8085, i32 0, i32 0
  %8087 = load ptr, ptr %3, align 8, !tbaa !5
  %8088 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8087, i32 0, i32 2
  %8089 = load ptr, ptr %8088, align 8, !tbaa !45
  %8090 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8089)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8083, ptr noundef nonnull align 8 dereferenceable(24) %8086, i1 noundef zeroext %8090)
  %8091 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8092 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8091, i32 0, i32 0
  store i32 14, ptr %8092, align 8, !tbaa !10
  %8093 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8094 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8093, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8094, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8095:                                             ; preds = %406
  %8096 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8097 = load ptr, ptr %15, align 8, !tbaa !5
  %8098 = getelementptr inbounds %union.YYSTYPE, ptr %8097, i64 0
  %8099 = getelementptr inbounds %struct.anon, ptr %8098, i32 0, i32 0
  %8100 = load ptr, ptr %3, align 8, !tbaa !5
  %8101 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8100, i32 0, i32 2
  %8102 = load ptr, ptr %8101, align 8, !tbaa !45
  %8103 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8102)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8096, ptr noundef nonnull align 8 dereferenceable(24) %8099, i1 noundef zeroext %8103)
  %8104 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8105 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8104, i32 0, i32 0
  store i32 14, ptr %8105, align 8, !tbaa !10
  %8106 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8107 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8106, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8107, i32 noundef 1, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8108:                                             ; preds = %406
  %8109 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8110 = load ptr, ptr %15, align 8, !tbaa !5
  %8111 = getelementptr inbounds %union.YYSTYPE, ptr %8110, i64 0
  %8112 = getelementptr inbounds %struct.anon, ptr %8111, i32 0, i32 0
  %8113 = load ptr, ptr %3, align 8, !tbaa !5
  %8114 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8113, i32 0, i32 2
  %8115 = load ptr, ptr %8114, align 8, !tbaa !45
  %8116 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8115)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8109, ptr noundef nonnull align 8 dereferenceable(24) %8112, i1 noundef zeroext %8116)
  %8117 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8118 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8117, i32 0, i32 0
  store i32 14, ptr %8118, align 8, !tbaa !10
  %8119 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8120 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8119, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8120, i32 noundef 1, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8121:                                             ; preds = %406
  %8122 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8123 = load ptr, ptr %15, align 8, !tbaa !5
  %8124 = getelementptr inbounds %union.YYSTYPE, ptr %8123, i64 0
  %8125 = getelementptr inbounds %struct.anon, ptr %8124, i32 0, i32 0
  %8126 = load ptr, ptr %3, align 8, !tbaa !5
  %8127 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8126, i32 0, i32 2
  %8128 = load ptr, ptr %8127, align 8, !tbaa !45
  %8129 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8128)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8122, ptr noundef nonnull align 8 dereferenceable(24) %8125, i1 noundef zeroext %8129)
  %8130 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8131 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8130, i32 0, i32 0
  store i32 14, ptr %8131, align 8, !tbaa !10
  %8132 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8133 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8132, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8133, i32 noundef 1, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8134:                                             ; preds = %406
  %8135 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8136 = load ptr, ptr %15, align 8, !tbaa !5
  %8137 = getelementptr inbounds %union.YYSTYPE, ptr %8136, i64 0
  %8138 = getelementptr inbounds %struct.anon, ptr %8137, i32 0, i32 0
  %8139 = load ptr, ptr %3, align 8, !tbaa !5
  %8140 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8139, i32 0, i32 2
  %8141 = load ptr, ptr %8140, align 8, !tbaa !45
  %8142 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8141)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8135, ptr noundef nonnull align 8 dereferenceable(24) %8138, i1 noundef zeroext %8142)
  %8143 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8144 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8143, i32 0, i32 0
  store i32 14, ptr %8144, align 8, !tbaa !10
  %8145 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8146 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8145, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8146, i32 noundef 1, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8147:                                             ; preds = %406
  %8148 = load ptr, ptr %3, align 8, !tbaa !5
  %8149 = load ptr, ptr %15, align 8, !tbaa !5
  %8150 = getelementptr inbounds %union.YYSTYPE, ptr %8149, i64 0
  %8151 = getelementptr inbounds %struct.anon, ptr %8150, i32 0, i32 0
  %8152 = load ptr, ptr %3, align 8, !tbaa !5
  %8153 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8152, i32 0, i32 2
  %8154 = load ptr, ptr %8153, align 8, !tbaa !45
  %8155 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8154)
  %8156 = load ptr, ptr %8148, align 8, !tbaa !19
  %8157 = getelementptr inbounds ptr, ptr %8156, i64 28
  %8158 = load ptr, ptr %8157, align 8
  call void %8158(ptr noundef nonnull align 8 dereferenceable(192) %8148, ptr noundef nonnull align 8 dereferenceable(24) %8151, ptr noundef @.str.157, i1 noundef zeroext %8155)
  %8159 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8160 = load ptr, ptr %15, align 8, !tbaa !5
  %8161 = getelementptr inbounds %union.YYSTYPE, ptr %8160, i64 0
  %8162 = getelementptr inbounds %struct.anon, ptr %8161, i32 0, i32 0
  %8163 = load ptr, ptr %3, align 8, !tbaa !5
  %8164 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8163, i32 0, i32 2
  %8165 = load ptr, ptr %8164, align 8, !tbaa !45
  %8166 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8165)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8159, ptr noundef nonnull align 8 dereferenceable(24) %8162, i1 noundef zeroext %8166)
  %8167 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8168 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8167, i32 0, i32 0
  store i32 14, ptr %8168, align 8, !tbaa !10
  %8169 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8170 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8169, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8170, i32 noundef 3, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8171:                                             ; preds = %406
  %8172 = load ptr, ptr %3, align 8, !tbaa !5
  %8173 = load ptr, ptr %15, align 8, !tbaa !5
  %8174 = getelementptr inbounds %union.YYSTYPE, ptr %8173, i64 0
  %8175 = getelementptr inbounds %struct.anon, ptr %8174, i32 0, i32 0
  %8176 = load ptr, ptr %3, align 8, !tbaa !5
  %8177 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8176, i32 0, i32 2
  %8178 = load ptr, ptr %8177, align 8, !tbaa !45
  %8179 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8178)
  %8180 = load ptr, ptr %8172, align 8, !tbaa !19
  %8181 = getelementptr inbounds ptr, ptr %8180, i64 28
  %8182 = load ptr, ptr %8181, align 8
  call void %8182(ptr noundef nonnull align 8 dereferenceable(192) %8172, ptr noundef nonnull align 8 dereferenceable(24) %8175, ptr noundef @.str.157, i1 noundef zeroext %8179)
  %8183 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8184 = load ptr, ptr %15, align 8, !tbaa !5
  %8185 = getelementptr inbounds %union.YYSTYPE, ptr %8184, i64 0
  %8186 = getelementptr inbounds %struct.anon, ptr %8185, i32 0, i32 0
  %8187 = load ptr, ptr %3, align 8, !tbaa !5
  %8188 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8187, i32 0, i32 2
  %8189 = load ptr, ptr %8188, align 8, !tbaa !45
  %8190 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8189)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8183, ptr noundef nonnull align 8 dereferenceable(24) %8186, i1 noundef zeroext %8190)
  %8191 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8192 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8191, i32 0, i32 0
  store i32 14, ptr %8192, align 8, !tbaa !10
  %8193 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8194 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8193, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8194, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8195:                                             ; preds = %406
  %8196 = load ptr, ptr %3, align 8, !tbaa !5
  %8197 = load ptr, ptr %15, align 8, !tbaa !5
  %8198 = getelementptr inbounds %union.YYSTYPE, ptr %8197, i64 0
  %8199 = getelementptr inbounds %struct.anon, ptr %8198, i32 0, i32 0
  %8200 = load ptr, ptr %3, align 8, !tbaa !5
  %8201 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8200, i32 0, i32 2
  %8202 = load ptr, ptr %8201, align 8, !tbaa !45
  %8203 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8202)
  %8204 = load ptr, ptr %8196, align 8, !tbaa !19
  %8205 = getelementptr inbounds ptr, ptr %8204, i64 28
  %8206 = load ptr, ptr %8205, align 8
  call void %8206(ptr noundef nonnull align 8 dereferenceable(192) %8196, ptr noundef nonnull align 8 dereferenceable(24) %8199, ptr noundef @.str.157, i1 noundef zeroext %8203)
  %8207 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8208 = load ptr, ptr %15, align 8, !tbaa !5
  %8209 = getelementptr inbounds %union.YYSTYPE, ptr %8208, i64 0
  %8210 = getelementptr inbounds %struct.anon, ptr %8209, i32 0, i32 0
  %8211 = load ptr, ptr %3, align 8, !tbaa !5
  %8212 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8211, i32 0, i32 2
  %8213 = load ptr, ptr %8212, align 8, !tbaa !45
  %8214 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8213)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8207, ptr noundef nonnull align 8 dereferenceable(24) %8210, i1 noundef zeroext %8214)
  %8215 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8216 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8215, i32 0, i32 0
  store i32 14, ptr %8216, align 8, !tbaa !10
  %8217 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8218 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8217, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8218, i32 noundef 3, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8219:                                             ; preds = %406
  %8220 = load ptr, ptr %3, align 8, !tbaa !5
  %8221 = load ptr, ptr %15, align 8, !tbaa !5
  %8222 = getelementptr inbounds %union.YYSTYPE, ptr %8221, i64 0
  %8223 = getelementptr inbounds %struct.anon, ptr %8222, i32 0, i32 0
  %8224 = load ptr, ptr %3, align 8, !tbaa !5
  %8225 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8224, i32 0, i32 2
  %8226 = load ptr, ptr %8225, align 8, !tbaa !45
  %8227 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8226)
  %8228 = load ptr, ptr %8220, align 8, !tbaa !19
  %8229 = getelementptr inbounds ptr, ptr %8228, i64 28
  %8230 = load ptr, ptr %8229, align 8
  call void %8230(ptr noundef nonnull align 8 dereferenceable(192) %8220, ptr noundef nonnull align 8 dereferenceable(24) %8223, ptr noundef @.str.157, i1 noundef zeroext %8227)
  %8231 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8232 = load ptr, ptr %15, align 8, !tbaa !5
  %8233 = getelementptr inbounds %union.YYSTYPE, ptr %8232, i64 0
  %8234 = getelementptr inbounds %struct.anon, ptr %8233, i32 0, i32 0
  %8235 = load ptr, ptr %3, align 8, !tbaa !5
  %8236 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8235, i32 0, i32 2
  %8237 = load ptr, ptr %8236, align 8, !tbaa !45
  %8238 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8237)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8231, ptr noundef nonnull align 8 dereferenceable(24) %8234, i1 noundef zeroext %8238)
  %8239 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8240 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8239, i32 0, i32 0
  store i32 14, ptr %8240, align 8, !tbaa !10
  %8241 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8242 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8241, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8242, i32 noundef 3, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8243:                                             ; preds = %406
  %8244 = load ptr, ptr %3, align 8, !tbaa !5
  %8245 = load ptr, ptr %15, align 8, !tbaa !5
  %8246 = getelementptr inbounds %union.YYSTYPE, ptr %8245, i64 0
  %8247 = getelementptr inbounds %struct.anon, ptr %8246, i32 0, i32 0
  %8248 = load ptr, ptr %3, align 8, !tbaa !5
  %8249 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8248, i32 0, i32 2
  %8250 = load ptr, ptr %8249, align 8, !tbaa !45
  %8251 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8250)
  %8252 = load ptr, ptr %8244, align 8, !tbaa !19
  %8253 = getelementptr inbounds ptr, ptr %8252, i64 28
  %8254 = load ptr, ptr %8253, align 8
  call void %8254(ptr noundef nonnull align 8 dereferenceable(192) %8244, ptr noundef nonnull align 8 dereferenceable(24) %8247, ptr noundef @.str.157, i1 noundef zeroext %8251)
  %8255 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8256 = load ptr, ptr %15, align 8, !tbaa !5
  %8257 = getelementptr inbounds %union.YYSTYPE, ptr %8256, i64 0
  %8258 = getelementptr inbounds %struct.anon, ptr %8257, i32 0, i32 0
  %8259 = load ptr, ptr %3, align 8, !tbaa !5
  %8260 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8259, i32 0, i32 2
  %8261 = load ptr, ptr %8260, align 8, !tbaa !45
  %8262 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8261)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8255, ptr noundef nonnull align 8 dereferenceable(24) %8258, i1 noundef zeroext %8262)
  %8263 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8264 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8263, i32 0, i32 0
  store i32 14, ptr %8264, align 8, !tbaa !10
  %8265 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8266 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8265, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8266, i32 noundef 3, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8267:                                             ; preds = %406
  %8268 = load ptr, ptr %3, align 8, !tbaa !5
  %8269 = load ptr, ptr %15, align 8, !tbaa !5
  %8270 = getelementptr inbounds %union.YYSTYPE, ptr %8269, i64 0
  %8271 = getelementptr inbounds %struct.anon, ptr %8270, i32 0, i32 0
  %8272 = load ptr, ptr %3, align 8, !tbaa !5
  %8273 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8272, i32 0, i32 2
  %8274 = load ptr, ptr %8273, align 8, !tbaa !45
  %8275 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8274)
  %8276 = load ptr, ptr %8268, align 8, !tbaa !19
  %8277 = getelementptr inbounds ptr, ptr %8276, i64 28
  %8278 = load ptr, ptr %8277, align 8
  call void %8278(ptr noundef nonnull align 8 dereferenceable(192) %8268, ptr noundef nonnull align 8 dereferenceable(24) %8271, ptr noundef @.str.157, i1 noundef zeroext %8275)
  %8279 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8280 = load ptr, ptr %15, align 8, !tbaa !5
  %8281 = getelementptr inbounds %union.YYSTYPE, ptr %8280, i64 0
  %8282 = getelementptr inbounds %struct.anon, ptr %8281, i32 0, i32 0
  %8283 = load ptr, ptr %3, align 8, !tbaa !5
  %8284 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8283, i32 0, i32 2
  %8285 = load ptr, ptr %8284, align 8, !tbaa !45
  %8286 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8285)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8279, ptr noundef nonnull align 8 dereferenceable(24) %8282, i1 noundef zeroext %8286)
  %8287 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8288 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8287, i32 0, i32 0
  store i32 14, ptr %8288, align 8, !tbaa !10
  %8289 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8290 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8289, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8290, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8291:                                             ; preds = %406
  %8292 = load ptr, ptr %3, align 8, !tbaa !5
  %8293 = load ptr, ptr %15, align 8, !tbaa !5
  %8294 = getelementptr inbounds %union.YYSTYPE, ptr %8293, i64 0
  %8295 = getelementptr inbounds %struct.anon, ptr %8294, i32 0, i32 0
  %8296 = load ptr, ptr %3, align 8, !tbaa !5
  %8297 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8296, i32 0, i32 2
  %8298 = load ptr, ptr %8297, align 8, !tbaa !45
  %8299 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8298)
  %8300 = load ptr, ptr %8292, align 8, !tbaa !19
  %8301 = getelementptr inbounds ptr, ptr %8300, i64 28
  %8302 = load ptr, ptr %8301, align 8
  call void %8302(ptr noundef nonnull align 8 dereferenceable(192) %8292, ptr noundef nonnull align 8 dereferenceable(24) %8295, ptr noundef @.str.157, i1 noundef zeroext %8299)
  %8303 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8304 = load ptr, ptr %15, align 8, !tbaa !5
  %8305 = getelementptr inbounds %union.YYSTYPE, ptr %8304, i64 0
  %8306 = getelementptr inbounds %struct.anon, ptr %8305, i32 0, i32 0
  %8307 = load ptr, ptr %3, align 8, !tbaa !5
  %8308 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8307, i32 0, i32 2
  %8309 = load ptr, ptr %8308, align 8, !tbaa !45
  %8310 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8309)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8303, ptr noundef nonnull align 8 dereferenceable(24) %8306, i1 noundef zeroext %8310)
  %8311 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8312 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8311, i32 0, i32 0
  store i32 14, ptr %8312, align 8, !tbaa !10
  %8313 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8314 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8313, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8314, i32 noundef 3, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8315:                                             ; preds = %406
  %8316 = load ptr, ptr %3, align 8, !tbaa !5
  %8317 = load ptr, ptr %15, align 8, !tbaa !5
  %8318 = getelementptr inbounds %union.YYSTYPE, ptr %8317, i64 0
  %8319 = getelementptr inbounds %struct.anon, ptr %8318, i32 0, i32 0
  %8320 = load ptr, ptr %3, align 8, !tbaa !5
  %8321 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8320, i32 0, i32 2
  %8322 = load ptr, ptr %8321, align 8, !tbaa !45
  %8323 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8322)
  %8324 = load ptr, ptr %8316, align 8, !tbaa !19
  %8325 = getelementptr inbounds ptr, ptr %8324, i64 28
  %8326 = load ptr, ptr %8325, align 8
  call void %8326(ptr noundef nonnull align 8 dereferenceable(192) %8316, ptr noundef nonnull align 8 dereferenceable(24) %8319, ptr noundef @.str.157, i1 noundef zeroext %8323)
  %8327 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8328 = load ptr, ptr %15, align 8, !tbaa !5
  %8329 = getelementptr inbounds %union.YYSTYPE, ptr %8328, i64 0
  %8330 = getelementptr inbounds %struct.anon, ptr %8329, i32 0, i32 0
  %8331 = load ptr, ptr %3, align 8, !tbaa !5
  %8332 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8331, i32 0, i32 2
  %8333 = load ptr, ptr %8332, align 8, !tbaa !45
  %8334 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8333)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8327, ptr noundef nonnull align 8 dereferenceable(24) %8330, i1 noundef zeroext %8334)
  %8335 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8336 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8335, i32 0, i32 0
  store i32 14, ptr %8336, align 8, !tbaa !10
  %8337 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8338 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8337, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8338, i32 noundef 3, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8339:                                             ; preds = %406
  %8340 = load ptr, ptr %3, align 8, !tbaa !5
  %8341 = load ptr, ptr %15, align 8, !tbaa !5
  %8342 = getelementptr inbounds %union.YYSTYPE, ptr %8341, i64 0
  %8343 = getelementptr inbounds %struct.anon, ptr %8342, i32 0, i32 0
  %8344 = load ptr, ptr %3, align 8, !tbaa !5
  %8345 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8344, i32 0, i32 2
  %8346 = load ptr, ptr %8345, align 8, !tbaa !45
  %8347 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8346)
  %8348 = load ptr, ptr %8340, align 8, !tbaa !19
  %8349 = getelementptr inbounds ptr, ptr %8348, i64 28
  %8350 = load ptr, ptr %8349, align 8
  call void %8350(ptr noundef nonnull align 8 dereferenceable(192) %8340, ptr noundef nonnull align 8 dereferenceable(24) %8343, ptr noundef @.str.157, i1 noundef zeroext %8347)
  %8351 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8352 = load ptr, ptr %15, align 8, !tbaa !5
  %8353 = getelementptr inbounds %union.YYSTYPE, ptr %8352, i64 0
  %8354 = getelementptr inbounds %struct.anon, ptr %8353, i32 0, i32 0
  %8355 = load ptr, ptr %3, align 8, !tbaa !5
  %8356 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8355, i32 0, i32 2
  %8357 = load ptr, ptr %8356, align 8, !tbaa !45
  %8358 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8357)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8351, ptr noundef nonnull align 8 dereferenceable(24) %8354, i1 noundef zeroext %8358)
  %8359 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8360 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8359, i32 0, i32 0
  store i32 14, ptr %8360, align 8, !tbaa !10
  %8361 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8362 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8361, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8362, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8363:                                             ; preds = %406
  %8364 = load ptr, ptr %3, align 8, !tbaa !5
  %8365 = load ptr, ptr %15, align 8, !tbaa !5
  %8366 = getelementptr inbounds %union.YYSTYPE, ptr %8365, i64 0
  %8367 = getelementptr inbounds %struct.anon, ptr %8366, i32 0, i32 0
  %8368 = load ptr, ptr %3, align 8, !tbaa !5
  %8369 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8368, i32 0, i32 2
  %8370 = load ptr, ptr %8369, align 8, !tbaa !45
  %8371 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8370)
  %8372 = load ptr, ptr %8364, align 8, !tbaa !19
  %8373 = getelementptr inbounds ptr, ptr %8372, i64 28
  %8374 = load ptr, ptr %8373, align 8
  call void %8374(ptr noundef nonnull align 8 dereferenceable(192) %8364, ptr noundef nonnull align 8 dereferenceable(24) %8367, ptr noundef @.str.157, i1 noundef zeroext %8371)
  %8375 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8376 = load ptr, ptr %15, align 8, !tbaa !5
  %8377 = getelementptr inbounds %union.YYSTYPE, ptr %8376, i64 0
  %8378 = getelementptr inbounds %struct.anon, ptr %8377, i32 0, i32 0
  %8379 = load ptr, ptr %3, align 8, !tbaa !5
  %8380 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8379, i32 0, i32 2
  %8381 = load ptr, ptr %8380, align 8, !tbaa !45
  %8382 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8381)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8375, ptr noundef nonnull align 8 dereferenceable(24) %8378, i1 noundef zeroext %8382)
  %8383 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8384 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8383, i32 0, i32 0
  store i32 14, ptr %8384, align 8, !tbaa !10
  %8385 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8386 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8385, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8386, i32 noundef 3, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8387:                                             ; preds = %406
  %8388 = load ptr, ptr %3, align 8, !tbaa !5
  %8389 = load ptr, ptr %15, align 8, !tbaa !5
  %8390 = getelementptr inbounds %union.YYSTYPE, ptr %8389, i64 0
  %8391 = getelementptr inbounds %struct.anon, ptr %8390, i32 0, i32 0
  %8392 = load ptr, ptr %3, align 8, !tbaa !5
  %8393 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8392, i32 0, i32 2
  %8394 = load ptr, ptr %8393, align 8, !tbaa !45
  %8395 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8394)
  %8396 = load ptr, ptr %8388, align 8, !tbaa !19
  %8397 = getelementptr inbounds ptr, ptr %8396, i64 28
  %8398 = load ptr, ptr %8397, align 8
  call void %8398(ptr noundef nonnull align 8 dereferenceable(192) %8388, ptr noundef nonnull align 8 dereferenceable(24) %8391, ptr noundef @.str.157, i1 noundef zeroext %8395)
  %8399 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8400 = load ptr, ptr %15, align 8, !tbaa !5
  %8401 = getelementptr inbounds %union.YYSTYPE, ptr %8400, i64 0
  %8402 = getelementptr inbounds %struct.anon, ptr %8401, i32 0, i32 0
  %8403 = load ptr, ptr %3, align 8, !tbaa !5
  %8404 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8403, i32 0, i32 2
  %8405 = load ptr, ptr %8404, align 8, !tbaa !45
  %8406 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8405)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8399, ptr noundef nonnull align 8 dereferenceable(24) %8402, i1 noundef zeroext %8406)
  %8407 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8408 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8407, i32 0, i32 0
  store i32 14, ptr %8408, align 8, !tbaa !10
  %8409 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8410 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8409, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8410, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8411:                                             ; preds = %406
  %8412 = load ptr, ptr %3, align 8, !tbaa !5
  %8413 = load ptr, ptr %15, align 8, !tbaa !5
  %8414 = getelementptr inbounds %union.YYSTYPE, ptr %8413, i64 0
  %8415 = getelementptr inbounds %struct.anon, ptr %8414, i32 0, i32 0
  %8416 = load ptr, ptr %3, align 8, !tbaa !5
  %8417 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8416, i32 0, i32 2
  %8418 = load ptr, ptr %8417, align 8, !tbaa !45
  %8419 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8418)
  %8420 = load ptr, ptr %8412, align 8, !tbaa !19
  %8421 = getelementptr inbounds ptr, ptr %8420, i64 28
  %8422 = load ptr, ptr %8421, align 8
  call void %8422(ptr noundef nonnull align 8 dereferenceable(192) %8412, ptr noundef nonnull align 8 dereferenceable(24) %8415, ptr noundef @.str.157, i1 noundef zeroext %8419)
  %8423 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8424 = load ptr, ptr %15, align 8, !tbaa !5
  %8425 = getelementptr inbounds %union.YYSTYPE, ptr %8424, i64 0
  %8426 = getelementptr inbounds %struct.anon, ptr %8425, i32 0, i32 0
  %8427 = load ptr, ptr %3, align 8, !tbaa !5
  %8428 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8427, i32 0, i32 2
  %8429 = load ptr, ptr %8428, align 8, !tbaa !45
  %8430 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8429)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8423, ptr noundef nonnull align 8 dereferenceable(24) %8426, i1 noundef zeroext %8430)
  %8431 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8432 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8431, i32 0, i32 0
  store i32 14, ptr %8432, align 8, !tbaa !10
  %8433 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8434 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8433, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8434, i32 noundef 3, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8435:                                             ; preds = %406
  %8436 = load ptr, ptr %3, align 8, !tbaa !5
  %8437 = load ptr, ptr %15, align 8, !tbaa !5
  %8438 = getelementptr inbounds %union.YYSTYPE, ptr %8437, i64 0
  %8439 = getelementptr inbounds %struct.anon, ptr %8438, i32 0, i32 0
  %8440 = load ptr, ptr %3, align 8, !tbaa !5
  %8441 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8440, i32 0, i32 2
  %8442 = load ptr, ptr %8441, align 8, !tbaa !45
  %8443 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8442)
  %8444 = load ptr, ptr %8436, align 8, !tbaa !19
  %8445 = getelementptr inbounds ptr, ptr %8444, i64 28
  %8446 = load ptr, ptr %8445, align 8
  call void %8446(ptr noundef nonnull align 8 dereferenceable(192) %8436, ptr noundef nonnull align 8 dereferenceable(24) %8439, ptr noundef @.str.157, i1 noundef zeroext %8443)
  %8447 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8448 = load ptr, ptr %15, align 8, !tbaa !5
  %8449 = getelementptr inbounds %union.YYSTYPE, ptr %8448, i64 0
  %8450 = getelementptr inbounds %struct.anon, ptr %8449, i32 0, i32 0
  %8451 = load ptr, ptr %3, align 8, !tbaa !5
  %8452 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8451, i32 0, i32 2
  %8453 = load ptr, ptr %8452, align 8, !tbaa !45
  %8454 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8453)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8447, ptr noundef nonnull align 8 dereferenceable(24) %8450, i1 noundef zeroext %8454)
  %8455 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8456 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8455, i32 0, i32 0
  store i32 14, ptr %8456, align 8, !tbaa !10
  %8457 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8458 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8457, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8458, i32 noundef 3, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8459:                                             ; preds = %406
  %8460 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8461 = load ptr, ptr %15, align 8, !tbaa !5
  %8462 = getelementptr inbounds %union.YYSTYPE, ptr %8461, i64 0
  %8463 = getelementptr inbounds %struct.anon, ptr %8462, i32 0, i32 0
  %8464 = load ptr, ptr %3, align 8, !tbaa !5
  %8465 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8464, i32 0, i32 2
  %8466 = load ptr, ptr %8465, align 8, !tbaa !45
  %8467 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8466)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8460, ptr noundef nonnull align 8 dereferenceable(24) %8463, i1 noundef zeroext %8467)
  %8468 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8469 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8468, i32 0, i32 0
  store i32 14, ptr %8469, align 8, !tbaa !10
  %8470 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8471 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8470, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8471, i32 noundef 8, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8472:                                             ; preds = %406
  %8473 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8474 = load ptr, ptr %15, align 8, !tbaa !5
  %8475 = getelementptr inbounds %union.YYSTYPE, ptr %8474, i64 0
  %8476 = getelementptr inbounds %struct.anon, ptr %8475, i32 0, i32 0
  %8477 = load ptr, ptr %3, align 8, !tbaa !5
  %8478 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8477, i32 0, i32 2
  %8479 = load ptr, ptr %8478, align 8, !tbaa !45
  %8480 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8479)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8473, ptr noundef nonnull align 8 dereferenceable(24) %8476, i1 noundef zeroext %8480)
  %8481 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8482 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8481, i32 0, i32 0
  store i32 14, ptr %8482, align 8, !tbaa !10
  %8483 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8484 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8483, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8484, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8485:                                             ; preds = %406
  %8486 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8487 = load ptr, ptr %15, align 8, !tbaa !5
  %8488 = getelementptr inbounds %union.YYSTYPE, ptr %8487, i64 0
  %8489 = getelementptr inbounds %struct.anon, ptr %8488, i32 0, i32 0
  %8490 = load ptr, ptr %3, align 8, !tbaa !5
  %8491 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8490, i32 0, i32 2
  %8492 = load ptr, ptr %8491, align 8, !tbaa !45
  %8493 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8492)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8486, ptr noundef nonnull align 8 dereferenceable(24) %8489, i1 noundef zeroext %8493)
  %8494 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8495 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8494, i32 0, i32 0
  store i32 14, ptr %8495, align 8, !tbaa !10
  %8496 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8497 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8496, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8497, i32 noundef 8, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8498:                                             ; preds = %406
  %8499 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8500 = load ptr, ptr %15, align 8, !tbaa !5
  %8501 = getelementptr inbounds %union.YYSTYPE, ptr %8500, i64 0
  %8502 = getelementptr inbounds %struct.anon, ptr %8501, i32 0, i32 0
  %8503 = load ptr, ptr %3, align 8, !tbaa !5
  %8504 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8503, i32 0, i32 2
  %8505 = load ptr, ptr %8504, align 8, !tbaa !45
  %8506 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8505)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8499, ptr noundef nonnull align 8 dereferenceable(24) %8502, i1 noundef zeroext %8506)
  %8507 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8508 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8507, i32 0, i32 0
  store i32 14, ptr %8508, align 8, !tbaa !10
  %8509 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8510 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8509, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8510, i32 noundef 8, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8511:                                             ; preds = %406
  %8512 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8513 = load ptr, ptr %15, align 8, !tbaa !5
  %8514 = getelementptr inbounds %union.YYSTYPE, ptr %8513, i64 0
  %8515 = getelementptr inbounds %struct.anon, ptr %8514, i32 0, i32 0
  %8516 = load ptr, ptr %3, align 8, !tbaa !5
  %8517 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8516, i32 0, i32 2
  %8518 = load ptr, ptr %8517, align 8, !tbaa !45
  %8519 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8518)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8512, ptr noundef nonnull align 8 dereferenceable(24) %8515, i1 noundef zeroext %8519)
  %8520 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8521 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8520, i32 0, i32 0
  store i32 14, ptr %8521, align 8, !tbaa !10
  %8522 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8523 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8522, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8523, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8524:                                             ; preds = %406
  %8525 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8526 = load ptr, ptr %15, align 8, !tbaa !5
  %8527 = getelementptr inbounds %union.YYSTYPE, ptr %8526, i64 0
  %8528 = getelementptr inbounds %struct.anon, ptr %8527, i32 0, i32 0
  %8529 = load ptr, ptr %3, align 8, !tbaa !5
  %8530 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8529, i32 0, i32 2
  %8531 = load ptr, ptr %8530, align 8, !tbaa !45
  %8532 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8531)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8525, ptr noundef nonnull align 8 dereferenceable(24) %8528, i1 noundef zeroext %8532)
  %8533 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8534 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8533, i32 0, i32 0
  store i32 14, ptr %8534, align 8, !tbaa !10
  %8535 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8536 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8535, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8536, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8537:                                             ; preds = %406
  %8538 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8539 = load ptr, ptr %15, align 8, !tbaa !5
  %8540 = getelementptr inbounds %union.YYSTYPE, ptr %8539, i64 0
  %8541 = getelementptr inbounds %struct.anon, ptr %8540, i32 0, i32 0
  %8542 = load ptr, ptr %3, align 8, !tbaa !5
  %8543 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8542, i32 0, i32 2
  %8544 = load ptr, ptr %8543, align 8, !tbaa !45
  %8545 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8544)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8538, ptr noundef nonnull align 8 dereferenceable(24) %8541, i1 noundef zeroext %8545)
  %8546 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8547 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8546, i32 0, i32 0
  store i32 14, ptr %8547, align 8, !tbaa !10
  %8548 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8549 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8548, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8549, i32 noundef 9, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8550:                                             ; preds = %406
  %8551 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8552 = load ptr, ptr %15, align 8, !tbaa !5
  %8553 = getelementptr inbounds %union.YYSTYPE, ptr %8552, i64 0
  %8554 = getelementptr inbounds %struct.anon, ptr %8553, i32 0, i32 0
  %8555 = load ptr, ptr %3, align 8, !tbaa !5
  %8556 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8555, i32 0, i32 2
  %8557 = load ptr, ptr %8556, align 8, !tbaa !45
  %8558 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8557)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8551, ptr noundef nonnull align 8 dereferenceable(24) %8554, i1 noundef zeroext %8558)
  %8559 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8560 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8559, i32 0, i32 0
  store i32 14, ptr %8560, align 8, !tbaa !10
  %8561 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8562 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8561, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8562, i32 noundef 9, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8563:                                             ; preds = %406
  %8564 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8565 = load ptr, ptr %15, align 8, !tbaa !5
  %8566 = getelementptr inbounds %union.YYSTYPE, ptr %8565, i64 0
  %8567 = getelementptr inbounds %struct.anon, ptr %8566, i32 0, i32 0
  %8568 = load ptr, ptr %3, align 8, !tbaa !5
  %8569 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8568, i32 0, i32 2
  %8570 = load ptr, ptr %8569, align 8, !tbaa !45
  %8571 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8570)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8564, ptr noundef nonnull align 8 dereferenceable(24) %8567, i1 noundef zeroext %8571)
  %8572 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8573 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8572, i32 0, i32 0
  store i32 14, ptr %8573, align 8, !tbaa !10
  %8574 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8575 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8574, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8575, i32 noundef 8, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8576:                                             ; preds = %406
  %8577 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8578 = load ptr, ptr %15, align 8, !tbaa !5
  %8579 = getelementptr inbounds %union.YYSTYPE, ptr %8578, i64 0
  %8580 = getelementptr inbounds %struct.anon, ptr %8579, i32 0, i32 0
  %8581 = load ptr, ptr %3, align 8, !tbaa !5
  %8582 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8581, i32 0, i32 2
  %8583 = load ptr, ptr %8582, align 8, !tbaa !45
  %8584 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8583)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8577, ptr noundef nonnull align 8 dereferenceable(24) %8580, i1 noundef zeroext %8584)
  %8585 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8586 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8585, i32 0, i32 0
  store i32 14, ptr %8586, align 8, !tbaa !10
  %8587 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8588 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8587, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8588, i32 noundef 8, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8589:                                             ; preds = %406
  %8590 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8591 = load ptr, ptr %15, align 8, !tbaa !5
  %8592 = getelementptr inbounds %union.YYSTYPE, ptr %8591, i64 0
  %8593 = getelementptr inbounds %struct.anon, ptr %8592, i32 0, i32 0
  %8594 = load ptr, ptr %3, align 8, !tbaa !5
  %8595 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8594, i32 0, i32 2
  %8596 = load ptr, ptr %8595, align 8, !tbaa !45
  %8597 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8596)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8590, ptr noundef nonnull align 8 dereferenceable(24) %8593, i1 noundef zeroext %8597)
  %8598 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8599 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8598, i32 0, i32 0
  store i32 14, ptr %8599, align 8, !tbaa !10
  %8600 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8601 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8600, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8601, i32 noundef 9, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8602:                                             ; preds = %406
  %8603 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8604 = load ptr, ptr %15, align 8, !tbaa !5
  %8605 = getelementptr inbounds %union.YYSTYPE, ptr %8604, i64 0
  %8606 = getelementptr inbounds %struct.anon, ptr %8605, i32 0, i32 0
  %8607 = load ptr, ptr %3, align 8, !tbaa !5
  %8608 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8607, i32 0, i32 2
  %8609 = load ptr, ptr %8608, align 8, !tbaa !45
  %8610 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8609)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8603, ptr noundef nonnull align 8 dereferenceable(24) %8606, i1 noundef zeroext %8610)
  %8611 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8612 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8611, i32 0, i32 0
  store i32 14, ptr %8612, align 8, !tbaa !10
  %8613 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8614 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8613, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8614, i32 noundef 9, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8615:                                             ; preds = %406
  %8616 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8617 = load ptr, ptr %15, align 8, !tbaa !5
  %8618 = getelementptr inbounds %union.YYSTYPE, ptr %8617, i64 0
  %8619 = getelementptr inbounds %struct.anon, ptr %8618, i32 0, i32 0
  %8620 = load ptr, ptr %3, align 8, !tbaa !5
  %8621 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8620, i32 0, i32 2
  %8622 = load ptr, ptr %8621, align 8, !tbaa !45
  %8623 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8622)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8616, ptr noundef nonnull align 8 dereferenceable(24) %8619, i1 noundef zeroext %8623)
  %8624 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8625 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8624, i32 0, i32 0
  store i32 14, ptr %8625, align 8, !tbaa !10
  %8626 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8627 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8626, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8627, i32 noundef 9, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8628:                                             ; preds = %406
  %8629 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8630 = load ptr, ptr %15, align 8, !tbaa !5
  %8631 = getelementptr inbounds %union.YYSTYPE, ptr %8630, i64 0
  %8632 = getelementptr inbounds %struct.anon, ptr %8631, i32 0, i32 0
  %8633 = load ptr, ptr %3, align 8, !tbaa !5
  %8634 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8633, i32 0, i32 2
  %8635 = load ptr, ptr %8634, align 8, !tbaa !45
  %8636 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8635)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8629, ptr noundef nonnull align 8 dereferenceable(24) %8632, i1 noundef zeroext %8636)
  %8637 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8638 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8637, i32 0, i32 0
  store i32 14, ptr %8638, align 8, !tbaa !10
  %8639 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8640 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8639, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8640, i32 noundef 1, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8641:                                             ; preds = %406
  %8642 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8643 = load ptr, ptr %15, align 8, !tbaa !5
  %8644 = getelementptr inbounds %union.YYSTYPE, ptr %8643, i64 0
  %8645 = getelementptr inbounds %struct.anon, ptr %8644, i32 0, i32 0
  %8646 = load ptr, ptr %3, align 8, !tbaa !5
  %8647 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8646, i32 0, i32 2
  %8648 = load ptr, ptr %8647, align 8, !tbaa !45
  %8649 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8648)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8642, ptr noundef nonnull align 8 dereferenceable(24) %8645, i1 noundef zeroext %8649)
  %8650 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8651 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8650, i32 0, i32 0
  store i32 14, ptr %8651, align 8, !tbaa !10
  %8652 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8653 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8652, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8653, i32 noundef 8, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8654:                                             ; preds = %406
  %8655 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8656 = load ptr, ptr %15, align 8, !tbaa !5
  %8657 = getelementptr inbounds %union.YYSTYPE, ptr %8656, i64 0
  %8658 = getelementptr inbounds %struct.anon, ptr %8657, i32 0, i32 0
  %8659 = load ptr, ptr %3, align 8, !tbaa !5
  %8660 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8659, i32 0, i32 2
  %8661 = load ptr, ptr %8660, align 8, !tbaa !45
  %8662 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8661)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8655, ptr noundef nonnull align 8 dereferenceable(24) %8658, i1 noundef zeroext %8662)
  %8663 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8664 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8663, i32 0, i32 0
  store i32 14, ptr %8664, align 8, !tbaa !10
  %8665 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8666 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8665, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8666, i32 noundef 9, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8667:                                             ; preds = %406
  %8668 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8669 = load ptr, ptr %15, align 8, !tbaa !5
  %8670 = getelementptr inbounds %union.YYSTYPE, ptr %8669, i64 0
  %8671 = getelementptr inbounds %struct.anon, ptr %8670, i32 0, i32 0
  %8672 = load ptr, ptr %3, align 8, !tbaa !5
  %8673 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8672, i32 0, i32 2
  %8674 = load ptr, ptr %8673, align 8, !tbaa !45
  %8675 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8674)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8668, ptr noundef nonnull align 8 dereferenceable(24) %8671, i1 noundef zeroext %8675)
  %8676 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8677 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8676, i32 0, i32 0
  store i32 14, ptr %8677, align 8, !tbaa !10
  %8678 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8679 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8678, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8679, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8680:                                             ; preds = %406
  %8681 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8682 = load ptr, ptr %15, align 8, !tbaa !5
  %8683 = getelementptr inbounds %union.YYSTYPE, ptr %8682, i64 0
  %8684 = getelementptr inbounds %struct.anon, ptr %8683, i32 0, i32 0
  %8685 = load ptr, ptr %3, align 8, !tbaa !5
  %8686 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8685, i32 0, i32 2
  %8687 = load ptr, ptr %8686, align 8, !tbaa !45
  %8688 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8687)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8681, ptr noundef nonnull align 8 dereferenceable(24) %8684, i1 noundef zeroext %8688)
  %8689 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8690 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8689, i32 0, i32 0
  store i32 14, ptr %8690, align 8, !tbaa !10
  %8691 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8692 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8691, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8692, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8693:                                             ; preds = %406
  %8694 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8695 = load ptr, ptr %15, align 8, !tbaa !5
  %8696 = getelementptr inbounds %union.YYSTYPE, ptr %8695, i64 0
  %8697 = getelementptr inbounds %struct.anon, ptr %8696, i32 0, i32 0
  %8698 = load ptr, ptr %3, align 8, !tbaa !5
  %8699 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8698, i32 0, i32 2
  %8700 = load ptr, ptr %8699, align 8, !tbaa !45
  %8701 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8700)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8694, ptr noundef nonnull align 8 dereferenceable(24) %8697, i1 noundef zeroext %8701)
  %8702 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8703 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8702, i32 0, i32 0
  store i32 14, ptr %8703, align 8, !tbaa !10
  %8704 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8705 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8704, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8705, i32 noundef 1, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8706:                                             ; preds = %406
  %8707 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8708 = load ptr, ptr %15, align 8, !tbaa !5
  %8709 = getelementptr inbounds %union.YYSTYPE, ptr %8708, i64 0
  %8710 = getelementptr inbounds %struct.anon, ptr %8709, i32 0, i32 0
  %8711 = load ptr, ptr %3, align 8, !tbaa !5
  %8712 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8711, i32 0, i32 2
  %8713 = load ptr, ptr %8712, align 8, !tbaa !45
  %8714 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8713)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8707, ptr noundef nonnull align 8 dereferenceable(24) %8710, i1 noundef zeroext %8714)
  %8715 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8716 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8715, i32 0, i32 0
  store i32 14, ptr %8716, align 8, !tbaa !10
  %8717 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8718 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8717, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8718, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8719:                                             ; preds = %406
  %8720 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8721 = load ptr, ptr %15, align 8, !tbaa !5
  %8722 = getelementptr inbounds %union.YYSTYPE, ptr %8721, i64 0
  %8723 = getelementptr inbounds %struct.anon, ptr %8722, i32 0, i32 0
  %8724 = load ptr, ptr %3, align 8, !tbaa !5
  %8725 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8724, i32 0, i32 2
  %8726 = load ptr, ptr %8725, align 8, !tbaa !45
  %8727 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8726)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8720, ptr noundef nonnull align 8 dereferenceable(24) %8723, i1 noundef zeroext %8727)
  %8728 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8729 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8728, i32 0, i32 0
  store i32 14, ptr %8729, align 8, !tbaa !10
  %8730 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8731 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8730, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8731, i32 noundef 1, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8732:                                             ; preds = %406
  %8733 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8734 = load ptr, ptr %15, align 8, !tbaa !5
  %8735 = getelementptr inbounds %union.YYSTYPE, ptr %8734, i64 0
  %8736 = getelementptr inbounds %struct.anon, ptr %8735, i32 0, i32 0
  %8737 = load ptr, ptr %3, align 8, !tbaa !5
  %8738 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8737, i32 0, i32 2
  %8739 = load ptr, ptr %8738, align 8, !tbaa !45
  %8740 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8739)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8733, ptr noundef nonnull align 8 dereferenceable(24) %8736, i1 noundef zeroext %8740)
  %8741 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8742 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8741, i32 0, i32 0
  store i32 14, ptr %8742, align 8, !tbaa !10
  %8743 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8744 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8743, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8744, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8745:                                             ; preds = %406
  %8746 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8747 = load ptr, ptr %15, align 8, !tbaa !5
  %8748 = getelementptr inbounds %union.YYSTYPE, ptr %8747, i64 0
  %8749 = getelementptr inbounds %struct.anon, ptr %8748, i32 0, i32 0
  %8750 = load ptr, ptr %3, align 8, !tbaa !5
  %8751 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8750, i32 0, i32 2
  %8752 = load ptr, ptr %8751, align 8, !tbaa !45
  %8753 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8752)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8746, ptr noundef nonnull align 8 dereferenceable(24) %8749, i1 noundef zeroext %8753)
  %8754 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8755 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8754, i32 0, i32 0
  store i32 14, ptr %8755, align 8, !tbaa !10
  %8756 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8757 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8756, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8757, i32 noundef 8, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8758:                                             ; preds = %406
  %8759 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8760 = load ptr, ptr %15, align 8, !tbaa !5
  %8761 = getelementptr inbounds %union.YYSTYPE, ptr %8760, i64 0
  %8762 = getelementptr inbounds %struct.anon, ptr %8761, i32 0, i32 0
  %8763 = load ptr, ptr %3, align 8, !tbaa !5
  %8764 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8763, i32 0, i32 2
  %8765 = load ptr, ptr %8764, align 8, !tbaa !45
  %8766 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8765)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8759, ptr noundef nonnull align 8 dereferenceable(24) %8762, i1 noundef zeroext %8766)
  %8767 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8768 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8767, i32 0, i32 0
  store i32 14, ptr %8768, align 8, !tbaa !10
  %8769 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8770 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8769, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8770, i32 noundef 8, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8771:                                             ; preds = %406
  %8772 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8773 = load ptr, ptr %15, align 8, !tbaa !5
  %8774 = getelementptr inbounds %union.YYSTYPE, ptr %8773, i64 0
  %8775 = getelementptr inbounds %struct.anon, ptr %8774, i32 0, i32 0
  %8776 = load ptr, ptr %3, align 8, !tbaa !5
  %8777 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8776, i32 0, i32 2
  %8778 = load ptr, ptr %8777, align 8, !tbaa !45
  %8779 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8778)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8772, ptr noundef nonnull align 8 dereferenceable(24) %8775, i1 noundef zeroext %8779)
  %8780 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8781 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8780, i32 0, i32 0
  store i32 14, ptr %8781, align 8, !tbaa !10
  %8782 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8783 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8782, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8783, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8784:                                             ; preds = %406
  %8785 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8786 = load ptr, ptr %15, align 8, !tbaa !5
  %8787 = getelementptr inbounds %union.YYSTYPE, ptr %8786, i64 0
  %8788 = getelementptr inbounds %struct.anon, ptr %8787, i32 0, i32 0
  %8789 = load ptr, ptr %3, align 8, !tbaa !5
  %8790 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8789, i32 0, i32 2
  %8791 = load ptr, ptr %8790, align 8, !tbaa !45
  %8792 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8791)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8785, ptr noundef nonnull align 8 dereferenceable(24) %8788, i1 noundef zeroext %8792)
  %8793 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8794 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8793, i32 0, i32 0
  store i32 14, ptr %8794, align 8, !tbaa !10
  %8795 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8796 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8795, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8796, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8797:                                             ; preds = %406
  %8798 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8799 = load ptr, ptr %15, align 8, !tbaa !5
  %8800 = getelementptr inbounds %union.YYSTYPE, ptr %8799, i64 0
  %8801 = getelementptr inbounds %struct.anon, ptr %8800, i32 0, i32 0
  %8802 = load ptr, ptr %3, align 8, !tbaa !5
  %8803 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8802, i32 0, i32 2
  %8804 = load ptr, ptr %8803, align 8, !tbaa !45
  %8805 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8804)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8798, ptr noundef nonnull align 8 dereferenceable(24) %8801, i1 noundef zeroext %8805)
  %8806 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8807 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8806, i32 0, i32 0
  store i32 14, ptr %8807, align 8, !tbaa !10
  %8808 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8809 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8808, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8809, i32 noundef 9, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8810:                                             ; preds = %406
  %8811 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8812 = load ptr, ptr %15, align 8, !tbaa !5
  %8813 = getelementptr inbounds %union.YYSTYPE, ptr %8812, i64 0
  %8814 = getelementptr inbounds %struct.anon, ptr %8813, i32 0, i32 0
  %8815 = load ptr, ptr %3, align 8, !tbaa !5
  %8816 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8815, i32 0, i32 2
  %8817 = load ptr, ptr %8816, align 8, !tbaa !45
  %8818 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8817)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8811, ptr noundef nonnull align 8 dereferenceable(24) %8814, i1 noundef zeroext %8818)
  %8819 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8820 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8819, i32 0, i32 0
  store i32 14, ptr %8820, align 8, !tbaa !10
  %8821 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8822 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8821, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8822, i32 noundef 9, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8823:                                             ; preds = %406
  %8824 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8825 = load ptr, ptr %15, align 8, !tbaa !5
  %8826 = getelementptr inbounds %union.YYSTYPE, ptr %8825, i64 0
  %8827 = getelementptr inbounds %struct.anon, ptr %8826, i32 0, i32 0
  %8828 = load ptr, ptr %3, align 8, !tbaa !5
  %8829 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8828, i32 0, i32 2
  %8830 = load ptr, ptr %8829, align 8, !tbaa !45
  %8831 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8830)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8824, ptr noundef nonnull align 8 dereferenceable(24) %8827, i1 noundef zeroext %8831)
  %8832 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8833 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8832, i32 0, i32 0
  store i32 14, ptr %8833, align 8, !tbaa !10
  %8834 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8835 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8834, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8835, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8836:                                             ; preds = %406
  %8837 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8838 = load ptr, ptr %15, align 8, !tbaa !5
  %8839 = getelementptr inbounds %union.YYSTYPE, ptr %8838, i64 0
  %8840 = getelementptr inbounds %struct.anon, ptr %8839, i32 0, i32 0
  %8841 = load ptr, ptr %3, align 8, !tbaa !5
  %8842 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8841, i32 0, i32 2
  %8843 = load ptr, ptr %8842, align 8, !tbaa !45
  %8844 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8843)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8837, ptr noundef nonnull align 8 dereferenceable(24) %8840, i1 noundef zeroext %8844)
  %8845 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8846 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8845, i32 0, i32 0
  store i32 14, ptr %8846, align 8, !tbaa !10
  %8847 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8848 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8847, i32 0, i32 1
  call void @_ZN7glslang8TSampler14setPureSamplerEb(ptr noundef nonnull align 4 dereferenceable(4) %8848, i1 noundef zeroext false)
  br label %14379

8849:                                             ; preds = %406
  %8850 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8851 = load ptr, ptr %15, align 8, !tbaa !5
  %8852 = getelementptr inbounds %union.YYSTYPE, ptr %8851, i64 0
  %8853 = getelementptr inbounds %struct.anon, ptr %8852, i32 0, i32 0
  %8854 = load ptr, ptr %3, align 8, !tbaa !5
  %8855 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8854, i32 0, i32 2
  %8856 = load ptr, ptr %8855, align 8, !tbaa !45
  %8857 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8856)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8850, ptr noundef nonnull align 8 dereferenceable(24) %8853, i1 noundef zeroext %8857)
  %8858 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8859 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8858, i32 0, i32 0
  store i32 14, ptr %8859, align 8, !tbaa !10
  %8860 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8861 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8860, i32 0, i32 1
  call void @_ZN7glslang8TSampler14setPureSamplerEb(ptr noundef nonnull align 4 dereferenceable(4) %8861, i1 noundef zeroext true)
  br label %14379

8862:                                             ; preds = %406
  %8863 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8864 = load ptr, ptr %15, align 8, !tbaa !5
  %8865 = getelementptr inbounds %union.YYSTYPE, ptr %8864, i64 0
  %8866 = getelementptr inbounds %struct.anon, ptr %8865, i32 0, i32 0
  %8867 = load ptr, ptr %3, align 8, !tbaa !5
  %8868 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8867, i32 0, i32 2
  %8869 = load ptr, ptr %8868, align 8, !tbaa !45
  %8870 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8869)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8863, ptr noundef nonnull align 8 dereferenceable(24) %8866, i1 noundef zeroext %8870)
  %8871 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8872 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8871, i32 0, i32 0
  store i32 14, ptr %8872, align 8, !tbaa !10
  %8873 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8874 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8873, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8874, i32 noundef 1, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8875:                                             ; preds = %406
  %8876 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8877 = load ptr, ptr %15, align 8, !tbaa !5
  %8878 = getelementptr inbounds %union.YYSTYPE, ptr %8877, i64 0
  %8879 = getelementptr inbounds %struct.anon, ptr %8878, i32 0, i32 0
  %8880 = load ptr, ptr %3, align 8, !tbaa !5
  %8881 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8880, i32 0, i32 2
  %8882 = load ptr, ptr %8881, align 8, !tbaa !45
  %8883 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8882)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8876, ptr noundef nonnull align 8 dereferenceable(24) %8879, i1 noundef zeroext %8883)
  %8884 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8885 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8884, i32 0, i32 0
  store i32 14, ptr %8885, align 8, !tbaa !10
  %8886 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8887 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8886, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8887, i32 noundef 1, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8888:                                             ; preds = %406
  %8889 = load ptr, ptr %3, align 8, !tbaa !5
  %8890 = load ptr, ptr %15, align 8, !tbaa !5
  %8891 = getelementptr inbounds %union.YYSTYPE, ptr %8890, i64 0
  %8892 = getelementptr inbounds %struct.anon, ptr %8891, i32 0, i32 0
  %8893 = load ptr, ptr %3, align 8, !tbaa !5
  %8894 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8893, i32 0, i32 2
  %8895 = load ptr, ptr %8894, align 8, !tbaa !45
  %8896 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8895)
  %8897 = load ptr, ptr %8889, align 8, !tbaa !19
  %8898 = getelementptr inbounds ptr, ptr %8897, i64 28
  %8899 = load ptr, ptr %8898, align 8
  call void %8899(ptr noundef nonnull align 8 dereferenceable(192) %8889, ptr noundef nonnull align 8 dereferenceable(24) %8892, ptr noundef @.str.157, i1 noundef zeroext %8896)
  %8900 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8901 = load ptr, ptr %15, align 8, !tbaa !5
  %8902 = getelementptr inbounds %union.YYSTYPE, ptr %8901, i64 0
  %8903 = getelementptr inbounds %struct.anon, ptr %8902, i32 0, i32 0
  %8904 = load ptr, ptr %3, align 8, !tbaa !5
  %8905 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8904, i32 0, i32 2
  %8906 = load ptr, ptr %8905, align 8, !tbaa !45
  %8907 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8906)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8900, ptr noundef nonnull align 8 dereferenceable(24) %8903, i1 noundef zeroext %8907)
  %8908 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8909 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8908, i32 0, i32 0
  store i32 14, ptr %8909, align 8, !tbaa !10
  %8910 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8911 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8910, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8911, i32 noundef 3, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8912:                                             ; preds = %406
  %8913 = load ptr, ptr %3, align 8, !tbaa !5
  %8914 = load ptr, ptr %15, align 8, !tbaa !5
  %8915 = getelementptr inbounds %union.YYSTYPE, ptr %8914, i64 0
  %8916 = getelementptr inbounds %struct.anon, ptr %8915, i32 0, i32 0
  %8917 = load ptr, ptr %3, align 8, !tbaa !5
  %8918 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8917, i32 0, i32 2
  %8919 = load ptr, ptr %8918, align 8, !tbaa !45
  %8920 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8919)
  %8921 = load ptr, ptr %8913, align 8, !tbaa !19
  %8922 = getelementptr inbounds ptr, ptr %8921, i64 28
  %8923 = load ptr, ptr %8922, align 8
  call void %8923(ptr noundef nonnull align 8 dereferenceable(192) %8913, ptr noundef nonnull align 8 dereferenceable(24) %8916, ptr noundef @.str.157, i1 noundef zeroext %8920)
  %8924 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8925 = load ptr, ptr %15, align 8, !tbaa !5
  %8926 = getelementptr inbounds %union.YYSTYPE, ptr %8925, i64 0
  %8927 = getelementptr inbounds %struct.anon, ptr %8926, i32 0, i32 0
  %8928 = load ptr, ptr %3, align 8, !tbaa !5
  %8929 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8928, i32 0, i32 2
  %8930 = load ptr, ptr %8929, align 8, !tbaa !45
  %8931 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8930)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8924, ptr noundef nonnull align 8 dereferenceable(24) %8927, i1 noundef zeroext %8931)
  %8932 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8933 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8932, i32 0, i32 0
  store i32 14, ptr %8933, align 8, !tbaa !10
  %8934 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8935 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8934, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8935, i32 noundef 3, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %14379

8936:                                             ; preds = %406
  %8937 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8938 = load ptr, ptr %15, align 8, !tbaa !5
  %8939 = getelementptr inbounds %union.YYSTYPE, ptr %8938, i64 0
  %8940 = getelementptr inbounds %struct.anon, ptr %8939, i32 0, i32 0
  %8941 = load ptr, ptr %3, align 8, !tbaa !5
  %8942 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8941, i32 0, i32 2
  %8943 = load ptr, ptr %8942, align 8, !tbaa !45
  %8944 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8943)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8937, ptr noundef nonnull align 8 dereferenceable(24) %8940, i1 noundef zeroext %8944)
  %8945 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8946 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8945, i32 0, i32 0
  store i32 14, ptr %8946, align 8, !tbaa !10
  %8947 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8948 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8947, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8948, i32 noundef 8, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8949:                                             ; preds = %406
  %8950 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8951 = load ptr, ptr %15, align 8, !tbaa !5
  %8952 = getelementptr inbounds %union.YYSTYPE, ptr %8951, i64 0
  %8953 = getelementptr inbounds %struct.anon, ptr %8952, i32 0, i32 0
  %8954 = load ptr, ptr %3, align 8, !tbaa !5
  %8955 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8954, i32 0, i32 2
  %8956 = load ptr, ptr %8955, align 8, !tbaa !45
  %8957 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8956)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8950, ptr noundef nonnull align 8 dereferenceable(24) %8953, i1 noundef zeroext %8957)
  %8958 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8959 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8958, i32 0, i32 0
  store i32 14, ptr %8959, align 8, !tbaa !10
  %8960 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8961 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8960, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8961, i32 noundef 9, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8962:                                             ; preds = %406
  %8963 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8964 = load ptr, ptr %15, align 8, !tbaa !5
  %8965 = getelementptr inbounds %union.YYSTYPE, ptr %8964, i64 0
  %8966 = getelementptr inbounds %struct.anon, ptr %8965, i32 0, i32 0
  %8967 = load ptr, ptr %3, align 8, !tbaa !5
  %8968 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8967, i32 0, i32 2
  %8969 = load ptr, ptr %8968, align 8, !tbaa !45
  %8970 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8969)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8963, ptr noundef nonnull align 8 dereferenceable(24) %8966, i1 noundef zeroext %8970)
  %8971 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8972 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8971, i32 0, i32 0
  store i32 14, ptr %8972, align 8, !tbaa !10
  %8973 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8974 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8973, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8974, i32 noundef 1, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8975:                                             ; preds = %406
  %8976 = load ptr, ptr %3, align 8, !tbaa !5
  %8977 = load ptr, ptr %15, align 8, !tbaa !5
  %8978 = getelementptr inbounds %union.YYSTYPE, ptr %8977, i64 0
  %8979 = getelementptr inbounds %struct.anon, ptr %8978, i32 0, i32 0
  %8980 = load ptr, ptr %3, align 8, !tbaa !5
  %8981 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8980, i32 0, i32 2
  %8982 = load ptr, ptr %8981, align 8, !tbaa !45
  %8983 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8982)
  %8984 = load ptr, ptr %8976, align 8, !tbaa !19
  %8985 = getelementptr inbounds ptr, ptr %8984, i64 28
  %8986 = load ptr, ptr %8985, align 8
  call void %8986(ptr noundef nonnull align 8 dereferenceable(192) %8976, ptr noundef nonnull align 8 dereferenceable(24) %8979, ptr noundef @.str.157, i1 noundef zeroext %8983)
  %8987 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8988 = load ptr, ptr %15, align 8, !tbaa !5
  %8989 = getelementptr inbounds %union.YYSTYPE, ptr %8988, i64 0
  %8990 = getelementptr inbounds %struct.anon, ptr %8989, i32 0, i32 0
  %8991 = load ptr, ptr %3, align 8, !tbaa !5
  %8992 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %8991, i32 0, i32 2
  %8993 = load ptr, ptr %8992, align 8, !tbaa !45
  %8994 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %8993)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %8987, ptr noundef nonnull align 8 dereferenceable(24) %8990, i1 noundef zeroext %8994)
  %8995 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8996 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8995, i32 0, i32 0
  store i32 14, ptr %8996, align 8, !tbaa !10
  %8997 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %8998 = getelementptr inbounds %"class.glslang::TPublicType", ptr %8997, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %8998, i32 noundef 3, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

8999:                                             ; preds = %406
  %9000 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9001 = load ptr, ptr %15, align 8, !tbaa !5
  %9002 = getelementptr inbounds %union.YYSTYPE, ptr %9001, i64 0
  %9003 = getelementptr inbounds %struct.anon, ptr %9002, i32 0, i32 0
  %9004 = load ptr, ptr %3, align 8, !tbaa !5
  %9005 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9004, i32 0, i32 2
  %9006 = load ptr, ptr %9005, align 8, !tbaa !45
  %9007 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9006)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9000, ptr noundef nonnull align 8 dereferenceable(24) %9003, i1 noundef zeroext %9007)
  %9008 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9009 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9008, i32 0, i32 0
  store i32 14, ptr %9009, align 8, !tbaa !10
  %9010 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9011 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9010, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9011, i32 noundef 8, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9012:                                             ; preds = %406
  %9013 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9014 = load ptr, ptr %15, align 8, !tbaa !5
  %9015 = getelementptr inbounds %union.YYSTYPE, ptr %9014, i64 0
  %9016 = getelementptr inbounds %struct.anon, ptr %9015, i32 0, i32 0
  %9017 = load ptr, ptr %3, align 8, !tbaa !5
  %9018 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9017, i32 0, i32 2
  %9019 = load ptr, ptr %9018, align 8, !tbaa !45
  %9020 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9019)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9013, ptr noundef nonnull align 8 dereferenceable(24) %9016, i1 noundef zeroext %9020)
  %9021 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9022 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9021, i32 0, i32 0
  store i32 14, ptr %9022, align 8, !tbaa !10
  %9023 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9024 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9023, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9024, i32 noundef 9, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9025:                                             ; preds = %406
  %9026 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9027 = load ptr, ptr %15, align 8, !tbaa !5
  %9028 = getelementptr inbounds %union.YYSTYPE, ptr %9027, i64 0
  %9029 = getelementptr inbounds %struct.anon, ptr %9028, i32 0, i32 0
  %9030 = load ptr, ptr %3, align 8, !tbaa !5
  %9031 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9030, i32 0, i32 2
  %9032 = load ptr, ptr %9031, align 8, !tbaa !45
  %9033 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9032)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9026, ptr noundef nonnull align 8 dereferenceable(24) %9029, i1 noundef zeroext %9033)
  %9034 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9035 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9034, i32 0, i32 0
  store i32 14, ptr %9035, align 8, !tbaa !10
  %9036 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9037 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9036, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9037, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9038:                                             ; preds = %406
  %9039 = load ptr, ptr %3, align 8, !tbaa !5
  %9040 = load ptr, ptr %15, align 8, !tbaa !5
  %9041 = getelementptr inbounds %union.YYSTYPE, ptr %9040, i64 0
  %9042 = getelementptr inbounds %struct.anon, ptr %9041, i32 0, i32 0
  %9043 = load ptr, ptr %3, align 8, !tbaa !5
  %9044 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9043, i32 0, i32 2
  %9045 = load ptr, ptr %9044, align 8, !tbaa !45
  %9046 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9045)
  %9047 = load ptr, ptr %9039, align 8, !tbaa !19
  %9048 = getelementptr inbounds ptr, ptr %9047, i64 28
  %9049 = load ptr, ptr %9048, align 8
  call void %9049(ptr noundef nonnull align 8 dereferenceable(192) %9039, ptr noundef nonnull align 8 dereferenceable(24) %9042, ptr noundef @.str.157, i1 noundef zeroext %9046)
  %9050 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9051 = load ptr, ptr %15, align 8, !tbaa !5
  %9052 = getelementptr inbounds %union.YYSTYPE, ptr %9051, i64 0
  %9053 = getelementptr inbounds %struct.anon, ptr %9052, i32 0, i32 0
  %9054 = load ptr, ptr %3, align 8, !tbaa !5
  %9055 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9054, i32 0, i32 2
  %9056 = load ptr, ptr %9055, align 8, !tbaa !45
  %9057 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9056)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9050, ptr noundef nonnull align 8 dereferenceable(24) %9053, i1 noundef zeroext %9057)
  %9058 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9059 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9058, i32 0, i32 0
  store i32 14, ptr %9059, align 8, !tbaa !10
  %9060 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9061 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9060, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9061, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9062:                                             ; preds = %406
  %9063 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9064 = load ptr, ptr %15, align 8, !tbaa !5
  %9065 = getelementptr inbounds %union.YYSTYPE, ptr %9064, i64 0
  %9066 = getelementptr inbounds %struct.anon, ptr %9065, i32 0, i32 0
  %9067 = load ptr, ptr %3, align 8, !tbaa !5
  %9068 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9067, i32 0, i32 2
  %9069 = load ptr, ptr %9068, align 8, !tbaa !45
  %9070 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9069)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9063, ptr noundef nonnull align 8 dereferenceable(24) %9066, i1 noundef zeroext %9070)
  %9071 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9072 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9071, i32 0, i32 0
  store i32 14, ptr %9072, align 8, !tbaa !10
  %9073 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9074 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9073, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9074, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9075:                                             ; preds = %406
  %9076 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9077 = load ptr, ptr %15, align 8, !tbaa !5
  %9078 = getelementptr inbounds %union.YYSTYPE, ptr %9077, i64 0
  %9079 = getelementptr inbounds %struct.anon, ptr %9078, i32 0, i32 0
  %9080 = load ptr, ptr %3, align 8, !tbaa !5
  %9081 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9080, i32 0, i32 2
  %9082 = load ptr, ptr %9081, align 8, !tbaa !45
  %9083 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9082)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9076, ptr noundef nonnull align 8 dereferenceable(24) %9079, i1 noundef zeroext %9083)
  %9084 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9085 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9084, i32 0, i32 0
  store i32 14, ptr %9085, align 8, !tbaa !10
  %9086 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9087 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9086, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9087, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9088:                                             ; preds = %406
  %9089 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9090 = load ptr, ptr %15, align 8, !tbaa !5
  %9091 = getelementptr inbounds %union.YYSTYPE, ptr %9090, i64 0
  %9092 = getelementptr inbounds %struct.anon, ptr %9091, i32 0, i32 0
  %9093 = load ptr, ptr %3, align 8, !tbaa !5
  %9094 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9093, i32 0, i32 2
  %9095 = load ptr, ptr %9094, align 8, !tbaa !45
  %9096 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9095)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9089, ptr noundef nonnull align 8 dereferenceable(24) %9092, i1 noundef zeroext %9096)
  %9097 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9098 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9097, i32 0, i32 0
  store i32 14, ptr %9098, align 8, !tbaa !10
  %9099 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9100 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9099, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9100, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9101:                                             ; preds = %406
  %9102 = load ptr, ptr %3, align 8, !tbaa !5
  %9103 = load ptr, ptr %15, align 8, !tbaa !5
  %9104 = getelementptr inbounds %union.YYSTYPE, ptr %9103, i64 0
  %9105 = getelementptr inbounds %struct.anon, ptr %9104, i32 0, i32 0
  %9106 = load ptr, ptr %3, align 8, !tbaa !5
  %9107 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9106, i32 0, i32 2
  %9108 = load ptr, ptr %9107, align 8, !tbaa !45
  %9109 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9108)
  %9110 = load ptr, ptr %9102, align 8, !tbaa !19
  %9111 = getelementptr inbounds ptr, ptr %9110, i64 28
  %9112 = load ptr, ptr %9111, align 8
  call void %9112(ptr noundef nonnull align 8 dereferenceable(192) %9102, ptr noundef nonnull align 8 dereferenceable(24) %9105, ptr noundef @.str.157, i1 noundef zeroext %9109)
  %9113 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9114 = load ptr, ptr %15, align 8, !tbaa !5
  %9115 = getelementptr inbounds %union.YYSTYPE, ptr %9114, i64 0
  %9116 = getelementptr inbounds %struct.anon, ptr %9115, i32 0, i32 0
  %9117 = load ptr, ptr %3, align 8, !tbaa !5
  %9118 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9117, i32 0, i32 2
  %9119 = load ptr, ptr %9118, align 8, !tbaa !45
  %9120 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9119)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9113, ptr noundef nonnull align 8 dereferenceable(24) %9116, i1 noundef zeroext %9120)
  %9121 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9122 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9121, i32 0, i32 0
  store i32 14, ptr %9122, align 8, !tbaa !10
  %9123 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9124 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9123, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9124, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9125:                                             ; preds = %406
  %9126 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9127 = load ptr, ptr %15, align 8, !tbaa !5
  %9128 = getelementptr inbounds %union.YYSTYPE, ptr %9127, i64 0
  %9129 = getelementptr inbounds %struct.anon, ptr %9128, i32 0, i32 0
  %9130 = load ptr, ptr %3, align 8, !tbaa !5
  %9131 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9130, i32 0, i32 2
  %9132 = load ptr, ptr %9131, align 8, !tbaa !45
  %9133 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9132)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9126, ptr noundef nonnull align 8 dereferenceable(24) %9129, i1 noundef zeroext %9133)
  %9134 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9135 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9134, i32 0, i32 0
  store i32 14, ptr %9135, align 8, !tbaa !10
  %9136 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9137 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9136, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9137, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9138:                                             ; preds = %406
  %9139 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9140 = load ptr, ptr %15, align 8, !tbaa !5
  %9141 = getelementptr inbounds %union.YYSTYPE, ptr %9140, i64 0
  %9142 = getelementptr inbounds %struct.anon, ptr %9141, i32 0, i32 0
  %9143 = load ptr, ptr %3, align 8, !tbaa !5
  %9144 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9143, i32 0, i32 2
  %9145 = load ptr, ptr %9144, align 8, !tbaa !45
  %9146 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9145)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9139, ptr noundef nonnull align 8 dereferenceable(24) %9142, i1 noundef zeroext %9146)
  %9147 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9148 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9147, i32 0, i32 0
  store i32 14, ptr %9148, align 8, !tbaa !10
  %9149 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9150 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9149, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9150, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9151:                                             ; preds = %406
  %9152 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9153 = load ptr, ptr %15, align 8, !tbaa !5
  %9154 = getelementptr inbounds %union.YYSTYPE, ptr %9153, i64 0
  %9155 = getelementptr inbounds %struct.anon, ptr %9154, i32 0, i32 0
  %9156 = load ptr, ptr %3, align 8, !tbaa !5
  %9157 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9156, i32 0, i32 2
  %9158 = load ptr, ptr %9157, align 8, !tbaa !45
  %9159 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9158)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9152, ptr noundef nonnull align 8 dereferenceable(24) %9155, i1 noundef zeroext %9159)
  %9160 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9161 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9160, i32 0, i32 0
  store i32 14, ptr %9161, align 8, !tbaa !10
  %9162 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9163 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9162, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9163, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9164:                                             ; preds = %406
  %9165 = load ptr, ptr %3, align 8, !tbaa !5
  %9166 = load ptr, ptr %15, align 8, !tbaa !5
  %9167 = getelementptr inbounds %union.YYSTYPE, ptr %9166, i64 0
  %9168 = getelementptr inbounds %struct.anon, ptr %9167, i32 0, i32 0
  %9169 = load ptr, ptr %3, align 8, !tbaa !5
  %9170 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9169, i32 0, i32 2
  %9171 = load ptr, ptr %9170, align 8, !tbaa !45
  %9172 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9171)
  %9173 = load ptr, ptr %9165, align 8, !tbaa !19
  %9174 = getelementptr inbounds ptr, ptr %9173, i64 28
  %9175 = load ptr, ptr %9174, align 8
  call void %9175(ptr noundef nonnull align 8 dereferenceable(192) %9165, ptr noundef nonnull align 8 dereferenceable(24) %9168, ptr noundef @.str.158, i1 noundef zeroext %9172)
  %9176 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9177 = load ptr, ptr %15, align 8, !tbaa !5
  %9178 = getelementptr inbounds %union.YYSTYPE, ptr %9177, i64 0
  %9179 = getelementptr inbounds %struct.anon, ptr %9178, i32 0, i32 0
  %9180 = load ptr, ptr %3, align 8, !tbaa !5
  %9181 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9180, i32 0, i32 2
  %9182 = load ptr, ptr %9181, align 8, !tbaa !45
  %9183 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9182)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9176, ptr noundef nonnull align 8 dereferenceable(24) %9179, i1 noundef zeroext %9183)
  %9184 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9185 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9184, i32 0, i32 0
  store i32 14, ptr %9185, align 8, !tbaa !10
  %9186 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9187 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9186, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9187, i32 noundef 3, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9188:                                             ; preds = %406
  %9189 = load ptr, ptr %3, align 8, !tbaa !5
  %9190 = load ptr, ptr %15, align 8, !tbaa !5
  %9191 = getelementptr inbounds %union.YYSTYPE, ptr %9190, i64 0
  %9192 = getelementptr inbounds %struct.anon, ptr %9191, i32 0, i32 0
  %9193 = load ptr, ptr %3, align 8, !tbaa !5
  %9194 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9193, i32 0, i32 2
  %9195 = load ptr, ptr %9194, align 8, !tbaa !45
  %9196 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9195)
  %9197 = load ptr, ptr %9189, align 8, !tbaa !19
  %9198 = getelementptr inbounds ptr, ptr %9197, i64 28
  %9199 = load ptr, ptr %9198, align 8
  call void %9199(ptr noundef nonnull align 8 dereferenceable(192) %9189, ptr noundef nonnull align 8 dereferenceable(24) %9192, ptr noundef @.str.158, i1 noundef zeroext %9196)
  %9200 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9201 = load ptr, ptr %15, align 8, !tbaa !5
  %9202 = getelementptr inbounds %union.YYSTYPE, ptr %9201, i64 0
  %9203 = getelementptr inbounds %struct.anon, ptr %9202, i32 0, i32 0
  %9204 = load ptr, ptr %3, align 8, !tbaa !5
  %9205 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9204, i32 0, i32 2
  %9206 = load ptr, ptr %9205, align 8, !tbaa !45
  %9207 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9206)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9200, ptr noundef nonnull align 8 dereferenceable(24) %9203, i1 noundef zeroext %9207)
  %9208 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9209 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9208, i32 0, i32 0
  store i32 14, ptr %9209, align 8, !tbaa !10
  %9210 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9211 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9210, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9211, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9212:                                             ; preds = %406
  %9213 = load ptr, ptr %3, align 8, !tbaa !5
  %9214 = load ptr, ptr %15, align 8, !tbaa !5
  %9215 = getelementptr inbounds %union.YYSTYPE, ptr %9214, i64 0
  %9216 = getelementptr inbounds %struct.anon, ptr %9215, i32 0, i32 0
  %9217 = load ptr, ptr %3, align 8, !tbaa !5
  %9218 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9217, i32 0, i32 2
  %9219 = load ptr, ptr %9218, align 8, !tbaa !45
  %9220 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9219)
  %9221 = load ptr, ptr %9213, align 8, !tbaa !19
  %9222 = getelementptr inbounds ptr, ptr %9221, i64 28
  %9223 = load ptr, ptr %9222, align 8
  call void %9223(ptr noundef nonnull align 8 dereferenceable(192) %9213, ptr noundef nonnull align 8 dereferenceable(24) %9216, ptr noundef @.str.158, i1 noundef zeroext %9220)
  %9224 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9225 = load ptr, ptr %15, align 8, !tbaa !5
  %9226 = getelementptr inbounds %union.YYSTYPE, ptr %9225, i64 0
  %9227 = getelementptr inbounds %struct.anon, ptr %9226, i32 0, i32 0
  %9228 = load ptr, ptr %3, align 8, !tbaa !5
  %9229 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9228, i32 0, i32 2
  %9230 = load ptr, ptr %9229, align 8, !tbaa !45
  %9231 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9230)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9224, ptr noundef nonnull align 8 dereferenceable(24) %9227, i1 noundef zeroext %9231)
  %9232 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9233 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9232, i32 0, i32 0
  store i32 14, ptr %9233, align 8, !tbaa !10
  %9234 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9235 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9234, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9235, i32 noundef 3, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9236:                                             ; preds = %406
  %9237 = load ptr, ptr %3, align 8, !tbaa !5
  %9238 = load ptr, ptr %15, align 8, !tbaa !5
  %9239 = getelementptr inbounds %union.YYSTYPE, ptr %9238, i64 0
  %9240 = getelementptr inbounds %struct.anon, ptr %9239, i32 0, i32 0
  %9241 = load ptr, ptr %3, align 8, !tbaa !5
  %9242 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9241, i32 0, i32 2
  %9243 = load ptr, ptr %9242, align 8, !tbaa !45
  %9244 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9243)
  %9245 = load ptr, ptr %9237, align 8, !tbaa !19
  %9246 = getelementptr inbounds ptr, ptr %9245, i64 28
  %9247 = load ptr, ptr %9246, align 8
  call void %9247(ptr noundef nonnull align 8 dereferenceable(192) %9237, ptr noundef nonnull align 8 dereferenceable(24) %9240, ptr noundef @.str.158, i1 noundef zeroext %9244)
  %9248 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9249 = load ptr, ptr %15, align 8, !tbaa !5
  %9250 = getelementptr inbounds %union.YYSTYPE, ptr %9249, i64 0
  %9251 = getelementptr inbounds %struct.anon, ptr %9250, i32 0, i32 0
  %9252 = load ptr, ptr %3, align 8, !tbaa !5
  %9253 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9252, i32 0, i32 2
  %9254 = load ptr, ptr %9253, align 8, !tbaa !45
  %9255 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9254)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9248, ptr noundef nonnull align 8 dereferenceable(24) %9251, i1 noundef zeroext %9255)
  %9256 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9257 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9256, i32 0, i32 0
  store i32 14, ptr %9257, align 8, !tbaa !10
  %9258 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9259 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9258, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9259, i32 noundef 3, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9260:                                             ; preds = %406
  %9261 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9262 = load ptr, ptr %15, align 8, !tbaa !5
  %9263 = getelementptr inbounds %union.YYSTYPE, ptr %9262, i64 0
  %9264 = getelementptr inbounds %struct.anon, ptr %9263, i32 0, i32 0
  %9265 = load ptr, ptr %3, align 8, !tbaa !5
  %9266 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9265, i32 0, i32 2
  %9267 = load ptr, ptr %9266, align 8, !tbaa !45
  %9268 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9267)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9261, ptr noundef nonnull align 8 dereferenceable(24) %9264, i1 noundef zeroext %9268)
  %9269 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9270 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9269, i32 0, i32 0
  store i32 14, ptr %9270, align 8, !tbaa !10
  %9271 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9272 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9271, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9272, i32 noundef 1, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9273:                                             ; preds = %406
  %9274 = load ptr, ptr %3, align 8, !tbaa !5
  %9275 = load ptr, ptr %15, align 8, !tbaa !5
  %9276 = getelementptr inbounds %union.YYSTYPE, ptr %9275, i64 0
  %9277 = getelementptr inbounds %struct.anon, ptr %9276, i32 0, i32 0
  %9278 = load ptr, ptr %3, align 8, !tbaa !5
  %9279 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9278, i32 0, i32 2
  %9280 = load ptr, ptr %9279, align 8, !tbaa !45
  %9281 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9280)
  %9282 = load ptr, ptr %9274, align 8, !tbaa !19
  %9283 = getelementptr inbounds ptr, ptr %9282, i64 28
  %9284 = load ptr, ptr %9283, align 8
  call void %9284(ptr noundef nonnull align 8 dereferenceable(192) %9274, ptr noundef nonnull align 8 dereferenceable(24) %9277, ptr noundef @.str.158, i1 noundef zeroext %9281)
  %9285 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9286 = load ptr, ptr %15, align 8, !tbaa !5
  %9287 = getelementptr inbounds %union.YYSTYPE, ptr %9286, i64 0
  %9288 = getelementptr inbounds %struct.anon, ptr %9287, i32 0, i32 0
  %9289 = load ptr, ptr %3, align 8, !tbaa !5
  %9290 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9289, i32 0, i32 2
  %9291 = load ptr, ptr %9290, align 8, !tbaa !45
  %9292 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9291)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9285, ptr noundef nonnull align 8 dereferenceable(24) %9288, i1 noundef zeroext %9292)
  %9293 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9294 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9293, i32 0, i32 0
  store i32 14, ptr %9294, align 8, !tbaa !10
  %9295 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9296 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9295, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9296, i32 noundef 3, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9297:                                             ; preds = %406
  %9298 = load ptr, ptr %3, align 8, !tbaa !5
  %9299 = load ptr, ptr %15, align 8, !tbaa !5
  %9300 = getelementptr inbounds %union.YYSTYPE, ptr %9299, i64 0
  %9301 = getelementptr inbounds %struct.anon, ptr %9300, i32 0, i32 0
  %9302 = load ptr, ptr %3, align 8, !tbaa !5
  %9303 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9302, i32 0, i32 2
  %9304 = load ptr, ptr %9303, align 8, !tbaa !45
  %9305 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9304)
  %9306 = load ptr, ptr %9298, align 8, !tbaa !19
  %9307 = getelementptr inbounds ptr, ptr %9306, i64 28
  %9308 = load ptr, ptr %9307, align 8
  call void %9308(ptr noundef nonnull align 8 dereferenceable(192) %9298, ptr noundef nonnull align 8 dereferenceable(24) %9301, ptr noundef @.str.158, i1 noundef zeroext %9305)
  %9309 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9310 = load ptr, ptr %15, align 8, !tbaa !5
  %9311 = getelementptr inbounds %union.YYSTYPE, ptr %9310, i64 0
  %9312 = getelementptr inbounds %struct.anon, ptr %9311, i32 0, i32 0
  %9313 = load ptr, ptr %3, align 8, !tbaa !5
  %9314 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9313, i32 0, i32 2
  %9315 = load ptr, ptr %9314, align 8, !tbaa !45
  %9316 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9315)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9309, ptr noundef nonnull align 8 dereferenceable(24) %9312, i1 noundef zeroext %9316)
  %9317 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9318 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9317, i32 0, i32 0
  store i32 14, ptr %9318, align 8, !tbaa !10
  %9319 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9320 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9319, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9320, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9321:                                             ; preds = %406
  %9322 = load ptr, ptr %3, align 8, !tbaa !5
  %9323 = load ptr, ptr %15, align 8, !tbaa !5
  %9324 = getelementptr inbounds %union.YYSTYPE, ptr %9323, i64 0
  %9325 = getelementptr inbounds %struct.anon, ptr %9324, i32 0, i32 0
  %9326 = load ptr, ptr %3, align 8, !tbaa !5
  %9327 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9326, i32 0, i32 2
  %9328 = load ptr, ptr %9327, align 8, !tbaa !45
  %9329 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9328)
  %9330 = load ptr, ptr %9322, align 8, !tbaa !19
  %9331 = getelementptr inbounds ptr, ptr %9330, i64 28
  %9332 = load ptr, ptr %9331, align 8
  call void %9332(ptr noundef nonnull align 8 dereferenceable(192) %9322, ptr noundef nonnull align 8 dereferenceable(24) %9325, ptr noundef @.str.158, i1 noundef zeroext %9329)
  %9333 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9334 = load ptr, ptr %15, align 8, !tbaa !5
  %9335 = getelementptr inbounds %union.YYSTYPE, ptr %9334, i64 0
  %9336 = getelementptr inbounds %struct.anon, ptr %9335, i32 0, i32 0
  %9337 = load ptr, ptr %3, align 8, !tbaa !5
  %9338 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9337, i32 0, i32 2
  %9339 = load ptr, ptr %9338, align 8, !tbaa !45
  %9340 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9339)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9333, ptr noundef nonnull align 8 dereferenceable(24) %9336, i1 noundef zeroext %9340)
  %9341 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9342 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9341, i32 0, i32 0
  store i32 14, ptr %9342, align 8, !tbaa !10
  %9343 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9344 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9343, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9344, i32 noundef 3, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9345:                                             ; preds = %406
  %9346 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9347 = load ptr, ptr %15, align 8, !tbaa !5
  %9348 = getelementptr inbounds %union.YYSTYPE, ptr %9347, i64 0
  %9349 = getelementptr inbounds %struct.anon, ptr %9348, i32 0, i32 0
  %9350 = load ptr, ptr %3, align 8, !tbaa !5
  %9351 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9350, i32 0, i32 2
  %9352 = load ptr, ptr %9351, align 8, !tbaa !45
  %9353 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9352)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9346, ptr noundef nonnull align 8 dereferenceable(24) %9349, i1 noundef zeroext %9353)
  %9354 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9355 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9354, i32 0, i32 0
  store i32 14, ptr %9355, align 8, !tbaa !10
  %9356 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9357 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9356, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9357, i32 noundef 8, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9358:                                             ; preds = %406
  %9359 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9360 = load ptr, ptr %15, align 8, !tbaa !5
  %9361 = getelementptr inbounds %union.YYSTYPE, ptr %9360, i64 0
  %9362 = getelementptr inbounds %struct.anon, ptr %9361, i32 0, i32 0
  %9363 = load ptr, ptr %3, align 8, !tbaa !5
  %9364 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9363, i32 0, i32 2
  %9365 = load ptr, ptr %9364, align 8, !tbaa !45
  %9366 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9365)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9359, ptr noundef nonnull align 8 dereferenceable(24) %9362, i1 noundef zeroext %9366)
  %9367 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9368 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9367, i32 0, i32 0
  store i32 14, ptr %9368, align 8, !tbaa !10
  %9369 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9370 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9369, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9370, i32 noundef 8, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9371:                                             ; preds = %406
  %9372 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9373 = load ptr, ptr %15, align 8, !tbaa !5
  %9374 = getelementptr inbounds %union.YYSTYPE, ptr %9373, i64 0
  %9375 = getelementptr inbounds %struct.anon, ptr %9374, i32 0, i32 0
  %9376 = load ptr, ptr %3, align 8, !tbaa !5
  %9377 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9376, i32 0, i32 2
  %9378 = load ptr, ptr %9377, align 8, !tbaa !45
  %9379 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9378)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9372, ptr noundef nonnull align 8 dereferenceable(24) %9375, i1 noundef zeroext %9379)
  %9380 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9381 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9380, i32 0, i32 0
  store i32 14, ptr %9381, align 8, !tbaa !10
  %9382 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9383 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9382, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9383, i32 noundef 9, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9384:                                             ; preds = %406
  %9385 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9386 = load ptr, ptr %15, align 8, !tbaa !5
  %9387 = getelementptr inbounds %union.YYSTYPE, ptr %9386, i64 0
  %9388 = getelementptr inbounds %struct.anon, ptr %9387, i32 0, i32 0
  %9389 = load ptr, ptr %3, align 8, !tbaa !5
  %9390 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9389, i32 0, i32 2
  %9391 = load ptr, ptr %9390, align 8, !tbaa !45
  %9392 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9391)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9385, ptr noundef nonnull align 8 dereferenceable(24) %9388, i1 noundef zeroext %9392)
  %9393 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9394 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9393, i32 0, i32 0
  store i32 14, ptr %9394, align 8, !tbaa !10
  %9395 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9396 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9395, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9396, i32 noundef 9, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9397:                                             ; preds = %406
  %9398 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9399 = load ptr, ptr %15, align 8, !tbaa !5
  %9400 = getelementptr inbounds %union.YYSTYPE, ptr %9399, i64 0
  %9401 = getelementptr inbounds %struct.anon, ptr %9400, i32 0, i32 0
  %9402 = load ptr, ptr %3, align 8, !tbaa !5
  %9403 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9402, i32 0, i32 2
  %9404 = load ptr, ptr %9403, align 8, !tbaa !45
  %9405 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9404)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9398, ptr noundef nonnull align 8 dereferenceable(24) %9401, i1 noundef zeroext %9405)
  %9406 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9407 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9406, i32 0, i32 0
  store i32 14, ptr %9407, align 8, !tbaa !10
  %9408 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9409 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9408, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9409, i32 noundef 1, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9410:                                             ; preds = %406
  %9411 = load ptr, ptr %3, align 8, !tbaa !5
  %9412 = load ptr, ptr %15, align 8, !tbaa !5
  %9413 = getelementptr inbounds %union.YYSTYPE, ptr %9412, i64 0
  %9414 = getelementptr inbounds %struct.anon, ptr %9413, i32 0, i32 0
  %9415 = load ptr, ptr %3, align 8, !tbaa !5
  %9416 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9415, i32 0, i32 2
  %9417 = load ptr, ptr %9416, align 8, !tbaa !45
  %9418 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9417)
  %9419 = load ptr, ptr %9411, align 8, !tbaa !19
  %9420 = getelementptr inbounds ptr, ptr %9419, i64 28
  %9421 = load ptr, ptr %9420, align 8
  call void %9421(ptr noundef nonnull align 8 dereferenceable(192) %9411, ptr noundef nonnull align 8 dereferenceable(24) %9414, ptr noundef @.str.158, i1 noundef zeroext %9418)
  %9422 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9423 = load ptr, ptr %15, align 8, !tbaa !5
  %9424 = getelementptr inbounds %union.YYSTYPE, ptr %9423, i64 0
  %9425 = getelementptr inbounds %struct.anon, ptr %9424, i32 0, i32 0
  %9426 = load ptr, ptr %3, align 8, !tbaa !5
  %9427 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9426, i32 0, i32 2
  %9428 = load ptr, ptr %9427, align 8, !tbaa !45
  %9429 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9428)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9422, ptr noundef nonnull align 8 dereferenceable(24) %9425, i1 noundef zeroext %9429)
  %9430 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9431 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9430, i32 0, i32 0
  store i32 14, ptr %9431, align 8, !tbaa !10
  %9432 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9433 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9432, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9433, i32 noundef 3, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9434:                                             ; preds = %406
  %9435 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9436 = load ptr, ptr %15, align 8, !tbaa !5
  %9437 = getelementptr inbounds %union.YYSTYPE, ptr %9436, i64 0
  %9438 = getelementptr inbounds %struct.anon, ptr %9437, i32 0, i32 0
  %9439 = load ptr, ptr %3, align 8, !tbaa !5
  %9440 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9439, i32 0, i32 2
  %9441 = load ptr, ptr %9440, align 8, !tbaa !45
  %9442 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9441)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9435, ptr noundef nonnull align 8 dereferenceable(24) %9438, i1 noundef zeroext %9442)
  %9443 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9444 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9443, i32 0, i32 0
  store i32 14, ptr %9444, align 8, !tbaa !10
  %9445 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9446 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9445, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9446, i32 noundef 8, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9447:                                             ; preds = %406
  %9448 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9449 = load ptr, ptr %15, align 8, !tbaa !5
  %9450 = getelementptr inbounds %union.YYSTYPE, ptr %9449, i64 0
  %9451 = getelementptr inbounds %struct.anon, ptr %9450, i32 0, i32 0
  %9452 = load ptr, ptr %3, align 8, !tbaa !5
  %9453 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9452, i32 0, i32 2
  %9454 = load ptr, ptr %9453, align 8, !tbaa !45
  %9455 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9454)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9448, ptr noundef nonnull align 8 dereferenceable(24) %9451, i1 noundef zeroext %9455)
  %9456 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9457 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9456, i32 0, i32 0
  store i32 14, ptr %9457, align 8, !tbaa !10
  %9458 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9459 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9458, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9459, i32 noundef 9, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9460:                                             ; preds = %406
  %9461 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9462 = load ptr, ptr %15, align 8, !tbaa !5
  %9463 = getelementptr inbounds %union.YYSTYPE, ptr %9462, i64 0
  %9464 = getelementptr inbounds %struct.anon, ptr %9463, i32 0, i32 0
  %9465 = load ptr, ptr %3, align 8, !tbaa !5
  %9466 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9465, i32 0, i32 2
  %9467 = load ptr, ptr %9466, align 8, !tbaa !45
  %9468 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9467)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9461, ptr noundef nonnull align 8 dereferenceable(24) %9464, i1 noundef zeroext %9468)
  %9469 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9470 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9469, i32 0, i32 0
  store i32 14, ptr %9470, align 8, !tbaa !10
  %9471 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9472 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9471, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9472, i32 noundef 1, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9473:                                             ; preds = %406
  %9474 = load ptr, ptr %3, align 8, !tbaa !5
  %9475 = load ptr, ptr %15, align 8, !tbaa !5
  %9476 = getelementptr inbounds %union.YYSTYPE, ptr %9475, i64 0
  %9477 = getelementptr inbounds %struct.anon, ptr %9476, i32 0, i32 0
  %9478 = load ptr, ptr %3, align 8, !tbaa !5
  %9479 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9478, i32 0, i32 2
  %9480 = load ptr, ptr %9479, align 8, !tbaa !45
  %9481 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9480)
  %9482 = load ptr, ptr %9474, align 8, !tbaa !19
  %9483 = getelementptr inbounds ptr, ptr %9482, i64 28
  %9484 = load ptr, ptr %9483, align 8
  call void %9484(ptr noundef nonnull align 8 dereferenceable(192) %9474, ptr noundef nonnull align 8 dereferenceable(24) %9477, ptr noundef @.str.158, i1 noundef zeroext %9481)
  %9485 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9486 = load ptr, ptr %15, align 8, !tbaa !5
  %9487 = getelementptr inbounds %union.YYSTYPE, ptr %9486, i64 0
  %9488 = getelementptr inbounds %struct.anon, ptr %9487, i32 0, i32 0
  %9489 = load ptr, ptr %3, align 8, !tbaa !5
  %9490 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9489, i32 0, i32 2
  %9491 = load ptr, ptr %9490, align 8, !tbaa !45
  %9492 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9491)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9485, ptr noundef nonnull align 8 dereferenceable(24) %9488, i1 noundef zeroext %9492)
  %9493 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9494 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9493, i32 0, i32 0
  store i32 14, ptr %9494, align 8, !tbaa !10
  %9495 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9496 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9495, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9496, i32 noundef 3, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9497:                                             ; preds = %406
  %9498 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9499 = load ptr, ptr %15, align 8, !tbaa !5
  %9500 = getelementptr inbounds %union.YYSTYPE, ptr %9499, i64 0
  %9501 = getelementptr inbounds %struct.anon, ptr %9500, i32 0, i32 0
  %9502 = load ptr, ptr %3, align 8, !tbaa !5
  %9503 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9502, i32 0, i32 2
  %9504 = load ptr, ptr %9503, align 8, !tbaa !45
  %9505 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9504)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9498, ptr noundef nonnull align 8 dereferenceable(24) %9501, i1 noundef zeroext %9505)
  %9506 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9507 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9506, i32 0, i32 0
  store i32 14, ptr %9507, align 8, !tbaa !10
  %9508 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9509 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9508, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9509, i32 noundef 8, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9510:                                             ; preds = %406
  %9511 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9512 = load ptr, ptr %15, align 8, !tbaa !5
  %9513 = getelementptr inbounds %union.YYSTYPE, ptr %9512, i64 0
  %9514 = getelementptr inbounds %struct.anon, ptr %9513, i32 0, i32 0
  %9515 = load ptr, ptr %3, align 8, !tbaa !5
  %9516 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9515, i32 0, i32 2
  %9517 = load ptr, ptr %9516, align 8, !tbaa !45
  %9518 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9517)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9511, ptr noundef nonnull align 8 dereferenceable(24) %9514, i1 noundef zeroext %9518)
  %9519 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9520 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9519, i32 0, i32 0
  store i32 14, ptr %9520, align 8, !tbaa !10
  %9521 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9522 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9521, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9522, i32 noundef 9, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9523:                                             ; preds = %406
  %9524 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9525 = load ptr, ptr %15, align 8, !tbaa !5
  %9526 = getelementptr inbounds %union.YYSTYPE, ptr %9525, i64 0
  %9527 = getelementptr inbounds %struct.anon, ptr %9526, i32 0, i32 0
  %9528 = load ptr, ptr %3, align 8, !tbaa !5
  %9529 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9528, i32 0, i32 2
  %9530 = load ptr, ptr %9529, align 8, !tbaa !45
  %9531 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9530)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9524, ptr noundef nonnull align 8 dereferenceable(24) %9527, i1 noundef zeroext %9531)
  %9532 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9533 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9532, i32 0, i32 0
  store i32 14, ptr %9533, align 8, !tbaa !10
  %9534 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9535 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9534, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9535, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9536:                                             ; preds = %406
  %9537 = load ptr, ptr %3, align 8, !tbaa !5
  %9538 = load ptr, ptr %15, align 8, !tbaa !5
  %9539 = getelementptr inbounds %union.YYSTYPE, ptr %9538, i64 0
  %9540 = getelementptr inbounds %struct.anon, ptr %9539, i32 0, i32 0
  %9541 = load ptr, ptr %3, align 8, !tbaa !5
  %9542 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9541, i32 0, i32 2
  %9543 = load ptr, ptr %9542, align 8, !tbaa !45
  %9544 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9543)
  %9545 = load ptr, ptr %9537, align 8, !tbaa !19
  %9546 = getelementptr inbounds ptr, ptr %9545, i64 28
  %9547 = load ptr, ptr %9546, align 8
  call void %9547(ptr noundef nonnull align 8 dereferenceable(192) %9537, ptr noundef nonnull align 8 dereferenceable(24) %9540, ptr noundef @.str.158, i1 noundef zeroext %9544)
  %9548 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9549 = load ptr, ptr %15, align 8, !tbaa !5
  %9550 = getelementptr inbounds %union.YYSTYPE, ptr %9549, i64 0
  %9551 = getelementptr inbounds %struct.anon, ptr %9550, i32 0, i32 0
  %9552 = load ptr, ptr %3, align 8, !tbaa !5
  %9553 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9552, i32 0, i32 2
  %9554 = load ptr, ptr %9553, align 8, !tbaa !45
  %9555 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9554)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9548, ptr noundef nonnull align 8 dereferenceable(24) %9551, i1 noundef zeroext %9555)
  %9556 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9557 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9556, i32 0, i32 0
  store i32 14, ptr %9557, align 8, !tbaa !10
  %9558 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9559 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9558, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9559, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9560:                                             ; preds = %406
  %9561 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9562 = load ptr, ptr %15, align 8, !tbaa !5
  %9563 = getelementptr inbounds %union.YYSTYPE, ptr %9562, i64 0
  %9564 = getelementptr inbounds %struct.anon, ptr %9563, i32 0, i32 0
  %9565 = load ptr, ptr %3, align 8, !tbaa !5
  %9566 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9565, i32 0, i32 2
  %9567 = load ptr, ptr %9566, align 8, !tbaa !45
  %9568 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9567)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9561, ptr noundef nonnull align 8 dereferenceable(24) %9564, i1 noundef zeroext %9568)
  %9569 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9570 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9569, i32 0, i32 0
  store i32 14, ptr %9570, align 8, !tbaa !10
  %9571 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9572 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9571, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9572, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9573:                                             ; preds = %406
  %9574 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9575 = load ptr, ptr %15, align 8, !tbaa !5
  %9576 = getelementptr inbounds %union.YYSTYPE, ptr %9575, i64 0
  %9577 = getelementptr inbounds %struct.anon, ptr %9576, i32 0, i32 0
  %9578 = load ptr, ptr %3, align 8, !tbaa !5
  %9579 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9578, i32 0, i32 2
  %9580 = load ptr, ptr %9579, align 8, !tbaa !45
  %9581 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9580)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9574, ptr noundef nonnull align 8 dereferenceable(24) %9577, i1 noundef zeroext %9581)
  %9582 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9583 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9582, i32 0, i32 0
  store i32 14, ptr %9583, align 8, !tbaa !10
  %9584 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9585 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9584, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9585, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9586:                                             ; preds = %406
  %9587 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9588 = load ptr, ptr %15, align 8, !tbaa !5
  %9589 = getelementptr inbounds %union.YYSTYPE, ptr %9588, i64 0
  %9590 = getelementptr inbounds %struct.anon, ptr %9589, i32 0, i32 0
  %9591 = load ptr, ptr %3, align 8, !tbaa !5
  %9592 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9591, i32 0, i32 2
  %9593 = load ptr, ptr %9592, align 8, !tbaa !45
  %9594 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9593)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9587, ptr noundef nonnull align 8 dereferenceable(24) %9590, i1 noundef zeroext %9594)
  %9595 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9596 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9595, i32 0, i32 0
  store i32 14, ptr %9596, align 8, !tbaa !10
  %9597 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9598 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9597, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9598, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9599:                                             ; preds = %406
  %9600 = load ptr, ptr %3, align 8, !tbaa !5
  %9601 = load ptr, ptr %15, align 8, !tbaa !5
  %9602 = getelementptr inbounds %union.YYSTYPE, ptr %9601, i64 0
  %9603 = getelementptr inbounds %struct.anon, ptr %9602, i32 0, i32 0
  %9604 = load ptr, ptr %3, align 8, !tbaa !5
  %9605 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9604, i32 0, i32 2
  %9606 = load ptr, ptr %9605, align 8, !tbaa !45
  %9607 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9606)
  %9608 = load ptr, ptr %9600, align 8, !tbaa !19
  %9609 = getelementptr inbounds ptr, ptr %9608, i64 28
  %9610 = load ptr, ptr %9609, align 8
  call void %9610(ptr noundef nonnull align 8 dereferenceable(192) %9600, ptr noundef nonnull align 8 dereferenceable(24) %9603, ptr noundef @.str.158, i1 noundef zeroext %9607)
  %9611 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9612 = load ptr, ptr %15, align 8, !tbaa !5
  %9613 = getelementptr inbounds %union.YYSTYPE, ptr %9612, i64 0
  %9614 = getelementptr inbounds %struct.anon, ptr %9613, i32 0, i32 0
  %9615 = load ptr, ptr %3, align 8, !tbaa !5
  %9616 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9615, i32 0, i32 2
  %9617 = load ptr, ptr %9616, align 8, !tbaa !45
  %9618 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9617)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9611, ptr noundef nonnull align 8 dereferenceable(24) %9614, i1 noundef zeroext %9618)
  %9619 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9620 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9619, i32 0, i32 0
  store i32 14, ptr %9620, align 8, !tbaa !10
  %9621 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9622 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9621, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9622, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9623:                                             ; preds = %406
  %9624 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9625 = load ptr, ptr %15, align 8, !tbaa !5
  %9626 = getelementptr inbounds %union.YYSTYPE, ptr %9625, i64 0
  %9627 = getelementptr inbounds %struct.anon, ptr %9626, i32 0, i32 0
  %9628 = load ptr, ptr %3, align 8, !tbaa !5
  %9629 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9628, i32 0, i32 2
  %9630 = load ptr, ptr %9629, align 8, !tbaa !45
  %9631 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9630)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9624, ptr noundef nonnull align 8 dereferenceable(24) %9627, i1 noundef zeroext %9631)
  %9632 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9633 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9632, i32 0, i32 0
  store i32 14, ptr %9633, align 8, !tbaa !10
  %9634 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9635 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9634, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9635, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9636:                                             ; preds = %406
  %9637 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9638 = load ptr, ptr %15, align 8, !tbaa !5
  %9639 = getelementptr inbounds %union.YYSTYPE, ptr %9638, i64 0
  %9640 = getelementptr inbounds %struct.anon, ptr %9639, i32 0, i32 0
  %9641 = load ptr, ptr %3, align 8, !tbaa !5
  %9642 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9641, i32 0, i32 2
  %9643 = load ptr, ptr %9642, align 8, !tbaa !45
  %9644 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9643)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9637, ptr noundef nonnull align 8 dereferenceable(24) %9640, i1 noundef zeroext %9644)
  %9645 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9646 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9645, i32 0, i32 0
  store i32 14, ptr %9646, align 8, !tbaa !10
  %9647 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9648 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9647, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9648, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

9649:                                             ; preds = %406
  %9650 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9651 = load ptr, ptr %15, align 8, !tbaa !5
  %9652 = getelementptr inbounds %union.YYSTYPE, ptr %9651, i64 0
  %9653 = getelementptr inbounds %struct.anon, ptr %9652, i32 0, i32 0
  %9654 = load ptr, ptr %3, align 8, !tbaa !5
  %9655 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9654, i32 0, i32 2
  %9656 = load ptr, ptr %9655, align 8, !tbaa !45
  %9657 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9656)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9650, ptr noundef nonnull align 8 dereferenceable(24) %9653, i1 noundef zeroext %9657)
  %9658 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9659 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9658, i32 0, i32 0
  store i32 14, ptr %9659, align 8, !tbaa !10
  %9660 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9661 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9660, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9661, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9662:                                             ; preds = %406
  %9663 = load ptr, ptr %3, align 8, !tbaa !5
  %9664 = load ptr, ptr %15, align 8, !tbaa !5
  %9665 = getelementptr inbounds %union.YYSTYPE, ptr %9664, i64 0
  %9666 = getelementptr inbounds %struct.anon, ptr %9665, i32 0, i32 0
  %9667 = load ptr, ptr %3, align 8, !tbaa !5
  %9668 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9667, i32 0, i32 2
  %9669 = load ptr, ptr %9668, align 8, !tbaa !45
  %9670 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9669)
  %9671 = load ptr, ptr %9663, align 8, !tbaa !19
  %9672 = getelementptr inbounds ptr, ptr %9671, i64 28
  %9673 = load ptr, ptr %9672, align 8
  call void %9673(ptr noundef nonnull align 8 dereferenceable(192) %9663, ptr noundef nonnull align 8 dereferenceable(24) %9666, ptr noundef @.str.159, i1 noundef zeroext %9670)
  %9674 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9675 = load ptr, ptr %15, align 8, !tbaa !5
  %9676 = getelementptr inbounds %union.YYSTYPE, ptr %9675, i64 0
  %9677 = getelementptr inbounds %struct.anon, ptr %9676, i32 0, i32 0
  %9678 = load ptr, ptr %3, align 8, !tbaa !5
  %9679 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9678, i32 0, i32 2
  %9680 = load ptr, ptr %9679, align 8, !tbaa !45
  %9681 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9680)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9674, ptr noundef nonnull align 8 dereferenceable(24) %9677, i1 noundef zeroext %9681)
  %9682 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9683 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9682, i32 0, i32 0
  store i32 14, ptr %9683, align 8, !tbaa !10
  %9684 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9685 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9684, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9685, i32 noundef 3, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9686:                                             ; preds = %406
  %9687 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9688 = load ptr, ptr %15, align 8, !tbaa !5
  %9689 = getelementptr inbounds %union.YYSTYPE, ptr %9688, i64 0
  %9690 = getelementptr inbounds %struct.anon, ptr %9689, i32 0, i32 0
  %9691 = load ptr, ptr %3, align 8, !tbaa !5
  %9692 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9691, i32 0, i32 2
  %9693 = load ptr, ptr %9692, align 8, !tbaa !45
  %9694 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9693)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9687, ptr noundef nonnull align 8 dereferenceable(24) %9690, i1 noundef zeroext %9694)
  %9695 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9696 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9695, i32 0, i32 0
  store i32 14, ptr %9696, align 8, !tbaa !10
  %9697 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9698 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9697, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9698, i32 noundef 8, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9699:                                             ; preds = %406
  %9700 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9701 = load ptr, ptr %15, align 8, !tbaa !5
  %9702 = getelementptr inbounds %union.YYSTYPE, ptr %9701, i64 0
  %9703 = getelementptr inbounds %struct.anon, ptr %9702, i32 0, i32 0
  %9704 = load ptr, ptr %3, align 8, !tbaa !5
  %9705 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9704, i32 0, i32 2
  %9706 = load ptr, ptr %9705, align 8, !tbaa !45
  %9707 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9706)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9700, ptr noundef nonnull align 8 dereferenceable(24) %9703, i1 noundef zeroext %9707)
  %9708 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9709 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9708, i32 0, i32 0
  store i32 14, ptr %9709, align 8, !tbaa !10
  %9710 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9711 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9710, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9711, i32 noundef 9, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9712:                                             ; preds = %406
  %9713 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9714 = load ptr, ptr %15, align 8, !tbaa !5
  %9715 = getelementptr inbounds %union.YYSTYPE, ptr %9714, i64 0
  %9716 = getelementptr inbounds %struct.anon, ptr %9715, i32 0, i32 0
  %9717 = load ptr, ptr %3, align 8, !tbaa !5
  %9718 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9717, i32 0, i32 2
  %9719 = load ptr, ptr %9718, align 8, !tbaa !45
  %9720 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9719)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9713, ptr noundef nonnull align 8 dereferenceable(24) %9716, i1 noundef zeroext %9720)
  %9721 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9722 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9721, i32 0, i32 0
  store i32 14, ptr %9722, align 8, !tbaa !10
  %9723 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9724 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9723, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9724, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9725:                                             ; preds = %406
  %9726 = load ptr, ptr %3, align 8, !tbaa !5
  %9727 = load ptr, ptr %15, align 8, !tbaa !5
  %9728 = getelementptr inbounds %union.YYSTYPE, ptr %9727, i64 0
  %9729 = getelementptr inbounds %struct.anon, ptr %9728, i32 0, i32 0
  %9730 = load ptr, ptr %3, align 8, !tbaa !5
  %9731 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9730, i32 0, i32 2
  %9732 = load ptr, ptr %9731, align 8, !tbaa !45
  %9733 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9732)
  %9734 = load ptr, ptr %9726, align 8, !tbaa !19
  %9735 = getelementptr inbounds ptr, ptr %9734, i64 28
  %9736 = load ptr, ptr %9735, align 8
  call void %9736(ptr noundef nonnull align 8 dereferenceable(192) %9726, ptr noundef nonnull align 8 dereferenceable(24) %9729, ptr noundef @.str.159, i1 noundef zeroext %9733)
  %9737 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9738 = load ptr, ptr %15, align 8, !tbaa !5
  %9739 = getelementptr inbounds %union.YYSTYPE, ptr %9738, i64 0
  %9740 = getelementptr inbounds %struct.anon, ptr %9739, i32 0, i32 0
  %9741 = load ptr, ptr %3, align 8, !tbaa !5
  %9742 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9741, i32 0, i32 2
  %9743 = load ptr, ptr %9742, align 8, !tbaa !45
  %9744 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9743)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9737, ptr noundef nonnull align 8 dereferenceable(24) %9740, i1 noundef zeroext %9744)
  %9745 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9746 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9745, i32 0, i32 0
  store i32 14, ptr %9746, align 8, !tbaa !10
  %9747 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9748 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9747, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9748, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9749:                                             ; preds = %406
  %9750 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9751 = load ptr, ptr %15, align 8, !tbaa !5
  %9752 = getelementptr inbounds %union.YYSTYPE, ptr %9751, i64 0
  %9753 = getelementptr inbounds %struct.anon, ptr %9752, i32 0, i32 0
  %9754 = load ptr, ptr %3, align 8, !tbaa !5
  %9755 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9754, i32 0, i32 2
  %9756 = load ptr, ptr %9755, align 8, !tbaa !45
  %9757 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9756)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9750, ptr noundef nonnull align 8 dereferenceable(24) %9753, i1 noundef zeroext %9757)
  %9758 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9759 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9758, i32 0, i32 0
  store i32 14, ptr %9759, align 8, !tbaa !10
  %9760 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9761 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9760, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9761, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9762:                                             ; preds = %406
  %9763 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9764 = load ptr, ptr %15, align 8, !tbaa !5
  %9765 = getelementptr inbounds %union.YYSTYPE, ptr %9764, i64 0
  %9766 = getelementptr inbounds %struct.anon, ptr %9765, i32 0, i32 0
  %9767 = load ptr, ptr %3, align 8, !tbaa !5
  %9768 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9767, i32 0, i32 2
  %9769 = load ptr, ptr %9768, align 8, !tbaa !45
  %9770 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9769)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9763, ptr noundef nonnull align 8 dereferenceable(24) %9766, i1 noundef zeroext %9770)
  %9771 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9772 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9771, i32 0, i32 0
  store i32 14, ptr %9772, align 8, !tbaa !10
  %9773 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9774 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9773, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9774, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9775:                                             ; preds = %406
  %9776 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9777 = load ptr, ptr %15, align 8, !tbaa !5
  %9778 = getelementptr inbounds %union.YYSTYPE, ptr %9777, i64 0
  %9779 = getelementptr inbounds %struct.anon, ptr %9778, i32 0, i32 0
  %9780 = load ptr, ptr %3, align 8, !tbaa !5
  %9781 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9780, i32 0, i32 2
  %9782 = load ptr, ptr %9781, align 8, !tbaa !45
  %9783 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9782)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9776, ptr noundef nonnull align 8 dereferenceable(24) %9779, i1 noundef zeroext %9783)
  %9784 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9785 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9784, i32 0, i32 0
  store i32 14, ptr %9785, align 8, !tbaa !10
  %9786 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9787 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9786, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9787, i32 noundef 1, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9788:                                             ; preds = %406
  %9789 = load ptr, ptr %3, align 8, !tbaa !5
  %9790 = load ptr, ptr %15, align 8, !tbaa !5
  %9791 = getelementptr inbounds %union.YYSTYPE, ptr %9790, i64 0
  %9792 = getelementptr inbounds %struct.anon, ptr %9791, i32 0, i32 0
  %9793 = load ptr, ptr %3, align 8, !tbaa !5
  %9794 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9793, i32 0, i32 2
  %9795 = load ptr, ptr %9794, align 8, !tbaa !45
  %9796 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9795)
  %9797 = load ptr, ptr %9789, align 8, !tbaa !19
  %9798 = getelementptr inbounds ptr, ptr %9797, i64 28
  %9799 = load ptr, ptr %9798, align 8
  call void %9799(ptr noundef nonnull align 8 dereferenceable(192) %9789, ptr noundef nonnull align 8 dereferenceable(24) %9792, ptr noundef @.str.159, i1 noundef zeroext %9796)
  %9800 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9801 = load ptr, ptr %15, align 8, !tbaa !5
  %9802 = getelementptr inbounds %union.YYSTYPE, ptr %9801, i64 0
  %9803 = getelementptr inbounds %struct.anon, ptr %9802, i32 0, i32 0
  %9804 = load ptr, ptr %3, align 8, !tbaa !5
  %9805 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9804, i32 0, i32 2
  %9806 = load ptr, ptr %9805, align 8, !tbaa !45
  %9807 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9806)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9800, ptr noundef nonnull align 8 dereferenceable(24) %9803, i1 noundef zeroext %9807)
  %9808 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9809 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9808, i32 0, i32 0
  store i32 14, ptr %9809, align 8, !tbaa !10
  %9810 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9811 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9810, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9811, i32 noundef 3, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9812:                                             ; preds = %406
  %9813 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9814 = load ptr, ptr %15, align 8, !tbaa !5
  %9815 = getelementptr inbounds %union.YYSTYPE, ptr %9814, i64 0
  %9816 = getelementptr inbounds %struct.anon, ptr %9815, i32 0, i32 0
  %9817 = load ptr, ptr %3, align 8, !tbaa !5
  %9818 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9817, i32 0, i32 2
  %9819 = load ptr, ptr %9818, align 8, !tbaa !45
  %9820 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9819)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9813, ptr noundef nonnull align 8 dereferenceable(24) %9816, i1 noundef zeroext %9820)
  %9821 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9822 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9821, i32 0, i32 0
  store i32 14, ptr %9822, align 8, !tbaa !10
  %9823 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9824 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9823, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9824, i32 noundef 8, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9825:                                             ; preds = %406
  %9826 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9827 = load ptr, ptr %15, align 8, !tbaa !5
  %9828 = getelementptr inbounds %union.YYSTYPE, ptr %9827, i64 0
  %9829 = getelementptr inbounds %struct.anon, ptr %9828, i32 0, i32 0
  %9830 = load ptr, ptr %3, align 8, !tbaa !5
  %9831 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9830, i32 0, i32 2
  %9832 = load ptr, ptr %9831, align 8, !tbaa !45
  %9833 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9832)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9826, ptr noundef nonnull align 8 dereferenceable(24) %9829, i1 noundef zeroext %9833)
  %9834 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9835 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9834, i32 0, i32 0
  store i32 14, ptr %9835, align 8, !tbaa !10
  %9836 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9837 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9836, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9837, i32 noundef 9, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9838:                                             ; preds = %406
  %9839 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9840 = load ptr, ptr %15, align 8, !tbaa !5
  %9841 = getelementptr inbounds %union.YYSTYPE, ptr %9840, i64 0
  %9842 = getelementptr inbounds %struct.anon, ptr %9841, i32 0, i32 0
  %9843 = load ptr, ptr %3, align 8, !tbaa !5
  %9844 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9843, i32 0, i32 2
  %9845 = load ptr, ptr %9844, align 8, !tbaa !45
  %9846 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9845)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9839, ptr noundef nonnull align 8 dereferenceable(24) %9842, i1 noundef zeroext %9846)
  %9847 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9848 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9847, i32 0, i32 0
  store i32 14, ptr %9848, align 8, !tbaa !10
  %9849 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9850 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9849, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9850, i32 noundef 1, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9851:                                             ; preds = %406
  %9852 = load ptr, ptr %3, align 8, !tbaa !5
  %9853 = load ptr, ptr %15, align 8, !tbaa !5
  %9854 = getelementptr inbounds %union.YYSTYPE, ptr %9853, i64 0
  %9855 = getelementptr inbounds %struct.anon, ptr %9854, i32 0, i32 0
  %9856 = load ptr, ptr %3, align 8, !tbaa !5
  %9857 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9856, i32 0, i32 2
  %9858 = load ptr, ptr %9857, align 8, !tbaa !45
  %9859 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9858)
  %9860 = load ptr, ptr %9852, align 8, !tbaa !19
  %9861 = getelementptr inbounds ptr, ptr %9860, i64 28
  %9862 = load ptr, ptr %9861, align 8
  call void %9862(ptr noundef nonnull align 8 dereferenceable(192) %9852, ptr noundef nonnull align 8 dereferenceable(24) %9855, ptr noundef @.str.159, i1 noundef zeroext %9859)
  %9863 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9864 = load ptr, ptr %15, align 8, !tbaa !5
  %9865 = getelementptr inbounds %union.YYSTYPE, ptr %9864, i64 0
  %9866 = getelementptr inbounds %struct.anon, ptr %9865, i32 0, i32 0
  %9867 = load ptr, ptr %3, align 8, !tbaa !5
  %9868 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9867, i32 0, i32 2
  %9869 = load ptr, ptr %9868, align 8, !tbaa !45
  %9870 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9869)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9863, ptr noundef nonnull align 8 dereferenceable(24) %9866, i1 noundef zeroext %9870)
  %9871 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9872 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9871, i32 0, i32 0
  store i32 14, ptr %9872, align 8, !tbaa !10
  %9873 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9874 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9873, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9874, i32 noundef 3, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9875:                                             ; preds = %406
  %9876 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9877 = load ptr, ptr %15, align 8, !tbaa !5
  %9878 = getelementptr inbounds %union.YYSTYPE, ptr %9877, i64 0
  %9879 = getelementptr inbounds %struct.anon, ptr %9878, i32 0, i32 0
  %9880 = load ptr, ptr %3, align 8, !tbaa !5
  %9881 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9880, i32 0, i32 2
  %9882 = load ptr, ptr %9881, align 8, !tbaa !45
  %9883 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9882)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9876, ptr noundef nonnull align 8 dereferenceable(24) %9879, i1 noundef zeroext %9883)
  %9884 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9885 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9884, i32 0, i32 0
  store i32 14, ptr %9885, align 8, !tbaa !10
  %9886 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9887 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9886, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9887, i32 noundef 8, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9888:                                             ; preds = %406
  %9889 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9890 = load ptr, ptr %15, align 8, !tbaa !5
  %9891 = getelementptr inbounds %union.YYSTYPE, ptr %9890, i64 0
  %9892 = getelementptr inbounds %struct.anon, ptr %9891, i32 0, i32 0
  %9893 = load ptr, ptr %3, align 8, !tbaa !5
  %9894 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9893, i32 0, i32 2
  %9895 = load ptr, ptr %9894, align 8, !tbaa !45
  %9896 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9895)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9889, ptr noundef nonnull align 8 dereferenceable(24) %9892, i1 noundef zeroext %9896)
  %9897 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9898 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9897, i32 0, i32 0
  store i32 14, ptr %9898, align 8, !tbaa !10
  %9899 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9900 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9899, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9900, i32 noundef 9, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9901:                                             ; preds = %406
  %9902 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9903 = load ptr, ptr %15, align 8, !tbaa !5
  %9904 = getelementptr inbounds %union.YYSTYPE, ptr %9903, i64 0
  %9905 = getelementptr inbounds %struct.anon, ptr %9904, i32 0, i32 0
  %9906 = load ptr, ptr %3, align 8, !tbaa !5
  %9907 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9906, i32 0, i32 2
  %9908 = load ptr, ptr %9907, align 8, !tbaa !45
  %9909 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9908)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9902, ptr noundef nonnull align 8 dereferenceable(24) %9905, i1 noundef zeroext %9909)
  %9910 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9911 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9910, i32 0, i32 0
  store i32 14, ptr %9911, align 8, !tbaa !10
  %9912 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9913 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9912, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9913, i32 noundef 1, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9914:                                             ; preds = %406
  %9915 = load ptr, ptr %3, align 8, !tbaa !5
  %9916 = load ptr, ptr %15, align 8, !tbaa !5
  %9917 = getelementptr inbounds %union.YYSTYPE, ptr %9916, i64 0
  %9918 = getelementptr inbounds %struct.anon, ptr %9917, i32 0, i32 0
  %9919 = load ptr, ptr %3, align 8, !tbaa !5
  %9920 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9919, i32 0, i32 2
  %9921 = load ptr, ptr %9920, align 8, !tbaa !45
  %9922 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9921)
  %9923 = load ptr, ptr %9915, align 8, !tbaa !19
  %9924 = getelementptr inbounds ptr, ptr %9923, i64 28
  %9925 = load ptr, ptr %9924, align 8
  call void %9925(ptr noundef nonnull align 8 dereferenceable(192) %9915, ptr noundef nonnull align 8 dereferenceable(24) %9918, ptr noundef @.str.159, i1 noundef zeroext %9922)
  %9926 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9927 = load ptr, ptr %15, align 8, !tbaa !5
  %9928 = getelementptr inbounds %union.YYSTYPE, ptr %9927, i64 0
  %9929 = getelementptr inbounds %struct.anon, ptr %9928, i32 0, i32 0
  %9930 = load ptr, ptr %3, align 8, !tbaa !5
  %9931 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9930, i32 0, i32 2
  %9932 = load ptr, ptr %9931, align 8, !tbaa !45
  %9933 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9932)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9926, ptr noundef nonnull align 8 dereferenceable(24) %9929, i1 noundef zeroext %9933)
  %9934 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9935 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9934, i32 0, i32 0
  store i32 14, ptr %9935, align 8, !tbaa !10
  %9936 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9937 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9936, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9937, i32 noundef 3, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9938:                                             ; preds = %406
  %9939 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9940 = load ptr, ptr %15, align 8, !tbaa !5
  %9941 = getelementptr inbounds %union.YYSTYPE, ptr %9940, i64 0
  %9942 = getelementptr inbounds %struct.anon, ptr %9941, i32 0, i32 0
  %9943 = load ptr, ptr %3, align 8, !tbaa !5
  %9944 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9943, i32 0, i32 2
  %9945 = load ptr, ptr %9944, align 8, !tbaa !45
  %9946 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9945)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9939, ptr noundef nonnull align 8 dereferenceable(24) %9942, i1 noundef zeroext %9946)
  %9947 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9948 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9947, i32 0, i32 0
  store i32 14, ptr %9948, align 8, !tbaa !10
  %9949 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9950 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9949, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9950, i32 noundef 8, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9951:                                             ; preds = %406
  %9952 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9953 = load ptr, ptr %15, align 8, !tbaa !5
  %9954 = getelementptr inbounds %union.YYSTYPE, ptr %9953, i64 0
  %9955 = getelementptr inbounds %struct.anon, ptr %9954, i32 0, i32 0
  %9956 = load ptr, ptr %3, align 8, !tbaa !5
  %9957 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9956, i32 0, i32 2
  %9958 = load ptr, ptr %9957, align 8, !tbaa !45
  %9959 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9958)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9952, ptr noundef nonnull align 8 dereferenceable(24) %9955, i1 noundef zeroext %9959)
  %9960 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9961 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9960, i32 0, i32 0
  store i32 14, ptr %9961, align 8, !tbaa !10
  %9962 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9963 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9962, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9963, i32 noundef 9, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9964:                                             ; preds = %406
  %9965 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9966 = load ptr, ptr %15, align 8, !tbaa !5
  %9967 = getelementptr inbounds %union.YYSTYPE, ptr %9966, i64 0
  %9968 = getelementptr inbounds %struct.anon, ptr %9967, i32 0, i32 0
  %9969 = load ptr, ptr %3, align 8, !tbaa !5
  %9970 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9969, i32 0, i32 2
  %9971 = load ptr, ptr %9970, align 8, !tbaa !45
  %9972 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9971)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9965, ptr noundef nonnull align 8 dereferenceable(24) %9968, i1 noundef zeroext %9972)
  %9973 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9974 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9973, i32 0, i32 0
  store i32 14, ptr %9974, align 8, !tbaa !10
  %9975 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9976 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9975, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %9976, i32 noundef 1, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

9977:                                             ; preds = %406
  %9978 = load ptr, ptr %3, align 8, !tbaa !5
  %9979 = load ptr, ptr %15, align 8, !tbaa !5
  %9980 = getelementptr inbounds %union.YYSTYPE, ptr %9979, i64 0
  %9981 = getelementptr inbounds %struct.anon, ptr %9980, i32 0, i32 0
  %9982 = load ptr, ptr %3, align 8, !tbaa !5
  %9983 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9982, i32 0, i32 2
  %9984 = load ptr, ptr %9983, align 8, !tbaa !45
  %9985 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9984)
  %9986 = load ptr, ptr %9978, align 8, !tbaa !19
  %9987 = getelementptr inbounds ptr, ptr %9986, i64 28
  %9988 = load ptr, ptr %9987, align 8
  call void %9988(ptr noundef nonnull align 8 dereferenceable(192) %9978, ptr noundef nonnull align 8 dereferenceable(24) %9981, ptr noundef @.str.159, i1 noundef zeroext %9985)
  %9989 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9990 = load ptr, ptr %15, align 8, !tbaa !5
  %9991 = getelementptr inbounds %union.YYSTYPE, ptr %9990, i64 0
  %9992 = getelementptr inbounds %struct.anon, ptr %9991, i32 0, i32 0
  %9993 = load ptr, ptr %3, align 8, !tbaa !5
  %9994 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %9993, i32 0, i32 2
  %9995 = load ptr, ptr %9994, align 8, !tbaa !45
  %9996 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %9995)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %9989, ptr noundef nonnull align 8 dereferenceable(24) %9992, i1 noundef zeroext %9996)
  %9997 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %9998 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9997, i32 0, i32 0
  store i32 14, ptr %9998, align 8, !tbaa !10
  %9999 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10000 = getelementptr inbounds %"class.glslang::TPublicType", ptr %9999, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10000, i32 noundef 3, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10001:                                            ; preds = %406
  %10002 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10003 = load ptr, ptr %15, align 8, !tbaa !5
  %10004 = getelementptr inbounds %union.YYSTYPE, ptr %10003, i64 0
  %10005 = getelementptr inbounds %struct.anon, ptr %10004, i32 0, i32 0
  %10006 = load ptr, ptr %3, align 8, !tbaa !5
  %10007 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10006, i32 0, i32 2
  %10008 = load ptr, ptr %10007, align 8, !tbaa !45
  %10009 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10008)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10002, ptr noundef nonnull align 8 dereferenceable(24) %10005, i1 noundef zeroext %10009)
  %10010 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10011 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10010, i32 0, i32 0
  store i32 14, ptr %10011, align 8, !tbaa !10
  %10012 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10013 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10012, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10013, i32 noundef 8, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10014:                                            ; preds = %406
  %10015 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10016 = load ptr, ptr %15, align 8, !tbaa !5
  %10017 = getelementptr inbounds %union.YYSTYPE, ptr %10016, i64 0
  %10018 = getelementptr inbounds %struct.anon, ptr %10017, i32 0, i32 0
  %10019 = load ptr, ptr %3, align 8, !tbaa !5
  %10020 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10019, i32 0, i32 2
  %10021 = load ptr, ptr %10020, align 8, !tbaa !45
  %10022 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10021)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10015, ptr noundef nonnull align 8 dereferenceable(24) %10018, i1 noundef zeroext %10022)
  %10023 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10024 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10023, i32 0, i32 0
  store i32 14, ptr %10024, align 8, !tbaa !10
  %10025 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10026 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10025, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10026, i32 noundef 9, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10027:                                            ; preds = %406
  %10028 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10029 = load ptr, ptr %15, align 8, !tbaa !5
  %10030 = getelementptr inbounds %union.YYSTYPE, ptr %10029, i64 0
  %10031 = getelementptr inbounds %struct.anon, ptr %10030, i32 0, i32 0
  %10032 = load ptr, ptr %3, align 8, !tbaa !5
  %10033 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10032, i32 0, i32 2
  %10034 = load ptr, ptr %10033, align 8, !tbaa !45
  %10035 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10034)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10028, ptr noundef nonnull align 8 dereferenceable(24) %10031, i1 noundef zeroext %10035)
  %10036 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10037 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10036, i32 0, i32 0
  store i32 14, ptr %10037, align 8, !tbaa !10
  %10038 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10039 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10038, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10039, i32 noundef 1, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10040:                                            ; preds = %406
  %10041 = load ptr, ptr %3, align 8, !tbaa !5
  %10042 = load ptr, ptr %15, align 8, !tbaa !5
  %10043 = getelementptr inbounds %union.YYSTYPE, ptr %10042, i64 0
  %10044 = getelementptr inbounds %struct.anon, ptr %10043, i32 0, i32 0
  %10045 = load ptr, ptr %3, align 8, !tbaa !5
  %10046 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10045, i32 0, i32 2
  %10047 = load ptr, ptr %10046, align 8, !tbaa !45
  %10048 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10047)
  %10049 = load ptr, ptr %10041, align 8, !tbaa !19
  %10050 = getelementptr inbounds ptr, ptr %10049, i64 28
  %10051 = load ptr, ptr %10050, align 8
  call void %10051(ptr noundef nonnull align 8 dereferenceable(192) %10041, ptr noundef nonnull align 8 dereferenceable(24) %10044, ptr noundef @.str.159, i1 noundef zeroext %10048)
  %10052 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10053 = load ptr, ptr %15, align 8, !tbaa !5
  %10054 = getelementptr inbounds %union.YYSTYPE, ptr %10053, i64 0
  %10055 = getelementptr inbounds %struct.anon, ptr %10054, i32 0, i32 0
  %10056 = load ptr, ptr %3, align 8, !tbaa !5
  %10057 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10056, i32 0, i32 2
  %10058 = load ptr, ptr %10057, align 8, !tbaa !45
  %10059 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10058)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10052, ptr noundef nonnull align 8 dereferenceable(24) %10055, i1 noundef zeroext %10059)
  %10060 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10061 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10060, i32 0, i32 0
  store i32 14, ptr %10061, align 8, !tbaa !10
  %10062 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10063 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10062, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10063, i32 noundef 3, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10064:                                            ; preds = %406
  %10065 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10066 = load ptr, ptr %15, align 8, !tbaa !5
  %10067 = getelementptr inbounds %union.YYSTYPE, ptr %10066, i64 0
  %10068 = getelementptr inbounds %struct.anon, ptr %10067, i32 0, i32 0
  %10069 = load ptr, ptr %3, align 8, !tbaa !5
  %10070 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10069, i32 0, i32 2
  %10071 = load ptr, ptr %10070, align 8, !tbaa !45
  %10072 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10071)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10065, ptr noundef nonnull align 8 dereferenceable(24) %10068, i1 noundef zeroext %10072)
  %10073 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10074 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10073, i32 0, i32 0
  store i32 14, ptr %10074, align 8, !tbaa !10
  %10075 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10076 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10075, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10076, i32 noundef 8, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10077:                                            ; preds = %406
  %10078 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10079 = load ptr, ptr %15, align 8, !tbaa !5
  %10080 = getelementptr inbounds %union.YYSTYPE, ptr %10079, i64 0
  %10081 = getelementptr inbounds %struct.anon, ptr %10080, i32 0, i32 0
  %10082 = load ptr, ptr %3, align 8, !tbaa !5
  %10083 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10082, i32 0, i32 2
  %10084 = load ptr, ptr %10083, align 8, !tbaa !45
  %10085 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10084)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10078, ptr noundef nonnull align 8 dereferenceable(24) %10081, i1 noundef zeroext %10085)
  %10086 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10087 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10086, i32 0, i32 0
  store i32 14, ptr %10087, align 8, !tbaa !10
  %10088 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10089 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10088, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10089, i32 noundef 9, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10090:                                            ; preds = %406
  %10091 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10092 = load ptr, ptr %15, align 8, !tbaa !5
  %10093 = getelementptr inbounds %union.YYSTYPE, ptr %10092, i64 0
  %10094 = getelementptr inbounds %struct.anon, ptr %10093, i32 0, i32 0
  %10095 = load ptr, ptr %3, align 8, !tbaa !5
  %10096 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10095, i32 0, i32 2
  %10097 = load ptr, ptr %10096, align 8, !tbaa !45
  %10098 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10097)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10091, ptr noundef nonnull align 8 dereferenceable(24) %10094, i1 noundef zeroext %10098)
  %10099 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10100 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10099, i32 0, i32 0
  store i32 14, ptr %10100, align 8, !tbaa !10
  %10101 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10102 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10101, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10102, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10103:                                            ; preds = %406
  %10104 = load ptr, ptr %3, align 8, !tbaa !5
  %10105 = load ptr, ptr %15, align 8, !tbaa !5
  %10106 = getelementptr inbounds %union.YYSTYPE, ptr %10105, i64 0
  %10107 = getelementptr inbounds %struct.anon, ptr %10106, i32 0, i32 0
  %10108 = load ptr, ptr %3, align 8, !tbaa !5
  %10109 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10108, i32 0, i32 2
  %10110 = load ptr, ptr %10109, align 8, !tbaa !45
  %10111 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10110)
  %10112 = load ptr, ptr %10104, align 8, !tbaa !19
  %10113 = getelementptr inbounds ptr, ptr %10112, i64 28
  %10114 = load ptr, ptr %10113, align 8
  call void %10114(ptr noundef nonnull align 8 dereferenceable(192) %10104, ptr noundef nonnull align 8 dereferenceable(24) %10107, ptr noundef @.str.159, i1 noundef zeroext %10111)
  %10115 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10116 = load ptr, ptr %15, align 8, !tbaa !5
  %10117 = getelementptr inbounds %union.YYSTYPE, ptr %10116, i64 0
  %10118 = getelementptr inbounds %struct.anon, ptr %10117, i32 0, i32 0
  %10119 = load ptr, ptr %3, align 8, !tbaa !5
  %10120 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10119, i32 0, i32 2
  %10121 = load ptr, ptr %10120, align 8, !tbaa !45
  %10122 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10121)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10115, ptr noundef nonnull align 8 dereferenceable(24) %10118, i1 noundef zeroext %10122)
  %10123 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10124 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10123, i32 0, i32 0
  store i32 14, ptr %10124, align 8, !tbaa !10
  %10125 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10126 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10125, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10126, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10127:                                            ; preds = %406
  %10128 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10129 = load ptr, ptr %15, align 8, !tbaa !5
  %10130 = getelementptr inbounds %union.YYSTYPE, ptr %10129, i64 0
  %10131 = getelementptr inbounds %struct.anon, ptr %10130, i32 0, i32 0
  %10132 = load ptr, ptr %3, align 8, !tbaa !5
  %10133 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10132, i32 0, i32 2
  %10134 = load ptr, ptr %10133, align 8, !tbaa !45
  %10135 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10134)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10128, ptr noundef nonnull align 8 dereferenceable(24) %10131, i1 noundef zeroext %10135)
  %10136 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10137 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10136, i32 0, i32 0
  store i32 14, ptr %10137, align 8, !tbaa !10
  %10138 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10139 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10138, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10139, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10140:                                            ; preds = %406
  %10141 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10142 = load ptr, ptr %15, align 8, !tbaa !5
  %10143 = getelementptr inbounds %union.YYSTYPE, ptr %10142, i64 0
  %10144 = getelementptr inbounds %struct.anon, ptr %10143, i32 0, i32 0
  %10145 = load ptr, ptr %3, align 8, !tbaa !5
  %10146 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10145, i32 0, i32 2
  %10147 = load ptr, ptr %10146, align 8, !tbaa !45
  %10148 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10147)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10141, ptr noundef nonnull align 8 dereferenceable(24) %10144, i1 noundef zeroext %10148)
  %10149 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10150 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10149, i32 0, i32 0
  store i32 14, ptr %10150, align 8, !tbaa !10
  %10151 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10152 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10151, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10152, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10153:                                            ; preds = %406
  %10154 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10155 = load ptr, ptr %15, align 8, !tbaa !5
  %10156 = getelementptr inbounds %union.YYSTYPE, ptr %10155, i64 0
  %10157 = getelementptr inbounds %struct.anon, ptr %10156, i32 0, i32 0
  %10158 = load ptr, ptr %3, align 8, !tbaa !5
  %10159 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10158, i32 0, i32 2
  %10160 = load ptr, ptr %10159, align 8, !tbaa !45
  %10161 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10160)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10154, ptr noundef nonnull align 8 dereferenceable(24) %10157, i1 noundef zeroext %10161)
  %10162 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10163 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10162, i32 0, i32 0
  store i32 14, ptr %10163, align 8, !tbaa !10
  %10164 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10165 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10164, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10165, i32 noundef 1, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10166:                                            ; preds = %406
  %10167 = load ptr, ptr %3, align 8, !tbaa !5
  %10168 = load ptr, ptr %15, align 8, !tbaa !5
  %10169 = getelementptr inbounds %union.YYSTYPE, ptr %10168, i64 0
  %10170 = getelementptr inbounds %struct.anon, ptr %10169, i32 0, i32 0
  %10171 = load ptr, ptr %3, align 8, !tbaa !5
  %10172 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10171, i32 0, i32 2
  %10173 = load ptr, ptr %10172, align 8, !tbaa !45
  %10174 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10173)
  %10175 = load ptr, ptr %10167, align 8, !tbaa !19
  %10176 = getelementptr inbounds ptr, ptr %10175, i64 28
  %10177 = load ptr, ptr %10176, align 8
  call void %10177(ptr noundef nonnull align 8 dereferenceable(192) %10167, ptr noundef nonnull align 8 dereferenceable(24) %10170, ptr noundef @.str.159, i1 noundef zeroext %10174)
  %10178 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10179 = load ptr, ptr %15, align 8, !tbaa !5
  %10180 = getelementptr inbounds %union.YYSTYPE, ptr %10179, i64 0
  %10181 = getelementptr inbounds %struct.anon, ptr %10180, i32 0, i32 0
  %10182 = load ptr, ptr %3, align 8, !tbaa !5
  %10183 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10182, i32 0, i32 2
  %10184 = load ptr, ptr %10183, align 8, !tbaa !45
  %10185 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10184)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10178, ptr noundef nonnull align 8 dereferenceable(24) %10181, i1 noundef zeroext %10185)
  %10186 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10187 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10186, i32 0, i32 0
  store i32 14, ptr %10187, align 8, !tbaa !10
  %10188 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10189 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10188, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10189, i32 noundef 3, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10190:                                            ; preds = %406
  %10191 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10192 = load ptr, ptr %15, align 8, !tbaa !5
  %10193 = getelementptr inbounds %union.YYSTYPE, ptr %10192, i64 0
  %10194 = getelementptr inbounds %struct.anon, ptr %10193, i32 0, i32 0
  %10195 = load ptr, ptr %3, align 8, !tbaa !5
  %10196 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10195, i32 0, i32 2
  %10197 = load ptr, ptr %10196, align 8, !tbaa !45
  %10198 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10197)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10191, ptr noundef nonnull align 8 dereferenceable(24) %10194, i1 noundef zeroext %10198)
  %10199 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10200 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10199, i32 0, i32 0
  store i32 14, ptr %10200, align 8, !tbaa !10
  %10201 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10202 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10201, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10202, i32 noundef 8, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10203:                                            ; preds = %406
  %10204 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10205 = load ptr, ptr %15, align 8, !tbaa !5
  %10206 = getelementptr inbounds %union.YYSTYPE, ptr %10205, i64 0
  %10207 = getelementptr inbounds %struct.anon, ptr %10206, i32 0, i32 0
  %10208 = load ptr, ptr %3, align 8, !tbaa !5
  %10209 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10208, i32 0, i32 2
  %10210 = load ptr, ptr %10209, align 8, !tbaa !45
  %10211 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10210)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10204, ptr noundef nonnull align 8 dereferenceable(24) %10207, i1 noundef zeroext %10211)
  %10212 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10213 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10212, i32 0, i32 0
  store i32 14, ptr %10213, align 8, !tbaa !10
  %10214 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10215 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10214, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10215, i32 noundef 9, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10216:                                            ; preds = %406
  %10217 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10218 = load ptr, ptr %15, align 8, !tbaa !5
  %10219 = getelementptr inbounds %union.YYSTYPE, ptr %10218, i64 0
  %10220 = getelementptr inbounds %struct.anon, ptr %10219, i32 0, i32 0
  %10221 = load ptr, ptr %3, align 8, !tbaa !5
  %10222 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10221, i32 0, i32 2
  %10223 = load ptr, ptr %10222, align 8, !tbaa !45
  %10224 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10223)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10217, ptr noundef nonnull align 8 dereferenceable(24) %10220, i1 noundef zeroext %10224)
  %10225 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10226 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10225, i32 0, i32 0
  store i32 14, ptr %10226, align 8, !tbaa !10
  %10227 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10228 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10227, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10228, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10229:                                            ; preds = %406
  %10230 = load ptr, ptr %3, align 8, !tbaa !5
  %10231 = load ptr, ptr %15, align 8, !tbaa !5
  %10232 = getelementptr inbounds %union.YYSTYPE, ptr %10231, i64 0
  %10233 = getelementptr inbounds %struct.anon, ptr %10232, i32 0, i32 0
  %10234 = load ptr, ptr %3, align 8, !tbaa !5
  %10235 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10234, i32 0, i32 2
  %10236 = load ptr, ptr %10235, align 8, !tbaa !45
  %10237 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10236)
  %10238 = load ptr, ptr %10230, align 8, !tbaa !19
  %10239 = getelementptr inbounds ptr, ptr %10238, i64 28
  %10240 = load ptr, ptr %10239, align 8
  call void %10240(ptr noundef nonnull align 8 dereferenceable(192) %10230, ptr noundef nonnull align 8 dereferenceable(24) %10233, ptr noundef @.str.159, i1 noundef zeroext %10237)
  %10241 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10242 = load ptr, ptr %15, align 8, !tbaa !5
  %10243 = getelementptr inbounds %union.YYSTYPE, ptr %10242, i64 0
  %10244 = getelementptr inbounds %struct.anon, ptr %10243, i32 0, i32 0
  %10245 = load ptr, ptr %3, align 8, !tbaa !5
  %10246 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10245, i32 0, i32 2
  %10247 = load ptr, ptr %10246, align 8, !tbaa !45
  %10248 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10247)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10241, ptr noundef nonnull align 8 dereferenceable(24) %10244, i1 noundef zeroext %10248)
  %10249 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10250 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10249, i32 0, i32 0
  store i32 14, ptr %10250, align 8, !tbaa !10
  %10251 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10252 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10251, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10252, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10253:                                            ; preds = %406
  %10254 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10255 = load ptr, ptr %15, align 8, !tbaa !5
  %10256 = getelementptr inbounds %union.YYSTYPE, ptr %10255, i64 0
  %10257 = getelementptr inbounds %struct.anon, ptr %10256, i32 0, i32 0
  %10258 = load ptr, ptr %3, align 8, !tbaa !5
  %10259 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10258, i32 0, i32 2
  %10260 = load ptr, ptr %10259, align 8, !tbaa !45
  %10261 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10260)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10254, ptr noundef nonnull align 8 dereferenceable(24) %10257, i1 noundef zeroext %10261)
  %10262 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10263 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10262, i32 0, i32 0
  store i32 14, ptr %10263, align 8, !tbaa !10
  %10264 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10265 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10264, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10265, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10266:                                            ; preds = %406
  %10267 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10268 = load ptr, ptr %15, align 8, !tbaa !5
  %10269 = getelementptr inbounds %union.YYSTYPE, ptr %10268, i64 0
  %10270 = getelementptr inbounds %struct.anon, ptr %10269, i32 0, i32 0
  %10271 = load ptr, ptr %3, align 8, !tbaa !5
  %10272 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10271, i32 0, i32 2
  %10273 = load ptr, ptr %10272, align 8, !tbaa !45
  %10274 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10273)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10267, ptr noundef nonnull align 8 dereferenceable(24) %10270, i1 noundef zeroext %10274)
  %10275 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10276 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10275, i32 0, i32 0
  store i32 14, ptr %10276, align 8, !tbaa !10
  %10277 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10278 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10277, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10278, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10279:                                            ; preds = %406
  %10280 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10281 = load ptr, ptr %15, align 8, !tbaa !5
  %10282 = getelementptr inbounds %union.YYSTYPE, ptr %10281, i64 0
  %10283 = getelementptr inbounds %struct.anon, ptr %10282, i32 0, i32 0
  %10284 = load ptr, ptr %3, align 8, !tbaa !5
  %10285 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10284, i32 0, i32 2
  %10286 = load ptr, ptr %10285, align 8, !tbaa !45
  %10287 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10286)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10280, ptr noundef nonnull align 8 dereferenceable(24) %10283, i1 noundef zeroext %10287)
  %10288 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10289 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10288, i32 0, i32 0
  store i32 14, ptr %10289, align 8, !tbaa !10
  %10290 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10291 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10290, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10291, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10292:                                            ; preds = %406
  %10293 = load ptr, ptr %3, align 8, !tbaa !5
  %10294 = load ptr, ptr %15, align 8, !tbaa !5
  %10295 = getelementptr inbounds %union.YYSTYPE, ptr %10294, i64 0
  %10296 = getelementptr inbounds %struct.anon, ptr %10295, i32 0, i32 0
  %10297 = load ptr, ptr %3, align 8, !tbaa !5
  %10298 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10297, i32 0, i32 2
  %10299 = load ptr, ptr %10298, align 8, !tbaa !45
  %10300 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10299)
  %10301 = load ptr, ptr %10293, align 8, !tbaa !19
  %10302 = getelementptr inbounds ptr, ptr %10301, i64 28
  %10303 = load ptr, ptr %10302, align 8
  call void %10303(ptr noundef nonnull align 8 dereferenceable(192) %10293, ptr noundef nonnull align 8 dereferenceable(24) %10296, ptr noundef @.str.159, i1 noundef zeroext %10300)
  %10304 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10305 = load ptr, ptr %15, align 8, !tbaa !5
  %10306 = getelementptr inbounds %union.YYSTYPE, ptr %10305, i64 0
  %10307 = getelementptr inbounds %struct.anon, ptr %10306, i32 0, i32 0
  %10308 = load ptr, ptr %3, align 8, !tbaa !5
  %10309 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10308, i32 0, i32 2
  %10310 = load ptr, ptr %10309, align 8, !tbaa !45
  %10311 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10310)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10304, ptr noundef nonnull align 8 dereferenceable(24) %10307, i1 noundef zeroext %10311)
  %10312 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10313 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10312, i32 0, i32 0
  store i32 14, ptr %10313, align 8, !tbaa !10
  %10314 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10315 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10314, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10315, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10316:                                            ; preds = %406
  %10317 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10318 = load ptr, ptr %15, align 8, !tbaa !5
  %10319 = getelementptr inbounds %union.YYSTYPE, ptr %10318, i64 0
  %10320 = getelementptr inbounds %struct.anon, ptr %10319, i32 0, i32 0
  %10321 = load ptr, ptr %3, align 8, !tbaa !5
  %10322 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10321, i32 0, i32 2
  %10323 = load ptr, ptr %10322, align 8, !tbaa !45
  %10324 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10323)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10317, ptr noundef nonnull align 8 dereferenceable(24) %10320, i1 noundef zeroext %10324)
  %10325 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10326 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10325, i32 0, i32 0
  store i32 14, ptr %10326, align 8, !tbaa !10
  %10327 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10328 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10327, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10328, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10329:                                            ; preds = %406
  %10330 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10331 = load ptr, ptr %15, align 8, !tbaa !5
  %10332 = getelementptr inbounds %union.YYSTYPE, ptr %10331, i64 0
  %10333 = getelementptr inbounds %struct.anon, ptr %10332, i32 0, i32 0
  %10334 = load ptr, ptr %3, align 8, !tbaa !5
  %10335 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10334, i32 0, i32 2
  %10336 = load ptr, ptr %10335, align 8, !tbaa !45
  %10337 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10336)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10330, ptr noundef nonnull align 8 dereferenceable(24) %10333, i1 noundef zeroext %10337)
  %10338 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10339 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10338, i32 0, i32 0
  store i32 14, ptr %10339, align 8, !tbaa !10
  %10340 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10341 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10340, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10341, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10342:                                            ; preds = %406
  %10343 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10344 = load ptr, ptr %15, align 8, !tbaa !5
  %10345 = getelementptr inbounds %union.YYSTYPE, ptr %10344, i64 0
  %10346 = getelementptr inbounds %struct.anon, ptr %10345, i32 0, i32 0
  %10347 = load ptr, ptr %3, align 8, !tbaa !5
  %10348 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10347, i32 0, i32 2
  %10349 = load ptr, ptr %10348, align 8, !tbaa !45
  %10350 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10349)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10343, ptr noundef nonnull align 8 dereferenceable(24) %10346, i1 noundef zeroext %10350)
  %10351 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10352 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10351, i32 0, i32 0
  store i32 14, ptr %10352, align 8, !tbaa !10
  %10353 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10354 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10353, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10354, i32 noundef 10, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10355:                                            ; preds = %406
  %10356 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10357 = load ptr, ptr %15, align 8, !tbaa !5
  %10358 = getelementptr inbounds %union.YYSTYPE, ptr %10357, i64 0
  %10359 = getelementptr inbounds %struct.anon, ptr %10358, i32 0, i32 0
  %10360 = load ptr, ptr %3, align 8, !tbaa !5
  %10361 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10360, i32 0, i32 2
  %10362 = load ptr, ptr %10361, align 8, !tbaa !45
  %10363 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10362)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10356, ptr noundef nonnull align 8 dereferenceable(24) %10359, i1 noundef zeroext %10363)
  %10364 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10365 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10364, i32 0, i32 0
  store i32 14, ptr %10365, align 8, !tbaa !10
  %10366 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10367 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10366, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10367, i32 noundef 11, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10368:                                            ; preds = %406
  %10369 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10370 = load ptr, ptr %15, align 8, !tbaa !5
  %10371 = getelementptr inbounds %union.YYSTYPE, ptr %10370, i64 0
  %10372 = getelementptr inbounds %struct.anon, ptr %10371, i32 0, i32 0
  %10373 = load ptr, ptr %3, align 8, !tbaa !5
  %10374 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10373, i32 0, i32 2
  %10375 = load ptr, ptr %10374, align 8, !tbaa !45
  %10376 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10375)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10369, ptr noundef nonnull align 8 dereferenceable(24) %10372, i1 noundef zeroext %10376)
  %10377 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10378 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10377, i32 0, i32 0
  store i32 14, ptr %10378, align 8, !tbaa !10
  %10379 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10380 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10379, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10380, i32 noundef 10, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10381:                                            ; preds = %406
  %10382 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10383 = load ptr, ptr %15, align 8, !tbaa !5
  %10384 = getelementptr inbounds %union.YYSTYPE, ptr %10383, i64 0
  %10385 = getelementptr inbounds %struct.anon, ptr %10384, i32 0, i32 0
  %10386 = load ptr, ptr %3, align 8, !tbaa !5
  %10387 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10386, i32 0, i32 2
  %10388 = load ptr, ptr %10387, align 8, !tbaa !45
  %10389 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10388)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10382, ptr noundef nonnull align 8 dereferenceable(24) %10385, i1 noundef zeroext %10389)
  %10390 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10391 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10390, i32 0, i32 0
  store i32 14, ptr %10391, align 8, !tbaa !10
  %10392 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10393 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10392, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10393, i32 noundef 11, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10394:                                            ; preds = %406
  %10395 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10396 = load ptr, ptr %15, align 8, !tbaa !5
  %10397 = getelementptr inbounds %union.YYSTYPE, ptr %10396, i64 0
  %10398 = getelementptr inbounds %struct.anon, ptr %10397, i32 0, i32 0
  %10399 = load ptr, ptr %3, align 8, !tbaa !5
  %10400 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10399, i32 0, i32 2
  %10401 = load ptr, ptr %10400, align 8, !tbaa !45
  %10402 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10401)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10395, ptr noundef nonnull align 8 dereferenceable(24) %10398, i1 noundef zeroext %10402)
  %10403 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10404 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10403, i32 0, i32 0
  store i32 14, ptr %10404, align 8, !tbaa !10
  %10405 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10406 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10405, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10406, i32 noundef 10, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10407:                                            ; preds = %406
  %10408 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10409 = load ptr, ptr %15, align 8, !tbaa !5
  %10410 = getelementptr inbounds %union.YYSTYPE, ptr %10409, i64 0
  %10411 = getelementptr inbounds %struct.anon, ptr %10410, i32 0, i32 0
  %10412 = load ptr, ptr %3, align 8, !tbaa !5
  %10413 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10412, i32 0, i32 2
  %10414 = load ptr, ptr %10413, align 8, !tbaa !45
  %10415 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10414)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10408, ptr noundef nonnull align 8 dereferenceable(24) %10411, i1 noundef zeroext %10415)
  %10416 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10417 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10416, i32 0, i32 0
  store i32 14, ptr %10417, align 8, !tbaa !10
  %10418 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10419 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10418, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10419, i32 noundef 11, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10420:                                            ; preds = %406
  %10421 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10422 = load ptr, ptr %15, align 8, !tbaa !5
  %10423 = getelementptr inbounds %union.YYSTYPE, ptr %10422, i64 0
  %10424 = getelementptr inbounds %struct.anon, ptr %10423, i32 0, i32 0
  %10425 = load ptr, ptr %3, align 8, !tbaa !5
  %10426 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10425, i32 0, i32 2
  %10427 = load ptr, ptr %10426, align 8, !tbaa !45
  %10428 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10427)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10421, ptr noundef nonnull align 8 dereferenceable(24) %10424, i1 noundef zeroext %10428)
  %10429 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10430 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10429, i32 0, i32 0
  store i32 14, ptr %10430, align 8, !tbaa !10
  %10431 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10432 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10431, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10432, i32 noundef 10, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10433:                                            ; preds = %406
  %10434 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10435 = load ptr, ptr %15, align 8, !tbaa !5
  %10436 = getelementptr inbounds %union.YYSTYPE, ptr %10435, i64 0
  %10437 = getelementptr inbounds %struct.anon, ptr %10436, i32 0, i32 0
  %10438 = load ptr, ptr %3, align 8, !tbaa !5
  %10439 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10438, i32 0, i32 2
  %10440 = load ptr, ptr %10439, align 8, !tbaa !45
  %10441 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10440)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10434, ptr noundef nonnull align 8 dereferenceable(24) %10437, i1 noundef zeroext %10441)
  %10442 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10443 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10442, i32 0, i32 0
  store i32 14, ptr %10443, align 8, !tbaa !10
  %10444 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10445 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10444, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10445, i32 noundef 11, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10446:                                            ; preds = %406
  %10447 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10448 = load ptr, ptr %15, align 8, !tbaa !5
  %10449 = getelementptr inbounds %union.YYSTYPE, ptr %10448, i64 0
  %10450 = getelementptr inbounds %struct.anon, ptr %10449, i32 0, i32 0
  %10451 = load ptr, ptr %3, align 8, !tbaa !5
  %10452 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10451, i32 0, i32 2
  %10453 = load ptr, ptr %10452, align 8, !tbaa !45
  %10454 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10453)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10447, ptr noundef nonnull align 8 dereferenceable(24) %10450, i1 noundef zeroext %10454)
  %10455 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10456 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10455, i32 0, i32 0
  store i32 14, ptr %10456, align 8, !tbaa !10
  %10457 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10458 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10457, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10458, i32 noundef 10, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10459:                                            ; preds = %406
  %10460 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10461 = load ptr, ptr %15, align 8, !tbaa !5
  %10462 = getelementptr inbounds %union.YYSTYPE, ptr %10461, i64 0
  %10463 = getelementptr inbounds %struct.anon, ptr %10462, i32 0, i32 0
  %10464 = load ptr, ptr %3, align 8, !tbaa !5
  %10465 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10464, i32 0, i32 2
  %10466 = load ptr, ptr %10465, align 8, !tbaa !45
  %10467 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10466)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10460, ptr noundef nonnull align 8 dereferenceable(24) %10463, i1 noundef zeroext %10467)
  %10468 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10469 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10468, i32 0, i32 0
  store i32 14, ptr %10469, align 8, !tbaa !10
  %10470 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10471 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10470, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10471, i32 noundef 11, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10472:                                            ; preds = %406
  %10473 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10474 = load ptr, ptr %15, align 8, !tbaa !5
  %10475 = getelementptr inbounds %union.YYSTYPE, ptr %10474, i64 0
  %10476 = getelementptr inbounds %struct.anon, ptr %10475, i32 0, i32 0
  %10477 = load ptr, ptr %3, align 8, !tbaa !5
  %10478 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10477, i32 0, i32 2
  %10479 = load ptr, ptr %10478, align 8, !tbaa !45
  %10480 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10479)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10473, ptr noundef nonnull align 8 dereferenceable(24) %10476, i1 noundef zeroext %10480)
  %10481 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10482 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10481, i32 0, i32 0
  store i32 14, ptr %10482, align 8, !tbaa !10
  %10483 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10484 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10483, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10484, i32 noundef 10, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10485:                                            ; preds = %406
  %10486 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10487 = load ptr, ptr %15, align 8, !tbaa !5
  %10488 = getelementptr inbounds %union.YYSTYPE, ptr %10487, i64 0
  %10489 = getelementptr inbounds %struct.anon, ptr %10488, i32 0, i32 0
  %10490 = load ptr, ptr %3, align 8, !tbaa !5
  %10491 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10490, i32 0, i32 2
  %10492 = load ptr, ptr %10491, align 8, !tbaa !45
  %10493 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10492)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10486, ptr noundef nonnull align 8 dereferenceable(24) %10489, i1 noundef zeroext %10493)
  %10494 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10495 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10494, i32 0, i32 0
  store i32 14, ptr %10495, align 8, !tbaa !10
  %10496 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10497 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10496, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10497, i32 noundef 11, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10498:                                            ; preds = %406
  %10499 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10500 = load ptr, ptr %15, align 8, !tbaa !5
  %10501 = getelementptr inbounds %union.YYSTYPE, ptr %10500, i64 0
  %10502 = getelementptr inbounds %struct.anon, ptr %10501, i32 0, i32 0
  %10503 = load ptr, ptr %3, align 8, !tbaa !5
  %10504 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10503, i32 0, i32 2
  %10505 = load ptr, ptr %10504, align 8, !tbaa !45
  %10506 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10505)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10499, ptr noundef nonnull align 8 dereferenceable(24) %10502, i1 noundef zeroext %10506)
  %10507 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10508 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10507, i32 0, i32 0
  store i32 14, ptr %10508, align 8, !tbaa !10
  %10509 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10510 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10509, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10510, i32 noundef 10, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10511:                                            ; preds = %406
  %10512 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10513 = load ptr, ptr %15, align 8, !tbaa !5
  %10514 = getelementptr inbounds %union.YYSTYPE, ptr %10513, i64 0
  %10515 = getelementptr inbounds %struct.anon, ptr %10514, i32 0, i32 0
  %10516 = load ptr, ptr %3, align 8, !tbaa !5
  %10517 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10516, i32 0, i32 2
  %10518 = load ptr, ptr %10517, align 8, !tbaa !45
  %10519 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10518)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10512, ptr noundef nonnull align 8 dereferenceable(24) %10515, i1 noundef zeroext %10519)
  %10520 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10521 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10520, i32 0, i32 0
  store i32 14, ptr %10521, align 8, !tbaa !10
  %10522 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10523 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10522, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10523, i32 noundef 11, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10524:                                            ; preds = %406
  %10525 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10526 = load ptr, ptr %15, align 8, !tbaa !5
  %10527 = getelementptr inbounds %union.YYSTYPE, ptr %10526, i64 0
  %10528 = getelementptr inbounds %struct.anon, ptr %10527, i32 0, i32 0
  %10529 = load ptr, ptr %3, align 8, !tbaa !5
  %10530 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10529, i32 0, i32 2
  %10531 = load ptr, ptr %10530, align 8, !tbaa !45
  %10532 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10531)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10525, ptr noundef nonnull align 8 dereferenceable(24) %10528, i1 noundef zeroext %10532)
  %10533 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10534 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10533, i32 0, i32 0
  store i32 14, ptr %10534, align 8, !tbaa !10
  %10535 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10536 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10535, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10536, i32 noundef 10, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10537:                                            ; preds = %406
  %10538 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10539 = load ptr, ptr %15, align 8, !tbaa !5
  %10540 = getelementptr inbounds %union.YYSTYPE, ptr %10539, i64 0
  %10541 = getelementptr inbounds %struct.anon, ptr %10540, i32 0, i32 0
  %10542 = load ptr, ptr %3, align 8, !tbaa !5
  %10543 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10542, i32 0, i32 2
  %10544 = load ptr, ptr %10543, align 8, !tbaa !45
  %10545 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10544)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10538, ptr noundef nonnull align 8 dereferenceable(24) %10541, i1 noundef zeroext %10545)
  %10546 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10547 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10546, i32 0, i32 0
  store i32 14, ptr %10547, align 8, !tbaa !10
  %10548 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10549 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10548, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10549, i32 noundef 11, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10550:                                            ; preds = %406
  %10551 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10552 = load ptr, ptr %15, align 8, !tbaa !5
  %10553 = getelementptr inbounds %union.YYSTYPE, ptr %10552, i64 0
  %10554 = getelementptr inbounds %struct.anon, ptr %10553, i32 0, i32 0
  %10555 = load ptr, ptr %3, align 8, !tbaa !5
  %10556 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10555, i32 0, i32 2
  %10557 = load ptr, ptr %10556, align 8, !tbaa !45
  %10558 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10557)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10551, ptr noundef nonnull align 8 dereferenceable(24) %10554, i1 noundef zeroext %10558)
  %10559 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10560 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10559, i32 0, i32 0
  store i32 14, ptr %10560, align 8, !tbaa !10
  %10561 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10562 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10561, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10562, i32 noundef 10, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10563:                                            ; preds = %406
  %10564 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10565 = load ptr, ptr %15, align 8, !tbaa !5
  %10566 = getelementptr inbounds %union.YYSTYPE, ptr %10565, i64 0
  %10567 = getelementptr inbounds %struct.anon, ptr %10566, i32 0, i32 0
  %10568 = load ptr, ptr %3, align 8, !tbaa !5
  %10569 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10568, i32 0, i32 2
  %10570 = load ptr, ptr %10569, align 8, !tbaa !45
  %10571 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10570)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10564, ptr noundef nonnull align 8 dereferenceable(24) %10567, i1 noundef zeroext %10571)
  %10572 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10573 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10572, i32 0, i32 0
  store i32 14, ptr %10573, align 8, !tbaa !10
  %10574 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10575 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10574, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10575, i32 noundef 11, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %14379

10576:                                            ; preds = %406
  %10577 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10578 = load ptr, ptr %15, align 8, !tbaa !5
  %10579 = getelementptr inbounds %union.YYSTYPE, ptr %10578, i64 0
  %10580 = getelementptr inbounds %struct.anon, ptr %10579, i32 0, i32 0
  %10581 = load ptr, ptr %3, align 8, !tbaa !5
  %10582 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10581, i32 0, i32 2
  %10583 = load ptr, ptr %10582, align 8, !tbaa !45
  %10584 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10583)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10577, ptr noundef nonnull align 8 dereferenceable(24) %10580, i1 noundef zeroext %10584)
  %10585 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10586 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10585, i32 0, i32 0
  store i32 14, ptr %10586, align 8, !tbaa !10
  %10587 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10588 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10587, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10588, i32 noundef 10, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10589:                                            ; preds = %406
  %10590 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10591 = load ptr, ptr %15, align 8, !tbaa !5
  %10592 = getelementptr inbounds %union.YYSTYPE, ptr %10591, i64 0
  %10593 = getelementptr inbounds %struct.anon, ptr %10592, i32 0, i32 0
  %10594 = load ptr, ptr %3, align 8, !tbaa !5
  %10595 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10594, i32 0, i32 2
  %10596 = load ptr, ptr %10595, align 8, !tbaa !45
  %10597 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10596)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10590, ptr noundef nonnull align 8 dereferenceable(24) %10593, i1 noundef zeroext %10597)
  %10598 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10599 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10598, i32 0, i32 0
  store i32 14, ptr %10599, align 8, !tbaa !10
  %10600 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10601 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10600, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10601, i32 noundef 11, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10602:                                            ; preds = %406
  %10603 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10604 = load ptr, ptr %15, align 8, !tbaa !5
  %10605 = getelementptr inbounds %union.YYSTYPE, ptr %10604, i64 0
  %10606 = getelementptr inbounds %struct.anon, ptr %10605, i32 0, i32 0
  %10607 = load ptr, ptr %3, align 8, !tbaa !5
  %10608 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10607, i32 0, i32 2
  %10609 = load ptr, ptr %10608, align 8, !tbaa !45
  %10610 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10609)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10603, ptr noundef nonnull align 8 dereferenceable(24) %10606, i1 noundef zeroext %10610)
  %10611 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10612 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10611, i32 0, i32 0
  store i32 14, ptr %10612, align 8, !tbaa !10
  %10613 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10614 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10613, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10614, i32 noundef 10, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10615:                                            ; preds = %406
  %10616 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10617 = load ptr, ptr %15, align 8, !tbaa !5
  %10618 = getelementptr inbounds %union.YYSTYPE, ptr %10617, i64 0
  %10619 = getelementptr inbounds %struct.anon, ptr %10618, i32 0, i32 0
  %10620 = load ptr, ptr %3, align 8, !tbaa !5
  %10621 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10620, i32 0, i32 2
  %10622 = load ptr, ptr %10621, align 8, !tbaa !45
  %10623 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10622)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10616, ptr noundef nonnull align 8 dereferenceable(24) %10619, i1 noundef zeroext %10623)
  %10624 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10625 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10624, i32 0, i32 0
  store i32 14, ptr %10625, align 8, !tbaa !10
  %10626 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10627 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10626, i32 0, i32 1
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10627, i32 noundef 11, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %14379

10628:                                            ; preds = %406
  %10629 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10630 = load ptr, ptr %15, align 8, !tbaa !5
  %10631 = getelementptr inbounds %union.YYSTYPE, ptr %10630, i64 0
  %10632 = getelementptr inbounds %struct.anon, ptr %10631, i32 0, i32 0
  %10633 = load ptr, ptr %3, align 8, !tbaa !5
  %10634 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10633, i32 0, i32 2
  %10635 = load ptr, ptr %10634, align 8, !tbaa !45
  %10636 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10635)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10629, ptr noundef nonnull align 8 dereferenceable(24) %10632, i1 noundef zeroext %10636)
  %10637 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10638 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10637, i32 0, i32 0
  store i32 14, ptr %10638, align 8, !tbaa !10
  %10639 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10640 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10639, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10640, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %10641 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10642 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10641, i32 0, i32 1
  %10643 = load i32, ptr %10642, align 4
  %10644 = and i32 %10643, -536870913
  %10645 = or i32 %10644, 536870912
  store i32 %10645, ptr %10642, align 4
  br label %14379

10646:                                            ; preds = %406
  %10647 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10648 = load ptr, ptr %15, align 8, !tbaa !5
  %10649 = getelementptr inbounds %union.YYSTYPE, ptr %10648, i64 0
  %10650 = getelementptr inbounds %struct.anon, ptr %10649, i32 0, i32 0
  %10651 = load ptr, ptr %3, align 8, !tbaa !5
  %10652 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10651, i32 0, i32 2
  %10653 = load ptr, ptr %10652, align 8, !tbaa !45
  %10654 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10653)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10647, ptr noundef nonnull align 8 dereferenceable(24) %10650, i1 noundef zeroext %10654)
  %10655 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10656 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10655, i32 0, i32 0
  store i32 14, ptr %10656, align 8, !tbaa !10
  %10657 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10658 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10657, i32 0, i32 1
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %10658, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %10659 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10660 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10659, i32 0, i32 1
  %10661 = load i32, ptr %10660, align 4
  %10662 = and i32 %10661, -1073741825
  %10663 = or i32 %10662, 1073741824
  store i32 %10663, ptr %10660, align 4
  br label %14379

10664:                                            ; preds = %406
  %10665 = load ptr, ptr %3, align 8, !tbaa !5
  %10666 = load ptr, ptr %15, align 8, !tbaa !5
  %10667 = getelementptr inbounds %union.YYSTYPE, ptr %10666, i64 0
  %10668 = getelementptr inbounds %struct.anon, ptr %10667, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %10665, ptr noundef nonnull align 8 dereferenceable(24) %10668, i32 noundef 4, ptr noundef @.str.160)
  %10669 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10670 = load ptr, ptr %15, align 8, !tbaa !5
  %10671 = getelementptr inbounds %union.YYSTYPE, ptr %10670, i64 0
  %10672 = getelementptr inbounds %struct.anon, ptr %10671, i32 0, i32 0
  %10673 = load ptr, ptr %3, align 8, !tbaa !5
  %10674 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10673, i32 0, i32 2
  %10675 = load ptr, ptr %10674, align 8, !tbaa !45
  %10676 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10675)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10669, ptr noundef nonnull align 8 dereferenceable(24) %10672, i1 noundef zeroext %10676)
  %10677 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10678 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10677, i32 0, i32 0
  store i32 14, ptr %10678, align 8, !tbaa !10
  %10679 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10680 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10679, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %10680, i32 noundef 1, i1 noundef zeroext false)
  br label %14379

10681:                                            ; preds = %406
  %10682 = load ptr, ptr %3, align 8, !tbaa !5
  %10683 = load ptr, ptr %15, align 8, !tbaa !5
  %10684 = getelementptr inbounds %union.YYSTYPE, ptr %10683, i64 0
  %10685 = getelementptr inbounds %struct.anon, ptr %10684, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %10682, ptr noundef nonnull align 8 dereferenceable(24) %10685, i32 noundef 4, ptr noundef @.str.160)
  %10686 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10687 = load ptr, ptr %15, align 8, !tbaa !5
  %10688 = getelementptr inbounds %union.YYSTYPE, ptr %10687, i64 0
  %10689 = getelementptr inbounds %struct.anon, ptr %10688, i32 0, i32 0
  %10690 = load ptr, ptr %3, align 8, !tbaa !5
  %10691 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10690, i32 0, i32 2
  %10692 = load ptr, ptr %10691, align 8, !tbaa !45
  %10693 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10692)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10686, ptr noundef nonnull align 8 dereferenceable(24) %10689, i1 noundef zeroext %10693)
  %10694 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10695 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10694, i32 0, i32 0
  store i32 14, ptr %10695, align 8, !tbaa !10
  %10696 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10697 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10696, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %10697, i32 noundef 1, i1 noundef zeroext true)
  br label %14379

10698:                                            ; preds = %406
  %10699 = load ptr, ptr %3, align 8, !tbaa !5
  %10700 = load ptr, ptr %15, align 8, !tbaa !5
  %10701 = getelementptr inbounds %union.YYSTYPE, ptr %10700, i64 0
  %10702 = getelementptr inbounds %struct.anon, ptr %10701, i32 0, i32 0
  %10703 = load ptr, ptr %3, align 8, !tbaa !5
  %10704 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10703, i32 0, i32 2
  %10705 = load ptr, ptr %10704, align 8, !tbaa !45
  %10706 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10705)
  %10707 = load ptr, ptr %10699, align 8, !tbaa !19
  %10708 = getelementptr inbounds ptr, ptr %10707, i64 28
  %10709 = load ptr, ptr %10708, align 8
  call void %10709(ptr noundef nonnull align 8 dereferenceable(192) %10699, ptr noundef nonnull align 8 dereferenceable(24) %10702, ptr noundef @.str.161, i1 noundef zeroext %10706)
  %10710 = load ptr, ptr %3, align 8, !tbaa !5
  %10711 = load ptr, ptr %15, align 8, !tbaa !5
  %10712 = getelementptr inbounds %union.YYSTYPE, ptr %10711, i64 0
  %10713 = getelementptr inbounds %struct.anon, ptr %10712, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %10710, ptr noundef nonnull align 8 dereferenceable(24) %10713, i32 noundef 4, ptr noundef @.str.160)
  %10714 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10715 = load ptr, ptr %15, align 8, !tbaa !5
  %10716 = getelementptr inbounds %union.YYSTYPE, ptr %10715, i64 0
  %10717 = getelementptr inbounds %struct.anon, ptr %10716, i32 0, i32 0
  %10718 = load ptr, ptr %3, align 8, !tbaa !5
  %10719 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10718, i32 0, i32 2
  %10720 = load ptr, ptr %10719, align 8, !tbaa !45
  %10721 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10720)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10714, ptr noundef nonnull align 8 dereferenceable(24) %10717, i1 noundef zeroext %10721)
  %10722 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10723 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10722, i32 0, i32 0
  store i32 14, ptr %10723, align 8, !tbaa !10
  %10724 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10725 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10724, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %10725, i32 noundef 3, i1 noundef zeroext false)
  br label %14379

10726:                                            ; preds = %406
  %10727 = load ptr, ptr %3, align 8, !tbaa !5
  %10728 = load ptr, ptr %15, align 8, !tbaa !5
  %10729 = getelementptr inbounds %union.YYSTYPE, ptr %10728, i64 0
  %10730 = getelementptr inbounds %struct.anon, ptr %10729, i32 0, i32 0
  %10731 = load ptr, ptr %3, align 8, !tbaa !5
  %10732 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10731, i32 0, i32 2
  %10733 = load ptr, ptr %10732, align 8, !tbaa !45
  %10734 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10733)
  %10735 = load ptr, ptr %10727, align 8, !tbaa !19
  %10736 = getelementptr inbounds ptr, ptr %10735, i64 28
  %10737 = load ptr, ptr %10736, align 8
  call void %10737(ptr noundef nonnull align 8 dereferenceable(192) %10727, ptr noundef nonnull align 8 dereferenceable(24) %10730, ptr noundef @.str.161, i1 noundef zeroext %10734)
  %10738 = load ptr, ptr %3, align 8, !tbaa !5
  %10739 = load ptr, ptr %15, align 8, !tbaa !5
  %10740 = getelementptr inbounds %union.YYSTYPE, ptr %10739, i64 0
  %10741 = getelementptr inbounds %struct.anon, ptr %10740, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %10738, ptr noundef nonnull align 8 dereferenceable(24) %10741, i32 noundef 4, ptr noundef @.str.160)
  %10742 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10743 = load ptr, ptr %15, align 8, !tbaa !5
  %10744 = getelementptr inbounds %union.YYSTYPE, ptr %10743, i64 0
  %10745 = getelementptr inbounds %struct.anon, ptr %10744, i32 0, i32 0
  %10746 = load ptr, ptr %3, align 8, !tbaa !5
  %10747 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10746, i32 0, i32 2
  %10748 = load ptr, ptr %10747, align 8, !tbaa !45
  %10749 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10748)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10742, ptr noundef nonnull align 8 dereferenceable(24) %10745, i1 noundef zeroext %10749)
  %10750 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10751 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10750, i32 0, i32 0
  store i32 14, ptr %10751, align 8, !tbaa !10
  %10752 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10753 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10752, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %10753, i32 noundef 3, i1 noundef zeroext true)
  br label %14379

10754:                                            ; preds = %406
  %10755 = load ptr, ptr %3, align 8, !tbaa !5
  %10756 = load ptr, ptr %15, align 8, !tbaa !5
  %10757 = getelementptr inbounds %union.YYSTYPE, ptr %10756, i64 0
  %10758 = getelementptr inbounds %struct.anon, ptr %10757, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %10755, ptr noundef nonnull align 8 dereferenceable(24) %10758, i32 noundef 4, ptr noundef @.str.160)
  %10759 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10760 = load ptr, ptr %15, align 8, !tbaa !5
  %10761 = getelementptr inbounds %union.YYSTYPE, ptr %10760, i64 0
  %10762 = getelementptr inbounds %struct.anon, ptr %10761, i32 0, i32 0
  %10763 = load ptr, ptr %3, align 8, !tbaa !5
  %10764 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10763, i32 0, i32 2
  %10765 = load ptr, ptr %10764, align 8, !tbaa !45
  %10766 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10765)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10759, ptr noundef nonnull align 8 dereferenceable(24) %10762, i1 noundef zeroext %10766)
  %10767 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10768 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10767, i32 0, i32 0
  store i32 14, ptr %10768, align 8, !tbaa !10
  %10769 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10770 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10769, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %10770, i32 noundef 8, i1 noundef zeroext false)
  br label %14379

10771:                                            ; preds = %406
  %10772 = load ptr, ptr %3, align 8, !tbaa !5
  %10773 = load ptr, ptr %15, align 8, !tbaa !5
  %10774 = getelementptr inbounds %union.YYSTYPE, ptr %10773, i64 0
  %10775 = getelementptr inbounds %struct.anon, ptr %10774, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %10772, ptr noundef nonnull align 8 dereferenceable(24) %10775, i32 noundef 4, ptr noundef @.str.160)
  %10776 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10777 = load ptr, ptr %15, align 8, !tbaa !5
  %10778 = getelementptr inbounds %union.YYSTYPE, ptr %10777, i64 0
  %10779 = getelementptr inbounds %struct.anon, ptr %10778, i32 0, i32 0
  %10780 = load ptr, ptr %3, align 8, !tbaa !5
  %10781 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10780, i32 0, i32 2
  %10782 = load ptr, ptr %10781, align 8, !tbaa !45
  %10783 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10782)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10776, ptr noundef nonnull align 8 dereferenceable(24) %10779, i1 noundef zeroext %10783)
  %10784 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10785 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10784, i32 0, i32 0
  store i32 14, ptr %10785, align 8, !tbaa !10
  %10786 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10787 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10786, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %10787, i32 noundef 8, i1 noundef zeroext true)
  br label %14379

10788:                                            ; preds = %406
  %10789 = load ptr, ptr %3, align 8, !tbaa !5
  %10790 = load ptr, ptr %15, align 8, !tbaa !5
  %10791 = getelementptr inbounds %union.YYSTYPE, ptr %10790, i64 0
  %10792 = getelementptr inbounds %struct.anon, ptr %10791, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %10789, ptr noundef nonnull align 8 dereferenceable(24) %10792, i32 noundef 4, ptr noundef @.str.160)
  %10793 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10794 = load ptr, ptr %15, align 8, !tbaa !5
  %10795 = getelementptr inbounds %union.YYSTYPE, ptr %10794, i64 0
  %10796 = getelementptr inbounds %struct.anon, ptr %10795, i32 0, i32 0
  %10797 = load ptr, ptr %3, align 8, !tbaa !5
  %10798 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10797, i32 0, i32 2
  %10799 = load ptr, ptr %10798, align 8, !tbaa !45
  %10800 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10799)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10793, ptr noundef nonnull align 8 dereferenceable(24) %10796, i1 noundef zeroext %10800)
  %10801 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10802 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10801, i32 0, i32 0
  store i32 14, ptr %10802, align 8, !tbaa !10
  %10803 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10804 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10803, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %10804, i32 noundef 9, i1 noundef zeroext false)
  br label %14379

10805:                                            ; preds = %406
  %10806 = load ptr, ptr %3, align 8, !tbaa !5
  %10807 = load ptr, ptr %15, align 8, !tbaa !5
  %10808 = getelementptr inbounds %union.YYSTYPE, ptr %10807, i64 0
  %10809 = getelementptr inbounds %struct.anon, ptr %10808, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %10806, ptr noundef nonnull align 8 dereferenceable(24) %10809, i32 noundef 4, ptr noundef @.str.160)
  %10810 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10811 = load ptr, ptr %15, align 8, !tbaa !5
  %10812 = getelementptr inbounds %union.YYSTYPE, ptr %10811, i64 0
  %10813 = getelementptr inbounds %struct.anon, ptr %10812, i32 0, i32 0
  %10814 = load ptr, ptr %3, align 8, !tbaa !5
  %10815 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10814, i32 0, i32 2
  %10816 = load ptr, ptr %10815, align 8, !tbaa !45
  %10817 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10816)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10810, ptr noundef nonnull align 8 dereferenceable(24) %10813, i1 noundef zeroext %10817)
  %10818 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10819 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10818, i32 0, i32 0
  store i32 14, ptr %10819, align 8, !tbaa !10
  %10820 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10821 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10820, i32 0, i32 1
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %10821, i32 noundef 9, i1 noundef zeroext true)
  br label %14379

10822:                                            ; preds = %406
  %10823 = load ptr, ptr %3, align 8, !tbaa !5
  %10824 = load ptr, ptr %15, align 8, !tbaa !5
  %10825 = getelementptr inbounds %union.YYSTYPE, ptr %10824, i64 0
  %10826 = getelementptr inbounds %struct.anon, ptr %10825, i32 0, i32 0
  %10827 = load ptr, ptr %3, align 8, !tbaa !5
  %10828 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10827, i32 0, i32 2
  %10829 = load ptr, ptr %10828, align 8, !tbaa !45
  %10830 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10829)
  %10831 = load ptr, ptr %10823, align 8, !tbaa !19
  %10832 = getelementptr inbounds ptr, ptr %10831, i64 35
  %10833 = load ptr, ptr %10832, align 8
  call void %10833(ptr noundef nonnull align 8 dereferenceable(192) %10823, ptr noundef nonnull align 8 dereferenceable(24) %10826, ptr noundef @.str.162, i1 noundef zeroext %10830)
  %10834 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10835 = load ptr, ptr %15, align 8, !tbaa !5
  %10836 = getelementptr inbounds %union.YYSTYPE, ptr %10835, i64 0
  %10837 = getelementptr inbounds %struct.anon, ptr %10836, i32 0, i32 0
  %10838 = load ptr, ptr %3, align 8, !tbaa !5
  %10839 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10838, i32 0, i32 2
  %10840 = load ptr, ptr %10839, align 8, !tbaa !45
  %10841 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10840)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10834, ptr noundef nonnull align 8 dereferenceable(24) %10837, i1 noundef zeroext %10841)
  %10842 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10843 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10842, i32 0, i32 0
  store i32 1, ptr %10843, align 8, !tbaa !10
  %10844 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10845 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10844, i32 0, i32 4
  %10846 = load i16, ptr %10845, align 8
  %10847 = and i16 %10846, -4097
  %10848 = or i16 %10847, 4096
  store i16 %10848, ptr %10845, align 8
  br label %14379

10849:                                            ; preds = %406
  %10850 = load ptr, ptr %3, align 8, !tbaa !5
  %10851 = load ptr, ptr %15, align 8, !tbaa !5
  %10852 = getelementptr inbounds %union.YYSTYPE, ptr %10851, i64 0
  %10853 = getelementptr inbounds %struct.anon, ptr %10852, i32 0, i32 0
  %10854 = load ptr, ptr %3, align 8, !tbaa !5
  %10855 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10854, i32 0, i32 2
  %10856 = load ptr, ptr %10855, align 8, !tbaa !45
  %10857 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10856)
  %10858 = load ptr, ptr %10850, align 8, !tbaa !19
  %10859 = getelementptr inbounds ptr, ptr %10858, i64 36
  %10860 = load ptr, ptr %10859, align 8
  call void %10860(ptr noundef nonnull align 8 dereferenceable(192) %10850, ptr noundef nonnull align 8 dereferenceable(24) %10853, ptr noundef @.str.163, i1 noundef zeroext %10857)
  %10861 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10862 = load ptr, ptr %15, align 8, !tbaa !5
  %10863 = getelementptr inbounds %union.YYSTYPE, ptr %10862, i64 0
  %10864 = getelementptr inbounds %struct.anon, ptr %10863, i32 0, i32 0
  %10865 = load ptr, ptr %3, align 8, !tbaa !5
  %10866 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10865, i32 0, i32 2
  %10867 = load ptr, ptr %10866, align 8, !tbaa !45
  %10868 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10867)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10861, ptr noundef nonnull align 8 dereferenceable(24) %10864, i1 noundef zeroext %10868)
  %10869 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10870 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10869, i32 0, i32 0
  store i32 8, ptr %10870, align 8, !tbaa !10
  %10871 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10872 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10871, i32 0, i32 4
  %10873 = load i16, ptr %10872, align 8
  %10874 = and i16 %10873, -4097
  %10875 = or i16 %10874, 4096
  store i16 %10875, ptr %10872, align 8
  br label %14379

10876:                                            ; preds = %406
  %10877 = load ptr, ptr %3, align 8, !tbaa !5
  %10878 = load ptr, ptr %15, align 8, !tbaa !5
  %10879 = getelementptr inbounds %union.YYSTYPE, ptr %10878, i64 0
  %10880 = getelementptr inbounds %struct.anon, ptr %10879, i32 0, i32 0
  %10881 = load ptr, ptr %3, align 8, !tbaa !5
  %10882 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10881, i32 0, i32 2
  %10883 = load ptr, ptr %10882, align 8, !tbaa !45
  %10884 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10883)
  %10885 = load ptr, ptr %10877, align 8, !tbaa !19
  %10886 = getelementptr inbounds ptr, ptr %10885, i64 36
  %10887 = load ptr, ptr %10886, align 8
  call void %10887(ptr noundef nonnull align 8 dereferenceable(192) %10877, ptr noundef nonnull align 8 dereferenceable(24) %10880, ptr noundef @.str.164, i1 noundef zeroext %10884)
  %10888 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10889 = load ptr, ptr %15, align 8, !tbaa !5
  %10890 = getelementptr inbounds %union.YYSTYPE, ptr %10889, i64 0
  %10891 = getelementptr inbounds %struct.anon, ptr %10890, i32 0, i32 0
  %10892 = load ptr, ptr %3, align 8, !tbaa !5
  %10893 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10892, i32 0, i32 2
  %10894 = load ptr, ptr %10893, align 8, !tbaa !45
  %10895 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10894)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10888, ptr noundef nonnull align 8 dereferenceable(24) %10891, i1 noundef zeroext %10895)
  %10896 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10897 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10896, i32 0, i32 0
  store i32 9, ptr %10897, align 8, !tbaa !10
  %10898 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10899 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10898, i32 0, i32 4
  %10900 = load i16, ptr %10899, align 8
  %10901 = and i16 %10900, -4097
  %10902 = or i16 %10901, 4096
  store i16 %10902, ptr %10899, align 8
  br label %14379

10903:                                            ; preds = %406
  %10904 = load ptr, ptr %3, align 8, !tbaa !5
  %10905 = load ptr, ptr %15, align 8, !tbaa !5
  %10906 = getelementptr inbounds %union.YYSTYPE, ptr %10905, i64 0
  %10907 = getelementptr inbounds %struct.anon.0, ptr %10906, i32 0, i32 3
  %10908 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10907, i32 0, i32 7
  %10909 = load ptr, ptr %10904, align 8, !tbaa !19
  %10910 = getelementptr inbounds ptr, ptr %10909, i64 5
  %10911 = load ptr, ptr %10910, align 8
  call void %10911(ptr noundef nonnull align 8 dereferenceable(192) %10904, ptr noundef nonnull align 8 dereferenceable(24) %10908, i32 noundef 1, ptr noundef @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef @.str.165)
  %10912 = load ptr, ptr %15, align 8, !tbaa !5
  %10913 = getelementptr inbounds %union.YYSTYPE, ptr %10912, i64 0
  %10914 = getelementptr inbounds %struct.anon.0, ptr %10913, i32 0, i32 3
  %10915 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10915, ptr align 8 %10914, i64 232, i1 false), !tbaa.struct !135
  br label %14379

10916:                                            ; preds = %406
  %10917 = load ptr, ptr %15, align 8, !tbaa !5
  %10918 = getelementptr inbounds %union.YYSTYPE, ptr %10917, i64 0
  %10919 = getelementptr inbounds %struct.anon.0, ptr %10918, i32 0, i32 3
  %10920 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10920, ptr align 8 %10919, i64 232, i1 false), !tbaa.struct !135
  %10921 = load ptr, ptr %3, align 8, !tbaa !5
  %10922 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10921, i32 0, i32 2
  %10923 = load ptr, ptr %10922, align 8, !tbaa !45
  %10924 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10923)
  %10925 = zext i1 %10924 to i64
  %10926 = select i1 %10924, i32 1, i32 0
  %10927 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10928 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10927, i32 0, i32 2
  %10929 = getelementptr inbounds %"class.glslang::TQualifier", ptr %10928, i32 0, i32 1
  %10930 = zext i32 %10926 to i64
  %10931 = load i64, ptr %10929, align 8
  %10932 = and i64 %10930, 63
  %10933 = and i64 %10931, -64
  %10934 = or i64 %10933, %10932
  store i64 %10934, ptr %10929, align 8
  %10935 = load ptr, ptr %3, align 8, !tbaa !5
  %10936 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10937 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10936, i32 0, i32 7
  %10938 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  call void @_ZN7glslang13TParseContext15structTypeCheckERKNS_10TSourceLocERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %10935, ptr noundef nonnull align 8 dereferenceable(24) %10937, ptr noundef nonnull align 8 dereferenceable(232) %10938)
  br label %14379

10939:                                            ; preds = %406
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #10
  %10940 = load ptr, ptr %15, align 8, !tbaa !5
  %10941 = getelementptr inbounds %union.YYSTYPE, ptr %10940, i64 0
  %10942 = getelementptr inbounds %struct.anon, ptr %10941, i32 0, i32 2
  %10943 = load ptr, ptr %10942, align 8, !tbaa !10
  %10944 = load ptr, ptr %10943, align 8, !tbaa !19
  %10945 = getelementptr inbounds ptr, ptr %10944, i64 9
  %10946 = load ptr, ptr %10945, align 8
  %10947 = call noundef ptr %10946(ptr noundef nonnull align 8 dereferenceable(33) %10943)
  store ptr %10947, ptr %76, align 8, !tbaa !5
  %10948 = load ptr, ptr %76, align 8, !tbaa !5
  %10949 = icmp ne ptr %10948, null
  br i1 %10949, label %10950, label %10969

10950:                                            ; preds = %10939
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #10
  %10951 = load ptr, ptr %76, align 8, !tbaa !5
  %10952 = load ptr, ptr %10951, align 8, !tbaa !19
  %10953 = getelementptr inbounds ptr, ptr %10952, i64 12
  %10954 = load ptr, ptr %10953, align 8
  %10955 = call noundef nonnull align 8 dereferenceable(144) ptr %10954(ptr noundef nonnull align 8 dereferenceable(228) %10951)
  store ptr %10955, ptr %77, align 8, !tbaa !5
  %10956 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10957 = load ptr, ptr %15, align 8, !tbaa !5
  %10958 = getelementptr inbounds %union.YYSTYPE, ptr %10957, i64 0
  %10959 = getelementptr inbounds %struct.anon, ptr %10958, i32 0, i32 0
  %10960 = load ptr, ptr %3, align 8, !tbaa !5
  %10961 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10960, i32 0, i32 2
  %10962 = load ptr, ptr %10961, align 8, !tbaa !45
  %10963 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10962)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10956, ptr noundef nonnull align 8 dereferenceable(24) %10959, i1 noundef zeroext %10963)
  %10964 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10965 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10964, i32 0, i32 0
  store i32 15, ptr %10965, align 8, !tbaa !10
  %10966 = load ptr, ptr %77, align 8, !tbaa !5
  %10967 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10968 = getelementptr inbounds %"class.glslang::TPublicType", ptr %10967, i32 0, i32 6
  store ptr %10966, ptr %10968, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  br label %10982

10969:                                            ; preds = %10939
  %10970 = load ptr, ptr %3, align 8, !tbaa !5
  %10971 = load ptr, ptr %15, align 8, !tbaa !5
  %10972 = getelementptr inbounds %union.YYSTYPE, ptr %10971, i64 0
  %10973 = getelementptr inbounds %struct.anon, ptr %10972, i32 0, i32 0
  %10974 = load ptr, ptr %15, align 8, !tbaa !5
  %10975 = getelementptr inbounds %union.YYSTYPE, ptr %10974, i64 0
  %10976 = getelementptr inbounds %struct.anon, ptr %10975, i32 0, i32 1
  %10977 = load ptr, ptr %10976, align 8, !tbaa !10
  %10978 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %10977) #10
  %10979 = load ptr, ptr %10970, align 8, !tbaa !19
  %10980 = getelementptr inbounds ptr, ptr %10979, i64 42
  %10981 = load ptr, ptr %10980, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %10981(ptr noundef nonnull align 8 dereferenceable(1176) %10970, ptr noundef nonnull align 8 dereferenceable(24) %10973, ptr noundef @.str.166, ptr noundef %10978, ptr noundef @.str.21)
  br label %10982

10982:                                            ; preds = %10969, %10950
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #10
  br label %14379

10983:                                            ; preds = %406
  %10984 = load ptr, ptr %3, align 8, !tbaa !5
  %10985 = load ptr, ptr %15, align 8, !tbaa !5
  %10986 = getelementptr inbounds %union.YYSTYPE, ptr %10985, i64 0
  %10987 = getelementptr inbounds %struct.anon, ptr %10986, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %10984, ptr noundef nonnull align 8 dereferenceable(24) %10987, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef @.str.167)
  %10988 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %10989 = load ptr, ptr %15, align 8, !tbaa !5
  %10990 = getelementptr inbounds %union.YYSTYPE, ptr %10989, i64 0
  %10991 = getelementptr inbounds %struct.anon, ptr %10990, i32 0, i32 0
  %10992 = load ptr, ptr %3, align 8, !tbaa !5
  %10993 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %10992, i32 0, i32 2
  %10994 = load ptr, ptr %10993, align 8, !tbaa !45
  %10995 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %10994)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %10988, ptr noundef nonnull align 8 dereferenceable(24) %10991, i1 noundef zeroext %10995)
  %10996 = load ptr, ptr %3, align 8, !tbaa !5
  %10997 = load ptr, ptr %15, align 8, !tbaa !5
  %10998 = getelementptr inbounds %union.YYSTYPE, ptr %10997, i64 0
  %10999 = getelementptr inbounds %struct.anon, ptr %10998, i32 0, i32 0
  %11000 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11001 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11000, i32 0, i32 2
  call void @_ZN7glslang13TParseContext24handlePrecisionQualifierERKNS_10TSourceLocERNS_10TQualifierENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %10996, ptr noundef nonnull align 8 dereferenceable(24) %10999, ptr noundef nonnull align 8 dereferenceable(72) %11001, i32 noundef 3)
  br label %14379

11002:                                            ; preds = %406
  %11003 = load ptr, ptr %3, align 8, !tbaa !5
  %11004 = load ptr, ptr %15, align 8, !tbaa !5
  %11005 = getelementptr inbounds %union.YYSTYPE, ptr %11004, i64 0
  %11006 = getelementptr inbounds %struct.anon, ptr %11005, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11003, ptr noundef nonnull align 8 dereferenceable(24) %11006, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef @.str.168)
  %11007 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11008 = load ptr, ptr %15, align 8, !tbaa !5
  %11009 = getelementptr inbounds %union.YYSTYPE, ptr %11008, i64 0
  %11010 = getelementptr inbounds %struct.anon, ptr %11009, i32 0, i32 0
  %11011 = load ptr, ptr %3, align 8, !tbaa !5
  %11012 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11011, i32 0, i32 2
  %11013 = load ptr, ptr %11012, align 8, !tbaa !45
  %11014 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %11013)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %11007, ptr noundef nonnull align 8 dereferenceable(24) %11010, i1 noundef zeroext %11014)
  %11015 = load ptr, ptr %3, align 8, !tbaa !5
  %11016 = load ptr, ptr %15, align 8, !tbaa !5
  %11017 = getelementptr inbounds %union.YYSTYPE, ptr %11016, i64 0
  %11018 = getelementptr inbounds %struct.anon, ptr %11017, i32 0, i32 0
  %11019 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11020 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11019, i32 0, i32 2
  call void @_ZN7glslang13TParseContext24handlePrecisionQualifierERKNS_10TSourceLocERNS_10TQualifierENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %11015, ptr noundef nonnull align 8 dereferenceable(24) %11018, ptr noundef nonnull align 8 dereferenceable(72) %11020, i32 noundef 2)
  br label %14379

11021:                                            ; preds = %406
  %11022 = load ptr, ptr %3, align 8, !tbaa !5
  %11023 = load ptr, ptr %15, align 8, !tbaa !5
  %11024 = getelementptr inbounds %union.YYSTYPE, ptr %11023, i64 0
  %11025 = getelementptr inbounds %struct.anon, ptr %11024, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11022, ptr noundef nonnull align 8 dereferenceable(24) %11025, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef @.str.169)
  %11026 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11027 = load ptr, ptr %15, align 8, !tbaa !5
  %11028 = getelementptr inbounds %union.YYSTYPE, ptr %11027, i64 0
  %11029 = getelementptr inbounds %struct.anon, ptr %11028, i32 0, i32 0
  %11030 = load ptr, ptr %3, align 8, !tbaa !5
  %11031 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11030, i32 0, i32 2
  %11032 = load ptr, ptr %11031, align 8, !tbaa !45
  %11033 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %11032)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %11026, ptr noundef nonnull align 8 dereferenceable(24) %11029, i1 noundef zeroext %11033)
  %11034 = load ptr, ptr %3, align 8, !tbaa !5
  %11035 = load ptr, ptr %15, align 8, !tbaa !5
  %11036 = getelementptr inbounds %union.YYSTYPE, ptr %11035, i64 0
  %11037 = getelementptr inbounds %struct.anon, ptr %11036, i32 0, i32 0
  %11038 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11039 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11038, i32 0, i32 2
  call void @_ZN7glslang13TParseContext24handlePrecisionQualifierERKNS_10TSourceLocERNS_10TQualifierENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %11034, ptr noundef nonnull align 8 dereferenceable(24) %11037, ptr noundef nonnull align 8 dereferenceable(72) %11039, i32 noundef 1)
  br label %14379

11040:                                            ; preds = %406
  %11041 = load ptr, ptr %3, align 8, !tbaa !5
  %11042 = load ptr, ptr %15, align 8, !tbaa !5
  %11043 = getelementptr inbounds %union.YYSTYPE, ptr %11042, i64 -2
  %11044 = getelementptr inbounds %struct.anon, ptr %11043, i32 0, i32 0
  call void @_ZN7glslang13TParseContext17nestedStructCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912) %11041, ptr noundef nonnull align 8 dereferenceable(24) %11044)
  br label %14379

11045:                                            ; preds = %406
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #10
  %11046 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  %11047 = load ptr, ptr %15, align 8, !tbaa !5
  %11048 = getelementptr inbounds %union.YYSTYPE, ptr %11047, i64 -1
  %11049 = getelementptr inbounds %struct.anon.0, ptr %11048, i32 0, i32 3
  %11050 = load ptr, ptr %11049, align 8, !tbaa !10
  %11051 = load ptr, ptr %15, align 8, !tbaa !5
  %11052 = getelementptr inbounds %union.YYSTYPE, ptr %11051, i64 -4
  %11053 = getelementptr inbounds %struct.anon, ptr %11052, i32 0, i32 1
  %11054 = load ptr, ptr %11053, align 8, !tbaa !10
  invoke void @_ZN7glslang5TTypeC2EPNS_7TVectorINS_8TTypeLocEEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144) %11046, ptr noundef %11050, ptr noundef nonnull align 8 dereferenceable(40) %11054)
          to label %11055 unwind label %11086

11055:                                            ; preds = %11045
  store ptr %11046, ptr %78, align 8, !tbaa !5
  %11056 = load ptr, ptr %3, align 8, !tbaa !5
  %11057 = load ptr, ptr %15, align 8, !tbaa !5
  %11058 = getelementptr inbounds %union.YYSTYPE, ptr %11057, i64 -4
  %11059 = getelementptr inbounds %struct.anon, ptr %11058, i32 0, i32 0
  %11060 = load ptr, ptr %78, align 8, !tbaa !5
  call void @_ZN7glslang13TParseContext16structArrayCheckERKNS_10TSourceLocERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %11056, ptr noundef nonnull align 8 dereferenceable(24) %11059, ptr noundef nonnull align 8 dereferenceable(144) %11060)
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #10
  %11061 = call noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 232)
  %11062 = load ptr, ptr %15, align 8, !tbaa !5
  %11063 = getelementptr inbounds %union.YYSTYPE, ptr %11062, i64 -4
  %11064 = getelementptr inbounds %struct.anon, ptr %11063, i32 0, i32 1
  %11065 = load ptr, ptr %11064, align 8, !tbaa !10
  %11066 = load ptr, ptr %78, align 8, !tbaa !5
  invoke void @_ZN7glslang9TVariableC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeEb(ptr noundef nonnull align 8 dereferenceable(228) %11061, ptr noundef %11065, ptr noundef nonnull align 8 dereferenceable(144) %11066, i1 noundef zeroext true)
          to label %11067 unwind label %11090

11067:                                            ; preds = %11055
  store ptr %11061, ptr %79, align 8, !tbaa !5
  %11068 = load ptr, ptr %3, align 8, !tbaa !5
  %11069 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11068, i32 0, i32 2
  %11070 = load ptr, ptr %11069, align 8, !tbaa !45
  %11071 = load ptr, ptr %79, align 8, !tbaa !5
  %11072 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable6insertERNS_7TSymbolE(ptr noundef nonnull align 8 dereferenceable(40) %11070, ptr noundef nonnull align 8 dereferenceable(33) %11071)
  br i1 %11072, label %11094, label %11073

11073:                                            ; preds = %11067
  %11074 = load ptr, ptr %3, align 8, !tbaa !5
  %11075 = load ptr, ptr %15, align 8, !tbaa !5
  %11076 = getelementptr inbounds %union.YYSTYPE, ptr %11075, i64 -4
  %11077 = getelementptr inbounds %struct.anon, ptr %11076, i32 0, i32 0
  %11078 = load ptr, ptr %15, align 8, !tbaa !5
  %11079 = getelementptr inbounds %union.YYSTYPE, ptr %11078, i64 -4
  %11080 = getelementptr inbounds %struct.anon, ptr %11079, i32 0, i32 1
  %11081 = load ptr, ptr %11080, align 8, !tbaa !10
  %11082 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %11081) #10
  %11083 = load ptr, ptr %11074, align 8, !tbaa !19
  %11084 = getelementptr inbounds ptr, ptr %11083, i64 42
  %11085 = load ptr, ptr %11084, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %11085(ptr noundef nonnull align 8 dereferenceable(1176) %11074, ptr noundef nonnull align 8 dereferenceable(24) %11077, ptr noundef @.str.170, ptr noundef %11082, ptr noundef @.str.171)
  br label %11094

11086:                                            ; preds = %11045
  %11087 = landingpad { ptr, i32 }
          cleanup
  %11088 = extractvalue { ptr, i32 } %11087, 0
  store ptr %11088, ptr %31, align 8
  %11089 = extractvalue { ptr, i32 } %11087, 1
  store i32 %11089, ptr %32, align 4
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %11046) #10
  br label %11108

11090:                                            ; preds = %11055
  %11091 = landingpad { ptr, i32 }
          cleanup
  %11092 = extractvalue { ptr, i32 } %11091, 0
  store ptr %11092, ptr %31, align 8
  %11093 = extractvalue { ptr, i32 } %11091, 1
  store i32 %11093, ptr %32, align 4
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %11061) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #10
  br label %11108

11094:                                            ; preds = %11073, %11067
  %11095 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11096 = load ptr, ptr %15, align 8, !tbaa !5
  %11097 = getelementptr inbounds %union.YYSTYPE, ptr %11096, i64 -5
  %11098 = getelementptr inbounds %struct.anon, ptr %11097, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %11095, ptr noundef nonnull align 8 dereferenceable(24) %11098, i1 noundef zeroext false)
  %11099 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11100 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11099, i32 0, i32 0
  store i32 15, ptr %11100, align 8, !tbaa !10
  %11101 = load ptr, ptr %78, align 8, !tbaa !5
  %11102 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11103 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11102, i32 0, i32 6
  store ptr %11101, ptr %11103, align 8, !tbaa !10
  %11104 = load ptr, ptr %3, align 8, !tbaa !5
  %11105 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11104, i32 0, i32 5
  %11106 = load i32, ptr %11105, align 8, !tbaa !150
  %11107 = add nsw i32 %11106, -1
  store i32 %11107, ptr %11105, align 8, !tbaa !150
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #10
  br label %14379

11108:                                            ; preds = %11090, %11086
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #10
  br label %14723

11109:                                            ; preds = %406
  %11110 = load ptr, ptr %3, align 8, !tbaa !5
  %11111 = load ptr, ptr %15, align 8, !tbaa !5
  %11112 = getelementptr inbounds %union.YYSTYPE, ptr %11111, i64 -1
  %11113 = getelementptr inbounds %struct.anon, ptr %11112, i32 0, i32 0
  call void @_ZN7glslang13TParseContext17nestedStructCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912) %11110, ptr noundef nonnull align 8 dereferenceable(24) %11113)
  br label %14379

11114:                                            ; preds = %406
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #10
  %11115 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  store i1 true, ptr %83, align 1
  %11116 = load ptr, ptr %15, align 8, !tbaa !5
  %11117 = getelementptr inbounds %union.YYSTYPE, ptr %11116, i64 -1
  %11118 = getelementptr inbounds %struct.anon.0, ptr %11117, i32 0, i32 3
  %11119 = load ptr, ptr %11118, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 40, ptr %81) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #10
  invoke void @_ZN7glslang14pool_allocatorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %11120 unwind label %11136

11120:                                            ; preds = %11114
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEC2IS5_EEPKcRKS5_(ptr noundef nonnull align 8 dereferenceable(40) %81, ptr noundef @.str.21, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %11121 unwind label %11136

11121:                                            ; preds = %11120
  invoke void @_ZN7glslang5TTypeC2EPNS_7TVectorINS_8TTypeLocEEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144) %11115, ptr noundef %11119, ptr noundef nonnull align 8 dereferenceable(40) %81)
          to label %11122 unwind label %11140

11122:                                            ; preds = %11121
  store i1 false, ptr %83, align 1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %81) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %81) #10
  store ptr %11115, ptr %80, align 8, !tbaa !5
  %11123 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11124 = load ptr, ptr %15, align 8, !tbaa !5
  %11125 = getelementptr inbounds %union.YYSTYPE, ptr %11124, i64 -4
  %11126 = getelementptr inbounds %struct.anon, ptr %11125, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %11123, ptr noundef nonnull align 8 dereferenceable(24) %11126, i1 noundef zeroext false)
  %11127 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11128 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11127, i32 0, i32 0
  store i32 15, ptr %11128, align 8, !tbaa !10
  %11129 = load ptr, ptr %80, align 8, !tbaa !5
  %11130 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11131 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11130, i32 0, i32 6
  store ptr %11129, ptr %11131, align 8, !tbaa !10
  %11132 = load ptr, ptr %3, align 8, !tbaa !5
  %11133 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11132, i32 0, i32 5
  %11134 = load i32, ptr %11133, align 8, !tbaa !150
  %11135 = add nsw i32 %11134, -1
  store i32 %11135, ptr %11133, align 8, !tbaa !150
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  br label %14379

11136:                                            ; preds = %11120, %11114
  %11137 = landingpad { ptr, i32 }
          cleanup
  %11138 = extractvalue { ptr, i32 } %11137, 0
  store ptr %11138, ptr %31, align 8
  %11139 = extractvalue { ptr, i32 } %11137, 1
  store i32 %11139, ptr %32, align 4
  br label %11144

11140:                                            ; preds = %11121
  %11141 = landingpad { ptr, i32 }
          cleanup
  %11142 = extractvalue { ptr, i32 } %11141, 0
  store ptr %11142, ptr %31, align 8
  %11143 = extractvalue { ptr, i32 } %11141, 1
  store i32 %11143, ptr %32, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %81) #10
  br label %11144

11144:                                            ; preds = %11140, %11136
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %81) #10
  %11145 = load i1, ptr %83, align 1
  br i1 %11145, label %11146, label %11147

11146:                                            ; preds = %11144
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %11115) #10
  br label %11147

11147:                                            ; preds = %11146, %11144
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  br label %14723

11148:                                            ; preds = %406
  %11149 = load ptr, ptr %15, align 8, !tbaa !5
  %11150 = getelementptr inbounds %union.YYSTYPE, ptr %11149, i64 0
  %11151 = getelementptr inbounds %struct.anon.0, ptr %11150, i32 0, i32 3
  %11152 = load ptr, ptr %11151, align 8, !tbaa !10
  %11153 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %11152, ptr %11153, align 8, !tbaa !10
  br label %14379

11154:                                            ; preds = %406
  %11155 = load ptr, ptr %15, align 8, !tbaa !5
  %11156 = getelementptr inbounds %union.YYSTYPE, ptr %11155, i64 -1
  %11157 = getelementptr inbounds %struct.anon.0, ptr %11156, i32 0, i32 3
  %11158 = load ptr, ptr %11157, align 8, !tbaa !10
  %11159 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %11158, ptr %11159, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #10
  store i32 0, ptr %84, align 4, !tbaa !11
  br label %11160

11160:                                            ; preds = %11246, %11154
  %11161 = load i32, ptr %84, align 4, !tbaa !11
  %11162 = zext i32 %11161 to i64
  %11163 = load ptr, ptr %15, align 8, !tbaa !5
  %11164 = getelementptr inbounds %union.YYSTYPE, ptr %11163, i64 0
  %11165 = getelementptr inbounds %struct.anon.0, ptr %11164, i32 0, i32 3
  %11166 = load ptr, ptr %11165, align 8, !tbaa !10
  %11167 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %11166) #10
  %11168 = icmp ult i64 %11162, %11167
  br i1 %11168, label %11170, label %11169

11169:                                            ; preds = %11160
  store i32 36, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %11249

11170:                                            ; preds = %11160
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #10
  store i32 0, ptr %85, align 4, !tbaa !11
  br label %11171

11171:                                            ; preds = %11233, %11170
  %11172 = load i32, ptr %85, align 4, !tbaa !11
  %11173 = zext i32 %11172 to i64
  %11174 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11175 = load ptr, ptr %11174, align 8, !tbaa !10
  %11176 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %11175) #10
  %11177 = icmp ult i64 %11173, %11176
  br i1 %11177, label %11179, label %11178

11178:                                            ; preds = %11171
  store i32 39, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %11236

11179:                                            ; preds = %11171
  %11180 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11181 = load ptr, ptr %11180, align 8, !tbaa !10
  %11182 = load i32, ptr %85, align 4, !tbaa !11
  %11183 = zext i32 %11182 to i64
  %11184 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11181, i64 noundef %11183) #10
  %11185 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11184, i32 0, i32 0
  %11186 = load ptr, ptr %11185, align 8, !tbaa !151
  %11187 = load ptr, ptr %11186, align 8, !tbaa !19
  %11188 = getelementptr inbounds ptr, ptr %11187, i64 6
  %11189 = load ptr, ptr %11188, align 8
  %11190 = call noundef nonnull align 8 dereferenceable(40) ptr %11189(ptr noundef nonnull align 8 dereferenceable(144) %11186)
  %11191 = load ptr, ptr %15, align 8, !tbaa !5
  %11192 = getelementptr inbounds %union.YYSTYPE, ptr %11191, i64 0
  %11193 = getelementptr inbounds %struct.anon.0, ptr %11192, i32 0, i32 3
  %11194 = load ptr, ptr %11193, align 8, !tbaa !10
  %11195 = load i32, ptr %84, align 4, !tbaa !11
  %11196 = zext i32 %11195 to i64
  %11197 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11194, i64 noundef %11196) #10
  %11198 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11197, i32 0, i32 0
  %11199 = load ptr, ptr %11198, align 8, !tbaa !151
  %11200 = load ptr, ptr %11199, align 8, !tbaa !19
  %11201 = getelementptr inbounds ptr, ptr %11200, i64 6
  %11202 = load ptr, ptr %11201, align 8
  %11203 = call noundef nonnull align 8 dereferenceable(40) ptr %11202(ptr noundef nonnull align 8 dereferenceable(144) %11199)
  %11204 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESC_(ptr noundef nonnull align 8 dereferenceable(40) %11190, ptr noundef nonnull align 8 dereferenceable(40) %11203) #10
  br i1 %11204, label %11205, label %11232

11205:                                            ; preds = %11179
  %11206 = load ptr, ptr %3, align 8, !tbaa !5
  %11207 = load ptr, ptr %15, align 8, !tbaa !5
  %11208 = getelementptr inbounds %union.YYSTYPE, ptr %11207, i64 0
  %11209 = getelementptr inbounds %struct.anon.0, ptr %11208, i32 0, i32 3
  %11210 = load ptr, ptr %11209, align 8, !tbaa !10
  %11211 = load i32, ptr %84, align 4, !tbaa !11
  %11212 = zext i32 %11211 to i64
  %11213 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11210, i64 noundef %11212) #10
  %11214 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11213, i32 0, i32 1
  %11215 = load ptr, ptr %15, align 8, !tbaa !5
  %11216 = getelementptr inbounds %union.YYSTYPE, ptr %11215, i64 0
  %11217 = getelementptr inbounds %struct.anon.0, ptr %11216, i32 0, i32 3
  %11218 = load ptr, ptr %11217, align 8, !tbaa !10
  %11219 = load i32, ptr %84, align 4, !tbaa !11
  %11220 = zext i32 %11219 to i64
  %11221 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11218, i64 noundef %11220) #10
  %11222 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11221, i32 0, i32 0
  %11223 = load ptr, ptr %11222, align 8, !tbaa !151
  %11224 = load ptr, ptr %11223, align 8, !tbaa !19
  %11225 = getelementptr inbounds ptr, ptr %11224, i64 6
  %11226 = load ptr, ptr %11225, align 8
  %11227 = call noundef nonnull align 8 dereferenceable(40) ptr %11226(ptr noundef nonnull align 8 dereferenceable(144) %11223)
  %11228 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %11227) #10
  %11229 = load ptr, ptr %11206, align 8, !tbaa !19
  %11230 = getelementptr inbounds ptr, ptr %11229, i64 42
  %11231 = load ptr, ptr %11230, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %11231(ptr noundef nonnull align 8 dereferenceable(1176) %11206, ptr noundef nonnull align 8 dereferenceable(24) %11214, ptr noundef @.str.172, ptr noundef @.str.21, ptr noundef %11228)
  br label %11232

11232:                                            ; preds = %11205, %11179
  br label %11233

11233:                                            ; preds = %11232
  %11234 = load i32, ptr %85, align 4, !tbaa !11
  %11235 = add i32 %11234, 1
  store i32 %11235, ptr %85, align 4, !tbaa !11
  br label %11171, !llvm.loop !154

11236:                                            ; preds = %11178
  %11237 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11238 = load ptr, ptr %11237, align 8, !tbaa !10
  %11239 = load ptr, ptr %15, align 8, !tbaa !5
  %11240 = getelementptr inbounds %union.YYSTYPE, ptr %11239, i64 0
  %11241 = getelementptr inbounds %struct.anon.0, ptr %11240, i32 0, i32 3
  %11242 = load ptr, ptr %11241, align 8, !tbaa !10
  %11243 = load i32, ptr %84, align 4, !tbaa !11
  %11244 = zext i32 %11243 to i64
  %11245 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11242, i64 noundef %11244) #10
  call void @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %11238, ptr noundef nonnull align 8 dereferenceable(32) %11245)
  br label %11246

11246:                                            ; preds = %11236
  %11247 = load i32, ptr %84, align 4, !tbaa !11
  %11248 = add i32 %11247, 1
  store i32 %11248, ptr %84, align 4, !tbaa !11
  br label %11160, !llvm.loop !156

11249:                                            ; preds = %11169
  br label %14379

11250:                                            ; preds = %406
  %11251 = load ptr, ptr %15, align 8, !tbaa !5
  %11252 = getelementptr inbounds %union.YYSTYPE, ptr %11251, i64 -2
  %11253 = getelementptr inbounds %struct.anon.0, ptr %11252, i32 0, i32 3
  %11254 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11253, i32 0, i32 5
  %11255 = load ptr, ptr %11254, align 8, !tbaa !10
  %11256 = icmp ne ptr %11255, null
  br i1 %11256, label %11257, label %11282

11257:                                            ; preds = %11250
  %11258 = load ptr, ptr %3, align 8, !tbaa !5
  %11259 = load ptr, ptr %15, align 8, !tbaa !5
  %11260 = getelementptr inbounds %union.YYSTYPE, ptr %11259, i64 -2
  %11261 = getelementptr inbounds %struct.anon.0, ptr %11260, i32 0, i32 3
  %11262 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11261, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11258, ptr noundef nonnull align 8 dereferenceable(24) %11262, i32 noundef 1, i32 noundef 120, ptr noundef @.str.68, ptr noundef @.str.69)
  %11263 = load ptr, ptr %3, align 8, !tbaa !5
  %11264 = load ptr, ptr %15, align 8, !tbaa !5
  %11265 = getelementptr inbounds %union.YYSTYPE, ptr %11264, i64 -2
  %11266 = getelementptr inbounds %struct.anon.0, ptr %11265, i32 0, i32 3
  %11267 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11266, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11263, ptr noundef nonnull align 8 dereferenceable(24) %11267, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.69)
  %11268 = load ptr, ptr %3, align 8, !tbaa !5
  %11269 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %11268)
  br i1 %11269, label %11270, label %11281

11270:                                            ; preds = %11257
  %11271 = load ptr, ptr %3, align 8, !tbaa !5
  %11272 = load ptr, ptr %15, align 8, !tbaa !5
  %11273 = getelementptr inbounds %union.YYSTYPE, ptr %11272, i64 -2
  %11274 = getelementptr inbounds %struct.anon.0, ptr %11273, i32 0, i32 3
  %11275 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11274, i32 0, i32 7
  %11276 = load ptr, ptr %15, align 8, !tbaa !5
  %11277 = getelementptr inbounds %union.YYSTYPE, ptr %11276, i64 -2
  %11278 = getelementptr inbounds %struct.anon.0, ptr %11277, i32 0, i32 3
  %11279 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11278, i32 0, i32 5
  %11280 = load ptr, ptr %11279, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %11271, ptr noundef nonnull align 8 dereferenceable(24) %11275, ptr noundef nonnull align 8 dereferenceable(21) %11280)
  br label %11281

11281:                                            ; preds = %11270, %11257
  br label %11282

11282:                                            ; preds = %11281, %11250
  %11283 = load ptr, ptr %15, align 8, !tbaa !5
  %11284 = getelementptr inbounds %union.YYSTYPE, ptr %11283, i64 -1
  %11285 = getelementptr inbounds %struct.anon.0, ptr %11284, i32 0, i32 3
  %11286 = load ptr, ptr %11285, align 8, !tbaa !10
  %11287 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %11286, ptr %11287, align 8, !tbaa !10
  %11288 = load ptr, ptr %3, align 8, !tbaa !5
  %11289 = load ptr, ptr %15, align 8, !tbaa !5
  %11290 = getelementptr inbounds %union.YYSTYPE, ptr %11289, i64 -2
  %11291 = getelementptr inbounds %struct.anon.0, ptr %11290, i32 0, i32 3
  %11292 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11291, i32 0, i32 7
  %11293 = load ptr, ptr %15, align 8, !tbaa !5
  %11294 = getelementptr inbounds %union.YYSTYPE, ptr %11293, i64 -1
  %11295 = getelementptr inbounds %struct.anon.0, ptr %11294, i32 0, i32 3
  %11296 = load ptr, ptr %11295, align 8, !tbaa !10
  %11297 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11296, i64 noundef 0) #10
  %11298 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11297, i32 0, i32 0
  %11299 = load ptr, ptr %11298, align 8, !tbaa !151
  %11300 = load ptr, ptr %11299, align 8, !tbaa !19
  %11301 = getelementptr inbounds ptr, ptr %11300, i64 6
  %11302 = load ptr, ptr %11301, align 8
  %11303 = call noundef nonnull align 8 dereferenceable(40) ptr %11302(ptr noundef nonnull align 8 dereferenceable(144) %11299)
  %11304 = load ptr, ptr %15, align 8, !tbaa !5
  %11305 = getelementptr inbounds %union.YYSTYPE, ptr %11304, i64 -2
  %11306 = getelementptr inbounds %struct.anon.0, ptr %11305, i32 0, i32 3
  %11307 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11306, i32 0, i32 0
  %11308 = load i32, ptr %11307, align 8, !tbaa !10
  %11309 = call noundef zeroext i1 @_ZN7glslang13TParseContext14voidErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_10TBasicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %11288, ptr noundef nonnull align 8 dereferenceable(24) %11292, ptr noundef nonnull align 8 dereferenceable(40) %11303, i32 noundef %11308)
  %11310 = load ptr, ptr %3, align 8, !tbaa !5
  %11311 = load ptr, ptr %15, align 8, !tbaa !5
  %11312 = getelementptr inbounds %union.YYSTYPE, ptr %11311, i64 -2
  %11313 = getelementptr inbounds %struct.anon.0, ptr %11312, i32 0, i32 3
  %11314 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11313, i32 0, i32 7
  %11315 = load ptr, ptr %15, align 8, !tbaa !5
  %11316 = getelementptr inbounds %union.YYSTYPE, ptr %11315, i64 -2
  %11317 = getelementptr inbounds %struct.anon.0, ptr %11316, i32 0, i32 3
  %11318 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11317, i32 0, i32 0
  %11319 = load i32, ptr %11318, align 8, !tbaa !10
  %11320 = load ptr, ptr %15, align 8, !tbaa !5
  %11321 = getelementptr inbounds %union.YYSTYPE, ptr %11320, i64 -2
  %11322 = getelementptr inbounds %struct.anon.0, ptr %11321, i32 0, i32 3
  %11323 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11322, i32 0, i32 2
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %11310, ptr noundef nonnull align 8 dereferenceable(24) %11314, i32 noundef %11319, ptr noundef nonnull align 8 dereferenceable(72) %11323)
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  store i32 0, ptr %86, align 4, !tbaa !11
  br label %11324

11324:                                            ; preds = %11386, %11282
  %11325 = load i32, ptr %86, align 4, !tbaa !11
  %11326 = zext i32 %11325 to i64
  %11327 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11328 = load ptr, ptr %11327, align 8, !tbaa !10
  %11329 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %11328) #10
  %11330 = icmp ult i64 %11326, %11329
  br i1 %11330, label %11332, label %11331

11331:                                            ; preds = %11324
  store i32 42, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %11393

11332:                                            ; preds = %11324
  call void @llvm.lifetime.start.p0(i64 144, ptr %87) #10
  %11333 = load ptr, ptr %15, align 8, !tbaa !5
  %11334 = getelementptr inbounds %union.YYSTYPE, ptr %11333, i64 -2
  %11335 = getelementptr inbounds %struct.anon.0, ptr %11334, i32 0, i32 3
  call void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %87, ptr noundef nonnull align 8 dereferenceable(232) %11335)
  %11336 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11337 = load ptr, ptr %11336, align 8, !tbaa !10
  %11338 = load i32, ptr %86, align 4, !tbaa !11
  %11339 = zext i32 %11338 to i64
  %11340 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11337, i64 noundef %11339) #10
  %11341 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11340, i32 0, i32 0
  %11342 = load ptr, ptr %11341, align 8, !tbaa !151
  %11343 = load ptr, ptr %11342, align 8, !tbaa !19
  %11344 = getelementptr inbounds ptr, ptr %11343, i64 6
  %11345 = load ptr, ptr %11344, align 8
  %11346 = invoke noundef nonnull align 8 dereferenceable(40) ptr %11345(ptr noundef nonnull align 8 dereferenceable(144) %11342)
          to label %11347 unwind label %11389

11347:                                            ; preds = %11332
  invoke void @_ZN7glslang5TType12setFieldNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144) %87, ptr noundef nonnull align 8 dereferenceable(40) %11346)
          to label %11348 unwind label %11389

11348:                                            ; preds = %11347
  %11349 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11350 = load ptr, ptr %11349, align 8, !tbaa !10
  %11351 = load i32, ptr %86, align 4, !tbaa !11
  %11352 = zext i32 %11351 to i64
  %11353 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11350, i64 noundef %11352) #10
  %11354 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11353, i32 0, i32 0
  %11355 = load ptr, ptr %11354, align 8, !tbaa !151
  %11356 = load ptr, ptr %11355, align 8, !tbaa !19
  %11357 = getelementptr inbounds ptr, ptr %11356, i64 20
  %11358 = load ptr, ptr %11357, align 8
  %11359 = invoke noundef ptr %11358(ptr noundef nonnull align 8 dereferenceable(144) %11355)
          to label %11360 unwind label %11389

11360:                                            ; preds = %11348
  invoke void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %87, ptr noundef %11359)
          to label %11361 unwind label %11389

11361:                                            ; preds = %11360
  %11362 = load ptr, ptr %15, align 8, !tbaa !5
  %11363 = getelementptr inbounds %union.YYSTYPE, ptr %11362, i64 -2
  %11364 = getelementptr inbounds %struct.anon.0, ptr %11363, i32 0, i32 3
  %11365 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11364, i32 0, i32 5
  %11366 = load ptr, ptr %11365, align 8, !tbaa !10
  invoke void @_ZN7glslang5TType19copyArrayInnerSizesEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %87, ptr noundef %11366)
          to label %11367 unwind label %11389

11367:                                            ; preds = %11361
  %11368 = load ptr, ptr %3, align 8, !tbaa !5
  %11369 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11370 = load ptr, ptr %11369, align 8, !tbaa !10
  %11371 = load i32, ptr %86, align 4, !tbaa !11
  %11372 = zext i32 %11371 to i64
  %11373 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11370, i64 noundef %11372) #10
  %11374 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11373, i32 0, i32 1
  %11375 = invoke noundef ptr @_ZN7glslang5TType13getArraySizesEv(ptr noundef nonnull align 8 dereferenceable(144) %87)
          to label %11376 unwind label %11389

11376:                                            ; preds = %11367
  invoke void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %11368, ptr noundef nonnull align 8 dereferenceable(24) %11374, ptr noundef %11375)
          to label %11377 unwind label %11389

11377:                                            ; preds = %11376
  %11378 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11379 = load ptr, ptr %11378, align 8, !tbaa !10
  %11380 = load i32, ptr %86, align 4, !tbaa !11
  %11381 = zext i32 %11380 to i64
  %11382 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11379, i64 noundef %11381) #10
  %11383 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11382, i32 0, i32 0
  %11384 = load ptr, ptr %11383, align 8, !tbaa !151
  invoke void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144) %11384, ptr noundef nonnull align 8 dereferenceable(144) %87)
          to label %11385 unwind label %11389

11385:                                            ; preds = %11377
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %87) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %87) #10
  br label %11386

11386:                                            ; preds = %11385
  %11387 = load i32, ptr %86, align 4, !tbaa !11
  %11388 = add i32 %11387, 1
  store i32 %11388, ptr %86, align 4, !tbaa !11
  br label %11324, !llvm.loop !157

11389:                                            ; preds = %11377, %11376, %11367, %11361, %11360, %11348, %11347, %11332
  %11390 = landingpad { ptr, i32 }
          cleanup
  %11391 = extractvalue { ptr, i32 } %11390, 0
  store ptr %11391, ptr %31, align 8
  %11392 = extractvalue { ptr, i32 } %11390, 1
  store i32 %11392, ptr %32, align 4
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %87) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %87) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %14723

11393:                                            ; preds = %11331
  br label %14379

11394:                                            ; preds = %406
  %11395 = load ptr, ptr %15, align 8, !tbaa !5
  %11396 = getelementptr inbounds %union.YYSTYPE, ptr %11395, i64 -2
  %11397 = getelementptr inbounds %struct.anon.0, ptr %11396, i32 0, i32 3
  %11398 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11397, i32 0, i32 5
  %11399 = load ptr, ptr %11398, align 8, !tbaa !10
  %11400 = icmp ne ptr %11399, null
  br i1 %11400, label %11401, label %11426

11401:                                            ; preds = %11394
  %11402 = load ptr, ptr %3, align 8, !tbaa !5
  %11403 = load ptr, ptr %15, align 8, !tbaa !5
  %11404 = getelementptr inbounds %union.YYSTYPE, ptr %11403, i64 -2
  %11405 = getelementptr inbounds %struct.anon.0, ptr %11404, i32 0, i32 3
  %11406 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11405, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11402, ptr noundef nonnull align 8 dereferenceable(24) %11406, i32 noundef 1, i32 noundef 120, ptr noundef @.str.68, ptr noundef @.str.69)
  %11407 = load ptr, ptr %3, align 8, !tbaa !5
  %11408 = load ptr, ptr %15, align 8, !tbaa !5
  %11409 = getelementptr inbounds %union.YYSTYPE, ptr %11408, i64 -2
  %11410 = getelementptr inbounds %struct.anon.0, ptr %11409, i32 0, i32 3
  %11411 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11410, i32 0, i32 7
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11407, ptr noundef nonnull align 8 dereferenceable(24) %11411, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef @.str.69)
  %11412 = load ptr, ptr %3, align 8, !tbaa !5
  %11413 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %11412)
  br i1 %11413, label %11414, label %11425

11414:                                            ; preds = %11401
  %11415 = load ptr, ptr %3, align 8, !tbaa !5
  %11416 = load ptr, ptr %15, align 8, !tbaa !5
  %11417 = getelementptr inbounds %union.YYSTYPE, ptr %11416, i64 -2
  %11418 = getelementptr inbounds %struct.anon.0, ptr %11417, i32 0, i32 3
  %11419 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11418, i32 0, i32 7
  %11420 = load ptr, ptr %15, align 8, !tbaa !5
  %11421 = getelementptr inbounds %union.YYSTYPE, ptr %11420, i64 -2
  %11422 = getelementptr inbounds %struct.anon.0, ptr %11421, i32 0, i32 3
  %11423 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11422, i32 0, i32 5
  %11424 = load ptr, ptr %11423, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %11415, ptr noundef nonnull align 8 dereferenceable(24) %11419, ptr noundef nonnull align 8 dereferenceable(21) %11424)
  br label %11425

11425:                                            ; preds = %11414, %11401
  br label %11426

11426:                                            ; preds = %11425, %11394
  %11427 = load ptr, ptr %15, align 8, !tbaa !5
  %11428 = getelementptr inbounds %union.YYSTYPE, ptr %11427, i64 -1
  %11429 = getelementptr inbounds %struct.anon.0, ptr %11428, i32 0, i32 3
  %11430 = load ptr, ptr %11429, align 8, !tbaa !10
  %11431 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %11430, ptr %11431, align 8, !tbaa !10
  %11432 = load ptr, ptr %3, align 8, !tbaa !5
  %11433 = load ptr, ptr %15, align 8, !tbaa !5
  %11434 = getelementptr inbounds %union.YYSTYPE, ptr %11433, i64 -3
  %11435 = getelementptr inbounds %struct.anon.0, ptr %11434, i32 0, i32 3
  call void @_ZN7glslang13TParseContext20memberQualifierCheckERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %11432, ptr noundef nonnull align 8 dereferenceable(232) %11435)
  %11436 = load ptr, ptr %3, align 8, !tbaa !5
  %11437 = load ptr, ptr %15, align 8, !tbaa !5
  %11438 = getelementptr inbounds %union.YYSTYPE, ptr %11437, i64 -2
  %11439 = getelementptr inbounds %struct.anon.0, ptr %11438, i32 0, i32 3
  %11440 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11439, i32 0, i32 7
  %11441 = load ptr, ptr %15, align 8, !tbaa !5
  %11442 = getelementptr inbounds %union.YYSTYPE, ptr %11441, i64 -1
  %11443 = getelementptr inbounds %struct.anon.0, ptr %11442, i32 0, i32 3
  %11444 = load ptr, ptr %11443, align 8, !tbaa !10
  %11445 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11444, i64 noundef 0) #10
  %11446 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11445, i32 0, i32 0
  %11447 = load ptr, ptr %11446, align 8, !tbaa !151
  %11448 = load ptr, ptr %11447, align 8, !tbaa !19
  %11449 = getelementptr inbounds ptr, ptr %11448, i64 6
  %11450 = load ptr, ptr %11449, align 8
  %11451 = call noundef nonnull align 8 dereferenceable(40) ptr %11450(ptr noundef nonnull align 8 dereferenceable(144) %11447)
  %11452 = load ptr, ptr %15, align 8, !tbaa !5
  %11453 = getelementptr inbounds %union.YYSTYPE, ptr %11452, i64 -2
  %11454 = getelementptr inbounds %struct.anon.0, ptr %11453, i32 0, i32 3
  %11455 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11454, i32 0, i32 0
  %11456 = load i32, ptr %11455, align 8, !tbaa !10
  %11457 = call noundef zeroext i1 @_ZN7glslang13TParseContext14voidErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_10TBasicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %11436, ptr noundef nonnull align 8 dereferenceable(24) %11440, ptr noundef nonnull align 8 dereferenceable(40) %11451, i32 noundef %11456)
  %11458 = load ptr, ptr %3, align 8, !tbaa !5
  %11459 = load ptr, ptr %15, align 8, !tbaa !5
  %11460 = getelementptr inbounds %union.YYSTYPE, ptr %11459, i64 -2
  %11461 = getelementptr inbounds %struct.anon.0, ptr %11460, i32 0, i32 3
  %11462 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11461, i32 0, i32 7
  %11463 = load ptr, ptr %15, align 8, !tbaa !5
  %11464 = getelementptr inbounds %union.YYSTYPE, ptr %11463, i64 -2
  %11465 = getelementptr inbounds %struct.anon.0, ptr %11464, i32 0, i32 3
  %11466 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11465, i32 0, i32 2
  %11467 = load ptr, ptr %15, align 8, !tbaa !5
  %11468 = getelementptr inbounds %union.YYSTYPE, ptr %11467, i64 -3
  %11469 = getelementptr inbounds %struct.anon.0, ptr %11468, i32 0, i32 3
  %11470 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11469, i32 0, i32 2
  call void @_ZN7glslang13TParseContext15mergeQualifiersERKNS_10TSourceLocERNS_10TQualifierERKS4_b(ptr noundef nonnull align 8 dereferenceable(24912) %11458, ptr noundef nonnull align 8 dereferenceable(24) %11462, ptr noundef nonnull align 8 dereferenceable(72) %11466, ptr noundef nonnull align 8 dereferenceable(72) %11470, i1 noundef zeroext true)
  %11471 = load ptr, ptr %3, align 8, !tbaa !5
  %11472 = load ptr, ptr %15, align 8, !tbaa !5
  %11473 = getelementptr inbounds %union.YYSTYPE, ptr %11472, i64 -2
  %11474 = getelementptr inbounds %struct.anon.0, ptr %11473, i32 0, i32 3
  %11475 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11474, i32 0, i32 7
  %11476 = load ptr, ptr %15, align 8, !tbaa !5
  %11477 = getelementptr inbounds %union.YYSTYPE, ptr %11476, i64 -2
  %11478 = getelementptr inbounds %struct.anon.0, ptr %11477, i32 0, i32 3
  %11479 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11478, i32 0, i32 0
  %11480 = load i32, ptr %11479, align 8, !tbaa !10
  %11481 = load ptr, ptr %15, align 8, !tbaa !5
  %11482 = getelementptr inbounds %union.YYSTYPE, ptr %11481, i64 -2
  %11483 = getelementptr inbounds %struct.anon.0, ptr %11482, i32 0, i32 3
  %11484 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11483, i32 0, i32 2
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %11471, ptr noundef nonnull align 8 dereferenceable(24) %11475, i32 noundef %11480, ptr noundef nonnull align 8 dereferenceable(72) %11484)
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  store i32 0, ptr %88, align 4, !tbaa !11
  br label %11485

11485:                                            ; preds = %11547, %11426
  %11486 = load i32, ptr %88, align 4, !tbaa !11
  %11487 = zext i32 %11486 to i64
  %11488 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11489 = load ptr, ptr %11488, align 8, !tbaa !10
  %11490 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %11489) #10
  %11491 = icmp ult i64 %11487, %11490
  br i1 %11491, label %11493, label %11492

11492:                                            ; preds = %11485
  store i32 45, ptr %29, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %11554

11493:                                            ; preds = %11485
  call void @llvm.lifetime.start.p0(i64 144, ptr %89) #10
  %11494 = load ptr, ptr %15, align 8, !tbaa !5
  %11495 = getelementptr inbounds %union.YYSTYPE, ptr %11494, i64 -2
  %11496 = getelementptr inbounds %struct.anon.0, ptr %11495, i32 0, i32 3
  call void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %89, ptr noundef nonnull align 8 dereferenceable(232) %11496)
  %11497 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11498 = load ptr, ptr %11497, align 8, !tbaa !10
  %11499 = load i32, ptr %88, align 4, !tbaa !11
  %11500 = zext i32 %11499 to i64
  %11501 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11498, i64 noundef %11500) #10
  %11502 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11501, i32 0, i32 0
  %11503 = load ptr, ptr %11502, align 8, !tbaa !151
  %11504 = load ptr, ptr %11503, align 8, !tbaa !19
  %11505 = getelementptr inbounds ptr, ptr %11504, i64 6
  %11506 = load ptr, ptr %11505, align 8
  %11507 = invoke noundef nonnull align 8 dereferenceable(40) ptr %11506(ptr noundef nonnull align 8 dereferenceable(144) %11503)
          to label %11508 unwind label %11550

11508:                                            ; preds = %11493
  invoke void @_ZN7glslang5TType12setFieldNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144) %89, ptr noundef nonnull align 8 dereferenceable(40) %11507)
          to label %11509 unwind label %11550

11509:                                            ; preds = %11508
  %11510 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11511 = load ptr, ptr %11510, align 8, !tbaa !10
  %11512 = load i32, ptr %88, align 4, !tbaa !11
  %11513 = zext i32 %11512 to i64
  %11514 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11511, i64 noundef %11513) #10
  %11515 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11514, i32 0, i32 0
  %11516 = load ptr, ptr %11515, align 8, !tbaa !151
  %11517 = load ptr, ptr %11516, align 8, !tbaa !19
  %11518 = getelementptr inbounds ptr, ptr %11517, i64 20
  %11519 = load ptr, ptr %11518, align 8
  %11520 = invoke noundef ptr %11519(ptr noundef nonnull align 8 dereferenceable(144) %11516)
          to label %11521 unwind label %11550

11521:                                            ; preds = %11509
  invoke void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %89, ptr noundef %11520)
          to label %11522 unwind label %11550

11522:                                            ; preds = %11521
  %11523 = load ptr, ptr %15, align 8, !tbaa !5
  %11524 = getelementptr inbounds %union.YYSTYPE, ptr %11523, i64 -2
  %11525 = getelementptr inbounds %struct.anon.0, ptr %11524, i32 0, i32 3
  %11526 = getelementptr inbounds %"class.glslang::TPublicType", ptr %11525, i32 0, i32 5
  %11527 = load ptr, ptr %11526, align 8, !tbaa !10
  invoke void @_ZN7glslang5TType19copyArrayInnerSizesEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %89, ptr noundef %11527)
          to label %11528 unwind label %11550

11528:                                            ; preds = %11522
  %11529 = load ptr, ptr %3, align 8, !tbaa !5
  %11530 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11531 = load ptr, ptr %11530, align 8, !tbaa !10
  %11532 = load i32, ptr %88, align 4, !tbaa !11
  %11533 = zext i32 %11532 to i64
  %11534 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11531, i64 noundef %11533) #10
  %11535 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11534, i32 0, i32 1
  %11536 = invoke noundef ptr @_ZN7glslang5TType13getArraySizesEv(ptr noundef nonnull align 8 dereferenceable(144) %89)
          to label %11537 unwind label %11550

11537:                                            ; preds = %11528
  invoke void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %11529, ptr noundef nonnull align 8 dereferenceable(24) %11535, ptr noundef %11536)
          to label %11538 unwind label %11550

11538:                                            ; preds = %11537
  %11539 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11540 = load ptr, ptr %11539, align 8, !tbaa !10
  %11541 = load i32, ptr %88, align 4, !tbaa !11
  %11542 = zext i32 %11541 to i64
  %11543 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %11540, i64 noundef %11542) #10
  %11544 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11543, i32 0, i32 0
  %11545 = load ptr, ptr %11544, align 8, !tbaa !151
  invoke void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144) %11545, ptr noundef nonnull align 8 dereferenceable(144) %89)
          to label %11546 unwind label %11550

11546:                                            ; preds = %11538
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %89) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %89) #10
  br label %11547

11547:                                            ; preds = %11546
  %11548 = load i32, ptr %88, align 4, !tbaa !11
  %11549 = add i32 %11548, 1
  store i32 %11549, ptr %88, align 4, !tbaa !11
  br label %11485, !llvm.loop !158

11550:                                            ; preds = %11538, %11537, %11528, %11522, %11521, %11509, %11508, %11493
  %11551 = landingpad { ptr, i32 }
          cleanup
  %11552 = extractvalue { ptr, i32 } %11551, 0
  store ptr %11552, ptr %31, align 8
  %11553 = extractvalue { ptr, i32 } %11551, 1
  store i32 %11553, ptr %32, align 4
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %89) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %89) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %14723

11554:                                            ; preds = %11492
  br label %14379

11555:                                            ; preds = %406
  %11556 = call noundef ptr @_ZN7glslang7TVectorINS_8TTypeLocEEnwEm(i64 noundef 32)
  invoke void @_ZN7glslang7TVectorINS_8TTypeLocEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11556)
          to label %11557 unwind label %11564

11557:                                            ; preds = %11555
  %11558 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  store ptr %11556, ptr %11558, align 8, !tbaa !10
  %11559 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11560 = load ptr, ptr %11559, align 8, !tbaa !10
  %11561 = load ptr, ptr %15, align 8, !tbaa !5
  %11562 = getelementptr inbounds %union.YYSTYPE, ptr %11561, i64 0
  %11563 = getelementptr inbounds %struct.anon.0, ptr %11562, i32 0, i32 3
  call void @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %11560, ptr noundef nonnull align 8 dereferenceable(32) %11563)
  br label %14379

11564:                                            ; preds = %11555
  %11565 = landingpad { ptr, i32 }
          cleanup
  %11566 = extractvalue { ptr, i32 } %11565, 0
  store ptr %11566, ptr %31, align 8
  %11567 = extractvalue { ptr, i32 } %11565, 1
  store i32 %11567, ptr %32, align 4
  call void @_ZN7glslang7TVectorINS_8TTypeLocEEdlEPv(ptr noundef %11556) #10
  br label %14723

11568:                                            ; preds = %406
  %11569 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11570 = load ptr, ptr %11569, align 8, !tbaa !10
  %11571 = load ptr, ptr %15, align 8, !tbaa !5
  %11572 = getelementptr inbounds %union.YYSTYPE, ptr %11571, i64 0
  %11573 = getelementptr inbounds %struct.anon.0, ptr %11572, i32 0, i32 3
  call void @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %11570, ptr noundef nonnull align 8 dereferenceable(32) %11573)
  br label %14379

11574:                                            ; preds = %406
  %11575 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %11575, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %11576 unwind label %11594

11576:                                            ; preds = %11574
  %11577 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11578 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11577, i32 0, i32 0
  store ptr %11575, ptr %11578, align 8, !tbaa !10
  %11579 = load ptr, ptr %15, align 8, !tbaa !5
  %11580 = getelementptr inbounds %union.YYSTYPE, ptr %11579, i64 0
  %11581 = getelementptr inbounds %struct.anon, ptr %11580, i32 0, i32 0
  %11582 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11583 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11582, i32 0, i32 1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11583, ptr align 8 %11581, i64 24, i1 false), !tbaa.struct !98
  %11584 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11585 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11584, i32 0, i32 0
  %11586 = load ptr, ptr %11585, align 8, !tbaa !10
  %11587 = load ptr, ptr %15, align 8, !tbaa !5
  %11588 = getelementptr inbounds %union.YYSTYPE, ptr %11587, i64 0
  %11589 = getelementptr inbounds %struct.anon, ptr %11588, i32 0, i32 1
  %11590 = load ptr, ptr %11589, align 8, !tbaa !10
  %11591 = load ptr, ptr %11586, align 8, !tbaa !19
  %11592 = getelementptr inbounds ptr, ptr %11591, i64 4
  %11593 = load ptr, ptr %11592, align 8
  call void %11593(ptr noundef nonnull align 8 dereferenceable(144) %11586, ptr noundef nonnull align 8 dereferenceable(40) %11590)
  br label %14379

11594:                                            ; preds = %11574
  %11595 = landingpad { ptr, i32 }
          cleanup
  %11596 = extractvalue { ptr, i32 } %11595, 0
  store ptr %11596, ptr %31, align 8
  %11597 = extractvalue { ptr, i32 } %11595, 1
  store i32 %11597, ptr %32, align 4
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %11575) #10
  br label %14723

11598:                                            ; preds = %406
  %11599 = load ptr, ptr %3, align 8, !tbaa !5
  %11600 = load ptr, ptr %15, align 8, !tbaa !5
  %11601 = getelementptr inbounds %union.YYSTYPE, ptr %11600, i64 -1
  %11602 = getelementptr inbounds %struct.anon, ptr %11601, i32 0, i32 0
  %11603 = load ptr, ptr %15, align 8, !tbaa !5
  %11604 = getelementptr inbounds %union.YYSTYPE, ptr %11603, i64 0
  %11605 = getelementptr inbounds %struct.anon.0, ptr %11604, i32 0, i32 3
  %11606 = load ptr, ptr %11605, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %11599, ptr noundef nonnull align 8 dereferenceable(24) %11602, ptr noundef %11606)
  %11607 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %11607, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %11608 unwind label %11633

11608:                                            ; preds = %11598
  %11609 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11610 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11609, i32 0, i32 0
  store ptr %11607, ptr %11610, align 8, !tbaa !10
  %11611 = load ptr, ptr %15, align 8, !tbaa !5
  %11612 = getelementptr inbounds %union.YYSTYPE, ptr %11611, i64 -1
  %11613 = getelementptr inbounds %struct.anon, ptr %11612, i32 0, i32 0
  %11614 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11615 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11614, i32 0, i32 1
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11615, ptr align 8 %11613, i64 24, i1 false), !tbaa.struct !98
  %11616 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11617 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11616, i32 0, i32 0
  %11618 = load ptr, ptr %11617, align 8, !tbaa !10
  %11619 = load ptr, ptr %15, align 8, !tbaa !5
  %11620 = getelementptr inbounds %union.YYSTYPE, ptr %11619, i64 -1
  %11621 = getelementptr inbounds %struct.anon, ptr %11620, i32 0, i32 1
  %11622 = load ptr, ptr %11621, align 8, !tbaa !10
  %11623 = load ptr, ptr %11618, align 8, !tbaa !19
  %11624 = getelementptr inbounds ptr, ptr %11623, i64 4
  %11625 = load ptr, ptr %11624, align 8
  call void %11625(ptr noundef nonnull align 8 dereferenceable(144) %11618, ptr noundef nonnull align 8 dereferenceable(40) %11622)
  %11626 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %11627 = getelementptr inbounds %"struct.glslang::TTypeLoc", ptr %11626, i32 0, i32 0
  %11628 = load ptr, ptr %11627, align 8, !tbaa !10
  %11629 = load ptr, ptr %15, align 8, !tbaa !5
  %11630 = getelementptr inbounds %union.YYSTYPE, ptr %11629, i64 0
  %11631 = getelementptr inbounds %struct.anon.0, ptr %11630, i32 0, i32 3
  %11632 = load ptr, ptr %11631, align 8, !tbaa !10
  call void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %11628, ptr noundef %11632)
  br label %14379

11633:                                            ; preds = %11598
  %11634 = landingpad { ptr, i32 }
          cleanup
  %11635 = extractvalue { ptr, i32 } %11634, 0
  store ptr %11635, ptr %31, align 8
  %11636 = extractvalue { ptr, i32 } %11634, 1
  store i32 %11636, ptr %32, align 4
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %11607) #10
  br label %14723

11637:                                            ; preds = %406
  %11638 = load ptr, ptr %15, align 8, !tbaa !5
  %11639 = getelementptr inbounds %union.YYSTYPE, ptr %11638, i64 0
  %11640 = getelementptr inbounds %struct.anon.0, ptr %11639, i32 0, i32 2
  %11641 = load ptr, ptr %11640, align 8, !tbaa !10
  %11642 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11641, ptr %11642, align 8, !tbaa !10
  br label %14379

11643:                                            ; preds = %406
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #10
  store ptr @.str.173, ptr %90, align 8, !tbaa !5
  %11644 = load ptr, ptr %3, align 8, !tbaa !5
  %11645 = load ptr, ptr %15, align 8, !tbaa !5
  %11646 = getelementptr inbounds %union.YYSTYPE, ptr %11645, i64 -2
  %11647 = getelementptr inbounds %struct.anon, ptr %11646, i32 0, i32 0
  %11648 = load ptr, ptr %90, align 8, !tbaa !5
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %11644, ptr noundef nonnull align 8 dereferenceable(24) %11647, i32 noundef -9, ptr noundef %11648)
  %11649 = load ptr, ptr %3, align 8, !tbaa !5
  %11650 = load ptr, ptr %15, align 8, !tbaa !5
  %11651 = getelementptr inbounds %union.YYSTYPE, ptr %11650, i64 -2
  %11652 = getelementptr inbounds %struct.anon, ptr %11651, i32 0, i32 0
  %11653 = load ptr, ptr %90, align 8, !tbaa !5
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11649, ptr noundef nonnull align 8 dereferenceable(24) %11652, i32 noundef -9, i32 noundef 420, ptr noundef @.str.174, ptr noundef %11653)
  %11654 = load ptr, ptr %15, align 8, !tbaa !5
  %11655 = getelementptr inbounds %union.YYSTYPE, ptr %11654, i64 -1
  %11656 = getelementptr inbounds %struct.anon.0, ptr %11655, i32 0, i32 2
  %11657 = load ptr, ptr %11656, align 8, !tbaa !10
  %11658 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11657, ptr %11658, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #10
  br label %14379

11659:                                            ; preds = %406
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #10
  store ptr @.str.173, ptr %91, align 8, !tbaa !5
  %11660 = load ptr, ptr %3, align 8, !tbaa !5
  %11661 = load ptr, ptr %15, align 8, !tbaa !5
  %11662 = getelementptr inbounds %union.YYSTYPE, ptr %11661, i64 -3
  %11663 = getelementptr inbounds %struct.anon, ptr %11662, i32 0, i32 0
  %11664 = load ptr, ptr %91, align 8, !tbaa !5
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %11660, ptr noundef nonnull align 8 dereferenceable(24) %11663, i32 noundef -9, ptr noundef %11664)
  %11665 = load ptr, ptr %3, align 8, !tbaa !5
  %11666 = load ptr, ptr %15, align 8, !tbaa !5
  %11667 = getelementptr inbounds %union.YYSTYPE, ptr %11666, i64 -3
  %11668 = getelementptr inbounds %struct.anon, ptr %11667, i32 0, i32 0
  %11669 = load ptr, ptr %91, align 8, !tbaa !5
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11665, ptr noundef nonnull align 8 dereferenceable(24) %11668, i32 noundef -9, i32 noundef 420, ptr noundef @.str.174, ptr noundef %11669)
  %11670 = load ptr, ptr %15, align 8, !tbaa !5
  %11671 = getelementptr inbounds %union.YYSTYPE, ptr %11670, i64 -2
  %11672 = getelementptr inbounds %struct.anon.0, ptr %11671, i32 0, i32 2
  %11673 = load ptr, ptr %11672, align 8, !tbaa !10
  %11674 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11673, ptr %11674, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #10
  br label %14379

11675:                                            ; preds = %406
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #10
  store ptr @.str.175, ptr %92, align 8, !tbaa !5
  %11676 = load ptr, ptr %3, align 8, !tbaa !5
  %11677 = load ptr, ptr %15, align 8, !tbaa !5
  %11678 = getelementptr inbounds %union.YYSTYPE, ptr %11677, i64 -1
  %11679 = getelementptr inbounds %struct.anon, ptr %11678, i32 0, i32 0
  %11680 = load ptr, ptr %92, align 8, !tbaa !5
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11676, ptr noundef nonnull align 8 dereferenceable(24) %11679, i32 noundef 8, i32 noundef 0, ptr noundef @.str.176, ptr noundef %11680)
  %11681 = load ptr, ptr %3, align 8, !tbaa !5
  %11682 = load ptr, ptr %15, align 8, !tbaa !5
  %11683 = getelementptr inbounds %union.YYSTYPE, ptr %11682, i64 -1
  %11684 = getelementptr inbounds %struct.anon, ptr %11683, i32 0, i32 0
  %11685 = load ptr, ptr %92, align 8, !tbaa !5
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %11681, ptr noundef nonnull align 8 dereferenceable(24) %11684, i32 noundef -9, i32 noundef 0, ptr noundef @.str.176, ptr noundef %11685)
  %11686 = load ptr, ptr %3, align 8, !tbaa !5
  %11687 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %11686, i32 0, i32 7
  %11688 = load ptr, ptr %11687, align 8, !tbaa !21
  %11689 = load ptr, ptr %15, align 8, !tbaa !5
  %11690 = getelementptr inbounds %union.YYSTYPE, ptr %11689, i64 -1
  %11691 = getelementptr inbounds %struct.anon, ptr %11690, i32 0, i32 0
  %11692 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %11688, ptr noundef nonnull align 8 dereferenceable(24) %11691)
  %11693 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11692, ptr %11693, align 8, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #10
  br label %14379

11694:                                            ; preds = %406
  %11695 = load ptr, ptr %3, align 8, !tbaa !5
  %11696 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %11695, i32 0, i32 7
  %11697 = load ptr, ptr %11696, align 8, !tbaa !21
  %11698 = load ptr, ptr %15, align 8, !tbaa !5
  %11699 = getelementptr inbounds %union.YYSTYPE, ptr %11698, i64 0
  %11700 = getelementptr inbounds %struct.anon.0, ptr %11699, i32 0, i32 2
  %11701 = load ptr, ptr %11700, align 8, !tbaa !10
  %11702 = load ptr, ptr %15, align 8, !tbaa !5
  %11703 = getelementptr inbounds %union.YYSTYPE, ptr %11702, i64 0
  %11704 = getelementptr inbounds %struct.anon.0, ptr %11703, i32 0, i32 2
  %11705 = load ptr, ptr %11704, align 8, !tbaa !10
  %11706 = load ptr, ptr %11705, align 8, !tbaa !19
  %11707 = getelementptr inbounds ptr, ptr %11706, i64 0
  %11708 = load ptr, ptr %11707, align 8
  %11709 = call noundef nonnull align 8 dereferenceable(24) ptr %11708(ptr noundef nonnull align 8 dereferenceable(32) %11705)
  %11710 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %11697, ptr noundef null, ptr noundef %11701, ptr noundef nonnull align 8 dereferenceable(24) %11709)
  %11711 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11710, ptr %11711, align 8, !tbaa !10
  br label %14379

11712:                                            ; preds = %406
  %11713 = load ptr, ptr %3, align 8, !tbaa !5
  %11714 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %11713, i32 0, i32 7
  %11715 = load ptr, ptr %11714, align 8, !tbaa !21
  %11716 = load ptr, ptr %15, align 8, !tbaa !5
  %11717 = getelementptr inbounds %union.YYSTYPE, ptr %11716, i64 -2
  %11718 = getelementptr inbounds %struct.anon.0, ptr %11717, i32 0, i32 2
  %11719 = load ptr, ptr %11718, align 8, !tbaa !10
  %11720 = load ptr, ptr %15, align 8, !tbaa !5
  %11721 = getelementptr inbounds %union.YYSTYPE, ptr %11720, i64 0
  %11722 = getelementptr inbounds %struct.anon.0, ptr %11721, i32 0, i32 2
  %11723 = load ptr, ptr %11722, align 8, !tbaa !10
  %11724 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %11715, ptr noundef %11719, ptr noundef %11723)
  %11725 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11724, ptr %11725, align 8, !tbaa !10
  br label %14379

11726:                                            ; preds = %406
  %11727 = load ptr, ptr %15, align 8, !tbaa !5
  %11728 = getelementptr inbounds %union.YYSTYPE, ptr %11727, i64 0
  %11729 = getelementptr inbounds %struct.anon.0, ptr %11728, i32 0, i32 2
  %11730 = load ptr, ptr %11729, align 8, !tbaa !10
  %11731 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11730, ptr %11731, align 8, !tbaa !10
  br label %14379

11732:                                            ; preds = %406
  %11733 = load ptr, ptr %15, align 8, !tbaa !5
  %11734 = getelementptr inbounds %union.YYSTYPE, ptr %11733, i64 0
  %11735 = getelementptr inbounds %struct.anon.0, ptr %11734, i32 0, i32 2
  %11736 = load ptr, ptr %11735, align 8, !tbaa !10
  %11737 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11736, ptr %11737, align 8, !tbaa !10
  br label %14379

11738:                                            ; preds = %406
  %11739 = load ptr, ptr %15, align 8, !tbaa !5
  %11740 = getelementptr inbounds %union.YYSTYPE, ptr %11739, i64 0
  %11741 = getelementptr inbounds %struct.anon.0, ptr %11740, i32 0, i32 2
  %11742 = load ptr, ptr %11741, align 8, !tbaa !10
  %11743 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11742, ptr %11743, align 8, !tbaa !10
  br label %14379

11744:                                            ; preds = %406
  %11745 = load ptr, ptr %15, align 8, !tbaa !5
  %11746 = getelementptr inbounds %union.YYSTYPE, ptr %11745, i64 0
  %11747 = getelementptr inbounds %struct.anon.0, ptr %11746, i32 0, i32 2
  %11748 = load ptr, ptr %11747, align 8, !tbaa !10
  %11749 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11748, ptr %11749, align 8, !tbaa !10
  br label %14379

11750:                                            ; preds = %406
  %11751 = load ptr, ptr %15, align 8, !tbaa !5
  %11752 = getelementptr inbounds %union.YYSTYPE, ptr %11751, i64 0
  %11753 = getelementptr inbounds %struct.anon.0, ptr %11752, i32 0, i32 2
  %11754 = load ptr, ptr %11753, align 8, !tbaa !10
  %11755 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11754, ptr %11755, align 8, !tbaa !10
  br label %14379

11756:                                            ; preds = %406
  %11757 = load ptr, ptr %15, align 8, !tbaa !5
  %11758 = getelementptr inbounds %union.YYSTYPE, ptr %11757, i64 0
  %11759 = getelementptr inbounds %struct.anon.0, ptr %11758, i32 0, i32 2
  %11760 = load ptr, ptr %11759, align 8, !tbaa !10
  %11761 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11760, ptr %11761, align 8, !tbaa !10
  br label %14379

11762:                                            ; preds = %406
  %11763 = load ptr, ptr %15, align 8, !tbaa !5
  %11764 = getelementptr inbounds %union.YYSTYPE, ptr %11763, i64 0
  %11765 = getelementptr inbounds %struct.anon.0, ptr %11764, i32 0, i32 2
  %11766 = load ptr, ptr %11765, align 8, !tbaa !10
  %11767 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11766, ptr %11767, align 8, !tbaa !10
  br label %14379

11768:                                            ; preds = %406
  %11769 = load ptr, ptr %15, align 8, !tbaa !5
  %11770 = getelementptr inbounds %union.YYSTYPE, ptr %11769, i64 0
  %11771 = getelementptr inbounds %struct.anon.0, ptr %11770, i32 0, i32 2
  %11772 = load ptr, ptr %11771, align 8, !tbaa !10
  %11773 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11772, ptr %11773, align 8, !tbaa !10
  br label %14379

11774:                                            ; preds = %406
  %11775 = load ptr, ptr %15, align 8, !tbaa !5
  %11776 = getelementptr inbounds %union.YYSTYPE, ptr %11775, i64 0
  %11777 = getelementptr inbounds %struct.anon.0, ptr %11776, i32 0, i32 2
  %11778 = load ptr, ptr %11777, align 8, !tbaa !10
  %11779 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11778, ptr %11779, align 8, !tbaa !10
  br label %14379

11780:                                            ; preds = %406
  %11781 = load ptr, ptr %15, align 8, !tbaa !5
  %11782 = getelementptr inbounds %union.YYSTYPE, ptr %11781, i64 0
  %11783 = getelementptr inbounds %struct.anon.0, ptr %11782, i32 0, i32 2
  %11784 = load ptr, ptr %11783, align 8, !tbaa !10
  %11785 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11784, ptr %11785, align 8, !tbaa !10
  br label %14379

11786:                                            ; preds = %406
  %11787 = load ptr, ptr %15, align 8, !tbaa !5
  %11788 = getelementptr inbounds %union.YYSTYPE, ptr %11787, i64 0
  %11789 = getelementptr inbounds %struct.anon.0, ptr %11788, i32 0, i32 2
  %11790 = load ptr, ptr %11789, align 8, !tbaa !10
  %11791 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11790, ptr %11791, align 8, !tbaa !10
  br label %14379

11792:                                            ; preds = %406
  %11793 = load ptr, ptr %3, align 8, !tbaa !5
  %11794 = load ptr, ptr %15, align 8, !tbaa !5
  %11795 = getelementptr inbounds %union.YYSTYPE, ptr %11794, i64 -1
  %11796 = getelementptr inbounds %struct.anon, ptr %11795, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %11793, ptr noundef nonnull align 8 dereferenceable(24) %11796, i32 noundef 4, ptr noundef @.str.177)
  %11797 = load ptr, ptr %3, align 8, !tbaa !5
  %11798 = load ptr, ptr %15, align 8, !tbaa !5
  %11799 = getelementptr inbounds %union.YYSTYPE, ptr %11798, i64 -1
  %11800 = getelementptr inbounds %struct.anon, ptr %11799, i32 0, i32 0
  %11801 = load ptr, ptr %11797, align 8, !tbaa !19
  %11802 = getelementptr inbounds ptr, ptr %11801, i64 5
  %11803 = load ptr, ptr %11802, align 8
  call void %11803(ptr noundef nonnull align 8 dereferenceable(192) %11797, ptr noundef nonnull align 8 dereferenceable(24) %11800, i32 noundef 1, ptr noundef @_ZN7glslangL36E_GL_EXT_demote_to_helper_invocationE, ptr noundef @.str.177)
  %11804 = load ptr, ptr %3, align 8, !tbaa !5
  %11805 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %11804, i32 0, i32 7
  %11806 = load ptr, ptr %11805, align 8, !tbaa !21
  %11807 = load ptr, ptr %15, align 8, !tbaa !5
  %11808 = getelementptr inbounds %union.YYSTYPE, ptr %11807, i64 -1
  %11809 = getelementptr inbounds %struct.anon, ptr %11808, i32 0, i32 0
  %11810 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %11806, i32 noundef 457, ptr noundef nonnull align 8 dereferenceable(24) %11809)
  %11811 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11810, ptr %11811, align 8, !tbaa !10
  br label %14379

11812:                                            ; preds = %406
  %11813 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %11813, align 8, !tbaa !10
  br label %14379

11814:                                            ; preds = %406
  %11815 = load ptr, ptr %3, align 8, !tbaa !5
  %11816 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11815, i32 0, i32 2
  %11817 = load ptr, ptr %11816, align 8, !tbaa !45
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %11817)
  %11818 = load ptr, ptr %3, align 8, !tbaa !5
  %11819 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11818, i32 0, i32 3
  %11820 = load i32, ptr %11819, align 8, !tbaa !159
  %11821 = add nsw i32 %11820, 1
  store i32 %11821, ptr %11819, align 8, !tbaa !159
  br label %14379

11822:                                            ; preds = %406
  %11823 = load ptr, ptr %3, align 8, !tbaa !5
  %11824 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11823, i32 0, i32 2
  %11825 = load ptr, ptr %11824, align 8, !tbaa !45
  %11826 = load ptr, ptr %3, align 8, !tbaa !5
  %11827 = getelementptr inbounds %"class.glslang::TParseContext", ptr %11826, i32 0, i32 4
  %11828 = getelementptr inbounds [22 x i32], ptr %11827, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %11825, ptr noundef %11828)
  %11829 = load ptr, ptr %3, align 8, !tbaa !5
  %11830 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11829, i32 0, i32 3
  %11831 = load i32, ptr %11830, align 8, !tbaa !159
  %11832 = add nsw i32 %11831, -1
  store i32 %11832, ptr %11830, align 8, !tbaa !159
  br label %14379

11833:                                            ; preds = %406
  %11834 = load ptr, ptr %15, align 8, !tbaa !5
  %11835 = getelementptr inbounds %union.YYSTYPE, ptr %11834, i64 -2
  %11836 = getelementptr inbounds %struct.anon.0, ptr %11835, i32 0, i32 2
  %11837 = load ptr, ptr %11836, align 8, !tbaa !10
  %11838 = icmp ne ptr %11837, null
  br i1 %11838, label %11839, label %11861

11839:                                            ; preds = %11833
  %11840 = load ptr, ptr %15, align 8, !tbaa !5
  %11841 = getelementptr inbounds %union.YYSTYPE, ptr %11840, i64 -2
  %11842 = getelementptr inbounds %struct.anon.0, ptr %11841, i32 0, i32 2
  %11843 = load ptr, ptr %11842, align 8, !tbaa !10
  %11844 = load ptr, ptr %11843, align 8, !tbaa !19
  %11845 = getelementptr inbounds ptr, ptr %11844, i64 6
  %11846 = load ptr, ptr %11845, align 8
  %11847 = call noundef ptr %11846(ptr noundef nonnull align 8 dereferenceable(32) %11843)
  %11848 = icmp ne ptr %11847, null
  br i1 %11848, label %11849, label %11861

11849:                                            ; preds = %11839
  %11850 = load ptr, ptr %15, align 8, !tbaa !5
  %11851 = getelementptr inbounds %union.YYSTYPE, ptr %11850, i64 -2
  %11852 = getelementptr inbounds %struct.anon.0, ptr %11851, i32 0, i32 2
  %11853 = load ptr, ptr %11852, align 8, !tbaa !10
  %11854 = load ptr, ptr %11853, align 8, !tbaa !19
  %11855 = getelementptr inbounds ptr, ptr %11854, i64 6
  %11856 = load ptr, ptr %11855, align 8
  %11857 = call noundef ptr %11856(ptr noundef nonnull align 8 dereferenceable(32) %11853)
  %11858 = load ptr, ptr %11857, align 8, !tbaa !19
  %11859 = getelementptr inbounds ptr, ptr %11858, i64 49
  %11860 = load ptr, ptr %11859, align 8
  call void %11860(ptr noundef nonnull align 8 dereferenceable(352) %11857, i32 noundef 1)
  br label %11861

11861:                                            ; preds = %11849, %11839, %11833
  %11862 = load ptr, ptr %15, align 8, !tbaa !5
  %11863 = getelementptr inbounds %union.YYSTYPE, ptr %11862, i64 -2
  %11864 = getelementptr inbounds %struct.anon.0, ptr %11863, i32 0, i32 2
  %11865 = load ptr, ptr %11864, align 8, !tbaa !10
  %11866 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11865, ptr %11866, align 8, !tbaa !10
  br label %14379

11867:                                            ; preds = %406
  %11868 = load ptr, ptr %15, align 8, !tbaa !5
  %11869 = getelementptr inbounds %union.YYSTYPE, ptr %11868, i64 0
  %11870 = getelementptr inbounds %struct.anon.0, ptr %11869, i32 0, i32 2
  %11871 = load ptr, ptr %11870, align 8, !tbaa !10
  %11872 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11871, ptr %11872, align 8, !tbaa !10
  br label %14379

11873:                                            ; preds = %406
  %11874 = load ptr, ptr %15, align 8, !tbaa !5
  %11875 = getelementptr inbounds %union.YYSTYPE, ptr %11874, i64 0
  %11876 = getelementptr inbounds %struct.anon.0, ptr %11875, i32 0, i32 2
  %11877 = load ptr, ptr %11876, align 8, !tbaa !10
  %11878 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11877, ptr %11878, align 8, !tbaa !10
  br label %14379

11879:                                            ; preds = %406
  %11880 = load ptr, ptr %3, align 8, !tbaa !5
  %11881 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11880, i32 0, i32 7
  %11882 = load i32, ptr %11881, align 8, !tbaa !103
  %11883 = add nsw i32 %11882, 1
  store i32 %11883, ptr %11881, align 8, !tbaa !103
  br label %14379

11884:                                            ; preds = %406
  %11885 = load ptr, ptr %3, align 8, !tbaa !5
  %11886 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11885, i32 0, i32 7
  %11887 = load i32, ptr %11886, align 8, !tbaa !103
  %11888 = add nsw i32 %11887, -1
  store i32 %11888, ptr %11886, align 8, !tbaa !103
  %11889 = load ptr, ptr %15, align 8, !tbaa !5
  %11890 = getelementptr inbounds %union.YYSTYPE, ptr %11889, i64 0
  %11891 = getelementptr inbounds %struct.anon.0, ptr %11890, i32 0, i32 2
  %11892 = load ptr, ptr %11891, align 8, !tbaa !10
  %11893 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11892, ptr %11893, align 8, !tbaa !10
  br label %14379

11894:                                            ; preds = %406
  %11895 = load ptr, ptr %3, align 8, !tbaa !5
  %11896 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11895, i32 0, i32 2
  %11897 = load ptr, ptr %11896, align 8, !tbaa !45
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %11897)
  %11898 = load ptr, ptr %3, align 8, !tbaa !5
  %11899 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11898, i32 0, i32 3
  %11900 = load i32, ptr %11899, align 8, !tbaa !159
  %11901 = add nsw i32 %11900, 1
  store i32 %11901, ptr %11899, align 8, !tbaa !159
  %11902 = load ptr, ptr %3, align 8, !tbaa !5
  %11903 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11902, i32 0, i32 7
  %11904 = load i32, ptr %11903, align 8, !tbaa !103
  %11905 = add nsw i32 %11904, 1
  store i32 %11905, ptr %11903, align 8, !tbaa !103
  br label %14379

11906:                                            ; preds = %406
  %11907 = load ptr, ptr %3, align 8, !tbaa !5
  %11908 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11907, i32 0, i32 2
  %11909 = load ptr, ptr %11908, align 8, !tbaa !45
  %11910 = load ptr, ptr %3, align 8, !tbaa !5
  %11911 = getelementptr inbounds %"class.glslang::TParseContext", ptr %11910, i32 0, i32 4
  %11912 = getelementptr inbounds [22 x i32], ptr %11911, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %11909, ptr noundef %11912)
  %11913 = load ptr, ptr %3, align 8, !tbaa !5
  %11914 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11913, i32 0, i32 3
  %11915 = load i32, ptr %11914, align 8, !tbaa !159
  %11916 = add nsw i32 %11915, -1
  store i32 %11916, ptr %11914, align 8, !tbaa !159
  %11917 = load ptr, ptr %3, align 8, !tbaa !5
  %11918 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %11917, i32 0, i32 7
  %11919 = load i32, ptr %11918, align 8, !tbaa !103
  %11920 = add nsw i32 %11919, -1
  store i32 %11920, ptr %11918, align 8, !tbaa !103
  %11921 = load ptr, ptr %15, align 8, !tbaa !5
  %11922 = getelementptr inbounds %union.YYSTYPE, ptr %11921, i64 0
  %11923 = getelementptr inbounds %struct.anon.0, ptr %11922, i32 0, i32 2
  %11924 = load ptr, ptr %11923, align 8, !tbaa !10
  %11925 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11924, ptr %11925, align 8, !tbaa !10
  br label %14379

11926:                                            ; preds = %406
  %11927 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %11927, align 8, !tbaa !10
  br label %14379

11928:                                            ; preds = %406
  %11929 = load ptr, ptr %15, align 8, !tbaa !5
  %11930 = getelementptr inbounds %union.YYSTYPE, ptr %11929, i64 -1
  %11931 = getelementptr inbounds %struct.anon.0, ptr %11930, i32 0, i32 2
  %11932 = load ptr, ptr %11931, align 8, !tbaa !10
  %11933 = icmp ne ptr %11932, null
  br i1 %11933, label %11934, label %11956

11934:                                            ; preds = %11928
  %11935 = load ptr, ptr %15, align 8, !tbaa !5
  %11936 = getelementptr inbounds %union.YYSTYPE, ptr %11935, i64 -1
  %11937 = getelementptr inbounds %struct.anon.0, ptr %11936, i32 0, i32 2
  %11938 = load ptr, ptr %11937, align 8, !tbaa !10
  %11939 = load ptr, ptr %11938, align 8, !tbaa !19
  %11940 = getelementptr inbounds ptr, ptr %11939, i64 6
  %11941 = load ptr, ptr %11940, align 8
  %11942 = call noundef ptr %11941(ptr noundef nonnull align 8 dereferenceable(32) %11938)
  %11943 = icmp ne ptr %11942, null
  br i1 %11943, label %11944, label %11956

11944:                                            ; preds = %11934
  %11945 = load ptr, ptr %15, align 8, !tbaa !5
  %11946 = getelementptr inbounds %union.YYSTYPE, ptr %11945, i64 -1
  %11947 = getelementptr inbounds %struct.anon.0, ptr %11946, i32 0, i32 2
  %11948 = load ptr, ptr %11947, align 8, !tbaa !10
  %11949 = load ptr, ptr %11948, align 8, !tbaa !19
  %11950 = getelementptr inbounds ptr, ptr %11949, i64 6
  %11951 = load ptr, ptr %11950, align 8
  %11952 = call noundef ptr %11951(ptr noundef nonnull align 8 dereferenceable(32) %11948)
  %11953 = load ptr, ptr %11952, align 8, !tbaa !19
  %11954 = getelementptr inbounds ptr, ptr %11953, i64 49
  %11955 = load ptr, ptr %11954, align 8
  call void %11955(ptr noundef nonnull align 8 dereferenceable(352) %11952, i32 noundef 1)
  br label %11956

11956:                                            ; preds = %11944, %11934, %11928
  %11957 = load ptr, ptr %15, align 8, !tbaa !5
  %11958 = getelementptr inbounds %union.YYSTYPE, ptr %11957, i64 -1
  %11959 = getelementptr inbounds %struct.anon.0, ptr %11958, i32 0, i32 2
  %11960 = load ptr, ptr %11959, align 8, !tbaa !10
  %11961 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11960, ptr %11961, align 8, !tbaa !10
  br label %14379

11962:                                            ; preds = %406
  %11963 = load ptr, ptr %3, align 8, !tbaa !5
  %11964 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %11963, i32 0, i32 7
  %11965 = load ptr, ptr %11964, align 8, !tbaa !21
  %11966 = load ptr, ptr %15, align 8, !tbaa !5
  %11967 = getelementptr inbounds %union.YYSTYPE, ptr %11966, i64 0
  %11968 = getelementptr inbounds %struct.anon.0, ptr %11967, i32 0, i32 2
  %11969 = load ptr, ptr %11968, align 8, !tbaa !10
  %11970 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %11965, ptr noundef %11969)
  %11971 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %11970, ptr %11971, align 8, !tbaa !10
  %11972 = load ptr, ptr %15, align 8, !tbaa !5
  %11973 = getelementptr inbounds %union.YYSTYPE, ptr %11972, i64 0
  %11974 = getelementptr inbounds %struct.anon.0, ptr %11973, i32 0, i32 2
  %11975 = load ptr, ptr %11974, align 8, !tbaa !10
  %11976 = icmp ne ptr %11975, null
  br i1 %11976, label %11977, label %12016

11977:                                            ; preds = %11962
  %11978 = load ptr, ptr %15, align 8, !tbaa !5
  %11979 = getelementptr inbounds %union.YYSTYPE, ptr %11978, i64 0
  %11980 = getelementptr inbounds %struct.anon.0, ptr %11979, i32 0, i32 2
  %11981 = load ptr, ptr %11980, align 8, !tbaa !10
  %11982 = load ptr, ptr %11981, align 8, !tbaa !19
  %11983 = getelementptr inbounds ptr, ptr %11982, i64 13
  %11984 = load ptr, ptr %11983, align 8
  %11985 = call noundef ptr %11984(ptr noundef nonnull align 8 dereferenceable(32) %11981)
  %11986 = icmp ne ptr %11985, null
  br i1 %11986, label %11987, label %12016

11987:                                            ; preds = %11977
  %11988 = load ptr, ptr %15, align 8, !tbaa !5
  %11989 = getelementptr inbounds %union.YYSTYPE, ptr %11988, i64 0
  %11990 = getelementptr inbounds %struct.anon.0, ptr %11989, i32 0, i32 2
  %11991 = load ptr, ptr %11990, align 8, !tbaa !10
  %11992 = load ptr, ptr %11991, align 8, !tbaa !19
  %11993 = getelementptr inbounds ptr, ptr %11992, i64 13
  %11994 = load ptr, ptr %11993, align 8
  %11995 = call noundef ptr %11994(ptr noundef nonnull align 8 dereferenceable(32) %11991)
  %11996 = call noundef i32 @_ZNK7glslang13TIntermBranch9getFlowOpEv(ptr noundef nonnull align 8 dereferenceable(48) %11995)
  %11997 = icmp eq i32 %11996, 463
  br i1 %11997, label %12009, label %11998

11998:                                            ; preds = %11987
  %11999 = load ptr, ptr %15, align 8, !tbaa !5
  %12000 = getelementptr inbounds %union.YYSTYPE, ptr %11999, i64 0
  %12001 = getelementptr inbounds %struct.anon.0, ptr %12000, i32 0, i32 2
  %12002 = load ptr, ptr %12001, align 8, !tbaa !10
  %12003 = load ptr, ptr %12002, align 8, !tbaa !19
  %12004 = getelementptr inbounds ptr, ptr %12003, i64 13
  %12005 = load ptr, ptr %12004, align 8
  %12006 = call noundef ptr %12005(ptr noundef nonnull align 8 dereferenceable(32) %12002)
  %12007 = call noundef i32 @_ZNK7glslang13TIntermBranch9getFlowOpEv(ptr noundef nonnull align 8 dereferenceable(48) %12006)
  %12008 = icmp eq i32 %12007, 464
  br i1 %12008, label %12009, label %12016

12009:                                            ; preds = %11998, %11987
  %12010 = load ptr, ptr %3, align 8, !tbaa !5
  %12011 = load ptr, ptr %15, align 8, !tbaa !5
  %12012 = getelementptr inbounds %union.YYSTYPE, ptr %12011, i64 0
  %12013 = getelementptr inbounds %struct.anon.0, ptr %12012, i32 0, i32 2
  %12014 = load ptr, ptr %12013, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext23wrapupSwitchSubsequenceEPNS_16TIntermAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %12010, ptr noundef null, ptr noundef %12014)
  %12015 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12015, align 8, !tbaa !10
  br label %12016

12016:                                            ; preds = %12009, %11998, %11977, %11962
  br label %14379

12017:                                            ; preds = %406
  %12018 = load ptr, ptr %15, align 8, !tbaa !5
  %12019 = getelementptr inbounds %union.YYSTYPE, ptr %12018, i64 0
  %12020 = getelementptr inbounds %struct.anon.0, ptr %12019, i32 0, i32 2
  %12021 = load ptr, ptr %12020, align 8, !tbaa !10
  %12022 = icmp ne ptr %12021, null
  br i1 %12022, label %12023, label %12079

12023:                                            ; preds = %12017
  %12024 = load ptr, ptr %15, align 8, !tbaa !5
  %12025 = getelementptr inbounds %union.YYSTYPE, ptr %12024, i64 0
  %12026 = getelementptr inbounds %struct.anon.0, ptr %12025, i32 0, i32 2
  %12027 = load ptr, ptr %12026, align 8, !tbaa !10
  %12028 = load ptr, ptr %12027, align 8, !tbaa !19
  %12029 = getelementptr inbounds ptr, ptr %12028, i64 13
  %12030 = load ptr, ptr %12029, align 8
  %12031 = call noundef ptr %12030(ptr noundef nonnull align 8 dereferenceable(32) %12027)
  %12032 = icmp ne ptr %12031, null
  br i1 %12032, label %12033, label %12079

12033:                                            ; preds = %12023
  %12034 = load ptr, ptr %15, align 8, !tbaa !5
  %12035 = getelementptr inbounds %union.YYSTYPE, ptr %12034, i64 0
  %12036 = getelementptr inbounds %struct.anon.0, ptr %12035, i32 0, i32 2
  %12037 = load ptr, ptr %12036, align 8, !tbaa !10
  %12038 = load ptr, ptr %12037, align 8, !tbaa !19
  %12039 = getelementptr inbounds ptr, ptr %12038, i64 13
  %12040 = load ptr, ptr %12039, align 8
  %12041 = call noundef ptr %12040(ptr noundef nonnull align 8 dereferenceable(32) %12037)
  %12042 = call noundef i32 @_ZNK7glslang13TIntermBranch9getFlowOpEv(ptr noundef nonnull align 8 dereferenceable(48) %12041)
  %12043 = icmp eq i32 %12042, 463
  br i1 %12043, label %12055, label %12044

12044:                                            ; preds = %12033
  %12045 = load ptr, ptr %15, align 8, !tbaa !5
  %12046 = getelementptr inbounds %union.YYSTYPE, ptr %12045, i64 0
  %12047 = getelementptr inbounds %struct.anon.0, ptr %12046, i32 0, i32 2
  %12048 = load ptr, ptr %12047, align 8, !tbaa !10
  %12049 = load ptr, ptr %12048, align 8, !tbaa !19
  %12050 = getelementptr inbounds ptr, ptr %12049, i64 13
  %12051 = load ptr, ptr %12050, align 8
  %12052 = call noundef ptr %12051(ptr noundef nonnull align 8 dereferenceable(32) %12048)
  %12053 = call noundef i32 @_ZNK7glslang13TIntermBranch9getFlowOpEv(ptr noundef nonnull align 8 dereferenceable(48) %12052)
  %12054 = icmp eq i32 %12053, 464
  br i1 %12054, label %12055, label %12079

12055:                                            ; preds = %12044, %12033
  %12056 = load ptr, ptr %3, align 8, !tbaa !5
  %12057 = load ptr, ptr %15, align 8, !tbaa !5
  %12058 = getelementptr inbounds %union.YYSTYPE, ptr %12057, i64 -1
  %12059 = getelementptr inbounds %struct.anon.0, ptr %12058, i32 0, i32 2
  %12060 = load ptr, ptr %12059, align 8, !tbaa !10
  %12061 = icmp ne ptr %12060, null
  br i1 %12061, label %12062, label %12071

12062:                                            ; preds = %12055
  %12063 = load ptr, ptr %15, align 8, !tbaa !5
  %12064 = getelementptr inbounds %union.YYSTYPE, ptr %12063, i64 -1
  %12065 = getelementptr inbounds %struct.anon.0, ptr %12064, i32 0, i32 2
  %12066 = load ptr, ptr %12065, align 8, !tbaa !10
  %12067 = load ptr, ptr %12066, align 8, !tbaa !19
  %12068 = getelementptr inbounds ptr, ptr %12067, i64 6
  %12069 = load ptr, ptr %12068, align 8
  %12070 = call noundef ptr %12069(ptr noundef nonnull align 8 dereferenceable(32) %12066)
  br label %12072

12071:                                            ; preds = %12055
  br label %12072

12072:                                            ; preds = %12071, %12062
  %12073 = phi ptr [ %12070, %12062 ], [ null, %12071 ]
  %12074 = load ptr, ptr %15, align 8, !tbaa !5
  %12075 = getelementptr inbounds %union.YYSTYPE, ptr %12074, i64 0
  %12076 = getelementptr inbounds %struct.anon.0, ptr %12075, i32 0, i32 2
  %12077 = load ptr, ptr %12076, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext23wrapupSwitchSubsequenceEPNS_16TIntermAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %12056, ptr noundef %12073, ptr noundef %12077)
  %12078 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12078, align 8, !tbaa !10
  br label %12093

12079:                                            ; preds = %12044, %12023, %12017
  %12080 = load ptr, ptr %3, align 8, !tbaa !5
  %12081 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12080, i32 0, i32 7
  %12082 = load ptr, ptr %12081, align 8, !tbaa !21
  %12083 = load ptr, ptr %15, align 8, !tbaa !5
  %12084 = getelementptr inbounds %union.YYSTYPE, ptr %12083, i64 -1
  %12085 = getelementptr inbounds %struct.anon.0, ptr %12084, i32 0, i32 2
  %12086 = load ptr, ptr %12085, align 8, !tbaa !10
  %12087 = load ptr, ptr %15, align 8, !tbaa !5
  %12088 = getelementptr inbounds %union.YYSTYPE, ptr %12087, i64 0
  %12089 = getelementptr inbounds %struct.anon.0, ptr %12088, i32 0, i32 2
  %12090 = load ptr, ptr %12089, align 8, !tbaa !10
  %12091 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %12082, ptr noundef %12086, ptr noundef %12090)
  %12092 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12091, ptr %12092, align 8, !tbaa !10
  br label %12093

12093:                                            ; preds = %12079, %12072
  br label %14379

12094:                                            ; preds = %406
  %12095 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12095, align 8, !tbaa !10
  br label %14379

12096:                                            ; preds = %406
  %12097 = load ptr, ptr %15, align 8, !tbaa !5
  %12098 = getelementptr inbounds %union.YYSTYPE, ptr %12097, i64 -1
  %12099 = getelementptr inbounds %struct.anon.0, ptr %12098, i32 0, i32 2
  %12100 = load ptr, ptr %12099, align 8, !tbaa !10
  %12101 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12100, ptr %12101, align 8, !tbaa !10
  br label %14379

12102:                                            ; preds = %406
  %12103 = load ptr, ptr %15, align 8, !tbaa !5
  %12104 = getelementptr inbounds %union.YYSTYPE, ptr %12103, i64 0
  %12105 = getelementptr inbounds %struct.anon.0, ptr %12104, i32 0, i32 2
  %12106 = load ptr, ptr %12105, align 8, !tbaa !10
  %12107 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12106, ptr %12107, align 8, !tbaa !10
  br label %14379

12108:                                            ; preds = %406
  %12109 = load ptr, ptr %3, align 8, !tbaa !5
  %12110 = load ptr, ptr %15, align 8, !tbaa !5
  %12111 = getelementptr inbounds %union.YYSTYPE, ptr %12110, i64 0
  %12112 = getelementptr inbounds %struct.anon.0, ptr %12111, i32 0, i32 2
  %12113 = load ptr, ptr %12112, align 8, !tbaa !10
  %12114 = load ptr, ptr %12113, align 8, !tbaa !19
  %12115 = getelementptr inbounds ptr, ptr %12114, i64 0
  %12116 = load ptr, ptr %12115, align 8
  %12117 = call noundef nonnull align 8 dereferenceable(24) ptr %12116(ptr noundef nonnull align 8 dereferenceable(32) %12113)
  %12118 = load ptr, ptr %12109, align 8, !tbaa !19
  %12119 = getelementptr inbounds ptr, ptr %12118, i64 5
  %12120 = load ptr, ptr %12119, align 8
  call void %12120(ptr noundef nonnull align 8 dereferenceable(192) %12109, ptr noundef nonnull align 8 dereferenceable(24) %12117, i32 noundef 1, ptr noundef @_ZN7glslangL32E_GL_EXT_control_flow_attributesE, ptr noundef @.str.64)
  %12121 = load ptr, ptr %3, align 8, !tbaa !5
  %12122 = load ptr, ptr %15, align 8, !tbaa !5
  %12123 = getelementptr inbounds %union.YYSTYPE, ptr %12122, i64 -1
  %12124 = getelementptr inbounds %struct.anon.0, ptr %12123, i32 0, i32 2
  %12125 = load ptr, ptr %12124, align 8, !tbaa !10
  %12126 = load ptr, ptr %15, align 8, !tbaa !5
  %12127 = getelementptr inbounds %union.YYSTYPE, ptr %12126, i64 0
  %12128 = getelementptr inbounds %struct.anon.0, ptr %12127, i32 0, i32 2
  %12129 = load ptr, ptr %12128, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext25handleSelectionAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %12121, ptr noundef nonnull align 1 %12125, ptr noundef %12129)
  %12130 = load ptr, ptr %15, align 8, !tbaa !5
  %12131 = getelementptr inbounds %union.YYSTYPE, ptr %12130, i64 0
  %12132 = getelementptr inbounds %struct.anon.0, ptr %12131, i32 0, i32 2
  %12133 = load ptr, ptr %12132, align 8, !tbaa !10
  %12134 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12133, ptr %12134, align 8, !tbaa !10
  br label %14379

12135:                                            ; preds = %406
  %12136 = load ptr, ptr %3, align 8, !tbaa !5
  %12137 = load ptr, ptr %15, align 8, !tbaa !5
  %12138 = getelementptr inbounds %union.YYSTYPE, ptr %12137, i64 -4
  %12139 = getelementptr inbounds %struct.anon, ptr %12138, i32 0, i32 0
  %12140 = load ptr, ptr %15, align 8, !tbaa !5
  %12141 = getelementptr inbounds %union.YYSTYPE, ptr %12140, i64 -2
  %12142 = getelementptr inbounds %struct.anon.0, ptr %12141, i32 0, i32 2
  %12143 = load ptr, ptr %12142, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %12136, ptr noundef nonnull align 8 dereferenceable(24) %12139, ptr noundef %12143)
  %12144 = load ptr, ptr %3, align 8, !tbaa !5
  %12145 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12144, i32 0, i32 7
  %12146 = load ptr, ptr %12145, align 8, !tbaa !21
  %12147 = load ptr, ptr %15, align 8, !tbaa !5
  %12148 = getelementptr inbounds %union.YYSTYPE, ptr %12147, i64 -2
  %12149 = getelementptr inbounds %struct.anon.0, ptr %12148, i32 0, i32 2
  %12150 = load ptr, ptr %12149, align 8, !tbaa !10
  %12151 = load ptr, ptr %15, align 8, !tbaa !5
  %12152 = getelementptr inbounds %union.YYSTYPE, ptr %12151, i64 0
  %12153 = getelementptr inbounds %struct.anon.0, ptr %12152, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %93, ptr align 8 %12153, i64 16, i1 false), !tbaa.struct !160
  %12154 = load ptr, ptr %15, align 8, !tbaa !5
  %12155 = getelementptr inbounds %union.YYSTYPE, ptr %12154, i64 -4
  %12156 = getelementptr inbounds %struct.anon, ptr %12155, i32 0, i32 0
  %12157 = getelementptr inbounds { ptr, ptr }, ptr %93, i32 0, i32 0
  %12158 = load ptr, ptr %12157, align 8
  %12159 = getelementptr inbounds { ptr, ptr }, ptr %93, i32 0, i32 1
  %12160 = load ptr, ptr %12159, align 8
  %12161 = call noundef ptr @_ZN7glslang13TIntermediate12addSelectionEPNS_12TIntermTypedENS_15TIntermNodePairERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12146, ptr noundef %12150, ptr %12158, ptr %12160, ptr noundef nonnull align 8 dereferenceable(24) %12156)
  %12162 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12161, ptr %12162, align 8, !tbaa !10
  br label %14379

12163:                                            ; preds = %406
  %12164 = load ptr, ptr %15, align 8, !tbaa !5
  %12165 = getelementptr inbounds %union.YYSTYPE, ptr %12164, i64 -2
  %12166 = getelementptr inbounds %struct.anon.0, ptr %12165, i32 0, i32 2
  %12167 = load ptr, ptr %12166, align 8, !tbaa !10
  %12168 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12169 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12168, i32 0, i32 0
  store ptr %12167, ptr %12169, align 8, !tbaa !10
  %12170 = load ptr, ptr %15, align 8, !tbaa !5
  %12171 = getelementptr inbounds %union.YYSTYPE, ptr %12170, i64 0
  %12172 = getelementptr inbounds %struct.anon.0, ptr %12171, i32 0, i32 2
  %12173 = load ptr, ptr %12172, align 8, !tbaa !10
  %12174 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12175 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12174, i32 0, i32 1
  store ptr %12173, ptr %12175, align 8, !tbaa !10
  br label %14379

12176:                                            ; preds = %406
  %12177 = load ptr, ptr %15, align 8, !tbaa !5
  %12178 = getelementptr inbounds %union.YYSTYPE, ptr %12177, i64 0
  %12179 = getelementptr inbounds %struct.anon.0, ptr %12178, i32 0, i32 2
  %12180 = load ptr, ptr %12179, align 8, !tbaa !10
  %12181 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12182 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12181, i32 0, i32 0
  store ptr %12180, ptr %12182, align 8, !tbaa !10
  %12183 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12184 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12183, i32 0, i32 1
  store ptr null, ptr %12184, align 8, !tbaa !10
  br label %14379

12185:                                            ; preds = %406
  %12186 = load ptr, ptr %15, align 8, !tbaa !5
  %12187 = getelementptr inbounds %union.YYSTYPE, ptr %12186, i64 0
  %12188 = getelementptr inbounds %struct.anon.0, ptr %12187, i32 0, i32 2
  %12189 = load ptr, ptr %12188, align 8, !tbaa !10
  %12190 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12189, ptr %12190, align 8, !tbaa !10
  %12191 = load ptr, ptr %3, align 8, !tbaa !5
  %12192 = load ptr, ptr %15, align 8, !tbaa !5
  %12193 = getelementptr inbounds %union.YYSTYPE, ptr %12192, i64 0
  %12194 = getelementptr inbounds %struct.anon.0, ptr %12193, i32 0, i32 2
  %12195 = load ptr, ptr %12194, align 8, !tbaa !10
  %12196 = load ptr, ptr %12195, align 8, !tbaa !19
  %12197 = getelementptr inbounds ptr, ptr %12196, i64 0
  %12198 = load ptr, ptr %12197, align 8
  %12199 = call noundef nonnull align 8 dereferenceable(24) ptr %12198(ptr noundef nonnull align 8 dereferenceable(32) %12195)
  %12200 = load ptr, ptr %15, align 8, !tbaa !5
  %12201 = getelementptr inbounds %union.YYSTYPE, ptr %12200, i64 0
  %12202 = getelementptr inbounds %struct.anon.0, ptr %12201, i32 0, i32 2
  %12203 = load ptr, ptr %12202, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %12191, ptr noundef nonnull align 8 dereferenceable(24) %12199, ptr noundef %12203)
  br label %14379

12204:                                            ; preds = %406
  %12205 = load ptr, ptr %3, align 8, !tbaa !5
  %12206 = load ptr, ptr %15, align 8, !tbaa !5
  %12207 = getelementptr inbounds %union.YYSTYPE, ptr %12206, i64 -2
  %12208 = getelementptr inbounds %struct.anon, ptr %12207, i32 0, i32 0
  %12209 = load ptr, ptr %15, align 8, !tbaa !5
  %12210 = getelementptr inbounds %union.YYSTYPE, ptr %12209, i64 -3
  %12211 = getelementptr inbounds %struct.anon.0, ptr %12210, i32 0, i32 3
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %12205, ptr noundef nonnull align 8 dereferenceable(24) %12208, ptr noundef nonnull align 8 dereferenceable(232) %12211)
  call void @llvm.lifetime.start.p0(i64 144, ptr %94) #10
  %12212 = load ptr, ptr %15, align 8, !tbaa !5
  %12213 = getelementptr inbounds %union.YYSTYPE, ptr %12212, i64 -3
  %12214 = getelementptr inbounds %struct.anon.0, ptr %12213, i32 0, i32 3
  call void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %94, ptr noundef nonnull align 8 dereferenceable(232) %12214)
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #10
  %12215 = load ptr, ptr %3, align 8, !tbaa !5
  %12216 = load ptr, ptr %15, align 8, !tbaa !5
  %12217 = getelementptr inbounds %union.YYSTYPE, ptr %12216, i64 -2
  %12218 = getelementptr inbounds %struct.anon, ptr %12217, i32 0, i32 0
  %12219 = load ptr, ptr %15, align 8, !tbaa !5
  %12220 = getelementptr inbounds %union.YYSTYPE, ptr %12219, i64 -2
  %12221 = getelementptr inbounds %struct.anon, ptr %12220, i32 0, i32 1
  %12222 = load ptr, ptr %12221, align 8, !tbaa !10
  %12223 = load ptr, ptr %15, align 8, !tbaa !5
  %12224 = getelementptr inbounds %union.YYSTYPE, ptr %12223, i64 -3
  %12225 = getelementptr inbounds %struct.anon.0, ptr %12224, i32 0, i32 3
  %12226 = load ptr, ptr %15, align 8, !tbaa !5
  %12227 = getelementptr inbounds %union.YYSTYPE, ptr %12226, i64 0
  %12228 = getelementptr inbounds %struct.anon.0, ptr %12227, i32 0, i32 2
  %12229 = load ptr, ptr %12228, align 8, !tbaa !10
  %12230 = invoke noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %12215, ptr noundef nonnull align 8 dereferenceable(24) %12218, ptr noundef nonnull align 8 dereferenceable(40) %12222, ptr noundef nonnull align 8 dereferenceable(232) %12225, ptr noundef null, ptr noundef %12229)
          to label %12231 unwind label %12242

12231:                                            ; preds = %12204
  store ptr %12230, ptr %95, align 8, !tbaa !5
  %12232 = load ptr, ptr %95, align 8, !tbaa !5
  %12233 = icmp ne ptr %12232, null
  br i1 %12233, label %12234, label %12246

12234:                                            ; preds = %12231
  %12235 = load ptr, ptr %95, align 8, !tbaa !5
  %12236 = load ptr, ptr %12235, align 8, !tbaa !19
  %12237 = getelementptr inbounds ptr, ptr %12236, i64 3
  %12238 = load ptr, ptr %12237, align 8
  %12239 = invoke noundef ptr %12238(ptr noundef nonnull align 8 dereferenceable(32) %12235)
          to label %12240 unwind label %12242

12240:                                            ; preds = %12234
  %12241 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12239, ptr %12241, align 8, !tbaa !10
  br label %12248

12242:                                            ; preds = %12234, %12204
  %12243 = landingpad { ptr, i32 }
          cleanup
  %12244 = extractvalue { ptr, i32 } %12243, 0
  store ptr %12244, ptr %31, align 8
  %12245 = extractvalue { ptr, i32 } %12243, 1
  store i32 %12245, ptr %32, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #10
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %94) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %94) #10
  br label %14723

12246:                                            ; preds = %12231
  %12247 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12247, align 8, !tbaa !10
  br label %12248

12248:                                            ; preds = %12246, %12240
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #10
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %94) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %94) #10
  br label %14379

12249:                                            ; preds = %406
  %12250 = load ptr, ptr %15, align 8, !tbaa !5
  %12251 = getelementptr inbounds %union.YYSTYPE, ptr %12250, i64 0
  %12252 = getelementptr inbounds %struct.anon.0, ptr %12251, i32 0, i32 2
  %12253 = load ptr, ptr %12252, align 8, !tbaa !10
  %12254 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12253, ptr %12254, align 8, !tbaa !10
  br label %14379

12255:                                            ; preds = %406
  %12256 = load ptr, ptr %3, align 8, !tbaa !5
  %12257 = load ptr, ptr %15, align 8, !tbaa !5
  %12258 = getelementptr inbounds %union.YYSTYPE, ptr %12257, i64 0
  %12259 = getelementptr inbounds %struct.anon.0, ptr %12258, i32 0, i32 2
  %12260 = load ptr, ptr %12259, align 8, !tbaa !10
  %12261 = load ptr, ptr %12260, align 8, !tbaa !19
  %12262 = getelementptr inbounds ptr, ptr %12261, i64 0
  %12263 = load ptr, ptr %12262, align 8
  %12264 = call noundef nonnull align 8 dereferenceable(24) ptr %12263(ptr noundef nonnull align 8 dereferenceable(32) %12260)
  %12265 = load ptr, ptr %12256, align 8, !tbaa !19
  %12266 = getelementptr inbounds ptr, ptr %12265, i64 5
  %12267 = load ptr, ptr %12266, align 8
  call void %12267(ptr noundef nonnull align 8 dereferenceable(192) %12256, ptr noundef nonnull align 8 dereferenceable(24) %12264, i32 noundef 1, ptr noundef @_ZN7glslangL32E_GL_EXT_control_flow_attributesE, ptr noundef @.str.64)
  %12268 = load ptr, ptr %3, align 8, !tbaa !5
  %12269 = load ptr, ptr %15, align 8, !tbaa !5
  %12270 = getelementptr inbounds %union.YYSTYPE, ptr %12269, i64 -1
  %12271 = getelementptr inbounds %struct.anon.0, ptr %12270, i32 0, i32 2
  %12272 = load ptr, ptr %12271, align 8, !tbaa !10
  %12273 = load ptr, ptr %15, align 8, !tbaa !5
  %12274 = getelementptr inbounds %union.YYSTYPE, ptr %12273, i64 0
  %12275 = getelementptr inbounds %struct.anon.0, ptr %12274, i32 0, i32 2
  %12276 = load ptr, ptr %12275, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext22handleSwitchAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %12268, ptr noundef nonnull align 1 %12272, ptr noundef %12276)
  %12277 = load ptr, ptr %15, align 8, !tbaa !5
  %12278 = getelementptr inbounds %union.YYSTYPE, ptr %12277, i64 0
  %12279 = getelementptr inbounds %struct.anon.0, ptr %12278, i32 0, i32 2
  %12280 = load ptr, ptr %12279, align 8, !tbaa !10
  %12281 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12280, ptr %12281, align 8, !tbaa !10
  br label %14379

12282:                                            ; preds = %406
  %12283 = load ptr, ptr %3, align 8, !tbaa !5
  %12284 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12283, i32 0, i32 7
  %12285 = load i32, ptr %12284, align 8, !tbaa !103
  %12286 = add nsw i32 %12285, 1
  store i32 %12286, ptr %12284, align 8, !tbaa !103
  %12287 = load ptr, ptr %3, align 8, !tbaa !5
  %12288 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12287, i32 0, i32 3
  %12289 = load i32, ptr %12288, align 8, !tbaa !159
  %12290 = add nsw i32 %12289, 1
  store i32 %12290, ptr %12288, align 8, !tbaa !159
  %12291 = load ptr, ptr %3, align 8, !tbaa !5
  %12292 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12291, i32 0, i32 11
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #10
  %12293 = call noundef ptr @_ZN7glslang7TVectorIP11TIntermNodeEnwEm(i64 noundef 32)
  invoke void @_ZN7glslang7TVectorIP11TIntermNodeEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12293)
          to label %12294 unwind label %12302

12294:                                            ; preds = %12282
  store ptr %12293, ptr %96, align 8, !tbaa !5
  call void @_ZNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE9push_backEOS6_(ptr noundef nonnull align 8 dereferenceable(32) %12292, ptr noundef nonnull align 8 dereferenceable(8) %96)
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #10
  %12295 = load ptr, ptr %3, align 8, !tbaa !5
  %12296 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12295, i32 0, i32 12
  %12297 = load ptr, ptr %3, align 8, !tbaa !5
  %12298 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12297, i32 0, i32 3
  call void @_ZNSt7__cxx114listIiN7glslang14pool_allocatorIiEEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(32) %12296, ptr noundef nonnull align 4 dereferenceable(4) %12298)
  %12299 = load ptr, ptr %3, align 8, !tbaa !5
  %12300 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12299, i32 0, i32 2
  %12301 = load ptr, ptr %12300, align 8, !tbaa !45
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %12301)
  br label %14379

12302:                                            ; preds = %12282
  %12303 = landingpad { ptr, i32 }
          cleanup
  %12304 = extractvalue { ptr, i32 } %12303, 0
  store ptr %12304, ptr %31, align 8
  %12305 = extractvalue { ptr, i32 } %12303, 1
  store i32 %12305, ptr %32, align 4
  call void @_ZN7glslang7TVectorIP11TIntermNodeEdlEPv(ptr noundef %12293) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #10
  br label %14723

12306:                                            ; preds = %406
  %12307 = load ptr, ptr %3, align 8, !tbaa !5
  %12308 = load ptr, ptr %15, align 8, !tbaa !5
  %12309 = getelementptr inbounds %union.YYSTYPE, ptr %12308, i64 -7
  %12310 = getelementptr inbounds %struct.anon, ptr %12309, i32 0, i32 0
  %12311 = load ptr, ptr %15, align 8, !tbaa !5
  %12312 = getelementptr inbounds %union.YYSTYPE, ptr %12311, i64 -5
  %12313 = getelementptr inbounds %struct.anon.0, ptr %12312, i32 0, i32 2
  %12314 = load ptr, ptr %12313, align 8, !tbaa !10
  %12315 = load ptr, ptr %15, align 8, !tbaa !5
  %12316 = getelementptr inbounds %union.YYSTYPE, ptr %12315, i64 -1
  %12317 = getelementptr inbounds %struct.anon.0, ptr %12316, i32 0, i32 2
  %12318 = load ptr, ptr %12317, align 8, !tbaa !10
  %12319 = icmp ne ptr %12318, null
  br i1 %12319, label %12320, label %12329

12320:                                            ; preds = %12306
  %12321 = load ptr, ptr %15, align 8, !tbaa !5
  %12322 = getelementptr inbounds %union.YYSTYPE, ptr %12321, i64 -1
  %12323 = getelementptr inbounds %struct.anon.0, ptr %12322, i32 0, i32 2
  %12324 = load ptr, ptr %12323, align 8, !tbaa !10
  %12325 = load ptr, ptr %12324, align 8, !tbaa !19
  %12326 = getelementptr inbounds ptr, ptr %12325, i64 6
  %12327 = load ptr, ptr %12326, align 8
  %12328 = call noundef ptr %12327(ptr noundef nonnull align 8 dereferenceable(32) %12324)
  br label %12330

12329:                                            ; preds = %12306
  br label %12330

12330:                                            ; preds = %12329, %12320
  %12331 = phi ptr [ %12328, %12320 ], [ null, %12329 ]
  %12332 = call noundef ptr @_ZN7glslang13TParseContext9addSwitchERKNS_10TSourceLocEPNS_12TIntermTypedEPNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(24912) %12307, ptr noundef nonnull align 8 dereferenceable(24) %12310, ptr noundef %12314, ptr noundef %12331)
  %12333 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12332, ptr %12333, align 8, !tbaa !10
  %12334 = load ptr, ptr %3, align 8, !tbaa !5
  %12335 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12334, i32 0, i32 11
  %12336 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE4backEv(ptr noundef nonnull align 8 dereferenceable(32) %12335) #10
  %12337 = load ptr, ptr %12336, align 8, !tbaa !5
  %12338 = icmp eq ptr %12337, null
  br i1 %12338, label %12340, label %12339

12339:                                            ; preds = %12330
  call void @_ZNSt6vectorIP11TIntermNodeN7glslang14pool_allocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12337) #10
  call void @_ZN7glslang7TVectorIP11TIntermNodeEdlEPv(ptr noundef %12337) #10
  br label %12340

12340:                                            ; preds = %12339, %12330
  %12341 = load ptr, ptr %3, align 8, !tbaa !5
  %12342 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12341, i32 0, i32 11
  call void @_ZNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE8pop_backEv(ptr noundef nonnull align 8 dereferenceable(32) %12342) #10
  %12343 = load ptr, ptr %3, align 8, !tbaa !5
  %12344 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12343, i32 0, i32 12
  call void @_ZNSt7__cxx114listIiN7glslang14pool_allocatorIiEEE8pop_backEv(ptr noundef nonnull align 8 dereferenceable(32) %12344) #10
  %12345 = load ptr, ptr %3, align 8, !tbaa !5
  %12346 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12345, i32 0, i32 2
  %12347 = load ptr, ptr %12346, align 8, !tbaa !45
  %12348 = load ptr, ptr %3, align 8, !tbaa !5
  %12349 = getelementptr inbounds %"class.glslang::TParseContext", ptr %12348, i32 0, i32 4
  %12350 = getelementptr inbounds [22 x i32], ptr %12349, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %12347, ptr noundef %12350)
  %12351 = load ptr, ptr %3, align 8, !tbaa !5
  %12352 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12351, i32 0, i32 3
  %12353 = load i32, ptr %12352, align 8, !tbaa !159
  %12354 = add nsw i32 %12353, -1
  store i32 %12354, ptr %12352, align 8, !tbaa !159
  %12355 = load ptr, ptr %3, align 8, !tbaa !5
  %12356 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12355, i32 0, i32 7
  %12357 = load i32, ptr %12356, align 8, !tbaa !103
  %12358 = add nsw i32 %12357, -1
  store i32 %12358, ptr %12356, align 8, !tbaa !103
  br label %14379

12359:                                            ; preds = %406
  %12360 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12360, align 8, !tbaa !10
  br label %14379

12361:                                            ; preds = %406
  %12362 = load ptr, ptr %15, align 8, !tbaa !5
  %12363 = getelementptr inbounds %union.YYSTYPE, ptr %12362, i64 0
  %12364 = getelementptr inbounds %struct.anon.0, ptr %12363, i32 0, i32 2
  %12365 = load ptr, ptr %12364, align 8, !tbaa !10
  %12366 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12365, ptr %12366, align 8, !tbaa !10
  br label %14379

12367:                                            ; preds = %406
  %12368 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12368, align 8, !tbaa !10
  %12369 = load ptr, ptr %3, align 8, !tbaa !5
  %12370 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12369, i32 0, i32 12
  %12371 = call noundef i64 @_ZNKSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %12370) #10
  %12372 = icmp eq i64 %12371, 0
  br i1 %12372, label %12373, label %12381

12373:                                            ; preds = %12367
  %12374 = load ptr, ptr %3, align 8, !tbaa !5
  %12375 = load ptr, ptr %15, align 8, !tbaa !5
  %12376 = getelementptr inbounds %union.YYSTYPE, ptr %12375, i64 -2
  %12377 = getelementptr inbounds %struct.anon, ptr %12376, i32 0, i32 0
  %12378 = load ptr, ptr %12374, align 8, !tbaa !19
  %12379 = getelementptr inbounds ptr, ptr %12378, i64 42
  %12380 = load ptr, ptr %12379, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12380(ptr noundef nonnull align 8 dereferenceable(1176) %12374, ptr noundef nonnull align 8 dereferenceable(24) %12377, ptr noundef @.str.178, ptr noundef @.str.179, ptr noundef @.str.21)
  br label %12422

12381:                                            ; preds = %12367
  %12382 = load ptr, ptr %3, align 8, !tbaa !5
  %12383 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12382, i32 0, i32 12
  %12384 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4backEv(ptr noundef nonnull align 8 dereferenceable(32) %12383) #10
  %12385 = load i32, ptr %12384, align 4, !tbaa !11
  %12386 = load ptr, ptr %3, align 8, !tbaa !5
  %12387 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12386, i32 0, i32 3
  %12388 = load i32, ptr %12387, align 8, !tbaa !159
  %12389 = icmp ne i32 %12385, %12388
  br i1 %12389, label %12390, label %12398

12390:                                            ; preds = %12381
  %12391 = load ptr, ptr %3, align 8, !tbaa !5
  %12392 = load ptr, ptr %15, align 8, !tbaa !5
  %12393 = getelementptr inbounds %union.YYSTYPE, ptr %12392, i64 -2
  %12394 = getelementptr inbounds %struct.anon, ptr %12393, i32 0, i32 0
  %12395 = load ptr, ptr %12391, align 8, !tbaa !19
  %12396 = getelementptr inbounds ptr, ptr %12395, i64 42
  %12397 = load ptr, ptr %12396, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12397(ptr noundef nonnull align 8 dereferenceable(1176) %12391, ptr noundef nonnull align 8 dereferenceable(24) %12394, ptr noundef @.str.180, ptr noundef @.str.179, ptr noundef @.str.21)
  br label %12421

12398:                                            ; preds = %12381
  %12399 = load ptr, ptr %3, align 8, !tbaa !5
  %12400 = load ptr, ptr %15, align 8, !tbaa !5
  %12401 = getelementptr inbounds %union.YYSTYPE, ptr %12400, i64 -1
  %12402 = getelementptr inbounds %struct.anon.0, ptr %12401, i32 0, i32 2
  %12403 = load ptr, ptr %12402, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext18constantValueCheckEPNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %12399, ptr noundef %12403, ptr noundef @.str.179)
  %12404 = load ptr, ptr %3, align 8, !tbaa !5
  %12405 = load ptr, ptr %15, align 8, !tbaa !5
  %12406 = getelementptr inbounds %union.YYSTYPE, ptr %12405, i64 -1
  %12407 = getelementptr inbounds %struct.anon.0, ptr %12406, i32 0, i32 2
  %12408 = load ptr, ptr %12407, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext12integerCheckEPKNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %12404, ptr noundef %12408, ptr noundef @.str.179)
  %12409 = load ptr, ptr %3, align 8, !tbaa !5
  %12410 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12409, i32 0, i32 7
  %12411 = load ptr, ptr %12410, align 8, !tbaa !21
  %12412 = load ptr, ptr %15, align 8, !tbaa !5
  %12413 = getelementptr inbounds %union.YYSTYPE, ptr %12412, i64 -1
  %12414 = getelementptr inbounds %struct.anon.0, ptr %12413, i32 0, i32 2
  %12415 = load ptr, ptr %12414, align 8, !tbaa !10
  %12416 = load ptr, ptr %15, align 8, !tbaa !5
  %12417 = getelementptr inbounds %union.YYSTYPE, ptr %12416, i64 -2
  %12418 = getelementptr inbounds %struct.anon, ptr %12417, i32 0, i32 0
  %12419 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorEPNS_12TIntermTypedERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12411, i32 noundef 463, ptr noundef %12415, ptr noundef nonnull align 8 dereferenceable(24) %12418)
  %12420 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12419, ptr %12420, align 8, !tbaa !10
  br label %12421

12421:                                            ; preds = %12398, %12390
  br label %12422

12422:                                            ; preds = %12421, %12373
  br label %14379

12423:                                            ; preds = %406
  %12424 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12424, align 8, !tbaa !10
  %12425 = load ptr, ptr %3, align 8, !tbaa !5
  %12426 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12425, i32 0, i32 12
  %12427 = call noundef i64 @_ZNKSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %12426) #10
  %12428 = icmp eq i64 %12427, 0
  br i1 %12428, label %12429, label %12437

12429:                                            ; preds = %12423
  %12430 = load ptr, ptr %3, align 8, !tbaa !5
  %12431 = load ptr, ptr %15, align 8, !tbaa !5
  %12432 = getelementptr inbounds %union.YYSTYPE, ptr %12431, i64 -1
  %12433 = getelementptr inbounds %struct.anon, ptr %12432, i32 0, i32 0
  %12434 = load ptr, ptr %12430, align 8, !tbaa !19
  %12435 = getelementptr inbounds ptr, ptr %12434, i64 42
  %12436 = load ptr, ptr %12435, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12436(ptr noundef nonnull align 8 dereferenceable(1176) %12430, ptr noundef nonnull align 8 dereferenceable(24) %12433, ptr noundef @.str.178, ptr noundef @.str.181, ptr noundef @.str.21)
  br label %12464

12437:                                            ; preds = %12423
  %12438 = load ptr, ptr %3, align 8, !tbaa !5
  %12439 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12438, i32 0, i32 12
  %12440 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4backEv(ptr noundef nonnull align 8 dereferenceable(32) %12439) #10
  %12441 = load i32, ptr %12440, align 4, !tbaa !11
  %12442 = load ptr, ptr %3, align 8, !tbaa !5
  %12443 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12442, i32 0, i32 3
  %12444 = load i32, ptr %12443, align 8, !tbaa !159
  %12445 = icmp ne i32 %12441, %12444
  br i1 %12445, label %12446, label %12454

12446:                                            ; preds = %12437
  %12447 = load ptr, ptr %3, align 8, !tbaa !5
  %12448 = load ptr, ptr %15, align 8, !tbaa !5
  %12449 = getelementptr inbounds %union.YYSTYPE, ptr %12448, i64 -1
  %12450 = getelementptr inbounds %struct.anon, ptr %12449, i32 0, i32 0
  %12451 = load ptr, ptr %12447, align 8, !tbaa !19
  %12452 = getelementptr inbounds ptr, ptr %12451, i64 42
  %12453 = load ptr, ptr %12452, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12453(ptr noundef nonnull align 8 dereferenceable(1176) %12447, ptr noundef nonnull align 8 dereferenceable(24) %12450, ptr noundef @.str.180, ptr noundef @.str.181, ptr noundef @.str.21)
  br label %12463

12454:                                            ; preds = %12437
  %12455 = load ptr, ptr %3, align 8, !tbaa !5
  %12456 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12455, i32 0, i32 7
  %12457 = load ptr, ptr %12456, align 8, !tbaa !21
  %12458 = load ptr, ptr %15, align 8, !tbaa !5
  %12459 = getelementptr inbounds %union.YYSTYPE, ptr %12458, i64 -1
  %12460 = getelementptr inbounds %struct.anon, ptr %12459, i32 0, i32 0
  %12461 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12457, i32 noundef 464, ptr noundef nonnull align 8 dereferenceable(24) %12460)
  %12462 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12461, ptr %12462, align 8, !tbaa !10
  br label %12463

12463:                                            ; preds = %12454, %12446
  br label %12464

12464:                                            ; preds = %12463, %12429
  br label %14379

12465:                                            ; preds = %406
  %12466 = load ptr, ptr %15, align 8, !tbaa !5
  %12467 = getelementptr inbounds %union.YYSTYPE, ptr %12466, i64 0
  %12468 = getelementptr inbounds %struct.anon.0, ptr %12467, i32 0, i32 2
  %12469 = load ptr, ptr %12468, align 8, !tbaa !10
  %12470 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12469, ptr %12470, align 8, !tbaa !10
  br label %14379

12471:                                            ; preds = %406
  %12472 = load ptr, ptr %3, align 8, !tbaa !5
  %12473 = load ptr, ptr %15, align 8, !tbaa !5
  %12474 = getelementptr inbounds %union.YYSTYPE, ptr %12473, i64 0
  %12475 = getelementptr inbounds %struct.anon.0, ptr %12474, i32 0, i32 2
  %12476 = load ptr, ptr %12475, align 8, !tbaa !10
  %12477 = load ptr, ptr %12476, align 8, !tbaa !19
  %12478 = getelementptr inbounds ptr, ptr %12477, i64 0
  %12479 = load ptr, ptr %12478, align 8
  %12480 = call noundef nonnull align 8 dereferenceable(24) ptr %12479(ptr noundef nonnull align 8 dereferenceable(32) %12476)
  %12481 = load ptr, ptr %12472, align 8, !tbaa !19
  %12482 = getelementptr inbounds ptr, ptr %12481, i64 5
  %12483 = load ptr, ptr %12482, align 8
  call void %12483(ptr noundef nonnull align 8 dereferenceable(192) %12472, ptr noundef nonnull align 8 dereferenceable(24) %12480, i32 noundef 1, ptr noundef @_ZN7glslangL32E_GL_EXT_control_flow_attributesE, ptr noundef @.str.64)
  %12484 = load ptr, ptr %3, align 8, !tbaa !5
  %12485 = load ptr, ptr %15, align 8, !tbaa !5
  %12486 = getelementptr inbounds %union.YYSTYPE, ptr %12485, i64 -1
  %12487 = getelementptr inbounds %struct.anon.0, ptr %12486, i32 0, i32 2
  %12488 = load ptr, ptr %12487, align 8, !tbaa !10
  %12489 = load ptr, ptr %15, align 8, !tbaa !5
  %12490 = getelementptr inbounds %union.YYSTYPE, ptr %12489, i64 0
  %12491 = getelementptr inbounds %struct.anon.0, ptr %12490, i32 0, i32 2
  %12492 = load ptr, ptr %12491, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext20handleLoopAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %12484, ptr noundef nonnull align 1 %12488, ptr noundef %12492)
  %12493 = load ptr, ptr %15, align 8, !tbaa !5
  %12494 = getelementptr inbounds %union.YYSTYPE, ptr %12493, i64 0
  %12495 = getelementptr inbounds %struct.anon.0, ptr %12494, i32 0, i32 2
  %12496 = load ptr, ptr %12495, align 8, !tbaa !10
  %12497 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12496, ptr %12497, align 8, !tbaa !10
  br label %14379

12498:                                            ; preds = %406
  %12499 = load ptr, ptr %3, align 8, !tbaa !5
  %12500 = getelementptr inbounds %"class.glslang::TParseContext", ptr %12499, i32 0, i32 6
  %12501 = load ptr, ptr %12500, align 8, !tbaa !161
  %12502 = getelementptr inbounds %struct.TLimits, ptr %12501, i32 0, i32 1
  %12503 = load i8, ptr %12502, align 1, !tbaa !162, !range !43, !noundef !44
  %12504 = trunc i8 %12503 to i1
  br i1 %12504, label %12513, label %12505

12505:                                            ; preds = %12498
  %12506 = load ptr, ptr %3, align 8, !tbaa !5
  %12507 = load ptr, ptr %15, align 8, !tbaa !5
  %12508 = getelementptr inbounds %union.YYSTYPE, ptr %12507, i64 -1
  %12509 = getelementptr inbounds %struct.anon, ptr %12508, i32 0, i32 0
  %12510 = load ptr, ptr %12506, align 8, !tbaa !19
  %12511 = getelementptr inbounds ptr, ptr %12510, i64 42
  %12512 = load ptr, ptr %12511, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12512(ptr noundef nonnull align 8 dereferenceable(1176) %12506, ptr noundef nonnull align 8 dereferenceable(24) %12509, ptr noundef @.str.182, ptr noundef @.str.183, ptr noundef @.str.21)
  br label %12513

12513:                                            ; preds = %12505, %12498
  %12514 = load ptr, ptr %3, align 8, !tbaa !5
  %12515 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12514, i32 0, i32 2
  %12516 = load ptr, ptr %12515, align 8, !tbaa !45
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %12516)
  %12517 = load ptr, ptr %3, align 8, !tbaa !5
  %12518 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12517, i32 0, i32 4
  %12519 = load i32, ptr %12518, align 4, !tbaa !163
  %12520 = add nsw i32 %12519, 1
  store i32 %12520, ptr %12518, align 4, !tbaa !163
  %12521 = load ptr, ptr %3, align 8, !tbaa !5
  %12522 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12521, i32 0, i32 3
  %12523 = load i32, ptr %12522, align 8, !tbaa !159
  %12524 = add nsw i32 %12523, 1
  store i32 %12524, ptr %12522, align 8, !tbaa !159
  %12525 = load ptr, ptr %3, align 8, !tbaa !5
  %12526 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12525, i32 0, i32 7
  %12527 = load i32, ptr %12526, align 8, !tbaa !103
  %12528 = add nsw i32 %12527, 1
  store i32 %12528, ptr %12526, align 8, !tbaa !103
  br label %14379

12529:                                            ; preds = %406
  %12530 = load ptr, ptr %3, align 8, !tbaa !5
  %12531 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12530, i32 0, i32 2
  %12532 = load ptr, ptr %12531, align 8, !tbaa !45
  %12533 = load ptr, ptr %3, align 8, !tbaa !5
  %12534 = getelementptr inbounds %"class.glslang::TParseContext", ptr %12533, i32 0, i32 4
  %12535 = getelementptr inbounds [22 x i32], ptr %12534, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %12532, ptr noundef %12535)
  %12536 = load ptr, ptr %3, align 8, !tbaa !5
  %12537 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12536, i32 0, i32 7
  %12538 = load ptr, ptr %12537, align 8, !tbaa !21
  %12539 = load ptr, ptr %15, align 8, !tbaa !5
  %12540 = getelementptr inbounds %union.YYSTYPE, ptr %12539, i64 0
  %12541 = getelementptr inbounds %struct.anon.0, ptr %12540, i32 0, i32 2
  %12542 = load ptr, ptr %12541, align 8, !tbaa !10
  %12543 = load ptr, ptr %15, align 8, !tbaa !5
  %12544 = getelementptr inbounds %union.YYSTYPE, ptr %12543, i64 -2
  %12545 = getelementptr inbounds %struct.anon.0, ptr %12544, i32 0, i32 2
  %12546 = load ptr, ptr %12545, align 8, !tbaa !10
  %12547 = load ptr, ptr %15, align 8, !tbaa !5
  %12548 = getelementptr inbounds %union.YYSTYPE, ptr %12547, i64 -5
  %12549 = getelementptr inbounds %struct.anon, ptr %12548, i32 0, i32 0
  %12550 = call noundef ptr @_ZN7glslang13TIntermediate7addLoopEP11TIntermNodePNS_12TIntermTypedES4_bRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12538, ptr noundef %12542, ptr noundef %12546, ptr noundef null, i1 noundef zeroext true, ptr noundef nonnull align 8 dereferenceable(24) %12549)
  %12551 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12550, ptr %12551, align 8, !tbaa !10
  %12552 = load ptr, ptr %3, align 8, !tbaa !5
  %12553 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12552, i32 0, i32 4
  %12554 = load i32, ptr %12553, align 4, !tbaa !163
  %12555 = add nsw i32 %12554, -1
  store i32 %12555, ptr %12553, align 4, !tbaa !163
  %12556 = load ptr, ptr %3, align 8, !tbaa !5
  %12557 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12556, i32 0, i32 3
  %12558 = load i32, ptr %12557, align 8, !tbaa !159
  %12559 = add nsw i32 %12558, -1
  store i32 %12559, ptr %12557, align 8, !tbaa !159
  %12560 = load ptr, ptr %3, align 8, !tbaa !5
  %12561 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12560, i32 0, i32 7
  %12562 = load i32, ptr %12561, align 8, !tbaa !103
  %12563 = add nsw i32 %12562, -1
  store i32 %12563, ptr %12561, align 8, !tbaa !103
  br label %14379

12564:                                            ; preds = %406
  %12565 = load ptr, ptr %3, align 8, !tbaa !5
  %12566 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12565, i32 0, i32 2
  %12567 = load ptr, ptr %12566, align 8, !tbaa !45
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %12567)
  %12568 = load ptr, ptr %3, align 8, !tbaa !5
  %12569 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12568, i32 0, i32 4
  %12570 = load i32, ptr %12569, align 4, !tbaa !163
  %12571 = add nsw i32 %12570, 1
  store i32 %12571, ptr %12569, align 4, !tbaa !163
  %12572 = load ptr, ptr %3, align 8, !tbaa !5
  %12573 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12572, i32 0, i32 3
  %12574 = load i32, ptr %12573, align 8, !tbaa !159
  %12575 = add nsw i32 %12574, 1
  store i32 %12575, ptr %12573, align 8, !tbaa !159
  %12576 = load ptr, ptr %3, align 8, !tbaa !5
  %12577 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12576, i32 0, i32 7
  %12578 = load i32, ptr %12577, align 8, !tbaa !103
  %12579 = add nsw i32 %12578, 1
  store i32 %12579, ptr %12577, align 8, !tbaa !103
  br label %14379

12580:                                            ; preds = %406
  %12581 = load ptr, ptr %3, align 8, !tbaa !5
  %12582 = getelementptr inbounds %"class.glslang::TParseContext", ptr %12581, i32 0, i32 6
  %12583 = load ptr, ptr %12582, align 8, !tbaa !161
  %12584 = getelementptr inbounds %struct.TLimits, ptr %12583, i32 0, i32 1
  %12585 = load i8, ptr %12584, align 1, !tbaa !162, !range !43, !noundef !44
  %12586 = trunc i8 %12585 to i1
  br i1 %12586, label %12595, label %12587

12587:                                            ; preds = %12580
  %12588 = load ptr, ptr %3, align 8, !tbaa !5
  %12589 = load ptr, ptr %15, align 8, !tbaa !5
  %12590 = getelementptr inbounds %union.YYSTYPE, ptr %12589, i64 -7
  %12591 = getelementptr inbounds %struct.anon, ptr %12590, i32 0, i32 0
  %12592 = load ptr, ptr %12588, align 8, !tbaa !19
  %12593 = getelementptr inbounds ptr, ptr %12592, i64 42
  %12594 = load ptr, ptr %12593, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12594(ptr noundef nonnull align 8 dereferenceable(1176) %12588, ptr noundef nonnull align 8 dereferenceable(24) %12591, ptr noundef @.str.184, ptr noundef @.str.183, ptr noundef @.str.21)
  br label %12595

12595:                                            ; preds = %12587, %12580
  %12596 = load ptr, ptr %3, align 8, !tbaa !5
  %12597 = load ptr, ptr %15, align 8, !tbaa !5
  %12598 = getelementptr inbounds %union.YYSTYPE, ptr %12597, i64 0
  %12599 = getelementptr inbounds %struct.anon, ptr %12598, i32 0, i32 0
  %12600 = load ptr, ptr %15, align 8, !tbaa !5
  %12601 = getelementptr inbounds %union.YYSTYPE, ptr %12600, i64 -2
  %12602 = getelementptr inbounds %struct.anon.0, ptr %12601, i32 0, i32 2
  %12603 = load ptr, ptr %12602, align 8, !tbaa !10
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %12596, ptr noundef nonnull align 8 dereferenceable(24) %12599, ptr noundef %12603)
  %12604 = load ptr, ptr %3, align 8, !tbaa !5
  %12605 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12604, i32 0, i32 7
  %12606 = load ptr, ptr %12605, align 8, !tbaa !21
  %12607 = load ptr, ptr %15, align 8, !tbaa !5
  %12608 = getelementptr inbounds %union.YYSTYPE, ptr %12607, i64 -5
  %12609 = getelementptr inbounds %struct.anon.0, ptr %12608, i32 0, i32 2
  %12610 = load ptr, ptr %12609, align 8, !tbaa !10
  %12611 = load ptr, ptr %15, align 8, !tbaa !5
  %12612 = getelementptr inbounds %union.YYSTYPE, ptr %12611, i64 -2
  %12613 = getelementptr inbounds %struct.anon.0, ptr %12612, i32 0, i32 2
  %12614 = load ptr, ptr %12613, align 8, !tbaa !10
  %12615 = load ptr, ptr %15, align 8, !tbaa !5
  %12616 = getelementptr inbounds %union.YYSTYPE, ptr %12615, i64 -4
  %12617 = getelementptr inbounds %struct.anon, ptr %12616, i32 0, i32 0
  %12618 = call noundef ptr @_ZN7glslang13TIntermediate7addLoopEP11TIntermNodePNS_12TIntermTypedES4_bRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12606, ptr noundef %12610, ptr noundef %12614, ptr noundef null, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %12617)
  %12619 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12618, ptr %12619, align 8, !tbaa !10
  %12620 = load ptr, ptr %3, align 8, !tbaa !5
  %12621 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12620, i32 0, i32 2
  %12622 = load ptr, ptr %12621, align 8, !tbaa !45
  %12623 = load ptr, ptr %3, align 8, !tbaa !5
  %12624 = getelementptr inbounds %"class.glslang::TParseContext", ptr %12623, i32 0, i32 4
  %12625 = getelementptr inbounds [22 x i32], ptr %12624, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %12622, ptr noundef %12625)
  %12626 = load ptr, ptr %3, align 8, !tbaa !5
  %12627 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12626, i32 0, i32 4
  %12628 = load i32, ptr %12627, align 4, !tbaa !163
  %12629 = add nsw i32 %12628, -1
  store i32 %12629, ptr %12627, align 4, !tbaa !163
  %12630 = load ptr, ptr %3, align 8, !tbaa !5
  %12631 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12630, i32 0, i32 3
  %12632 = load i32, ptr %12631, align 8, !tbaa !159
  %12633 = add nsw i32 %12632, -1
  store i32 %12633, ptr %12631, align 8, !tbaa !159
  %12634 = load ptr, ptr %3, align 8, !tbaa !5
  %12635 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12634, i32 0, i32 7
  %12636 = load i32, ptr %12635, align 8, !tbaa !103
  %12637 = add nsw i32 %12636, -1
  store i32 %12637, ptr %12635, align 8, !tbaa !103
  br label %14379

12638:                                            ; preds = %406
  %12639 = load ptr, ptr %3, align 8, !tbaa !5
  %12640 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12639, i32 0, i32 2
  %12641 = load ptr, ptr %12640, align 8, !tbaa !45
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %12641)
  %12642 = load ptr, ptr %3, align 8, !tbaa !5
  %12643 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12642, i32 0, i32 4
  %12644 = load i32, ptr %12643, align 4, !tbaa !163
  %12645 = add nsw i32 %12644, 1
  store i32 %12645, ptr %12643, align 4, !tbaa !163
  %12646 = load ptr, ptr %3, align 8, !tbaa !5
  %12647 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12646, i32 0, i32 3
  %12648 = load i32, ptr %12647, align 8, !tbaa !159
  %12649 = add nsw i32 %12648, 1
  store i32 %12649, ptr %12647, align 8, !tbaa !159
  %12650 = load ptr, ptr %3, align 8, !tbaa !5
  %12651 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12650, i32 0, i32 7
  %12652 = load i32, ptr %12651, align 8, !tbaa !103
  %12653 = add nsw i32 %12652, 1
  store i32 %12653, ptr %12651, align 8, !tbaa !103
  br label %14379

12654:                                            ; preds = %406
  %12655 = load ptr, ptr %3, align 8, !tbaa !5
  %12656 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12655, i32 0, i32 2
  %12657 = load ptr, ptr %12656, align 8, !tbaa !45
  %12658 = load ptr, ptr %3, align 8, !tbaa !5
  %12659 = getelementptr inbounds %"class.glslang::TParseContext", ptr %12658, i32 0, i32 4
  %12660 = getelementptr inbounds [22 x i32], ptr %12659, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %12657, ptr noundef %12660)
  %12661 = load ptr, ptr %3, align 8, !tbaa !5
  %12662 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12661, i32 0, i32 7
  %12663 = load ptr, ptr %12662, align 8, !tbaa !21
  %12664 = load ptr, ptr %15, align 8, !tbaa !5
  %12665 = getelementptr inbounds %union.YYSTYPE, ptr %12664, i64 -3
  %12666 = getelementptr inbounds %struct.anon.0, ptr %12665, i32 0, i32 2
  %12667 = load ptr, ptr %12666, align 8, !tbaa !10
  %12668 = load ptr, ptr %15, align 8, !tbaa !5
  %12669 = getelementptr inbounds %union.YYSTYPE, ptr %12668, i64 -5
  %12670 = getelementptr inbounds %struct.anon, ptr %12669, i32 0, i32 0
  %12671 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNodeRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12663, ptr noundef %12667, ptr noundef nonnull align 8 dereferenceable(24) %12670)
  %12672 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12671, ptr %12672, align 8, !tbaa !10
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #10
  %12673 = load ptr, ptr %3, align 8, !tbaa !5
  %12674 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12673, i32 0, i32 7
  %12675 = load ptr, ptr %12674, align 8, !tbaa !21
  %12676 = load ptr, ptr %15, align 8, !tbaa !5
  %12677 = getelementptr inbounds %union.YYSTYPE, ptr %12676, i64 0
  %12678 = getelementptr inbounds %struct.anon.0, ptr %12677, i32 0, i32 2
  %12679 = load ptr, ptr %12678, align 8, !tbaa !10
  %12680 = load ptr, ptr %15, align 8, !tbaa !5
  %12681 = getelementptr inbounds %union.YYSTYPE, ptr %12680, i64 -2
  %12682 = getelementptr inbounds %struct.anon.0, ptr %12681, i32 0, i32 2
  %12683 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12682, i32 0, i32 0
  %12684 = load ptr, ptr %12683, align 8, !tbaa !10
  %12685 = load ptr, ptr %15, align 8, !tbaa !5
  %12686 = getelementptr inbounds %union.YYSTYPE, ptr %12685, i64 -2
  %12687 = getelementptr inbounds %struct.anon.0, ptr %12686, i32 0, i32 2
  %12688 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12687, i32 0, i32 1
  %12689 = load ptr, ptr %12688, align 8, !tbaa !10
  %12690 = load ptr, ptr %15, align 8, !tbaa !5
  %12691 = getelementptr inbounds %union.YYSTYPE, ptr %12690, i64 -6
  %12692 = getelementptr inbounds %struct.anon, ptr %12691, i32 0, i32 0
  %12693 = call noundef ptr @_ZN7glslang13TIntermediate7addLoopEP11TIntermNodePNS_12TIntermTypedES4_bRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12675, ptr noundef %12679, ptr noundef %12684, ptr noundef %12689, i1 noundef zeroext true, ptr noundef nonnull align 8 dereferenceable(24) %12692)
  store ptr %12693, ptr %97, align 8, !tbaa !5
  %12694 = load ptr, ptr %3, align 8, !tbaa !5
  %12695 = getelementptr inbounds %"class.glslang::TParseContext", ptr %12694, i32 0, i32 6
  %12696 = load ptr, ptr %12695, align 8, !tbaa !161
  %12697 = getelementptr inbounds %struct.TLimits, ptr %12696, i32 0, i32 0
  %12698 = load i8, ptr %12697, align 1, !tbaa !164, !range !43, !noundef !44
  %12699 = trunc i8 %12698 to i1
  br i1 %12699, label %12710, label %12700

12700:                                            ; preds = %12654
  %12701 = load ptr, ptr %3, align 8, !tbaa !5
  %12702 = load ptr, ptr %15, align 8, !tbaa !5
  %12703 = getelementptr inbounds %union.YYSTYPE, ptr %12702, i64 -6
  %12704 = getelementptr inbounds %struct.anon, ptr %12703, i32 0, i32 0
  %12705 = load ptr, ptr %15, align 8, !tbaa !5
  %12706 = getelementptr inbounds %union.YYSTYPE, ptr %12705, i64 -3
  %12707 = getelementptr inbounds %struct.anon.0, ptr %12706, i32 0, i32 2
  %12708 = load ptr, ptr %12707, align 8, !tbaa !10
  %12709 = load ptr, ptr %97, align 8, !tbaa !5
  call void @_ZN7glslang13TParseContext18inductiveLoopCheckERKNS_10TSourceLocEP11TIntermNodePNS_11TIntermLoopE(ptr noundef nonnull align 8 dereferenceable(24912) %12701, ptr noundef nonnull align 8 dereferenceable(24) %12704, ptr noundef %12708, ptr noundef %12709)
  br label %12710

12710:                                            ; preds = %12700, %12654
  %12711 = load ptr, ptr %3, align 8, !tbaa !5
  %12712 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12711, i32 0, i32 7
  %12713 = load ptr, ptr %12712, align 8, !tbaa !21
  %12714 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12715 = load ptr, ptr %12714, align 8, !tbaa !10
  %12716 = load ptr, ptr %97, align 8, !tbaa !5
  %12717 = load ptr, ptr %15, align 8, !tbaa !5
  %12718 = getelementptr inbounds %union.YYSTYPE, ptr %12717, i64 -6
  %12719 = getelementptr inbounds %struct.anon, ptr %12718, i32 0, i32 0
  %12720 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12713, ptr noundef %12715, ptr noundef %12716, ptr noundef nonnull align 8 dereferenceable(24) %12719)
  %12721 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12720, ptr %12721, align 8, !tbaa !10
  %12722 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12723 = load ptr, ptr %12722, align 8, !tbaa !10
  %12724 = load ptr, ptr %12723, align 8, !tbaa !19
  %12725 = getelementptr inbounds ptr, ptr %12724, i64 6
  %12726 = load ptr, ptr %12725, align 8
  %12727 = call noundef ptr %12726(ptr noundef nonnull align 8 dereferenceable(32) %12723)
  %12728 = load ptr, ptr %12727, align 8, !tbaa !19
  %12729 = getelementptr inbounds ptr, ptr %12728, i64 49
  %12730 = load ptr, ptr %12729, align 8
  call void %12730(ptr noundef nonnull align 8 dereferenceable(352) %12727, i32 noundef 1)
  %12731 = load ptr, ptr %3, align 8, !tbaa !5
  %12732 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12731, i32 0, i32 4
  %12733 = load i32, ptr %12732, align 4, !tbaa !163
  %12734 = add nsw i32 %12733, -1
  store i32 %12734, ptr %12732, align 4, !tbaa !163
  %12735 = load ptr, ptr %3, align 8, !tbaa !5
  %12736 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12735, i32 0, i32 3
  %12737 = load i32, ptr %12736, align 8, !tbaa !159
  %12738 = add nsw i32 %12737, -1
  store i32 %12738, ptr %12736, align 8, !tbaa !159
  %12739 = load ptr, ptr %3, align 8, !tbaa !5
  %12740 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12739, i32 0, i32 7
  %12741 = load i32, ptr %12740, align 8, !tbaa !103
  %12742 = add nsw i32 %12741, -1
  store i32 %12742, ptr %12740, align 8, !tbaa !103
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #10
  br label %14379

12743:                                            ; preds = %406
  %12744 = load ptr, ptr %15, align 8, !tbaa !5
  %12745 = getelementptr inbounds %union.YYSTYPE, ptr %12744, i64 0
  %12746 = getelementptr inbounds %struct.anon.0, ptr %12745, i32 0, i32 2
  %12747 = load ptr, ptr %12746, align 8, !tbaa !10
  %12748 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12747, ptr %12748, align 8, !tbaa !10
  br label %14379

12749:                                            ; preds = %406
  %12750 = load ptr, ptr %15, align 8, !tbaa !5
  %12751 = getelementptr inbounds %union.YYSTYPE, ptr %12750, i64 0
  %12752 = getelementptr inbounds %struct.anon.0, ptr %12751, i32 0, i32 2
  %12753 = load ptr, ptr %12752, align 8, !tbaa !10
  %12754 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12753, ptr %12754, align 8, !tbaa !10
  br label %14379

12755:                                            ; preds = %406
  %12756 = load ptr, ptr %15, align 8, !tbaa !5
  %12757 = getelementptr inbounds %union.YYSTYPE, ptr %12756, i64 0
  %12758 = getelementptr inbounds %struct.anon.0, ptr %12757, i32 0, i32 2
  %12759 = load ptr, ptr %12758, align 8, !tbaa !10
  %12760 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12759, ptr %12760, align 8, !tbaa !10
  br label %14379

12761:                                            ; preds = %406
  %12762 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12762, align 8, !tbaa !10
  br label %14379

12763:                                            ; preds = %406
  %12764 = load ptr, ptr %15, align 8, !tbaa !5
  %12765 = getelementptr inbounds %union.YYSTYPE, ptr %12764, i64 -1
  %12766 = getelementptr inbounds %struct.anon.0, ptr %12765, i32 0, i32 2
  %12767 = load ptr, ptr %12766, align 8, !tbaa !10
  %12768 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12769 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12768, i32 0, i32 0
  store ptr %12767, ptr %12769, align 8, !tbaa !10
  %12770 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12771 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12770, i32 0, i32 1
  store ptr null, ptr %12771, align 8, !tbaa !10
  br label %14379

12772:                                            ; preds = %406
  %12773 = load ptr, ptr %15, align 8, !tbaa !5
  %12774 = getelementptr inbounds %union.YYSTYPE, ptr %12773, i64 -2
  %12775 = getelementptr inbounds %struct.anon.0, ptr %12774, i32 0, i32 2
  %12776 = load ptr, ptr %12775, align 8, !tbaa !10
  %12777 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12778 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12777, i32 0, i32 0
  store ptr %12776, ptr %12778, align 8, !tbaa !10
  %12779 = load ptr, ptr %15, align 8, !tbaa !5
  %12780 = getelementptr inbounds %union.YYSTYPE, ptr %12779, i64 0
  %12781 = getelementptr inbounds %struct.anon.0, ptr %12780, i32 0, i32 2
  %12782 = load ptr, ptr %12781, align 8, !tbaa !10
  %12783 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12784 = getelementptr inbounds %"struct.glslang::TIntermNodePair", ptr %12783, i32 0, i32 1
  store ptr %12782, ptr %12784, align 8, !tbaa !10
  br label %14379

12785:                                            ; preds = %406
  %12786 = load ptr, ptr %3, align 8, !tbaa !5
  %12787 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12786, i32 0, i32 4
  %12788 = load i32, ptr %12787, align 4, !tbaa !163
  %12789 = icmp sle i32 %12788, 0
  br i1 %12789, label %12790, label %12798

12790:                                            ; preds = %12785
  %12791 = load ptr, ptr %3, align 8, !tbaa !5
  %12792 = load ptr, ptr %15, align 8, !tbaa !5
  %12793 = getelementptr inbounds %union.YYSTYPE, ptr %12792, i64 -1
  %12794 = getelementptr inbounds %struct.anon, ptr %12793, i32 0, i32 0
  %12795 = load ptr, ptr %12791, align 8, !tbaa !19
  %12796 = getelementptr inbounds ptr, ptr %12795, i64 42
  %12797 = load ptr, ptr %12796, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12797(ptr noundef nonnull align 8 dereferenceable(1176) %12791, ptr noundef nonnull align 8 dereferenceable(24) %12794, ptr noundef @.str.185, ptr noundef @.str.21, ptr noundef @.str.21)
  br label %12798

12798:                                            ; preds = %12790, %12785
  %12799 = load ptr, ptr %3, align 8, !tbaa !5
  %12800 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12799, i32 0, i32 7
  %12801 = load ptr, ptr %12800, align 8, !tbaa !21
  %12802 = load ptr, ptr %15, align 8, !tbaa !5
  %12803 = getelementptr inbounds %union.YYSTYPE, ptr %12802, i64 -1
  %12804 = getelementptr inbounds %struct.anon, ptr %12803, i32 0, i32 0
  %12805 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12801, i32 noundef 462, ptr noundef nonnull align 8 dereferenceable(24) %12804)
  %12806 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12805, ptr %12806, align 8, !tbaa !10
  br label %14379

12807:                                            ; preds = %406
  %12808 = load ptr, ptr %3, align 8, !tbaa !5
  %12809 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12808, i32 0, i32 4
  %12810 = load i32, ptr %12809, align 4, !tbaa !163
  %12811 = sext i32 %12810 to i64
  %12812 = load ptr, ptr %3, align 8, !tbaa !5
  %12813 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12812, i32 0, i32 11
  %12814 = call noundef i64 @_ZNKSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %12813) #10
  %12815 = add i64 %12811, %12814
  %12816 = icmp ule i64 %12815, 0
  br i1 %12816, label %12817, label %12825

12817:                                            ; preds = %12807
  %12818 = load ptr, ptr %3, align 8, !tbaa !5
  %12819 = load ptr, ptr %15, align 8, !tbaa !5
  %12820 = getelementptr inbounds %union.YYSTYPE, ptr %12819, i64 -1
  %12821 = getelementptr inbounds %struct.anon, ptr %12820, i32 0, i32 0
  %12822 = load ptr, ptr %12818, align 8, !tbaa !19
  %12823 = getelementptr inbounds ptr, ptr %12822, i64 42
  %12824 = load ptr, ptr %12823, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12824(ptr noundef nonnull align 8 dereferenceable(1176) %12818, ptr noundef nonnull align 8 dereferenceable(24) %12821, ptr noundef @.str.186, ptr noundef @.str.21, ptr noundef @.str.21)
  br label %12825

12825:                                            ; preds = %12817, %12807
  %12826 = load ptr, ptr %3, align 8, !tbaa !5
  %12827 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12826, i32 0, i32 7
  %12828 = load ptr, ptr %12827, align 8, !tbaa !21
  %12829 = load ptr, ptr %15, align 8, !tbaa !5
  %12830 = getelementptr inbounds %union.YYSTYPE, ptr %12829, i64 -1
  %12831 = getelementptr inbounds %struct.anon, ptr %12830, i32 0, i32 0
  %12832 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12828, i32 noundef 461, ptr noundef nonnull align 8 dereferenceable(24) %12831)
  %12833 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12832, ptr %12833, align 8, !tbaa !10
  br label %14379

12834:                                            ; preds = %406
  %12835 = load ptr, ptr %3, align 8, !tbaa !5
  %12836 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12835, i32 0, i32 7
  %12837 = load ptr, ptr %12836, align 8, !tbaa !21
  %12838 = load ptr, ptr %15, align 8, !tbaa !5
  %12839 = getelementptr inbounds %union.YYSTYPE, ptr %12838, i64 -1
  %12840 = getelementptr inbounds %struct.anon, ptr %12839, i32 0, i32 0
  %12841 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12837, i32 noundef 460, ptr noundef nonnull align 8 dereferenceable(24) %12840)
  %12842 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12841, ptr %12842, align 8, !tbaa !10
  %12843 = load ptr, ptr %3, align 8, !tbaa !5
  %12844 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12843, i32 0, i32 8
  %12845 = load ptr, ptr %12844, align 8, !tbaa !165
  %12846 = load ptr, ptr %12845, align 8, !tbaa !19
  %12847 = getelementptr inbounds ptr, ptr %12846, i64 7
  %12848 = load ptr, ptr %12847, align 8
  %12849 = call noundef i32 %12848(ptr noundef nonnull align 8 dereferenceable(144) %12845)
  %12850 = icmp ne i32 %12849, 0
  br i1 %12850, label %12851, label %12859

12851:                                            ; preds = %12834
  %12852 = load ptr, ptr %3, align 8, !tbaa !5
  %12853 = load ptr, ptr %15, align 8, !tbaa !5
  %12854 = getelementptr inbounds %union.YYSTYPE, ptr %12853, i64 -1
  %12855 = getelementptr inbounds %struct.anon, ptr %12854, i32 0, i32 0
  %12856 = load ptr, ptr %12852, align 8, !tbaa !19
  %12857 = getelementptr inbounds ptr, ptr %12856, i64 42
  %12858 = load ptr, ptr %12857, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %12858(ptr noundef nonnull align 8 dereferenceable(1176) %12852, ptr noundef nonnull align 8 dereferenceable(24) %12855, ptr noundef @.str.187, ptr noundef @.str.188, ptr noundef @.str.21)
  br label %12859

12859:                                            ; preds = %12851, %12834
  %12860 = load ptr, ptr %3, align 8, !tbaa !5
  %12861 = getelementptr inbounds %"class.glslang::TParseContext", ptr %12860, i32 0, i32 1
  %12862 = load i8, ptr %12861, align 8, !tbaa !166, !range !43, !noundef !44
  %12863 = trunc i8 %12862 to i1
  br i1 %12863, label %12864, label %12867

12864:                                            ; preds = %12859
  %12865 = load ptr, ptr %3, align 8, !tbaa !5
  %12866 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %12865, i32 0, i32 10
  store i8 1, ptr %12866, align 1, !tbaa !167
  br label %12867

12867:                                            ; preds = %12864, %12859
  br label %14379

12868:                                            ; preds = %406
  %12869 = load ptr, ptr %3, align 8, !tbaa !5
  %12870 = load ptr, ptr %15, align 8, !tbaa !5
  %12871 = getelementptr inbounds %union.YYSTYPE, ptr %12870, i64 -2
  %12872 = getelementptr inbounds %struct.anon, ptr %12871, i32 0, i32 0
  %12873 = load ptr, ptr %15, align 8, !tbaa !5
  %12874 = getelementptr inbounds %union.YYSTYPE, ptr %12873, i64 -1
  %12875 = getelementptr inbounds %struct.anon.0, ptr %12874, i32 0, i32 2
  %12876 = load ptr, ptr %12875, align 8, !tbaa !10
  %12877 = call noundef ptr @_ZN7glslang13TParseContext17handleReturnValueERKNS_10TSourceLocEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %12869, ptr noundef nonnull align 8 dereferenceable(24) %12872, ptr noundef %12876)
  %12878 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12877, ptr %12878, align 8, !tbaa !10
  br label %14379

12879:                                            ; preds = %406
  %12880 = load ptr, ptr %3, align 8, !tbaa !5
  %12881 = load ptr, ptr %15, align 8, !tbaa !5
  %12882 = getelementptr inbounds %union.YYSTYPE, ptr %12881, i64 -1
  %12883 = getelementptr inbounds %struct.anon, ptr %12882, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %12880, ptr noundef nonnull align 8 dereferenceable(24) %12883, i32 noundef 4, ptr noundef @.str.189)
  %12884 = load ptr, ptr %3, align 8, !tbaa !5
  %12885 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12884, i32 0, i32 7
  %12886 = load ptr, ptr %12885, align 8, !tbaa !21
  %12887 = load ptr, ptr %15, align 8, !tbaa !5
  %12888 = getelementptr inbounds %union.YYSTYPE, ptr %12887, i64 -1
  %12889 = getelementptr inbounds %struct.anon, ptr %12888, i32 0, i32 0
  %12890 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12886, i32 noundef 455, ptr noundef nonnull align 8 dereferenceable(24) %12889)
  %12891 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12890, ptr %12891, align 8, !tbaa !10
  br label %14379

12892:                                            ; preds = %406
  %12893 = load ptr, ptr %3, align 8, !tbaa !5
  %12894 = load ptr, ptr %15, align 8, !tbaa !5
  %12895 = getelementptr inbounds %union.YYSTYPE, ptr %12894, i64 -1
  %12896 = getelementptr inbounds %struct.anon, ptr %12895, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %12893, ptr noundef nonnull align 8 dereferenceable(24) %12896, i32 noundef 4, ptr noundef @.str.190)
  %12897 = load ptr, ptr %3, align 8, !tbaa !5
  %12898 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12897, i32 0, i32 7
  %12899 = load ptr, ptr %12898, align 8, !tbaa !21
  %12900 = load ptr, ptr %15, align 8, !tbaa !5
  %12901 = getelementptr inbounds %union.YYSTYPE, ptr %12900, i64 -1
  %12902 = getelementptr inbounds %struct.anon, ptr %12901, i32 0, i32 0
  %12903 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12899, i32 noundef 456, ptr noundef nonnull align 8 dereferenceable(24) %12902)
  %12904 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12903, ptr %12904, align 8, !tbaa !10
  br label %14379

12905:                                            ; preds = %406
  %12906 = load ptr, ptr %3, align 8, !tbaa !5
  %12907 = load ptr, ptr %15, align 8, !tbaa !5
  %12908 = getelementptr inbounds %union.YYSTYPE, ptr %12907, i64 -1
  %12909 = getelementptr inbounds %struct.anon, ptr %12908, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %12906, ptr noundef nonnull align 8 dereferenceable(24) %12909, i32 noundef 8, ptr noundef @.str.191)
  %12910 = load ptr, ptr %3, align 8, !tbaa !5
  %12911 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12910, i32 0, i32 7
  %12912 = load ptr, ptr %12911, align 8, !tbaa !21
  %12913 = load ptr, ptr %15, align 8, !tbaa !5
  %12914 = getelementptr inbounds %union.YYSTYPE, ptr %12913, i64 -1
  %12915 = getelementptr inbounds %struct.anon, ptr %12914, i32 0, i32 0
  %12916 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12912, i32 noundef 458, ptr noundef nonnull align 8 dereferenceable(24) %12915)
  %12917 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12916, ptr %12917, align 8, !tbaa !10
  br label %14379

12918:                                            ; preds = %406
  %12919 = load ptr, ptr %3, align 8, !tbaa !5
  %12920 = load ptr, ptr %15, align 8, !tbaa !5
  %12921 = getelementptr inbounds %union.YYSTYPE, ptr %12920, i64 -1
  %12922 = getelementptr inbounds %struct.anon, ptr %12921, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %12919, ptr noundef nonnull align 8 dereferenceable(24) %12922, i32 noundef 8, ptr noundef @.str.192)
  %12923 = load ptr, ptr %3, align 8, !tbaa !5
  %12924 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12923, i32 0, i32 7
  %12925 = load ptr, ptr %12924, align 8, !tbaa !21
  %12926 = load ptr, ptr %15, align 8, !tbaa !5
  %12927 = getelementptr inbounds %union.YYSTYPE, ptr %12926, i64 -1
  %12928 = getelementptr inbounds %struct.anon, ptr %12927, i32 0, i32 0
  %12929 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %12925, i32 noundef 459, ptr noundef nonnull align 8 dereferenceable(24) %12928)
  %12930 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12929, ptr %12930, align 8, !tbaa !10
  br label %14379

12931:                                            ; preds = %406
  %12932 = load ptr, ptr %15, align 8, !tbaa !5
  %12933 = getelementptr inbounds %union.YYSTYPE, ptr %12932, i64 0
  %12934 = getelementptr inbounds %struct.anon.0, ptr %12933, i32 0, i32 2
  %12935 = load ptr, ptr %12934, align 8, !tbaa !10
  %12936 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12935, ptr %12936, align 8, !tbaa !10
  %12937 = load ptr, ptr %3, align 8, !tbaa !5
  %12938 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12937, i32 0, i32 7
  %12939 = load ptr, ptr %12938, align 8, !tbaa !21
  %12940 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12941 = load ptr, ptr %12940, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate11setTreeRootEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %12939, ptr noundef %12941)
  br label %14379

12942:                                            ; preds = %406
  %12943 = load ptr, ptr %15, align 8, !tbaa !5
  %12944 = getelementptr inbounds %union.YYSTYPE, ptr %12943, i64 0
  %12945 = getelementptr inbounds %struct.anon.0, ptr %12944, i32 0, i32 2
  %12946 = load ptr, ptr %12945, align 8, !tbaa !10
  %12947 = icmp ne ptr %12946, null
  br i1 %12947, label %12948, label %12967

12948:                                            ; preds = %12942
  %12949 = load ptr, ptr %3, align 8, !tbaa !5
  %12950 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12949, i32 0, i32 7
  %12951 = load ptr, ptr %12950, align 8, !tbaa !21
  %12952 = load ptr, ptr %15, align 8, !tbaa !5
  %12953 = getelementptr inbounds %union.YYSTYPE, ptr %12952, i64 -1
  %12954 = getelementptr inbounds %struct.anon.0, ptr %12953, i32 0, i32 2
  %12955 = load ptr, ptr %12954, align 8, !tbaa !10
  %12956 = load ptr, ptr %15, align 8, !tbaa !5
  %12957 = getelementptr inbounds %union.YYSTYPE, ptr %12956, i64 0
  %12958 = getelementptr inbounds %struct.anon.0, ptr %12957, i32 0, i32 2
  %12959 = load ptr, ptr %12958, align 8, !tbaa !10
  %12960 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %12951, ptr noundef %12955, ptr noundef %12959)
  %12961 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12960, ptr %12961, align 8, !tbaa !10
  %12962 = load ptr, ptr %3, align 8, !tbaa !5
  %12963 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %12962, i32 0, i32 7
  %12964 = load ptr, ptr %12963, align 8, !tbaa !21
  %12965 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %12966 = load ptr, ptr %12965, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate11setTreeRootEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %12964, ptr noundef %12966)
  br label %12967

12967:                                            ; preds = %12948, %12942
  br label %14379

12968:                                            ; preds = %406
  %12969 = load ptr, ptr %15, align 8, !tbaa !5
  %12970 = getelementptr inbounds %union.YYSTYPE, ptr %12969, i64 0
  %12971 = getelementptr inbounds %struct.anon.0, ptr %12970, i32 0, i32 2
  %12972 = load ptr, ptr %12971, align 8, !tbaa !10
  %12973 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12972, ptr %12973, align 8, !tbaa !10
  br label %14379

12974:                                            ; preds = %406
  %12975 = load ptr, ptr %15, align 8, !tbaa !5
  %12976 = getelementptr inbounds %union.YYSTYPE, ptr %12975, i64 0
  %12977 = getelementptr inbounds %struct.anon.0, ptr %12976, i32 0, i32 2
  %12978 = load ptr, ptr %12977, align 8, !tbaa !10
  %12979 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %12978, ptr %12979, align 8, !tbaa !10
  br label %14379

12980:                                            ; preds = %406
  %12981 = load ptr, ptr %3, align 8, !tbaa !5
  %12982 = load ptr, ptr %15, align 8, !tbaa !5
  %12983 = getelementptr inbounds %union.YYSTYPE, ptr %12982, i64 0
  %12984 = getelementptr inbounds %struct.anon, ptr %12983, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %12981, ptr noundef nonnull align 8 dereferenceable(24) %12984, i32 noundef -9, ptr noundef @.str.193)
  %12985 = load ptr, ptr %3, align 8, !tbaa !5
  %12986 = load ptr, ptr %15, align 8, !tbaa !5
  %12987 = getelementptr inbounds %union.YYSTYPE, ptr %12986, i64 0
  %12988 = getelementptr inbounds %struct.anon, ptr %12987, i32 0, i32 0
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %12985, ptr noundef nonnull align 8 dereferenceable(24) %12988, i32 noundef -9, i32 noundef 460, ptr noundef null, ptr noundef @.str.193)
  %12989 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %12989, align 8, !tbaa !10
  br label %14379

12990:                                            ; preds = %406
  %12991 = load ptr, ptr %3, align 8, !tbaa !5
  %12992 = load ptr, ptr %15, align 8, !tbaa !5
  %12993 = getelementptr inbounds %union.YYSTYPE, ptr %12992, i64 0
  %12994 = getelementptr inbounds %struct.anon.0, ptr %12993, i32 0, i32 0
  %12995 = load ptr, ptr %15, align 8, !tbaa !5
  %12996 = getelementptr inbounds %union.YYSTYPE, ptr %12995, i64 0
  %12997 = getelementptr inbounds %struct.anon.0, ptr %12996, i32 0, i32 3
  %12998 = load ptr, ptr %12997, align 8, !tbaa !10
  %12999 = call noundef ptr @_ZN7glslang13TParseContext24handleFunctionDeclaratorERKNS_10TSourceLocERNS_9TFunctionEb(ptr noundef nonnull align 8 dereferenceable(24912) %12991, ptr noundef nonnull align 8 dereferenceable(24) %12994, ptr noundef nonnull align 8 dereferenceable(328) %12998, i1 noundef zeroext false)
  %13000 = load ptr, ptr %15, align 8, !tbaa !5
  %13001 = getelementptr inbounds %union.YYSTYPE, ptr %13000, i64 0
  %13002 = getelementptr inbounds %struct.anon.0, ptr %13001, i32 0, i32 3
  store ptr %12999, ptr %13002, align 8, !tbaa !10
  %13003 = load ptr, ptr %3, align 8, !tbaa !5
  %13004 = load ptr, ptr %15, align 8, !tbaa !5
  %13005 = getelementptr inbounds %union.YYSTYPE, ptr %13004, i64 0
  %13006 = getelementptr inbounds %struct.anon.0, ptr %13005, i32 0, i32 0
  %13007 = load ptr, ptr %15, align 8, !tbaa !5
  %13008 = getelementptr inbounds %union.YYSTYPE, ptr %13007, i64 0
  %13009 = getelementptr inbounds %struct.anon.0, ptr %13008, i32 0, i32 3
  %13010 = load ptr, ptr %13009, align 8, !tbaa !10
  %13011 = call noundef ptr @_ZN7glslang13TParseContext24handleFunctionDefinitionERKNS_10TSourceLocERNS_9TFunctionE(ptr noundef nonnull align 8 dereferenceable(24912) %13003, ptr noundef nonnull align 8 dereferenceable(24) %13006, ptr noundef nonnull align 8 dereferenceable(328) %13010)
  %13012 = load ptr, ptr %15, align 8, !tbaa !5
  %13013 = getelementptr inbounds %union.YYSTYPE, ptr %13012, i64 0
  %13014 = getelementptr inbounds %struct.anon.0, ptr %13013, i32 0, i32 2
  store ptr %13011, ptr %13014, align 8, !tbaa !10
  %13015 = load ptr, ptr %3, align 8, !tbaa !5
  %13016 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13015, i32 0, i32 2
  %13017 = load i32, ptr %13016, align 4, !tbaa !168
  %13018 = icmp eq i32 %13017, 8
  br i1 %13018, label %13019, label %13032

13019:                                            ; preds = %12990
  %13020 = load ptr, ptr %3, align 8, !tbaa !5
  %13021 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13020, i32 0, i32 4
  %13022 = load i32, ptr %13021, align 8, !tbaa !169
  %13023 = icmp eq i32 %13022, 100
  br i1 %13023, label %13024, label %13032

13024:                                            ; preds = %13019
  %13025 = load ptr, ptr %3, align 8, !tbaa !5
  %13026 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13025, i32 0, i32 2
  %13027 = load ptr, ptr %13026, align 8, !tbaa !45
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %13027)
  %13028 = load ptr, ptr %3, align 8, !tbaa !5
  %13029 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13028, i32 0, i32 3
  %13030 = load i32, ptr %13029, align 8, !tbaa !159
  %13031 = add nsw i32 %13030, 1
  store i32 %13031, ptr %13029, align 8, !tbaa !159
  br label %13032

13032:                                            ; preds = %13024, %13019, %12990
  br label %14379

13033:                                            ; preds = %406
  %13034 = load ptr, ptr %3, align 8, !tbaa !5
  %13035 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13034, i32 0, i32 8
  %13036 = load ptr, ptr %13035, align 8, !tbaa !165
  %13037 = load ptr, ptr %13036, align 8, !tbaa !19
  %13038 = getelementptr inbounds ptr, ptr %13037, i64 7
  %13039 = load ptr, ptr %13038, align 8
  %13040 = call noundef i32 %13039(ptr noundef nonnull align 8 dereferenceable(144) %13036)
  %13041 = icmp ne i32 %13040, 0
  br i1 %13041, label %13042, label %13064

13042:                                            ; preds = %13033
  %13043 = load ptr, ptr %3, align 8, !tbaa !5
  %13044 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13043, i32 0, i32 9
  %13045 = load i8, ptr %13044, align 8, !tbaa !170, !range !43, !noundef !44
  %13046 = trunc i8 %13045 to i1
  br i1 %13046, label %13064, label %13047

13047:                                            ; preds = %13042
  %13048 = load ptr, ptr %3, align 8, !tbaa !5
  %13049 = load ptr, ptr %15, align 8, !tbaa !5
  %13050 = getelementptr inbounds %union.YYSTYPE, ptr %13049, i64 -2
  %13051 = getelementptr inbounds %struct.anon.0, ptr %13050, i32 0, i32 0
  %13052 = load ptr, ptr %15, align 8, !tbaa !5
  %13053 = getelementptr inbounds %union.YYSTYPE, ptr %13052, i64 -2
  %13054 = getelementptr inbounds %struct.anon.0, ptr %13053, i32 0, i32 3
  %13055 = load ptr, ptr %13054, align 8, !tbaa !10
  %13056 = load ptr, ptr %13055, align 8, !tbaa !19
  %13057 = getelementptr inbounds ptr, ptr %13056, i64 3
  %13058 = load ptr, ptr %13057, align 8
  %13059 = call noundef nonnull align 8 dereferenceable(40) ptr %13058(ptr noundef nonnull align 8 dereferenceable(33) %13055)
  %13060 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %13059) #10
  %13061 = load ptr, ptr %13048, align 8, !tbaa !19
  %13062 = getelementptr inbounds ptr, ptr %13061, i64 42
  %13063 = load ptr, ptr %13062, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %13063(ptr noundef nonnull align 8 dereferenceable(1176) %13048, ptr noundef nonnull align 8 dereferenceable(24) %13051, ptr noundef @.str.194, ptr noundef @.str.21, ptr noundef %13060)
  br label %13064

13064:                                            ; preds = %13047, %13042, %13033
  %13065 = load ptr, ptr %3, align 8, !tbaa !5
  %13066 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13065, i32 0, i32 2
  %13067 = load ptr, ptr %13066, align 8, !tbaa !45
  %13068 = load ptr, ptr %3, align 8, !tbaa !5
  %13069 = getelementptr inbounds %"class.glslang::TParseContext", ptr %13068, i32 0, i32 4
  %13070 = getelementptr inbounds [22 x i32], ptr %13069, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %13067, ptr noundef %13070)
  %13071 = load ptr, ptr %3, align 8, !tbaa !5
  %13072 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13071, i32 0, i32 7
  %13073 = load ptr, ptr %13072, align 8, !tbaa !21
  %13074 = load ptr, ptr %15, align 8, !tbaa !5
  %13075 = getelementptr inbounds %union.YYSTYPE, ptr %13074, i64 -2
  %13076 = getelementptr inbounds %struct.anon.0, ptr %13075, i32 0, i32 2
  %13077 = load ptr, ptr %13076, align 8, !tbaa !10
  %13078 = load ptr, ptr %15, align 8, !tbaa !5
  %13079 = getelementptr inbounds %union.YYSTYPE, ptr %13078, i64 0
  %13080 = getelementptr inbounds %struct.anon.0, ptr %13079, i32 0, i32 2
  %13081 = load ptr, ptr %13080, align 8, !tbaa !10
  %13082 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %13073, ptr noundef %13077, ptr noundef %13081)
  %13083 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13082, ptr %13083, align 8, !tbaa !10
  %13084 = load ptr, ptr %3, align 8, !tbaa !5
  %13085 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13084, i32 0, i32 7
  %13086 = load ptr, ptr %13085, align 8, !tbaa !21
  %13087 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %13088 = load ptr, ptr %13087, align 8, !tbaa !10
  %13089 = load ptr, ptr %15, align 8, !tbaa !5
  %13090 = getelementptr inbounds %union.YYSTYPE, ptr %13089, i64 -2
  %13091 = getelementptr inbounds %struct.anon.0, ptr %13090, i32 0, i32 3
  %13092 = load ptr, ptr %13091, align 8, !tbaa !10
  %13093 = load ptr, ptr %13092, align 8, !tbaa !19
  %13094 = getelementptr inbounds ptr, ptr %13093, i64 12
  %13095 = load ptr, ptr %13094, align 8
  %13096 = call noundef nonnull align 8 dereferenceable(144) ptr %13095(ptr noundef nonnull align 8 dereferenceable(328) %13092)
  %13097 = load ptr, ptr %15, align 8, !tbaa !5
  %13098 = getelementptr inbounds %union.YYSTYPE, ptr %13097, i64 -2
  %13099 = getelementptr inbounds %struct.anon.0, ptr %13098, i32 0, i32 0
  %13100 = call noundef ptr @_ZN7glslang13TIntermediate20setAggregateOperatorEP11TIntermNodeNS_9TOperatorERKNS_5TTypeERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %13086, ptr noundef %13088, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(144) %13096, ptr noundef nonnull align 8 dereferenceable(24) %13099)
  %13101 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %13102 = load ptr, ptr %13101, align 8, !tbaa !10
  %13103 = load ptr, ptr %13102, align 8, !tbaa !19
  %13104 = getelementptr inbounds ptr, ptr %13103, i64 6
  %13105 = load ptr, ptr %13104, align 8
  %13106 = call noundef ptr %13105(ptr noundef nonnull align 8 dereferenceable(32) %13102)
  call void @llvm.lifetime.start.p0(i64 40, ptr %98) #10
  %13107 = load ptr, ptr %15, align 8, !tbaa !5
  %13108 = getelementptr inbounds %union.YYSTYPE, ptr %13107, i64 -2
  %13109 = getelementptr inbounds %struct.anon.0, ptr %13108, i32 0, i32 3
  %13110 = load ptr, ptr %13109, align 8, !tbaa !10
  %13111 = load ptr, ptr %13110, align 8, !tbaa !19
  %13112 = getelementptr inbounds ptr, ptr %13111, i64 6
  %13113 = load ptr, ptr %13112, align 8
  %13114 = call noundef nonnull align 8 dereferenceable(40) ptr %13113(ptr noundef nonnull align 8 dereferenceable(328) %13110)
  %13115 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %13114) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %99) #10
  call void @_ZN7glslang14pool_allocatorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEC2IS5_EEPKcRKS5_(ptr noundef nonnull align 8 dereferenceable(40) %98, ptr noundef %13115, ptr noundef nonnull align 8 dereferenceable(8) %99)
  %13116 = load ptr, ptr %13106, align 8, !tbaa !19
  %13117 = getelementptr inbounds ptr, ptr %13116, i64 52
  %13118 = load ptr, ptr %13117, align 8
  invoke void %13118(ptr noundef nonnull align 8 dereferenceable(352) %13106, ptr noundef nonnull align 8 dereferenceable(40) %98)
          to label %13119 unwind label %13173

13119:                                            ; preds = %13064
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %98) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %98) #10
  %13120 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %13121 = load ptr, ptr %13120, align 8, !tbaa !10
  %13122 = load ptr, ptr %13121, align 8, !tbaa !19
  %13123 = getelementptr inbounds ptr, ptr %13122, i64 6
  %13124 = load ptr, ptr %13123, align 8
  %13125 = call noundef ptr %13124(ptr noundef nonnull align 8 dereferenceable(32) %13121)
  %13126 = load ptr, ptr %3, align 8, !tbaa !5
  %13127 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13126, i32 0, i32 13
  %13128 = getelementptr inbounds %"struct.glslang::TPragma", ptr %13127, i32 0, i32 0
  %13129 = load i8, ptr %13128, align 8, !tbaa !171, !range !43, !noundef !44
  %13130 = trunc i8 %13129 to i1
  call void @_ZN7glslang16TIntermAggregate11setOptimizeEb(ptr noundef nonnull align 8 dereferenceable(352) %13125, i1 noundef zeroext %13130)
  %13131 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %13132 = load ptr, ptr %13131, align 8, !tbaa !10
  %13133 = load ptr, ptr %13132, align 8, !tbaa !19
  %13134 = getelementptr inbounds ptr, ptr %13133, i64 6
  %13135 = load ptr, ptr %13134, align 8
  %13136 = call noundef ptr %13135(ptr noundef nonnull align 8 dereferenceable(32) %13132)
  %13137 = load ptr, ptr %3, align 8, !tbaa !5
  %13138 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13137, i32 0, i32 13
  %13139 = getelementptr inbounds %"struct.glslang::TPragma", ptr %13138, i32 0, i32 1
  %13140 = load i8, ptr %13139, align 1, !tbaa !172, !range !43, !noundef !44
  %13141 = trunc i8 %13140 to i1
  call void @_ZN7glslang16TIntermAggregate8setDebugEb(ptr noundef nonnull align 8 dereferenceable(352) %13136, i1 noundef zeroext %13141)
  %13142 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  %13143 = load ptr, ptr %13142, align 8, !tbaa !10
  %13144 = load ptr, ptr %13143, align 8, !tbaa !19
  %13145 = getelementptr inbounds ptr, ptr %13144, i64 6
  %13146 = load ptr, ptr %13145, align 8
  %13147 = call noundef ptr %13146(ptr noundef nonnull align 8 dereferenceable(32) %13143)
  %13148 = load ptr, ptr %3, align 8, !tbaa !5
  %13149 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13148, i32 0, i32 13
  %13150 = getelementptr inbounds %"struct.glslang::TPragma", ptr %13149, i32 0, i32 2
  call void @_ZN7glslang16TIntermAggregate14setPragmaTableERKNS_12TPragmaTableE(ptr noundef nonnull align 8 dereferenceable(352) %13147, ptr noundef nonnull align 8 dereferenceable(56) %13150)
  %13151 = load ptr, ptr %3, align 8, !tbaa !5
  %13152 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13151, i32 0, i32 8
  store ptr null, ptr %13152, align 8, !tbaa !165
  %13153 = load ptr, ptr %3, align 8, !tbaa !5
  %13154 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13153, i32 0, i32 2
  %13155 = load i32, ptr %13154, align 4, !tbaa !168
  %13156 = icmp eq i32 %13155, 8
  br i1 %13156, label %13157, label %13177

13157:                                            ; preds = %13119
  %13158 = load ptr, ptr %3, align 8, !tbaa !5
  %13159 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13158, i32 0, i32 4
  %13160 = load i32, ptr %13159, align 8, !tbaa !169
  %13161 = icmp eq i32 %13160, 100
  br i1 %13161, label %13162, label %13177

13162:                                            ; preds = %13157
  %13163 = load ptr, ptr %3, align 8, !tbaa !5
  %13164 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13163, i32 0, i32 2
  %13165 = load ptr, ptr %13164, align 8, !tbaa !45
  %13166 = load ptr, ptr %3, align 8, !tbaa !5
  %13167 = getelementptr inbounds %"class.glslang::TParseContext", ptr %13166, i32 0, i32 4
  %13168 = getelementptr inbounds [22 x i32], ptr %13167, i64 0, i64 0
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %13165, ptr noundef %13168)
  %13169 = load ptr, ptr %3, align 8, !tbaa !5
  %13170 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %13169, i32 0, i32 3
  %13171 = load i32, ptr %13170, align 8, !tbaa !159
  %13172 = add nsw i32 %13171, -1
  store i32 %13172, ptr %13170, align 8, !tbaa !159
  br label %13177

13173:                                            ; preds = %13064
  %13174 = landingpad { ptr, i32 }
          cleanup
  %13175 = extractvalue { ptr, i32 } %13174, 0
  store ptr %13175, ptr %31, align 8
  %13176 = extractvalue { ptr, i32 } %13174, 1
  store i32 %13176, ptr %32, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %98) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %99) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %98) #10
  br label %14723

13177:                                            ; preds = %13162, %13157, %13119
  br label %14379

13178:                                            ; preds = %406
  %13179 = load ptr, ptr %15, align 8, !tbaa !5
  %13180 = getelementptr inbounds %union.YYSTYPE, ptr %13179, i64 -2
  %13181 = getelementptr inbounds %struct.anon.0, ptr %13180, i32 0, i32 2
  %13182 = load ptr, ptr %13181, align 8, !tbaa !10
  %13183 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13182, ptr %13183, align 8, !tbaa !10
  br label %14379

13184:                                            ; preds = %406
  %13185 = load ptr, ptr %15, align 8, !tbaa !5
  %13186 = getelementptr inbounds %union.YYSTYPE, ptr %13185, i64 0
  %13187 = getelementptr inbounds %struct.anon.0, ptr %13186, i32 0, i32 2
  %13188 = load ptr, ptr %13187, align 8, !tbaa !10
  %13189 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13188, ptr %13189, align 8, !tbaa !10
  br label %14379

13190:                                            ; preds = %406
  %13191 = load ptr, ptr %3, align 8, !tbaa !5
  %13192 = load ptr, ptr %15, align 8, !tbaa !5
  %13193 = getelementptr inbounds %union.YYSTYPE, ptr %13192, i64 -2
  %13194 = getelementptr inbounds %struct.anon.0, ptr %13193, i32 0, i32 2
  %13195 = load ptr, ptr %13194, align 8, !tbaa !10
  %13196 = load ptr, ptr %15, align 8, !tbaa !5
  %13197 = getelementptr inbounds %union.YYSTYPE, ptr %13196, i64 0
  %13198 = getelementptr inbounds %struct.anon.0, ptr %13197, i32 0, i32 2
  %13199 = load ptr, ptr %13198, align 8, !tbaa !10
  %13200 = call noundef ptr @_ZNK7glslang13TParseContext15mergeAttributesEPNS_5TListINS_14TAttributeArgsEEES4_(ptr noundef nonnull align 8 dereferenceable(24912) %13191, ptr noundef %13195, ptr noundef %13199)
  %13201 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13200, ptr %13201, align 8, !tbaa !10
  br label %14379

13202:                                            ; preds = %406
  %13203 = load ptr, ptr %3, align 8, !tbaa !5
  %13204 = load ptr, ptr %15, align 8, !tbaa !5
  %13205 = getelementptr inbounds %union.YYSTYPE, ptr %13204, i64 0
  %13206 = getelementptr inbounds %struct.anon, ptr %13205, i32 0, i32 1
  %13207 = load ptr, ptr %13206, align 8, !tbaa !10
  %13208 = call noundef ptr @_ZNK7glslang13TParseContext14makeAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %13203, ptr noundef nonnull align 8 dereferenceable(40) %13207)
  %13209 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13208, ptr %13209, align 8, !tbaa !10
  br label %14379

13210:                                            ; preds = %406
  %13211 = load ptr, ptr %3, align 8, !tbaa !5
  %13212 = load ptr, ptr %15, align 8, !tbaa !5
  %13213 = getelementptr inbounds %union.YYSTYPE, ptr %13212, i64 -3
  %13214 = getelementptr inbounds %struct.anon, ptr %13213, i32 0, i32 1
  %13215 = load ptr, ptr %13214, align 8, !tbaa !10
  %13216 = load ptr, ptr %15, align 8, !tbaa !5
  %13217 = getelementptr inbounds %union.YYSTYPE, ptr %13216, i64 -1
  %13218 = getelementptr inbounds %struct.anon.0, ptr %13217, i32 0, i32 2
  %13219 = load ptr, ptr %13218, align 8, !tbaa !10
  %13220 = call noundef ptr @_ZNK7glslang13TParseContext14makeAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %13211, ptr noundef nonnull align 8 dereferenceable(40) %13215, ptr noundef %13219)
  %13221 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13220, ptr %13221, align 8, !tbaa !10
  br label %14379

13222:                                            ; preds = %406
  %13223 = load ptr, ptr %15, align 8, !tbaa !5
  %13224 = getelementptr inbounds %union.YYSTYPE, ptr %13223, i64 0
  %13225 = getelementptr inbounds %struct.anon.0, ptr %13224, i32 0, i32 2
  %13226 = load ptr, ptr %13225, align 8, !tbaa !10
  %13227 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13226, ptr %13227, align 8, !tbaa !10
  br label %14379

13228:                                            ; preds = %406
  %13229 = load ptr, ptr %3, align 8, !tbaa !5
  %13230 = load ptr, ptr %15, align 8, !tbaa !5
  %13231 = getelementptr inbounds %union.YYSTYPE, ptr %13230, i64 -1
  %13232 = getelementptr inbounds %struct.anon, ptr %13231, i32 0, i32 0
  %13233 = load ptr, ptr %15, align 8, !tbaa !5
  %13234 = getelementptr inbounds %union.YYSTYPE, ptr %13233, i64 -2
  %13235 = getelementptr inbounds %struct.anon.0, ptr %13234, i32 0, i32 2
  %13236 = load ptr, ptr %13235, align 8, !tbaa !10
  %13237 = load ptr, ptr %15, align 8, !tbaa !5
  %13238 = getelementptr inbounds %union.YYSTYPE, ptr %13237, i64 0
  %13239 = getelementptr inbounds %struct.anon.0, ptr %13238, i32 0, i32 2
  %13240 = load ptr, ptr %13239, align 8, !tbaa !10
  %13241 = call noundef ptr @_ZN7glslang13TParseContext22mergeSpirvRequirementsERKNS_10TSourceLocEPNS_17TSpirvRequirementES5_(ptr noundef nonnull align 8 dereferenceable(24912) %13229, ptr noundef nonnull align 8 dereferenceable(24) %13232, ptr noundef %13236, ptr noundef %13240)
  %13242 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13241, ptr %13242, align 8, !tbaa !10
  br label %14379

13243:                                            ; preds = %406
  %13244 = load ptr, ptr %3, align 8, !tbaa !5
  %13245 = load ptr, ptr %15, align 8, !tbaa !5
  %13246 = getelementptr inbounds %union.YYSTYPE, ptr %13245, i64 -3
  %13247 = getelementptr inbounds %struct.anon, ptr %13246, i32 0, i32 0
  %13248 = load ptr, ptr %15, align 8, !tbaa !5
  %13249 = getelementptr inbounds %union.YYSTYPE, ptr %13248, i64 -4
  %13250 = getelementptr inbounds %struct.anon, ptr %13249, i32 0, i32 1
  %13251 = load ptr, ptr %13250, align 8, !tbaa !10
  %13252 = load ptr, ptr %15, align 8, !tbaa !5
  %13253 = getelementptr inbounds %union.YYSTYPE, ptr %13252, i64 -1
  %13254 = getelementptr inbounds %struct.anon.0, ptr %13253, i32 0, i32 2
  %13255 = load ptr, ptr %13254, align 8, !tbaa !10
  %13256 = load ptr, ptr %13255, align 8, !tbaa !19
  %13257 = getelementptr inbounds ptr, ptr %13256, i64 6
  %13258 = load ptr, ptr %13257, align 8
  %13259 = call noundef ptr %13258(ptr noundef nonnull align 8 dereferenceable(32) %13255)
  %13260 = call noundef ptr @_ZN7glslang13TParseContext20makeSpirvRequirementERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_16TIntermAggregateESF_(ptr noundef nonnull align 8 dereferenceable(24912) %13244, ptr noundef nonnull align 8 dereferenceable(24) %13247, ptr noundef nonnull align 8 dereferenceable(40) %13251, ptr noundef %13259, ptr noundef null)
  %13261 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13260, ptr %13261, align 8, !tbaa !10
  br label %14379

13262:                                            ; preds = %406
  %13263 = load ptr, ptr %3, align 8, !tbaa !5
  %13264 = load ptr, ptr %15, align 8, !tbaa !5
  %13265 = getelementptr inbounds %union.YYSTYPE, ptr %13264, i64 -3
  %13266 = getelementptr inbounds %struct.anon, ptr %13265, i32 0, i32 0
  %13267 = load ptr, ptr %15, align 8, !tbaa !5
  %13268 = getelementptr inbounds %union.YYSTYPE, ptr %13267, i64 -4
  %13269 = getelementptr inbounds %struct.anon, ptr %13268, i32 0, i32 1
  %13270 = load ptr, ptr %13269, align 8, !tbaa !10
  %13271 = load ptr, ptr %15, align 8, !tbaa !5
  %13272 = getelementptr inbounds %union.YYSTYPE, ptr %13271, i64 -1
  %13273 = getelementptr inbounds %struct.anon.0, ptr %13272, i32 0, i32 2
  %13274 = load ptr, ptr %13273, align 8, !tbaa !10
  %13275 = load ptr, ptr %13274, align 8, !tbaa !19
  %13276 = getelementptr inbounds ptr, ptr %13275, i64 6
  %13277 = load ptr, ptr %13276, align 8
  %13278 = call noundef ptr %13277(ptr noundef nonnull align 8 dereferenceable(32) %13274)
  %13279 = call noundef ptr @_ZN7glslang13TParseContext20makeSpirvRequirementERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_16TIntermAggregateESF_(ptr noundef nonnull align 8 dereferenceable(24912) %13263, ptr noundef nonnull align 8 dereferenceable(24) %13266, ptr noundef nonnull align 8 dereferenceable(40) %13270, ptr noundef null, ptr noundef %13278)
  %13280 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13279, ptr %13280, align 8, !tbaa !10
  br label %14379

13281:                                            ; preds = %406
  %13282 = load ptr, ptr %3, align 8, !tbaa !5
  %13283 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13282, i32 0, i32 7
  %13284 = load ptr, ptr %13283, align 8, !tbaa !21
  %13285 = load ptr, ptr %3, align 8, !tbaa !5
  %13286 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13285, i32 0, i32 7
  %13287 = load ptr, ptr %13286, align 8, !tbaa !21
  %13288 = load ptr, ptr %15, align 8, !tbaa !5
  %13289 = getelementptr inbounds %union.YYSTYPE, ptr %13288, i64 0
  %13290 = getelementptr inbounds %struct.anon, ptr %13289, i32 0, i32 1
  %13291 = load ptr, ptr %13290, align 8, !tbaa !10
  %13292 = load ptr, ptr %15, align 8, !tbaa !5
  %13293 = getelementptr inbounds %union.YYSTYPE, ptr %13292, i64 0
  %13294 = getelementptr inbounds %struct.anon, ptr %13293, i32 0, i32 0
  %13295 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13287, ptr noundef %13291, ptr noundef nonnull align 8 dereferenceable(24) %13294, i1 noundef zeroext true)
  %13296 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %13284, ptr noundef %13295)
  %13297 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13296, ptr %13297, align 8, !tbaa !10
  br label %14379

13298:                                            ; preds = %406
  %13299 = load ptr, ptr %3, align 8, !tbaa !5
  %13300 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13299, i32 0, i32 7
  %13301 = load ptr, ptr %13300, align 8, !tbaa !21
  %13302 = load ptr, ptr %15, align 8, !tbaa !5
  %13303 = getelementptr inbounds %union.YYSTYPE, ptr %13302, i64 -2
  %13304 = getelementptr inbounds %struct.anon.0, ptr %13303, i32 0, i32 2
  %13305 = load ptr, ptr %13304, align 8, !tbaa !10
  %13306 = load ptr, ptr %3, align 8, !tbaa !5
  %13307 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13306, i32 0, i32 7
  %13308 = load ptr, ptr %13307, align 8, !tbaa !21
  %13309 = load ptr, ptr %15, align 8, !tbaa !5
  %13310 = getelementptr inbounds %union.YYSTYPE, ptr %13309, i64 0
  %13311 = getelementptr inbounds %struct.anon, ptr %13310, i32 0, i32 1
  %13312 = load ptr, ptr %13311, align 8, !tbaa !10
  %13313 = load ptr, ptr %15, align 8, !tbaa !5
  %13314 = getelementptr inbounds %union.YYSTYPE, ptr %13313, i64 0
  %13315 = getelementptr inbounds %struct.anon, ptr %13314, i32 0, i32 0
  %13316 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13308, ptr noundef %13312, ptr noundef nonnull align 8 dereferenceable(24) %13315, i1 noundef zeroext true)
  %13317 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %13301, ptr noundef %13305, ptr noundef %13316)
  %13318 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13317, ptr %13318, align 8, !tbaa !10
  br label %14379

13319:                                            ; preds = %406
  %13320 = load ptr, ptr %3, align 8, !tbaa !5
  %13321 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13320, i32 0, i32 7
  %13322 = load ptr, ptr %13321, align 8, !tbaa !21
  %13323 = load ptr, ptr %3, align 8, !tbaa !5
  %13324 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13323, i32 0, i32 7
  %13325 = load ptr, ptr %13324, align 8, !tbaa !21
  %13326 = load ptr, ptr %15, align 8, !tbaa !5
  %13327 = getelementptr inbounds %union.YYSTYPE, ptr %13326, i64 0
  %13328 = getelementptr inbounds %struct.anon, ptr %13327, i32 0, i32 1
  %13329 = load i32, ptr %13328, align 8, !tbaa !10
  %13330 = load ptr, ptr %15, align 8, !tbaa !5
  %13331 = getelementptr inbounds %union.YYSTYPE, ptr %13330, i64 0
  %13332 = getelementptr inbounds %struct.anon, ptr %13331, i32 0, i32 0
  %13333 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13325, i32 noundef %13329, ptr noundef nonnull align 8 dereferenceable(24) %13332, i1 noundef zeroext true)
  %13334 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %13322, ptr noundef %13333)
  %13335 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13334, ptr %13335, align 8, !tbaa !10
  br label %14379

13336:                                            ; preds = %406
  %13337 = load ptr, ptr %3, align 8, !tbaa !5
  %13338 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13337, i32 0, i32 7
  %13339 = load ptr, ptr %13338, align 8, !tbaa !21
  %13340 = load ptr, ptr %15, align 8, !tbaa !5
  %13341 = getelementptr inbounds %union.YYSTYPE, ptr %13340, i64 -2
  %13342 = getelementptr inbounds %struct.anon.0, ptr %13341, i32 0, i32 2
  %13343 = load ptr, ptr %13342, align 8, !tbaa !10
  %13344 = load ptr, ptr %3, align 8, !tbaa !5
  %13345 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13344, i32 0, i32 7
  %13346 = load ptr, ptr %13345, align 8, !tbaa !21
  %13347 = load ptr, ptr %15, align 8, !tbaa !5
  %13348 = getelementptr inbounds %union.YYSTYPE, ptr %13347, i64 0
  %13349 = getelementptr inbounds %struct.anon, ptr %13348, i32 0, i32 1
  %13350 = load i32, ptr %13349, align 8, !tbaa !10
  %13351 = load ptr, ptr %15, align 8, !tbaa !5
  %13352 = getelementptr inbounds %union.YYSTYPE, ptr %13351, i64 0
  %13353 = getelementptr inbounds %struct.anon, ptr %13352, i32 0, i32 0
  %13354 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13346, i32 noundef %13350, ptr noundef nonnull align 8 dereferenceable(24) %13353, i1 noundef zeroext true)
  %13355 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %13339, ptr noundef %13343, ptr noundef %13354)
  %13356 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13355, ptr %13356, align 8, !tbaa !10
  br label %14379

13357:                                            ; preds = %406
  %13358 = load ptr, ptr %3, align 8, !tbaa !5
  %13359 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13358, i32 0, i32 7
  %13360 = load ptr, ptr %13359, align 8, !tbaa !21
  %13361 = load ptr, ptr %15, align 8, !tbaa !5
  %13362 = getelementptr inbounds %union.YYSTYPE, ptr %13361, i64 -1
  %13363 = getelementptr inbounds %struct.anon, ptr %13362, i32 0, i32 1
  %13364 = load i32, ptr %13363, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %13360, i32 noundef %13364, ptr noundef null)
  %13365 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %13365, align 8, !tbaa !10
  br label %14379

13366:                                            ; preds = %406
  %13367 = load ptr, ptr %3, align 8, !tbaa !5
  %13368 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13367, i32 0, i32 7
  %13369 = load ptr, ptr %13368, align 8, !tbaa !21
  %13370 = load ptr, ptr %15, align 8, !tbaa !5
  %13371 = getelementptr inbounds %union.YYSTYPE, ptr %13370, i64 -3
  %13372 = getelementptr inbounds %struct.anon.0, ptr %13371, i32 0, i32 2
  %13373 = load ptr, ptr %13372, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %13369, ptr noundef %13373)
  %13374 = load ptr, ptr %3, align 8, !tbaa !5
  %13375 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13374, i32 0, i32 7
  %13376 = load ptr, ptr %13375, align 8, !tbaa !21
  %13377 = load ptr, ptr %15, align 8, !tbaa !5
  %13378 = getelementptr inbounds %union.YYSTYPE, ptr %13377, i64 -1
  %13379 = getelementptr inbounds %struct.anon, ptr %13378, i32 0, i32 1
  %13380 = load i32, ptr %13379, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %13376, i32 noundef %13380, ptr noundef null)
  %13381 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %13381, align 8, !tbaa !10
  br label %14379

13382:                                            ; preds = %406
  %13383 = load ptr, ptr %3, align 8, !tbaa !5
  %13384 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13383, i32 0, i32 7
  %13385 = load ptr, ptr %13384, align 8, !tbaa !21
  %13386 = load ptr, ptr %15, align 8, !tbaa !5
  %13387 = getelementptr inbounds %union.YYSTYPE, ptr %13386, i64 -3
  %13388 = getelementptr inbounds %struct.anon, ptr %13387, i32 0, i32 1
  %13389 = load i32, ptr %13388, align 8, !tbaa !10
  %13390 = load ptr, ptr %15, align 8, !tbaa !5
  %13391 = getelementptr inbounds %union.YYSTYPE, ptr %13390, i64 -1
  %13392 = getelementptr inbounds %struct.anon.0, ptr %13391, i32 0, i32 2
  %13393 = load ptr, ptr %13392, align 8, !tbaa !10
  %13394 = load ptr, ptr %13393, align 8, !tbaa !19
  %13395 = getelementptr inbounds ptr, ptr %13394, i64 6
  %13396 = load ptr, ptr %13395, align 8
  %13397 = call noundef ptr %13396(ptr noundef nonnull align 8 dereferenceable(32) %13393)
  call void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %13385, i32 noundef %13389, ptr noundef %13397)
  %13398 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %13398, align 8, !tbaa !10
  br label %14379

13399:                                            ; preds = %406
  %13400 = load ptr, ptr %3, align 8, !tbaa !5
  %13401 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13400, i32 0, i32 7
  %13402 = load ptr, ptr %13401, align 8, !tbaa !21
  %13403 = load ptr, ptr %15, align 8, !tbaa !5
  %13404 = getelementptr inbounds %union.YYSTYPE, ptr %13403, i64 -5
  %13405 = getelementptr inbounds %struct.anon.0, ptr %13404, i32 0, i32 2
  %13406 = load ptr, ptr %13405, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %13402, ptr noundef %13406)
  %13407 = load ptr, ptr %3, align 8, !tbaa !5
  %13408 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13407, i32 0, i32 7
  %13409 = load ptr, ptr %13408, align 8, !tbaa !21
  %13410 = load ptr, ptr %15, align 8, !tbaa !5
  %13411 = getelementptr inbounds %union.YYSTYPE, ptr %13410, i64 -3
  %13412 = getelementptr inbounds %struct.anon, ptr %13411, i32 0, i32 1
  %13413 = load i32, ptr %13412, align 8, !tbaa !10
  %13414 = load ptr, ptr %15, align 8, !tbaa !5
  %13415 = getelementptr inbounds %union.YYSTYPE, ptr %13414, i64 -1
  %13416 = getelementptr inbounds %struct.anon.0, ptr %13415, i32 0, i32 2
  %13417 = load ptr, ptr %13416, align 8, !tbaa !10
  %13418 = load ptr, ptr %13417, align 8, !tbaa !19
  %13419 = getelementptr inbounds ptr, ptr %13418, i64 6
  %13420 = load ptr, ptr %13419, align 8
  %13421 = call noundef ptr %13420(ptr noundef nonnull align 8 dereferenceable(32) %13417)
  call void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %13409, i32 noundef %13413, ptr noundef %13421)
  %13422 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %13422, align 8, !tbaa !10
  br label %14379

13423:                                            ; preds = %406
  %13424 = load ptr, ptr %3, align 8, !tbaa !5
  %13425 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13424, i32 0, i32 7
  %13426 = load ptr, ptr %13425, align 8, !tbaa !21
  %13427 = load ptr, ptr %15, align 8, !tbaa !5
  %13428 = getelementptr inbounds %union.YYSTYPE, ptr %13427, i64 -3
  %13429 = getelementptr inbounds %struct.anon, ptr %13428, i32 0, i32 1
  %13430 = load i32, ptr %13429, align 8, !tbaa !10
  %13431 = load ptr, ptr %15, align 8, !tbaa !5
  %13432 = getelementptr inbounds %union.YYSTYPE, ptr %13431, i64 -1
  %13433 = getelementptr inbounds %struct.anon.0, ptr %13432, i32 0, i32 2
  %13434 = load ptr, ptr %13433, align 8, !tbaa !10
  %13435 = load ptr, ptr %13434, align 8, !tbaa !19
  %13436 = getelementptr inbounds ptr, ptr %13435, i64 6
  %13437 = load ptr, ptr %13436, align 8
  %13438 = call noundef ptr %13437(ptr noundef nonnull align 8 dereferenceable(32) %13434)
  call void @_ZN7glslang13TIntermediate26insertSpirvExecutionModeIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %13426, i32 noundef %13430, ptr noundef %13438)
  %13439 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %13439, align 8, !tbaa !10
  br label %14379

13440:                                            ; preds = %406
  %13441 = load ptr, ptr %3, align 8, !tbaa !5
  %13442 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13441, i32 0, i32 7
  %13443 = load ptr, ptr %13442, align 8, !tbaa !21
  %13444 = load ptr, ptr %15, align 8, !tbaa !5
  %13445 = getelementptr inbounds %union.YYSTYPE, ptr %13444, i64 -5
  %13446 = getelementptr inbounds %struct.anon.0, ptr %13445, i32 0, i32 2
  %13447 = load ptr, ptr %13446, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %13443, ptr noundef %13447)
  %13448 = load ptr, ptr %3, align 8, !tbaa !5
  %13449 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13448, i32 0, i32 7
  %13450 = load ptr, ptr %13449, align 8, !tbaa !21
  %13451 = load ptr, ptr %15, align 8, !tbaa !5
  %13452 = getelementptr inbounds %union.YYSTYPE, ptr %13451, i64 -3
  %13453 = getelementptr inbounds %struct.anon, ptr %13452, i32 0, i32 1
  %13454 = load i32, ptr %13453, align 8, !tbaa !10
  %13455 = load ptr, ptr %15, align 8, !tbaa !5
  %13456 = getelementptr inbounds %union.YYSTYPE, ptr %13455, i64 -1
  %13457 = getelementptr inbounds %struct.anon.0, ptr %13456, i32 0, i32 2
  %13458 = load ptr, ptr %13457, align 8, !tbaa !10
  %13459 = load ptr, ptr %13458, align 8, !tbaa !19
  %13460 = getelementptr inbounds ptr, ptr %13459, i64 6
  %13461 = load ptr, ptr %13460, align 8
  %13462 = call noundef ptr %13461(ptr noundef nonnull align 8 dereferenceable(32) %13458)
  call void @_ZN7glslang13TIntermediate26insertSpirvExecutionModeIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %13450, i32 noundef %13454, ptr noundef %13462)
  %13463 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr null, ptr %13463, align 8, !tbaa !10
  br label %14379

13464:                                            ; preds = %406
  %13465 = load ptr, ptr %3, align 8, !tbaa !5
  %13466 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13465, i32 0, i32 7
  %13467 = load ptr, ptr %13466, align 8, !tbaa !21
  %13468 = load ptr, ptr %15, align 8, !tbaa !5
  %13469 = getelementptr inbounds %union.YYSTYPE, ptr %13468, i64 0
  %13470 = getelementptr inbounds %struct.anon.0, ptr %13469, i32 0, i32 2
  %13471 = load ptr, ptr %13470, align 8, !tbaa !10
  %13472 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %13467, ptr noundef %13471)
  %13473 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13472, ptr %13473, align 8, !tbaa !10
  br label %14379

13474:                                            ; preds = %406
  %13475 = load ptr, ptr %3, align 8, !tbaa !5
  %13476 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13475, i32 0, i32 7
  %13477 = load ptr, ptr %13476, align 8, !tbaa !21
  %13478 = load ptr, ptr %15, align 8, !tbaa !5
  %13479 = getelementptr inbounds %union.YYSTYPE, ptr %13478, i64 -2
  %13480 = getelementptr inbounds %struct.anon.0, ptr %13479, i32 0, i32 2
  %13481 = load ptr, ptr %13480, align 8, !tbaa !10
  %13482 = load ptr, ptr %15, align 8, !tbaa !5
  %13483 = getelementptr inbounds %union.YYSTYPE, ptr %13482, i64 0
  %13484 = getelementptr inbounds %struct.anon.0, ptr %13483, i32 0, i32 2
  %13485 = load ptr, ptr %13484, align 8, !tbaa !10
  %13486 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %13477, ptr noundef %13481, ptr noundef %13485)
  %13487 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13486, ptr %13487, align 8, !tbaa !10
  br label %14379

13488:                                            ; preds = %406
  %13489 = load ptr, ptr %3, align 8, !tbaa !5
  %13490 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13489, i32 0, i32 7
  %13491 = load ptr, ptr %13490, align 8, !tbaa !21
  %13492 = load ptr, ptr %15, align 8, !tbaa !5
  %13493 = getelementptr inbounds %union.YYSTYPE, ptr %13492, i64 0
  %13494 = getelementptr inbounds %struct.anon, ptr %13493, i32 0, i32 1
  %13495 = load double, ptr %13494, align 8, !tbaa !10
  %13496 = load ptr, ptr %15, align 8, !tbaa !5
  %13497 = getelementptr inbounds %union.YYSTYPE, ptr %13496, i64 0
  %13498 = getelementptr inbounds %struct.anon, ptr %13497, i32 0, i32 0
  %13499 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13491, double noundef %13495, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %13498, i1 noundef zeroext true)
  %13500 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13499, ptr %13500, align 8, !tbaa !10
  br label %14379

13501:                                            ; preds = %406
  %13502 = load ptr, ptr %3, align 8, !tbaa !5
  %13503 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13502, i32 0, i32 7
  %13504 = load ptr, ptr %13503, align 8, !tbaa !21
  %13505 = load ptr, ptr %15, align 8, !tbaa !5
  %13506 = getelementptr inbounds %union.YYSTYPE, ptr %13505, i64 0
  %13507 = getelementptr inbounds %struct.anon, ptr %13506, i32 0, i32 1
  %13508 = load i32, ptr %13507, align 8, !tbaa !10
  %13509 = load ptr, ptr %15, align 8, !tbaa !5
  %13510 = getelementptr inbounds %union.YYSTYPE, ptr %13509, i64 0
  %13511 = getelementptr inbounds %struct.anon, ptr %13510, i32 0, i32 0
  %13512 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13504, i32 noundef %13508, ptr noundef nonnull align 8 dereferenceable(24) %13511, i1 noundef zeroext true)
  %13513 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13512, ptr %13513, align 8, !tbaa !10
  br label %14379

13514:                                            ; preds = %406
  %13515 = load ptr, ptr %3, align 8, !tbaa !5
  %13516 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13515, i32 0, i32 7
  %13517 = load ptr, ptr %13516, align 8, !tbaa !21
  %13518 = load ptr, ptr %15, align 8, !tbaa !5
  %13519 = getelementptr inbounds %union.YYSTYPE, ptr %13518, i64 0
  %13520 = getelementptr inbounds %struct.anon, ptr %13519, i32 0, i32 1
  %13521 = load i32, ptr %13520, align 8, !tbaa !10
  %13522 = load ptr, ptr %15, align 8, !tbaa !5
  %13523 = getelementptr inbounds %union.YYSTYPE, ptr %13522, i64 0
  %13524 = getelementptr inbounds %struct.anon, ptr %13523, i32 0, i32 0
  %13525 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13517, i32 noundef %13521, ptr noundef nonnull align 8 dereferenceable(24) %13524, i1 noundef zeroext true)
  %13526 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13525, ptr %13526, align 8, !tbaa !10
  br label %14379

13527:                                            ; preds = %406
  %13528 = load ptr, ptr %3, align 8, !tbaa !5
  %13529 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13528, i32 0, i32 7
  %13530 = load ptr, ptr %13529, align 8, !tbaa !21
  %13531 = load ptr, ptr %15, align 8, !tbaa !5
  %13532 = getelementptr inbounds %union.YYSTYPE, ptr %13531, i64 0
  %13533 = getelementptr inbounds %struct.anon, ptr %13532, i32 0, i32 1
  %13534 = load i8, ptr %13533, align 8, !tbaa !10, !range !43, !noundef !44
  %13535 = trunc i8 %13534 to i1
  %13536 = load ptr, ptr %15, align 8, !tbaa !5
  %13537 = getelementptr inbounds %union.YYSTYPE, ptr %13536, i64 0
  %13538 = getelementptr inbounds %struct.anon, ptr %13537, i32 0, i32 0
  %13539 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13530, i1 noundef zeroext %13535, ptr noundef nonnull align 8 dereferenceable(24) %13538, i1 noundef zeroext true)
  %13540 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13539, ptr %13540, align 8, !tbaa !10
  br label %14379

13541:                                            ; preds = %406
  %13542 = load ptr, ptr %3, align 8, !tbaa !5
  %13543 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13542, i32 0, i32 7
  %13544 = load ptr, ptr %13543, align 8, !tbaa !21
  %13545 = load ptr, ptr %15, align 8, !tbaa !5
  %13546 = getelementptr inbounds %union.YYSTYPE, ptr %13545, i64 0
  %13547 = getelementptr inbounds %struct.anon, ptr %13546, i32 0, i32 1
  %13548 = load ptr, ptr %13547, align 8, !tbaa !10
  %13549 = load ptr, ptr %15, align 8, !tbaa !5
  %13550 = getelementptr inbounds %union.YYSTYPE, ptr %13549, i64 0
  %13551 = getelementptr inbounds %struct.anon, ptr %13550, i32 0, i32 0
  %13552 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13544, ptr noundef %13548, ptr noundef nonnull align 8 dereferenceable(24) %13551, i1 noundef zeroext true)
  %13553 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13552, ptr %13553, align 8, !tbaa !10
  br label %14379

13554:                                            ; preds = %406
  %13555 = load ptr, ptr %15, align 8, !tbaa !5
  %13556 = getelementptr inbounds %union.YYSTYPE, ptr %13555, i64 0
  %13557 = getelementptr inbounds %struct.anon.0, ptr %13556, i32 0, i32 2
  %13558 = load ptr, ptr %13557, align 8, !tbaa !10
  %13559 = load ptr, ptr %13558, align 8, !tbaa !19
  %13560 = getelementptr inbounds ptr, ptr %13559, i64 32
  %13561 = load ptr, ptr %13560, align 8
  %13562 = call noundef i32 %13561(ptr noundef nonnull align 8 dereferenceable(176) %13558)
  %13563 = icmp ne i32 %13562, 1
  br i1 %13563, label %13564, label %13626

13564:                                            ; preds = %13554
  %13565 = load ptr, ptr %15, align 8, !tbaa !5
  %13566 = getelementptr inbounds %union.YYSTYPE, ptr %13565, i64 0
  %13567 = getelementptr inbounds %struct.anon.0, ptr %13566, i32 0, i32 2
  %13568 = load ptr, ptr %13567, align 8, !tbaa !10
  %13569 = load ptr, ptr %13568, align 8, !tbaa !19
  %13570 = getelementptr inbounds ptr, ptr %13569, i64 32
  %13571 = load ptr, ptr %13570, align 8
  %13572 = call noundef i32 %13571(ptr noundef nonnull align 8 dereferenceable(176) %13568)
  %13573 = icmp ne i32 %13572, 8
  br i1 %13573, label %13574, label %13626

13574:                                            ; preds = %13564
  %13575 = load ptr, ptr %15, align 8, !tbaa !5
  %13576 = getelementptr inbounds %union.YYSTYPE, ptr %13575, i64 0
  %13577 = getelementptr inbounds %struct.anon.0, ptr %13576, i32 0, i32 2
  %13578 = load ptr, ptr %13577, align 8, !tbaa !10
  %13579 = load ptr, ptr %13578, align 8, !tbaa !19
  %13580 = getelementptr inbounds ptr, ptr %13579, i64 32
  %13581 = load ptr, ptr %13580, align 8
  %13582 = call noundef i32 %13581(ptr noundef nonnull align 8 dereferenceable(176) %13578)
  %13583 = icmp ne i32 %13582, 9
  br i1 %13583, label %13584, label %13626

13584:                                            ; preds = %13574
  %13585 = load ptr, ptr %15, align 8, !tbaa !5
  %13586 = getelementptr inbounds %union.YYSTYPE, ptr %13585, i64 0
  %13587 = getelementptr inbounds %struct.anon.0, ptr %13586, i32 0, i32 2
  %13588 = load ptr, ptr %13587, align 8, !tbaa !10
  %13589 = load ptr, ptr %13588, align 8, !tbaa !19
  %13590 = getelementptr inbounds ptr, ptr %13589, i64 32
  %13591 = load ptr, ptr %13590, align 8
  %13592 = call noundef i32 %13591(ptr noundef nonnull align 8 dereferenceable(176) %13588)
  %13593 = icmp ne i32 %13592, 12
  br i1 %13593, label %13594, label %13626

13594:                                            ; preds = %13584
  %13595 = load ptr, ptr %15, align 8, !tbaa !5
  %13596 = getelementptr inbounds %union.YYSTYPE, ptr %13595, i64 0
  %13597 = getelementptr inbounds %struct.anon.0, ptr %13596, i32 0, i32 2
  %13598 = load ptr, ptr %13597, align 8, !tbaa !10
  %13599 = load ptr, ptr %13598, align 8, !tbaa !19
  %13600 = getelementptr inbounds ptr, ptr %13599, i64 32
  %13601 = load ptr, ptr %13600, align 8
  %13602 = call noundef i32 %13601(ptr noundef nonnull align 8 dereferenceable(176) %13598)
  %13603 = icmp ne i32 %13602, 21
  br i1 %13603, label %13604, label %13626

13604:                                            ; preds = %13594
  %13605 = load ptr, ptr %3, align 8, !tbaa !5
  %13606 = load ptr, ptr %15, align 8, !tbaa !5
  %13607 = getelementptr inbounds %union.YYSTYPE, ptr %13606, i64 0
  %13608 = getelementptr inbounds %struct.anon.0, ptr %13607, i32 0, i32 2
  %13609 = load ptr, ptr %13608, align 8, !tbaa !10
  %13610 = load ptr, ptr %13609, align 8, !tbaa !19
  %13611 = getelementptr inbounds ptr, ptr %13610, i64 0
  %13612 = load ptr, ptr %13611, align 8
  %13613 = call noundef nonnull align 8 dereferenceable(24) ptr %13612(ptr noundef nonnull align 8 dereferenceable(32) %13609)
  %13614 = load ptr, ptr %15, align 8, !tbaa !5
  %13615 = getelementptr inbounds %union.YYSTYPE, ptr %13614, i64 0
  %13616 = getelementptr inbounds %struct.anon.0, ptr %13615, i32 0, i32 2
  %13617 = load ptr, ptr %13616, align 8, !tbaa !10
  %13618 = load ptr, ptr %13617, align 8, !tbaa !19
  %13619 = getelementptr inbounds ptr, ptr %13618, i64 30
  %13620 = load ptr, ptr %13619, align 8
  %13621 = call noundef nonnull align 8 dereferenceable(144) ptr %13620(ptr noundef nonnull align 8 dereferenceable(176) %13617)
  %13622 = call noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144) %13621)
  %13623 = load ptr, ptr %13605, align 8, !tbaa !19
  %13624 = getelementptr inbounds ptr, ptr %13623, i64 42
  %13625 = load ptr, ptr %13624, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %13625(ptr noundef nonnull align 8 dereferenceable(1176) %13605, ptr noundef nonnull align 8 dereferenceable(24) %13613, ptr noundef @.str.195, ptr noundef %13622, ptr noundef @.str.21)
  br label %13626

13626:                                            ; preds = %13604, %13594, %13584, %13574, %13564, %13554
  %13627 = load ptr, ptr %3, align 8, !tbaa !5
  %13628 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13627, i32 0, i32 7
  %13629 = load ptr, ptr %13628, align 8, !tbaa !21
  %13630 = load ptr, ptr %15, align 8, !tbaa !5
  %13631 = getelementptr inbounds %union.YYSTYPE, ptr %13630, i64 0
  %13632 = getelementptr inbounds %struct.anon.0, ptr %13631, i32 0, i32 2
  %13633 = load ptr, ptr %13632, align 8, !tbaa !10
  %13634 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %13629, ptr noundef %13633)
  %13635 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13634, ptr %13635, align 8, !tbaa !10
  br label %14379

13636:                                            ; preds = %406
  %13637 = load ptr, ptr %15, align 8, !tbaa !5
  %13638 = getelementptr inbounds %union.YYSTYPE, ptr %13637, i64 0
  %13639 = getelementptr inbounds %struct.anon.0, ptr %13638, i32 0, i32 2
  %13640 = load ptr, ptr %13639, align 8, !tbaa !10
  %13641 = load ptr, ptr %13640, align 8, !tbaa !19
  %13642 = getelementptr inbounds ptr, ptr %13641, i64 32
  %13643 = load ptr, ptr %13642, align 8
  %13644 = call noundef i32 %13643(ptr noundef nonnull align 8 dereferenceable(176) %13640)
  %13645 = icmp ne i32 %13644, 1
  br i1 %13645, label %13646, label %13708

13646:                                            ; preds = %13636
  %13647 = load ptr, ptr %15, align 8, !tbaa !5
  %13648 = getelementptr inbounds %union.YYSTYPE, ptr %13647, i64 0
  %13649 = getelementptr inbounds %struct.anon.0, ptr %13648, i32 0, i32 2
  %13650 = load ptr, ptr %13649, align 8, !tbaa !10
  %13651 = load ptr, ptr %13650, align 8, !tbaa !19
  %13652 = getelementptr inbounds ptr, ptr %13651, i64 32
  %13653 = load ptr, ptr %13652, align 8
  %13654 = call noundef i32 %13653(ptr noundef nonnull align 8 dereferenceable(176) %13650)
  %13655 = icmp ne i32 %13654, 8
  br i1 %13655, label %13656, label %13708

13656:                                            ; preds = %13646
  %13657 = load ptr, ptr %15, align 8, !tbaa !5
  %13658 = getelementptr inbounds %union.YYSTYPE, ptr %13657, i64 0
  %13659 = getelementptr inbounds %struct.anon.0, ptr %13658, i32 0, i32 2
  %13660 = load ptr, ptr %13659, align 8, !tbaa !10
  %13661 = load ptr, ptr %13660, align 8, !tbaa !19
  %13662 = getelementptr inbounds ptr, ptr %13661, i64 32
  %13663 = load ptr, ptr %13662, align 8
  %13664 = call noundef i32 %13663(ptr noundef nonnull align 8 dereferenceable(176) %13660)
  %13665 = icmp ne i32 %13664, 9
  br i1 %13665, label %13666, label %13708

13666:                                            ; preds = %13656
  %13667 = load ptr, ptr %15, align 8, !tbaa !5
  %13668 = getelementptr inbounds %union.YYSTYPE, ptr %13667, i64 0
  %13669 = getelementptr inbounds %struct.anon.0, ptr %13668, i32 0, i32 2
  %13670 = load ptr, ptr %13669, align 8, !tbaa !10
  %13671 = load ptr, ptr %13670, align 8, !tbaa !19
  %13672 = getelementptr inbounds ptr, ptr %13671, i64 32
  %13673 = load ptr, ptr %13672, align 8
  %13674 = call noundef i32 %13673(ptr noundef nonnull align 8 dereferenceable(176) %13670)
  %13675 = icmp ne i32 %13674, 12
  br i1 %13675, label %13676, label %13708

13676:                                            ; preds = %13666
  %13677 = load ptr, ptr %15, align 8, !tbaa !5
  %13678 = getelementptr inbounds %union.YYSTYPE, ptr %13677, i64 0
  %13679 = getelementptr inbounds %struct.anon.0, ptr %13678, i32 0, i32 2
  %13680 = load ptr, ptr %13679, align 8, !tbaa !10
  %13681 = load ptr, ptr %13680, align 8, !tbaa !19
  %13682 = getelementptr inbounds ptr, ptr %13681, i64 32
  %13683 = load ptr, ptr %13682, align 8
  %13684 = call noundef i32 %13683(ptr noundef nonnull align 8 dereferenceable(176) %13680)
  %13685 = icmp ne i32 %13684, 21
  br i1 %13685, label %13686, label %13708

13686:                                            ; preds = %13676
  %13687 = load ptr, ptr %3, align 8, !tbaa !5
  %13688 = load ptr, ptr %15, align 8, !tbaa !5
  %13689 = getelementptr inbounds %union.YYSTYPE, ptr %13688, i64 0
  %13690 = getelementptr inbounds %struct.anon.0, ptr %13689, i32 0, i32 2
  %13691 = load ptr, ptr %13690, align 8, !tbaa !10
  %13692 = load ptr, ptr %13691, align 8, !tbaa !19
  %13693 = getelementptr inbounds ptr, ptr %13692, i64 0
  %13694 = load ptr, ptr %13693, align 8
  %13695 = call noundef nonnull align 8 dereferenceable(24) ptr %13694(ptr noundef nonnull align 8 dereferenceable(32) %13691)
  %13696 = load ptr, ptr %15, align 8, !tbaa !5
  %13697 = getelementptr inbounds %union.YYSTYPE, ptr %13696, i64 0
  %13698 = getelementptr inbounds %struct.anon.0, ptr %13697, i32 0, i32 2
  %13699 = load ptr, ptr %13698, align 8, !tbaa !10
  %13700 = load ptr, ptr %13699, align 8, !tbaa !19
  %13701 = getelementptr inbounds ptr, ptr %13700, i64 30
  %13702 = load ptr, ptr %13701, align 8
  %13703 = call noundef nonnull align 8 dereferenceable(144) ptr %13702(ptr noundef nonnull align 8 dereferenceable(176) %13699)
  %13704 = call noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144) %13703)
  %13705 = load ptr, ptr %13687, align 8, !tbaa !19
  %13706 = getelementptr inbounds ptr, ptr %13705, i64 42
  %13707 = load ptr, ptr %13706, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %13707(ptr noundef nonnull align 8 dereferenceable(1176) %13687, ptr noundef nonnull align 8 dereferenceable(24) %13695, ptr noundef @.str.195, ptr noundef %13704, ptr noundef @.str.21)
  br label %13708

13708:                                            ; preds = %13686, %13676, %13666, %13656, %13646, %13636
  %13709 = load ptr, ptr %3, align 8, !tbaa !5
  %13710 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13709, i32 0, i32 7
  %13711 = load ptr, ptr %13710, align 8, !tbaa !21
  %13712 = load ptr, ptr %15, align 8, !tbaa !5
  %13713 = getelementptr inbounds %union.YYSTYPE, ptr %13712, i64 -2
  %13714 = getelementptr inbounds %struct.anon.0, ptr %13713, i32 0, i32 2
  %13715 = load ptr, ptr %13714, align 8, !tbaa !10
  %13716 = load ptr, ptr %15, align 8, !tbaa !5
  %13717 = getelementptr inbounds %union.YYSTYPE, ptr %13716, i64 0
  %13718 = getelementptr inbounds %struct.anon.0, ptr %13717, i32 0, i32 2
  %13719 = load ptr, ptr %13718, align 8, !tbaa !10
  %13720 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %13711, ptr noundef %13715, ptr noundef %13719)
  %13721 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13720, ptr %13721, align 8, !tbaa !10
  br label %14379

13722:                                            ; preds = %406
  %13723 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13724 = load ptr, ptr %15, align 8, !tbaa !5
  %13725 = getelementptr inbounds %union.YYSTYPE, ptr %13724, i64 -3
  %13726 = getelementptr inbounds %struct.anon, ptr %13725, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13723, ptr noundef nonnull align 8 dereferenceable(24) %13726, i1 noundef zeroext false)
  %13727 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13728 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13727, i32 0, i32 2
  %13729 = getelementptr inbounds %"class.glslang::TQualifier", ptr %13728, i32 0, i32 1
  %13730 = load i64, ptr %13729, align 8
  %13731 = and i64 %13730, -64
  %13732 = or i64 %13731, 8
  store i64 %13732, ptr %13729, align 8
  %13733 = load ptr, ptr %15, align 8, !tbaa !5
  %13734 = getelementptr inbounds %union.YYSTYPE, ptr %13733, i64 -1
  %13735 = getelementptr inbounds %struct.anon, ptr %13734, i32 0, i32 1
  %13736 = load i32, ptr %13735, align 8, !tbaa !10
  %13737 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13738 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13737, i32 0, i32 2
  %13739 = getelementptr inbounds %"class.glslang::TQualifier", ptr %13738, i32 0, i32 17
  store i32 %13736, ptr %13739, align 4, !tbaa !10
  br label %14379

13740:                                            ; preds = %406
  %13741 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13742 = load ptr, ptr %15, align 8, !tbaa !5
  %13743 = getelementptr inbounds %union.YYSTYPE, ptr %13742, i64 -5
  %13744 = getelementptr inbounds %struct.anon, ptr %13743, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13741, ptr noundef nonnull align 8 dereferenceable(24) %13744, i1 noundef zeroext false)
  %13745 = load ptr, ptr %3, align 8, !tbaa !5
  %13746 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13745, i32 0, i32 7
  %13747 = load ptr, ptr %13746, align 8, !tbaa !21
  %13748 = load ptr, ptr %15, align 8, !tbaa !5
  %13749 = getelementptr inbounds %union.YYSTYPE, ptr %13748, i64 -3
  %13750 = getelementptr inbounds %struct.anon.0, ptr %13749, i32 0, i32 2
  %13751 = load ptr, ptr %13750, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %13747, ptr noundef %13751)
  %13752 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13753 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13752, i32 0, i32 2
  %13754 = getelementptr inbounds %"class.glslang::TQualifier", ptr %13753, i32 0, i32 1
  %13755 = load i64, ptr %13754, align 8
  %13756 = and i64 %13755, -64
  %13757 = or i64 %13756, 8
  store i64 %13757, ptr %13754, align 8
  %13758 = load ptr, ptr %15, align 8, !tbaa !5
  %13759 = getelementptr inbounds %union.YYSTYPE, ptr %13758, i64 -1
  %13760 = getelementptr inbounds %struct.anon, ptr %13759, i32 0, i32 1
  %13761 = load i32, ptr %13760, align 8, !tbaa !10
  %13762 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13763 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13762, i32 0, i32 2
  %13764 = getelementptr inbounds %"class.glslang::TQualifier", ptr %13763, i32 0, i32 17
  store i32 %13761, ptr %13764, align 4, !tbaa !10
  br label %14379

13765:                                            ; preds = %406
  %13766 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13767 = load ptr, ptr %15, align 8, !tbaa !5
  %13768 = getelementptr inbounds %union.YYSTYPE, ptr %13767, i64 -3
  %13769 = getelementptr inbounds %struct.anon, ptr %13768, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13766, ptr noundef nonnull align 8 dereferenceable(24) %13769, i1 noundef zeroext false)
  %13770 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13771 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13770, i32 0, i32 2
  %13772 = load ptr, ptr %15, align 8, !tbaa !5
  %13773 = getelementptr inbounds %union.YYSTYPE, ptr %13772, i64 -1
  %13774 = getelementptr inbounds %struct.anon, ptr %13773, i32 0, i32 1
  %13775 = load i32, ptr %13774, align 8, !tbaa !10
  call void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %13771, i32 noundef %13775, ptr noundef null)
  br label %14379

13776:                                            ; preds = %406
  %13777 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13778 = load ptr, ptr %15, align 8, !tbaa !5
  %13779 = getelementptr inbounds %union.YYSTYPE, ptr %13778, i64 -5
  %13780 = getelementptr inbounds %struct.anon, ptr %13779, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13777, ptr noundef nonnull align 8 dereferenceable(24) %13780, i1 noundef zeroext false)
  %13781 = load ptr, ptr %3, align 8, !tbaa !5
  %13782 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13781, i32 0, i32 7
  %13783 = load ptr, ptr %13782, align 8, !tbaa !21
  %13784 = load ptr, ptr %15, align 8, !tbaa !5
  %13785 = getelementptr inbounds %union.YYSTYPE, ptr %13784, i64 -3
  %13786 = getelementptr inbounds %struct.anon.0, ptr %13785, i32 0, i32 2
  %13787 = load ptr, ptr %13786, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %13783, ptr noundef %13787)
  %13788 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13789 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13788, i32 0, i32 2
  %13790 = load ptr, ptr %15, align 8, !tbaa !5
  %13791 = getelementptr inbounds %union.YYSTYPE, ptr %13790, i64 -1
  %13792 = getelementptr inbounds %struct.anon, ptr %13791, i32 0, i32 1
  %13793 = load i32, ptr %13792, align 8, !tbaa !10
  call void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %13789, i32 noundef %13793, ptr noundef null)
  br label %14379

13794:                                            ; preds = %406
  %13795 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13796 = load ptr, ptr %15, align 8, !tbaa !5
  %13797 = getelementptr inbounds %union.YYSTYPE, ptr %13796, i64 -5
  %13798 = getelementptr inbounds %struct.anon, ptr %13797, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13795, ptr noundef nonnull align 8 dereferenceable(24) %13798, i1 noundef zeroext false)
  %13799 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13800 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13799, i32 0, i32 2
  %13801 = load ptr, ptr %15, align 8, !tbaa !5
  %13802 = getelementptr inbounds %union.YYSTYPE, ptr %13801, i64 -3
  %13803 = getelementptr inbounds %struct.anon, ptr %13802, i32 0, i32 1
  %13804 = load i32, ptr %13803, align 8, !tbaa !10
  %13805 = load ptr, ptr %15, align 8, !tbaa !5
  %13806 = getelementptr inbounds %union.YYSTYPE, ptr %13805, i64 -1
  %13807 = getelementptr inbounds %struct.anon.0, ptr %13806, i32 0, i32 2
  %13808 = load ptr, ptr %13807, align 8, !tbaa !10
  %13809 = load ptr, ptr %13808, align 8, !tbaa !19
  %13810 = getelementptr inbounds ptr, ptr %13809, i64 6
  %13811 = load ptr, ptr %13810, align 8
  %13812 = call noundef ptr %13811(ptr noundef nonnull align 8 dereferenceable(32) %13808)
  call void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %13800, i32 noundef %13804, ptr noundef %13812)
  br label %14379

13813:                                            ; preds = %406
  %13814 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13815 = load ptr, ptr %15, align 8, !tbaa !5
  %13816 = getelementptr inbounds %union.YYSTYPE, ptr %13815, i64 -7
  %13817 = getelementptr inbounds %struct.anon, ptr %13816, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13814, ptr noundef nonnull align 8 dereferenceable(24) %13817, i1 noundef zeroext false)
  %13818 = load ptr, ptr %3, align 8, !tbaa !5
  %13819 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13818, i32 0, i32 7
  %13820 = load ptr, ptr %13819, align 8, !tbaa !21
  %13821 = load ptr, ptr %15, align 8, !tbaa !5
  %13822 = getelementptr inbounds %union.YYSTYPE, ptr %13821, i64 -5
  %13823 = getelementptr inbounds %struct.anon.0, ptr %13822, i32 0, i32 2
  %13824 = load ptr, ptr %13823, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %13820, ptr noundef %13824)
  %13825 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13826 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13825, i32 0, i32 2
  %13827 = load ptr, ptr %15, align 8, !tbaa !5
  %13828 = getelementptr inbounds %union.YYSTYPE, ptr %13827, i64 -3
  %13829 = getelementptr inbounds %struct.anon, ptr %13828, i32 0, i32 1
  %13830 = load i32, ptr %13829, align 8, !tbaa !10
  %13831 = load ptr, ptr %15, align 8, !tbaa !5
  %13832 = getelementptr inbounds %union.YYSTYPE, ptr %13831, i64 -1
  %13833 = getelementptr inbounds %struct.anon.0, ptr %13832, i32 0, i32 2
  %13834 = load ptr, ptr %13833, align 8, !tbaa !10
  %13835 = load ptr, ptr %13834, align 8, !tbaa !19
  %13836 = getelementptr inbounds ptr, ptr %13835, i64 6
  %13837 = load ptr, ptr %13836, align 8
  %13838 = call noundef ptr %13837(ptr noundef nonnull align 8 dereferenceable(32) %13834)
  call void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %13826, i32 noundef %13830, ptr noundef %13838)
  br label %14379

13839:                                            ; preds = %406
  %13840 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13841 = load ptr, ptr %15, align 8, !tbaa !5
  %13842 = getelementptr inbounds %union.YYSTYPE, ptr %13841, i64 -5
  %13843 = getelementptr inbounds %struct.anon, ptr %13842, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13840, ptr noundef nonnull align 8 dereferenceable(24) %13843, i1 noundef zeroext false)
  %13844 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13845 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13844, i32 0, i32 2
  %13846 = load ptr, ptr %15, align 8, !tbaa !5
  %13847 = getelementptr inbounds %union.YYSTYPE, ptr %13846, i64 -3
  %13848 = getelementptr inbounds %struct.anon, ptr %13847, i32 0, i32 1
  %13849 = load i32, ptr %13848, align 8, !tbaa !10
  %13850 = load ptr, ptr %15, align 8, !tbaa !5
  %13851 = getelementptr inbounds %union.YYSTYPE, ptr %13850, i64 -1
  %13852 = getelementptr inbounds %struct.anon.0, ptr %13851, i32 0, i32 2
  %13853 = load ptr, ptr %13852, align 8, !tbaa !10
  %13854 = load ptr, ptr %13853, align 8, !tbaa !19
  %13855 = getelementptr inbounds ptr, ptr %13854, i64 6
  %13856 = load ptr, ptr %13855, align 8
  %13857 = call noundef ptr %13856(ptr noundef nonnull align 8 dereferenceable(32) %13853)
  call void @_ZN7glslang10TQualifier18setSpirvDecorateIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %13845, i32 noundef %13849, ptr noundef %13857)
  br label %14379

13858:                                            ; preds = %406
  %13859 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13860 = load ptr, ptr %15, align 8, !tbaa !5
  %13861 = getelementptr inbounds %union.YYSTYPE, ptr %13860, i64 -7
  %13862 = getelementptr inbounds %struct.anon, ptr %13861, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13859, ptr noundef nonnull align 8 dereferenceable(24) %13862, i1 noundef zeroext false)
  %13863 = load ptr, ptr %3, align 8, !tbaa !5
  %13864 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13863, i32 0, i32 7
  %13865 = load ptr, ptr %13864, align 8, !tbaa !21
  %13866 = load ptr, ptr %15, align 8, !tbaa !5
  %13867 = getelementptr inbounds %union.YYSTYPE, ptr %13866, i64 -5
  %13868 = getelementptr inbounds %struct.anon.0, ptr %13867, i32 0, i32 2
  %13869 = load ptr, ptr %13868, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %13865, ptr noundef %13869)
  %13870 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13871 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13870, i32 0, i32 2
  %13872 = load ptr, ptr %15, align 8, !tbaa !5
  %13873 = getelementptr inbounds %union.YYSTYPE, ptr %13872, i64 -3
  %13874 = getelementptr inbounds %struct.anon, ptr %13873, i32 0, i32 1
  %13875 = load i32, ptr %13874, align 8, !tbaa !10
  %13876 = load ptr, ptr %15, align 8, !tbaa !5
  %13877 = getelementptr inbounds %union.YYSTYPE, ptr %13876, i64 -1
  %13878 = getelementptr inbounds %struct.anon.0, ptr %13877, i32 0, i32 2
  %13879 = load ptr, ptr %13878, align 8, !tbaa !10
  %13880 = load ptr, ptr %13879, align 8, !tbaa !19
  %13881 = getelementptr inbounds ptr, ptr %13880, i64 6
  %13882 = load ptr, ptr %13881, align 8
  %13883 = call noundef ptr %13882(ptr noundef nonnull align 8 dereferenceable(32) %13879)
  call void @_ZN7glslang10TQualifier18setSpirvDecorateIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %13871, i32 noundef %13875, ptr noundef %13883)
  br label %14379

13884:                                            ; preds = %406
  %13885 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13886 = load ptr, ptr %15, align 8, !tbaa !5
  %13887 = getelementptr inbounds %union.YYSTYPE, ptr %13886, i64 -5
  %13888 = getelementptr inbounds %struct.anon, ptr %13887, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13885, ptr noundef nonnull align 8 dereferenceable(24) %13888, i1 noundef zeroext false)
  %13889 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13890 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13889, i32 0, i32 2
  %13891 = load ptr, ptr %15, align 8, !tbaa !5
  %13892 = getelementptr inbounds %union.YYSTYPE, ptr %13891, i64 -3
  %13893 = getelementptr inbounds %struct.anon, ptr %13892, i32 0, i32 1
  %13894 = load i32, ptr %13893, align 8, !tbaa !10
  %13895 = load ptr, ptr %15, align 8, !tbaa !5
  %13896 = getelementptr inbounds %union.YYSTYPE, ptr %13895, i64 -1
  %13897 = getelementptr inbounds %struct.anon.0, ptr %13896, i32 0, i32 2
  %13898 = load ptr, ptr %13897, align 8, !tbaa !10
  %13899 = load ptr, ptr %13898, align 8, !tbaa !19
  %13900 = getelementptr inbounds ptr, ptr %13899, i64 6
  %13901 = load ptr, ptr %13900, align 8
  %13902 = call noundef ptr %13901(ptr noundef nonnull align 8 dereferenceable(32) %13898)
  call void @_ZN7glslang10TQualifier22setSpirvDecorateStringEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %13890, i32 noundef %13894, ptr noundef %13902)
  br label %14379

13903:                                            ; preds = %406
  %13904 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13905 = load ptr, ptr %15, align 8, !tbaa !5
  %13906 = getelementptr inbounds %union.YYSTYPE, ptr %13905, i64 -7
  %13907 = getelementptr inbounds %struct.anon, ptr %13906, i32 0, i32 0
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %13904, ptr noundef nonnull align 8 dereferenceable(24) %13907, i1 noundef zeroext false)
  %13908 = load ptr, ptr %3, align 8, !tbaa !5
  %13909 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13908, i32 0, i32 7
  %13910 = load ptr, ptr %13909, align 8, !tbaa !21
  %13911 = load ptr, ptr %15, align 8, !tbaa !5
  %13912 = getelementptr inbounds %union.YYSTYPE, ptr %13911, i64 -5
  %13913 = getelementptr inbounds %struct.anon.0, ptr %13912, i32 0, i32 2
  %13914 = load ptr, ptr %13913, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %13910, ptr noundef %13914)
  %13915 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %13916 = getelementptr inbounds %"class.glslang::TPublicType", ptr %13915, i32 0, i32 2
  %13917 = load ptr, ptr %15, align 8, !tbaa !5
  %13918 = getelementptr inbounds %union.YYSTYPE, ptr %13917, i64 -3
  %13919 = getelementptr inbounds %struct.anon, ptr %13918, i32 0, i32 1
  %13920 = load i32, ptr %13919, align 8, !tbaa !10
  %13921 = load ptr, ptr %15, align 8, !tbaa !5
  %13922 = getelementptr inbounds %union.YYSTYPE, ptr %13921, i64 -1
  %13923 = getelementptr inbounds %struct.anon.0, ptr %13922, i32 0, i32 2
  %13924 = load ptr, ptr %13923, align 8, !tbaa !10
  %13925 = load ptr, ptr %13924, align 8, !tbaa !19
  %13926 = getelementptr inbounds ptr, ptr %13925, i64 6
  %13927 = load ptr, ptr %13926, align 8
  %13928 = call noundef ptr %13927(ptr noundef nonnull align 8 dereferenceable(32) %13924)
  call void @_ZN7glslang10TQualifier22setSpirvDecorateStringEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %13916, i32 noundef %13920, ptr noundef %13928)
  br label %14379

13929:                                            ; preds = %406
  %13930 = load ptr, ptr %3, align 8, !tbaa !5
  %13931 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13930, i32 0, i32 7
  %13932 = load ptr, ptr %13931, align 8, !tbaa !21
  %13933 = load ptr, ptr %15, align 8, !tbaa !5
  %13934 = getelementptr inbounds %union.YYSTYPE, ptr %13933, i64 0
  %13935 = getelementptr inbounds %struct.anon.0, ptr %13934, i32 0, i32 2
  %13936 = load ptr, ptr %13935, align 8, !tbaa !10
  %13937 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %13932, ptr noundef %13936)
  %13938 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13937, ptr %13938, align 8, !tbaa !10
  br label %14379

13939:                                            ; preds = %406
  %13940 = load ptr, ptr %3, align 8, !tbaa !5
  %13941 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13940, i32 0, i32 7
  %13942 = load ptr, ptr %13941, align 8, !tbaa !21
  %13943 = load ptr, ptr %15, align 8, !tbaa !5
  %13944 = getelementptr inbounds %union.YYSTYPE, ptr %13943, i64 -2
  %13945 = getelementptr inbounds %struct.anon.0, ptr %13944, i32 0, i32 2
  %13946 = load ptr, ptr %13945, align 8, !tbaa !10
  %13947 = load ptr, ptr %15, align 8, !tbaa !5
  %13948 = getelementptr inbounds %union.YYSTYPE, ptr %13947, i64 0
  %13949 = getelementptr inbounds %struct.anon.0, ptr %13948, i32 0, i32 2
  %13950 = load ptr, ptr %13949, align 8, !tbaa !10
  %13951 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %13942, ptr noundef %13946, ptr noundef %13950)
  %13952 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13951, ptr %13952, align 8, !tbaa !10
  br label %14379

13953:                                            ; preds = %406
  %13954 = load ptr, ptr %3, align 8, !tbaa !5
  %13955 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13954, i32 0, i32 7
  %13956 = load ptr, ptr %13955, align 8, !tbaa !21
  %13957 = load ptr, ptr %15, align 8, !tbaa !5
  %13958 = getelementptr inbounds %union.YYSTYPE, ptr %13957, i64 0
  %13959 = getelementptr inbounds %struct.anon, ptr %13958, i32 0, i32 1
  %13960 = load double, ptr %13959, align 8, !tbaa !10
  %13961 = load ptr, ptr %15, align 8, !tbaa !5
  %13962 = getelementptr inbounds %union.YYSTYPE, ptr %13961, i64 0
  %13963 = getelementptr inbounds %struct.anon, ptr %13962, i32 0, i32 0
  %13964 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13956, double noundef %13960, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %13963, i1 noundef zeroext true)
  %13965 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13964, ptr %13965, align 8, !tbaa !10
  br label %14379

13966:                                            ; preds = %406
  %13967 = load ptr, ptr %3, align 8, !tbaa !5
  %13968 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13967, i32 0, i32 7
  %13969 = load ptr, ptr %13968, align 8, !tbaa !21
  %13970 = load ptr, ptr %15, align 8, !tbaa !5
  %13971 = getelementptr inbounds %union.YYSTYPE, ptr %13970, i64 0
  %13972 = getelementptr inbounds %struct.anon, ptr %13971, i32 0, i32 1
  %13973 = load i32, ptr %13972, align 8, !tbaa !10
  %13974 = load ptr, ptr %15, align 8, !tbaa !5
  %13975 = getelementptr inbounds %union.YYSTYPE, ptr %13974, i64 0
  %13976 = getelementptr inbounds %struct.anon, ptr %13975, i32 0, i32 0
  %13977 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13969, i32 noundef %13973, ptr noundef nonnull align 8 dereferenceable(24) %13976, i1 noundef zeroext true)
  %13978 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13977, ptr %13978, align 8, !tbaa !10
  br label %14379

13979:                                            ; preds = %406
  %13980 = load ptr, ptr %3, align 8, !tbaa !5
  %13981 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13980, i32 0, i32 7
  %13982 = load ptr, ptr %13981, align 8, !tbaa !21
  %13983 = load ptr, ptr %15, align 8, !tbaa !5
  %13984 = getelementptr inbounds %union.YYSTYPE, ptr %13983, i64 0
  %13985 = getelementptr inbounds %struct.anon, ptr %13984, i32 0, i32 1
  %13986 = load i32, ptr %13985, align 8, !tbaa !10
  %13987 = load ptr, ptr %15, align 8, !tbaa !5
  %13988 = getelementptr inbounds %union.YYSTYPE, ptr %13987, i64 0
  %13989 = getelementptr inbounds %struct.anon, ptr %13988, i32 0, i32 0
  %13990 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13982, i32 noundef %13986, ptr noundef nonnull align 8 dereferenceable(24) %13989, i1 noundef zeroext true)
  %13991 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %13990, ptr %13991, align 8, !tbaa !10
  br label %14379

13992:                                            ; preds = %406
  %13993 = load ptr, ptr %3, align 8, !tbaa !5
  %13994 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %13993, i32 0, i32 7
  %13995 = load ptr, ptr %13994, align 8, !tbaa !21
  %13996 = load ptr, ptr %15, align 8, !tbaa !5
  %13997 = getelementptr inbounds %union.YYSTYPE, ptr %13996, i64 0
  %13998 = getelementptr inbounds %struct.anon, ptr %13997, i32 0, i32 1
  %13999 = load i8, ptr %13998, align 8, !tbaa !10, !range !43, !noundef !44
  %14000 = trunc i8 %13999 to i1
  %14001 = load ptr, ptr %15, align 8, !tbaa !5
  %14002 = getelementptr inbounds %union.YYSTYPE, ptr %14001, i64 0
  %14003 = getelementptr inbounds %struct.anon, ptr %14002, i32 0, i32 0
  %14004 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %13995, i1 noundef zeroext %14000, ptr noundef nonnull align 8 dereferenceable(24) %14003, i1 noundef zeroext true)
  %14005 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14004, ptr %14005, align 8, !tbaa !10
  br label %14379

14006:                                            ; preds = %406
  %14007 = load ptr, ptr %15, align 8, !tbaa !5
  %14008 = getelementptr inbounds %union.YYSTYPE, ptr %14007, i64 0
  %14009 = getelementptr inbounds %struct.anon.0, ptr %14008, i32 0, i32 2
  %14010 = load ptr, ptr %14009, align 8, !tbaa !10
  %14011 = load ptr, ptr %14010, align 8, !tbaa !19
  %14012 = getelementptr inbounds ptr, ptr %14011, i64 32
  %14013 = load ptr, ptr %14012, align 8
  %14014 = call noundef i32 %14013(ptr noundef nonnull align 8 dereferenceable(176) %14010)
  %14015 = icmp ne i32 %14014, 1
  br i1 %14015, label %14016, label %14068

14016:                                            ; preds = %14006
  %14017 = load ptr, ptr %15, align 8, !tbaa !5
  %14018 = getelementptr inbounds %union.YYSTYPE, ptr %14017, i64 0
  %14019 = getelementptr inbounds %struct.anon.0, ptr %14018, i32 0, i32 2
  %14020 = load ptr, ptr %14019, align 8, !tbaa !10
  %14021 = load ptr, ptr %14020, align 8, !tbaa !19
  %14022 = getelementptr inbounds ptr, ptr %14021, i64 32
  %14023 = load ptr, ptr %14022, align 8
  %14024 = call noundef i32 %14023(ptr noundef nonnull align 8 dereferenceable(176) %14020)
  %14025 = icmp ne i32 %14024, 8
  br i1 %14025, label %14026, label %14068

14026:                                            ; preds = %14016
  %14027 = load ptr, ptr %15, align 8, !tbaa !5
  %14028 = getelementptr inbounds %union.YYSTYPE, ptr %14027, i64 0
  %14029 = getelementptr inbounds %struct.anon.0, ptr %14028, i32 0, i32 2
  %14030 = load ptr, ptr %14029, align 8, !tbaa !10
  %14031 = load ptr, ptr %14030, align 8, !tbaa !19
  %14032 = getelementptr inbounds ptr, ptr %14031, i64 32
  %14033 = load ptr, ptr %14032, align 8
  %14034 = call noundef i32 %14033(ptr noundef nonnull align 8 dereferenceable(176) %14030)
  %14035 = icmp ne i32 %14034, 9
  br i1 %14035, label %14036, label %14068

14036:                                            ; preds = %14026
  %14037 = load ptr, ptr %15, align 8, !tbaa !5
  %14038 = getelementptr inbounds %union.YYSTYPE, ptr %14037, i64 0
  %14039 = getelementptr inbounds %struct.anon.0, ptr %14038, i32 0, i32 2
  %14040 = load ptr, ptr %14039, align 8, !tbaa !10
  %14041 = load ptr, ptr %14040, align 8, !tbaa !19
  %14042 = getelementptr inbounds ptr, ptr %14041, i64 32
  %14043 = load ptr, ptr %14042, align 8
  %14044 = call noundef i32 %14043(ptr noundef nonnull align 8 dereferenceable(176) %14040)
  %14045 = icmp ne i32 %14044, 12
  br i1 %14045, label %14046, label %14068

14046:                                            ; preds = %14036
  %14047 = load ptr, ptr %3, align 8, !tbaa !5
  %14048 = load ptr, ptr %15, align 8, !tbaa !5
  %14049 = getelementptr inbounds %union.YYSTYPE, ptr %14048, i64 0
  %14050 = getelementptr inbounds %struct.anon.0, ptr %14049, i32 0, i32 2
  %14051 = load ptr, ptr %14050, align 8, !tbaa !10
  %14052 = load ptr, ptr %14051, align 8, !tbaa !19
  %14053 = getelementptr inbounds ptr, ptr %14052, i64 0
  %14054 = load ptr, ptr %14053, align 8
  %14055 = call noundef nonnull align 8 dereferenceable(24) ptr %14054(ptr noundef nonnull align 8 dereferenceable(32) %14051)
  %14056 = load ptr, ptr %15, align 8, !tbaa !5
  %14057 = getelementptr inbounds %union.YYSTYPE, ptr %14056, i64 0
  %14058 = getelementptr inbounds %struct.anon.0, ptr %14057, i32 0, i32 2
  %14059 = load ptr, ptr %14058, align 8, !tbaa !10
  %14060 = load ptr, ptr %14059, align 8, !tbaa !19
  %14061 = getelementptr inbounds ptr, ptr %14060, i64 30
  %14062 = load ptr, ptr %14061, align 8
  %14063 = call noundef nonnull align 8 dereferenceable(144) ptr %14062(ptr noundef nonnull align 8 dereferenceable(176) %14059)
  %14064 = call noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144) %14063)
  %14065 = load ptr, ptr %14047, align 8, !tbaa !19
  %14066 = getelementptr inbounds ptr, ptr %14065, i64 42
  %14067 = load ptr, ptr %14066, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %14067(ptr noundef nonnull align 8 dereferenceable(1176) %14047, ptr noundef nonnull align 8 dereferenceable(24) %14055, ptr noundef @.str.195, ptr noundef %14064, ptr noundef @.str.21)
  br label %14068

14068:                                            ; preds = %14046, %14036, %14026, %14016, %14006
  %14069 = load ptr, ptr %3, align 8, !tbaa !5
  %14070 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14069, i32 0, i32 7
  %14071 = load ptr, ptr %14070, align 8, !tbaa !21
  %14072 = load ptr, ptr %15, align 8, !tbaa !5
  %14073 = getelementptr inbounds %union.YYSTYPE, ptr %14072, i64 0
  %14074 = getelementptr inbounds %struct.anon.0, ptr %14073, i32 0, i32 2
  %14075 = load ptr, ptr %14074, align 8, !tbaa !10
  %14076 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %14071, ptr noundef %14075)
  %14077 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14076, ptr %14077, align 8, !tbaa !10
  br label %14379

14078:                                            ; preds = %406
  %14079 = load ptr, ptr %15, align 8, !tbaa !5
  %14080 = getelementptr inbounds %union.YYSTYPE, ptr %14079, i64 0
  %14081 = getelementptr inbounds %struct.anon.0, ptr %14080, i32 0, i32 2
  %14082 = load ptr, ptr %14081, align 8, !tbaa !10
  %14083 = load ptr, ptr %14082, align 8, !tbaa !19
  %14084 = getelementptr inbounds ptr, ptr %14083, i64 32
  %14085 = load ptr, ptr %14084, align 8
  %14086 = call noundef i32 %14085(ptr noundef nonnull align 8 dereferenceable(176) %14082)
  %14087 = icmp ne i32 %14086, 1
  br i1 %14087, label %14088, label %14140

14088:                                            ; preds = %14078
  %14089 = load ptr, ptr %15, align 8, !tbaa !5
  %14090 = getelementptr inbounds %union.YYSTYPE, ptr %14089, i64 0
  %14091 = getelementptr inbounds %struct.anon.0, ptr %14090, i32 0, i32 2
  %14092 = load ptr, ptr %14091, align 8, !tbaa !10
  %14093 = load ptr, ptr %14092, align 8, !tbaa !19
  %14094 = getelementptr inbounds ptr, ptr %14093, i64 32
  %14095 = load ptr, ptr %14094, align 8
  %14096 = call noundef i32 %14095(ptr noundef nonnull align 8 dereferenceable(176) %14092)
  %14097 = icmp ne i32 %14096, 8
  br i1 %14097, label %14098, label %14140

14098:                                            ; preds = %14088
  %14099 = load ptr, ptr %15, align 8, !tbaa !5
  %14100 = getelementptr inbounds %union.YYSTYPE, ptr %14099, i64 0
  %14101 = getelementptr inbounds %struct.anon.0, ptr %14100, i32 0, i32 2
  %14102 = load ptr, ptr %14101, align 8, !tbaa !10
  %14103 = load ptr, ptr %14102, align 8, !tbaa !19
  %14104 = getelementptr inbounds ptr, ptr %14103, i64 32
  %14105 = load ptr, ptr %14104, align 8
  %14106 = call noundef i32 %14105(ptr noundef nonnull align 8 dereferenceable(176) %14102)
  %14107 = icmp ne i32 %14106, 9
  br i1 %14107, label %14108, label %14140

14108:                                            ; preds = %14098
  %14109 = load ptr, ptr %15, align 8, !tbaa !5
  %14110 = getelementptr inbounds %union.YYSTYPE, ptr %14109, i64 0
  %14111 = getelementptr inbounds %struct.anon.0, ptr %14110, i32 0, i32 2
  %14112 = load ptr, ptr %14111, align 8, !tbaa !10
  %14113 = load ptr, ptr %14112, align 8, !tbaa !19
  %14114 = getelementptr inbounds ptr, ptr %14113, i64 32
  %14115 = load ptr, ptr %14114, align 8
  %14116 = call noundef i32 %14115(ptr noundef nonnull align 8 dereferenceable(176) %14112)
  %14117 = icmp ne i32 %14116, 12
  br i1 %14117, label %14118, label %14140

14118:                                            ; preds = %14108
  %14119 = load ptr, ptr %3, align 8, !tbaa !5
  %14120 = load ptr, ptr %15, align 8, !tbaa !5
  %14121 = getelementptr inbounds %union.YYSTYPE, ptr %14120, i64 0
  %14122 = getelementptr inbounds %struct.anon.0, ptr %14121, i32 0, i32 2
  %14123 = load ptr, ptr %14122, align 8, !tbaa !10
  %14124 = load ptr, ptr %14123, align 8, !tbaa !19
  %14125 = getelementptr inbounds ptr, ptr %14124, i64 0
  %14126 = load ptr, ptr %14125, align 8
  %14127 = call noundef nonnull align 8 dereferenceable(24) ptr %14126(ptr noundef nonnull align 8 dereferenceable(32) %14123)
  %14128 = load ptr, ptr %15, align 8, !tbaa !5
  %14129 = getelementptr inbounds %union.YYSTYPE, ptr %14128, i64 0
  %14130 = getelementptr inbounds %struct.anon.0, ptr %14129, i32 0, i32 2
  %14131 = load ptr, ptr %14130, align 8, !tbaa !10
  %14132 = load ptr, ptr %14131, align 8, !tbaa !19
  %14133 = getelementptr inbounds ptr, ptr %14132, i64 30
  %14134 = load ptr, ptr %14133, align 8
  %14135 = call noundef nonnull align 8 dereferenceable(144) ptr %14134(ptr noundef nonnull align 8 dereferenceable(176) %14131)
  %14136 = call noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144) %14135)
  %14137 = load ptr, ptr %14119, align 8, !tbaa !19
  %14138 = getelementptr inbounds ptr, ptr %14137, i64 42
  %14139 = load ptr, ptr %14138, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %14139(ptr noundef nonnull align 8 dereferenceable(1176) %14119, ptr noundef nonnull align 8 dereferenceable(24) %14127, ptr noundef @.str.195, ptr noundef %14136, ptr noundef @.str.21)
  br label %14140

14140:                                            ; preds = %14118, %14108, %14098, %14088, %14078
  %14141 = load ptr, ptr %3, align 8, !tbaa !5
  %14142 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14141, i32 0, i32 7
  %14143 = load ptr, ptr %14142, align 8, !tbaa !21
  %14144 = load ptr, ptr %15, align 8, !tbaa !5
  %14145 = getelementptr inbounds %union.YYSTYPE, ptr %14144, i64 -2
  %14146 = getelementptr inbounds %struct.anon.0, ptr %14145, i32 0, i32 2
  %14147 = load ptr, ptr %14146, align 8, !tbaa !10
  %14148 = load ptr, ptr %15, align 8, !tbaa !5
  %14149 = getelementptr inbounds %union.YYSTYPE, ptr %14148, i64 0
  %14150 = getelementptr inbounds %struct.anon.0, ptr %14149, i32 0, i32 2
  %14151 = load ptr, ptr %14150, align 8, !tbaa !10
  %14152 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %14143, ptr noundef %14147, ptr noundef %14151)
  %14153 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14152, ptr %14153, align 8, !tbaa !10
  br label %14379

14154:                                            ; preds = %406
  %14155 = load ptr, ptr %3, align 8, !tbaa !5
  %14156 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14155, i32 0, i32 7
  %14157 = load ptr, ptr %14156, align 8, !tbaa !21
  %14158 = load ptr, ptr %3, align 8, !tbaa !5
  %14159 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14158, i32 0, i32 7
  %14160 = load ptr, ptr %14159, align 8, !tbaa !21
  %14161 = load ptr, ptr %15, align 8, !tbaa !5
  %14162 = getelementptr inbounds %union.YYSTYPE, ptr %14161, i64 0
  %14163 = getelementptr inbounds %struct.anon, ptr %14162, i32 0, i32 1
  %14164 = load ptr, ptr %14163, align 8, !tbaa !10
  %14165 = load ptr, ptr %15, align 8, !tbaa !5
  %14166 = getelementptr inbounds %union.YYSTYPE, ptr %14165, i64 0
  %14167 = getelementptr inbounds %struct.anon, ptr %14166, i32 0, i32 0
  %14168 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %14160, ptr noundef %14164, ptr noundef nonnull align 8 dereferenceable(24) %14167, i1 noundef zeroext true)
  %14169 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %14157, ptr noundef %14168)
  %14170 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14169, ptr %14170, align 8, !tbaa !10
  br label %14379

14171:                                            ; preds = %406
  %14172 = load ptr, ptr %3, align 8, !tbaa !5
  %14173 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14172, i32 0, i32 7
  %14174 = load ptr, ptr %14173, align 8, !tbaa !21
  %14175 = load ptr, ptr %15, align 8, !tbaa !5
  %14176 = getelementptr inbounds %union.YYSTYPE, ptr %14175, i64 -2
  %14177 = getelementptr inbounds %struct.anon.0, ptr %14176, i32 0, i32 2
  %14178 = load ptr, ptr %14177, align 8, !tbaa !10
  %14179 = load ptr, ptr %3, align 8, !tbaa !5
  %14180 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14179, i32 0, i32 7
  %14181 = load ptr, ptr %14180, align 8, !tbaa !21
  %14182 = load ptr, ptr %15, align 8, !tbaa !5
  %14183 = getelementptr inbounds %union.YYSTYPE, ptr %14182, i64 0
  %14184 = getelementptr inbounds %struct.anon, ptr %14183, i32 0, i32 1
  %14185 = load ptr, ptr %14184, align 8, !tbaa !10
  %14186 = load ptr, ptr %15, align 8, !tbaa !5
  %14187 = getelementptr inbounds %union.YYSTYPE, ptr %14186, i64 0
  %14188 = getelementptr inbounds %struct.anon, ptr %14187, i32 0, i32 0
  %14189 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %14181, ptr noundef %14185, ptr noundef nonnull align 8 dereferenceable(24) %14188, i1 noundef zeroext true)
  %14190 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %14174, ptr noundef %14178, ptr noundef %14189)
  %14191 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14190, ptr %14191, align 8, !tbaa !10
  br label %14379

14192:                                            ; preds = %406
  %14193 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %14194 = load ptr, ptr %15, align 8, !tbaa !5
  %14195 = getelementptr inbounds %union.YYSTYPE, ptr %14194, i64 -5
  %14196 = getelementptr inbounds %struct.anon, ptr %14195, i32 0, i32 0
  %14197 = load ptr, ptr %3, align 8, !tbaa !5
  %14198 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %14197, i32 0, i32 2
  %14199 = load ptr, ptr %14198, align 8, !tbaa !45
  %14200 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %14199)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %14193, ptr noundef nonnull align 8 dereferenceable(24) %14196, i1 noundef zeroext %14200)
  %14201 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %14202 = load ptr, ptr %15, align 8, !tbaa !5
  %14203 = getelementptr inbounds %union.YYSTYPE, ptr %14202, i64 -3
  %14204 = getelementptr inbounds %struct.anon.0, ptr %14203, i32 0, i32 2
  %14205 = load ptr, ptr %14204, align 8, !tbaa !10
  %14206 = load ptr, ptr %15, align 8, !tbaa !5
  %14207 = getelementptr inbounds %union.YYSTYPE, ptr %14206, i64 -1
  %14208 = getelementptr inbounds %struct.anon.0, ptr %14207, i32 0, i32 2
  %14209 = load ptr, ptr %14208, align 8, !tbaa !10
  call void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232) %14201, ptr noundef nonnull align 8 dereferenceable(44) %14205, ptr noundef %14209)
  br label %14379

14210:                                            ; preds = %406
  %14211 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %14212 = load ptr, ptr %15, align 8, !tbaa !5
  %14213 = getelementptr inbounds %union.YYSTYPE, ptr %14212, i64 -7
  %14214 = getelementptr inbounds %struct.anon, ptr %14213, i32 0, i32 0
  %14215 = load ptr, ptr %3, align 8, !tbaa !5
  %14216 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %14215, i32 0, i32 2
  %14217 = load ptr, ptr %14216, align 8, !tbaa !45
  %14218 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %14217)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %14211, ptr noundef nonnull align 8 dereferenceable(24) %14214, i1 noundef zeroext %14218)
  %14219 = load ptr, ptr %3, align 8, !tbaa !5
  %14220 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14219, i32 0, i32 7
  %14221 = load ptr, ptr %14220, align 8, !tbaa !21
  %14222 = load ptr, ptr %15, align 8, !tbaa !5
  %14223 = getelementptr inbounds %union.YYSTYPE, ptr %14222, i64 -5
  %14224 = getelementptr inbounds %struct.anon.0, ptr %14223, i32 0, i32 2
  %14225 = load ptr, ptr %14224, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %14221, ptr noundef %14225)
  %14226 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %14227 = load ptr, ptr %15, align 8, !tbaa !5
  %14228 = getelementptr inbounds %union.YYSTYPE, ptr %14227, i64 -3
  %14229 = getelementptr inbounds %struct.anon.0, ptr %14228, i32 0, i32 2
  %14230 = load ptr, ptr %14229, align 8, !tbaa !10
  %14231 = load ptr, ptr %15, align 8, !tbaa !5
  %14232 = getelementptr inbounds %union.YYSTYPE, ptr %14231, i64 -1
  %14233 = getelementptr inbounds %struct.anon.0, ptr %14232, i32 0, i32 2
  %14234 = load ptr, ptr %14233, align 8, !tbaa !10
  call void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232) %14226, ptr noundef nonnull align 8 dereferenceable(44) %14230, ptr noundef %14234)
  br label %14379

14235:                                            ; preds = %406
  %14236 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %14237 = load ptr, ptr %15, align 8, !tbaa !5
  %14238 = getelementptr inbounds %union.YYSTYPE, ptr %14237, i64 -3
  %14239 = getelementptr inbounds %struct.anon, ptr %14238, i32 0, i32 0
  %14240 = load ptr, ptr %3, align 8, !tbaa !5
  %14241 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %14240, i32 0, i32 2
  %14242 = load ptr, ptr %14241, align 8, !tbaa !45
  %14243 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %14242)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %14236, ptr noundef nonnull align 8 dereferenceable(24) %14239, i1 noundef zeroext %14243)
  %14244 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %14245 = load ptr, ptr %15, align 8, !tbaa !5
  %14246 = getelementptr inbounds %union.YYSTYPE, ptr %14245, i64 -1
  %14247 = getelementptr inbounds %struct.anon.0, ptr %14246, i32 0, i32 2
  %14248 = load ptr, ptr %14247, align 8, !tbaa !10
  call void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232) %14244, ptr noundef nonnull align 8 dereferenceable(44) %14248, ptr noundef null)
  br label %14379

14249:                                            ; preds = %406
  %14250 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %14251 = load ptr, ptr %15, align 8, !tbaa !5
  %14252 = getelementptr inbounds %union.YYSTYPE, ptr %14251, i64 -5
  %14253 = getelementptr inbounds %struct.anon, ptr %14252, i32 0, i32 0
  %14254 = load ptr, ptr %3, align 8, !tbaa !5
  %14255 = getelementptr inbounds %"class.glslang::TParseContextBase", ptr %14254, i32 0, i32 2
  %14256 = load ptr, ptr %14255, align 8, !tbaa !45
  %14257 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %14256)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %14250, ptr noundef nonnull align 8 dereferenceable(24) %14253, i1 noundef zeroext %14257)
  %14258 = load ptr, ptr %3, align 8, !tbaa !5
  %14259 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14258, i32 0, i32 7
  %14260 = load ptr, ptr %14259, align 8, !tbaa !21
  %14261 = load ptr, ptr %15, align 8, !tbaa !5
  %14262 = getelementptr inbounds %union.YYSTYPE, ptr %14261, i64 -3
  %14263 = getelementptr inbounds %struct.anon.0, ptr %14262, i32 0, i32 2
  %14264 = load ptr, ptr %14263, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %14260, ptr noundef %14264)
  %14265 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 3
  %14266 = load ptr, ptr %15, align 8, !tbaa !5
  %14267 = getelementptr inbounds %union.YYSTYPE, ptr %14266, i64 -1
  %14268 = getelementptr inbounds %struct.anon.0, ptr %14267, i32 0, i32 2
  %14269 = load ptr, ptr %14268, align 8, !tbaa !10
  call void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232) %14265, ptr noundef nonnull align 8 dereferenceable(44) %14269, ptr noundef null)
  br label %14379

14270:                                            ; preds = %406
  %14271 = load ptr, ptr %15, align 8, !tbaa !5
  %14272 = getelementptr inbounds %union.YYSTYPE, ptr %14271, i64 0
  %14273 = getelementptr inbounds %struct.anon.0, ptr %14272, i32 0, i32 2
  %14274 = load ptr, ptr %14273, align 8, !tbaa !10
  %14275 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14274, ptr %14275, align 8, !tbaa !10
  br label %14379

14276:                                            ; preds = %406
  %14277 = load ptr, ptr %3, align 8, !tbaa !5
  %14278 = load ptr, ptr %15, align 8, !tbaa !5
  %14279 = getelementptr inbounds %union.YYSTYPE, ptr %14278, i64 -2
  %14280 = getelementptr inbounds %struct.anon.0, ptr %14279, i32 0, i32 2
  %14281 = load ptr, ptr %14280, align 8, !tbaa !10
  %14282 = load ptr, ptr %15, align 8, !tbaa !5
  %14283 = getelementptr inbounds %union.YYSTYPE, ptr %14282, i64 0
  %14284 = getelementptr inbounds %struct.anon.0, ptr %14283, i32 0, i32 2
  %14285 = load ptr, ptr %14284, align 8, !tbaa !10
  %14286 = call noundef ptr @_ZN7glslang13TParseContext24mergeSpirvTypeParametersEPNS_7TVectorINS_19TSpirvTypeParameterEEES4_(ptr noundef nonnull align 8 dereferenceable(24912) %14277, ptr noundef %14281, ptr noundef %14285)
  %14287 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14286, ptr %14287, align 8, !tbaa !10
  br label %14379

14288:                                            ; preds = %406
  %14289 = load ptr, ptr %3, align 8, !tbaa !5
  %14290 = load ptr, ptr %15, align 8, !tbaa !5
  %14291 = getelementptr inbounds %union.YYSTYPE, ptr %14290, i64 0
  %14292 = getelementptr inbounds %struct.anon.0, ptr %14291, i32 0, i32 2
  %14293 = load ptr, ptr %14292, align 8, !tbaa !10
  %14294 = load ptr, ptr %14293, align 8, !tbaa !19
  %14295 = getelementptr inbounds ptr, ptr %14294, i64 0
  %14296 = load ptr, ptr %14295, align 8
  %14297 = call noundef nonnull align 8 dereferenceable(24) ptr %14296(ptr noundef nonnull align 8 dereferenceable(32) %14293)
  %14298 = load ptr, ptr %15, align 8, !tbaa !5
  %14299 = getelementptr inbounds %union.YYSTYPE, ptr %14298, i64 0
  %14300 = getelementptr inbounds %struct.anon.0, ptr %14299, i32 0, i32 2
  %14301 = load ptr, ptr %14300, align 8, !tbaa !10
  %14302 = load ptr, ptr %14301, align 8, !tbaa !19
  %14303 = getelementptr inbounds ptr, ptr %14302, i64 5
  %14304 = load ptr, ptr %14303, align 8
  %14305 = call noundef ptr %14304(ptr noundef nonnull align 8 dereferenceable(32) %14301)
  %14306 = call noundef ptr @_ZN7glslang13TParseContext23makeSpirvTypeParametersERKNS_10TSourceLocEPKNS_20TIntermConstantUnionE(ptr noundef nonnull align 8 dereferenceable(24912) %14289, ptr noundef nonnull align 8 dereferenceable(24) %14297, ptr noundef %14305)
  %14307 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14306, ptr %14307, align 8, !tbaa !10
  br label %14379

14308:                                            ; preds = %406
  %14309 = load ptr, ptr %15, align 8, !tbaa !5
  %14310 = getelementptr inbounds %union.YYSTYPE, ptr %14309, i64 -1
  %14311 = getelementptr inbounds %struct.anon.0, ptr %14310, i32 0, i32 2
  %14312 = load ptr, ptr %14311, align 8, !tbaa !10
  %14313 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14312, ptr %14313, align 8, !tbaa !10
  br label %14379

14314:                                            ; preds = %406
  %14315 = load ptr, ptr %3, align 8, !tbaa !5
  %14316 = getelementptr inbounds %"class.glslang::TParseVersions", ptr %14315, i32 0, i32 7
  %14317 = load ptr, ptr %14316, align 8, !tbaa !21
  %14318 = load ptr, ptr %15, align 8, !tbaa !5
  %14319 = getelementptr inbounds %union.YYSTYPE, ptr %14318, i64 -3
  %14320 = getelementptr inbounds %struct.anon.0, ptr %14319, i32 0, i32 2
  %14321 = load ptr, ptr %14320, align 8, !tbaa !10
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %14317, ptr noundef %14321)
  %14322 = load ptr, ptr %15, align 8, !tbaa !5
  %14323 = getelementptr inbounds %union.YYSTYPE, ptr %14322, i64 -1
  %14324 = getelementptr inbounds %struct.anon.0, ptr %14323, i32 0, i32 2
  %14325 = load ptr, ptr %14324, align 8, !tbaa !10
  %14326 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14325, ptr %14326, align 8, !tbaa !10
  br label %14379

14327:                                            ; preds = %406
  %14328 = load ptr, ptr %15, align 8, !tbaa !5
  %14329 = getelementptr inbounds %union.YYSTYPE, ptr %14328, i64 0
  %14330 = getelementptr inbounds %struct.anon.0, ptr %14329, i32 0, i32 2
  %14331 = load ptr, ptr %14330, align 8, !tbaa !10
  %14332 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14331, ptr %14332, align 8, !tbaa !10
  br label %14379

14333:                                            ; preds = %406
  %14334 = load ptr, ptr %3, align 8, !tbaa !5
  %14335 = load ptr, ptr %15, align 8, !tbaa !5
  %14336 = getelementptr inbounds %union.YYSTYPE, ptr %14335, i64 -1
  %14337 = getelementptr inbounds %struct.anon, ptr %14336, i32 0, i32 0
  %14338 = load ptr, ptr %15, align 8, !tbaa !5
  %14339 = getelementptr inbounds %union.YYSTYPE, ptr %14338, i64 -2
  %14340 = getelementptr inbounds %struct.anon.0, ptr %14339, i32 0, i32 2
  %14341 = load ptr, ptr %14340, align 8, !tbaa !10
  %14342 = load ptr, ptr %15, align 8, !tbaa !5
  %14343 = getelementptr inbounds %union.YYSTYPE, ptr %14342, i64 0
  %14344 = getelementptr inbounds %struct.anon.0, ptr %14343, i32 0, i32 2
  %14345 = load ptr, ptr %14344, align 8, !tbaa !10
  %14346 = call noundef ptr @_ZN7glslang13TParseContext21mergeSpirvInstructionERKNS_10TSourceLocEPNS_17TSpirvInstructionES5_(ptr noundef nonnull align 8 dereferenceable(24912) %14334, ptr noundef nonnull align 8 dereferenceable(24) %14337, ptr noundef %14341, ptr noundef %14345)
  %14347 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14346, ptr %14347, align 8, !tbaa !10
  br label %14379

14348:                                            ; preds = %406
  %14349 = load ptr, ptr %3, align 8, !tbaa !5
  %14350 = load ptr, ptr %15, align 8, !tbaa !5
  %14351 = getelementptr inbounds %union.YYSTYPE, ptr %14350, i64 -1
  %14352 = getelementptr inbounds %struct.anon, ptr %14351, i32 0, i32 0
  %14353 = load ptr, ptr %15, align 8, !tbaa !5
  %14354 = getelementptr inbounds %union.YYSTYPE, ptr %14353, i64 -2
  %14355 = getelementptr inbounds %struct.anon, ptr %14354, i32 0, i32 1
  %14356 = load ptr, ptr %14355, align 8, !tbaa !10
  %14357 = load ptr, ptr %15, align 8, !tbaa !5
  %14358 = getelementptr inbounds %union.YYSTYPE, ptr %14357, i64 0
  %14359 = getelementptr inbounds %struct.anon, ptr %14358, i32 0, i32 1
  %14360 = load ptr, ptr %14359, align 8, !tbaa !10
  %14361 = call noundef ptr @_ZN7glslang13TParseContext20makeSpirvInstructionERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912) %14349, ptr noundef nonnull align 8 dereferenceable(24) %14352, ptr noundef nonnull align 8 dereferenceable(40) %14356, ptr noundef nonnull align 8 dereferenceable(40) %14360)
  %14362 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14361, ptr %14362, align 8, !tbaa !10
  br label %14379

14363:                                            ; preds = %406
  %14364 = load ptr, ptr %3, align 8, !tbaa !5
  %14365 = load ptr, ptr %15, align 8, !tbaa !5
  %14366 = getelementptr inbounds %union.YYSTYPE, ptr %14365, i64 -1
  %14367 = getelementptr inbounds %struct.anon, ptr %14366, i32 0, i32 0
  %14368 = load ptr, ptr %15, align 8, !tbaa !5
  %14369 = getelementptr inbounds %union.YYSTYPE, ptr %14368, i64 -2
  %14370 = getelementptr inbounds %struct.anon, ptr %14369, i32 0, i32 1
  %14371 = load ptr, ptr %14370, align 8, !tbaa !10
  %14372 = load ptr, ptr %15, align 8, !tbaa !5
  %14373 = getelementptr inbounds %union.YYSTYPE, ptr %14372, i64 0
  %14374 = getelementptr inbounds %struct.anon, ptr %14373, i32 0, i32 1
  %14375 = load i32, ptr %14374, align 8, !tbaa !10
  %14376 = call noundef ptr @_ZN7glslang13TParseContext20makeSpirvInstructionERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEi(ptr noundef nonnull align 8 dereferenceable(24912) %14364, ptr noundef nonnull align 8 dereferenceable(24) %14367, ptr noundef nonnull align 8 dereferenceable(40) %14371, i32 noundef %14375)
  %14377 = getelementptr inbounds %struct.anon.0, ptr %19, i32 0, i32 2
  store ptr %14376, ptr %14377, align 8, !tbaa !10
  br label %14379

14378:                                            ; preds = %406
  br label %14379

14379:                                            ; preds = %14378, %14363, %14348, %14333, %14327, %14314, %14308, %14288, %14276, %14270, %14249, %14235, %14210, %14192, %14171, %14154, %14140, %14068, %13992, %13979, %13966, %13953, %13939, %13929, %13903, %13884, %13858, %13839, %13813, %13794, %13776, %13765, %13740, %13722, %13708, %13626, %13541, %13527, %13514, %13501, %13488, %13474, %13464, %13440, %13423, %13399, %13382, %13366, %13357, %13336, %13319, %13298, %13281, %13262, %13243, %13228, %13222, %13210, %13202, %13190, %13184, %13178, %13177, %13032, %12980, %12974, %12968, %12967, %12931, %12918, %12905, %12892, %12879, %12868, %12867, %12825, %12798, %12772, %12763, %12761, %12755, %12749, %12743, %12710, %12638, %12595, %12564, %12529, %12513, %12471, %12465, %12464, %12422, %12361, %12359, %12340, %12294, %12255, %12249, %12248, %12185, %12176, %12163, %12135, %12108, %12102, %12096, %12094, %12093, %12016, %11956, %11926, %11906, %11894, %11884, %11879, %11873, %11867, %11861, %11822, %11814, %11812, %11792, %11786, %11780, %11774, %11768, %11762, %11756, %11750, %11744, %11738, %11732, %11726, %11712, %11694, %11675, %11659, %11643, %11637, %11608, %11576, %11568, %11557, %11554, %11393, %11249, %11148, %11122, %11109, %11094, %11040, %11021, %11002, %10983, %10982, %10916, %10903, %10876, %10849, %10822, %10805, %10788, %10771, %10754, %10726, %10698, %10681, %10664, %10646, %10628, %10615, %10602, %10589, %10576, %10563, %10550, %10537, %10524, %10511, %10498, %10485, %10472, %10459, %10446, %10433, %10420, %10407, %10394, %10381, %10368, %10355, %10342, %10329, %10316, %10292, %10279, %10266, %10253, %10229, %10216, %10203, %10190, %10166, %10153, %10140, %10127, %10103, %10090, %10077, %10064, %10040, %10027, %10014, %10001, %9977, %9964, %9951, %9938, %9914, %9901, %9888, %9875, %9851, %9838, %9825, %9812, %9788, %9775, %9762, %9749, %9725, %9712, %9699, %9686, %9662, %9649, %9636, %9623, %9599, %9586, %9573, %9560, %9536, %9523, %9510, %9497, %9473, %9460, %9447, %9434, %9410, %9397, %9384, %9371, %9358, %9345, %9321, %9297, %9273, %9260, %9236, %9212, %9188, %9164, %9151, %9138, %9125, %9101, %9088, %9075, %9062, %9038, %9025, %9012, %8999, %8975, %8962, %8949, %8936, %8912, %8888, %8875, %8862, %8849, %8836, %8823, %8810, %8797, %8784, %8771, %8758, %8745, %8732, %8719, %8706, %8693, %8680, %8667, %8654, %8641, %8628, %8615, %8602, %8589, %8576, %8563, %8550, %8537, %8524, %8511, %8498, %8485, %8472, %8459, %8435, %8411, %8387, %8363, %8339, %8315, %8291, %8267, %8243, %8219, %8195, %8171, %8147, %8134, %8121, %8108, %8095, %8082, %8069, %8056, %8043, %8030, %8017, %8004, %7991, %7978, %7960, %7949, %7938, %7927, %7904, %7881, %7858, %7835, %7812, %7789, %7766, %7743, %7720, %7697, %7674, %7651, %7628, %7605, %7582, %7559, %7536, %7513, %7490, %7467, %7444, %7421, %7398, %7375, %7352, %7329, %7306, %7283, %7260, %7237, %7214, %7191, %7168, %7145, %7122, %7099, %7087, %7058, %7029, %7000, %6971, %6942, %6913, %6884, %6855, %6826, %6797, %6768, %6728, %6705, %6682, %6659, %6636, %6613, %6590, %6567, %6544, %6521, %6498, %6475, %6452, %6429, %6406, %6383, %6360, %6337, %6314, %6291, %6268, %6245, %6222, %6199, %6176, %6153, %6130, %6107, %6084, %6061, %6038, %6015, %5992, %5980, %5951, %5922, %5883, %5861, %5839, %5817, %5795, %5773, %5751, %5729, %5707, %5685, %5663, %5652, %5623, %5611, %5599, %5587, %5575, %5563, %5551, %5539, %5527, %5515, %5503, %5491, %5472, %5453, %5434, %5422, %5410, %5398, %5386, %5374, %5362, %5350, %5338, %5326, %5315, %5297, %5286, %5275, %5264, %5239, %5214, %5206, %5204, %5198, %5176, %5171, %5146, %5132, %5089, %5066, %5065, %5064, %5053, %5030, %5007, %4996, %4985, %4974, %4963, %4945, %4927, %4909, %4891, %4873, %4855, %4844, %4821, %4798, %4775, %4752, %4729, %4706, %4683, %4660, %4637, %4614, %4599, %4580, %4579, %4477, %4462, %4435, %4420, %4397, %4382, %4367, %4352, %4341, %4327, %4313, %4300, %4282, %4277, %4272, %4267, %4262, %4243, %4238, %4233, %4217, %4195, %4177, %4172, %4144, %4130, %4112, %4107, %4102, %4083, %4064, %4053, %4005, %3978, %3955, %3932, %3909, %3886, %3868, %3867, %3711, %3649, %3615, %3593, %3575, %3566, %3532, %3494, %3475, %3460, %3457, %3456, %3390, %3334, %3262, %3209, %3118, %3074, %2995, %2924, %2877, %2832, %2826, %2793, %2768, %2743, %2733, %2722, %2711, %2664, %2658, %2627, %2603, %2584, %2566, %2552, %2542, %2514, %2508, %2467, %2438, %2427, %2416, %2415, %2343, %2330, %2317, %2304, %2291, %2278, %2272, %2266, %2253, %2247, %2241, %2235, %2234, %2097, %2096, %1984, %1978, %1977, %1944, %1943, %1910, %1909, %1876, %1875, %1838, %1837, %1800, %1799, %1762, %1761, %1685, %1604, %1603, %1575, %1547, %1519, %1486, %1485, %1453, %1416, %1415, %1390, %1360, %1359, %1327, %1302, %1272, %1259, %1253, %1247, %1241, %1240, %1162, %1139, %1138, %1087, %1085, %938, %935, %891, %854, %847, %844, %837, %830, %827, %826, %791, %764, %737, %722, %716, %701, %695, %675, %662, %624, %603, %583, %563, %543, %523, %510, %496, %476, %463, %450, %449, %423, %408
  br label %14380

14380:                                            ; preds = %14379
  %14381 = load i32, ptr @yydebug, align 4, !tbaa !11
  %14382 = icmp ne i32 %14381, 0
  br i1 %14382, label %14383, label %14395

14383:                                            ; preds = %14380
  %14384 = load ptr, ptr @stderr, align 8, !tbaa !5
  %14385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14384, ptr noundef @.str.5, ptr noundef @.str.196) #10
  %14386 = load ptr, ptr @stderr, align 8, !tbaa !5
  %14387 = load i32, ptr %16, align 4, !tbaa !11
  %14388 = sext i32 %14387 to i64
  %14389 = getelementptr inbounds [685 x i16], ptr @_ZL4yyr1, i64 0, i64 %14388
  %14390 = load i16, ptr %14389, align 2, !tbaa !17
  %14391 = sext i16 %14390 to i32
  %14392 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef %14386, i32 noundef %14391, ptr noundef %19, ptr noundef %14392)
  %14393 = load ptr, ptr @stderr, align 8, !tbaa !5
  %14394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14393, ptr noundef @.str.7) #10
  br label %14395

14395:                                            ; preds = %14383, %14380
  br label %14396

14396:                                            ; preds = %14395
  br label %14397

14397:                                            ; preds = %14396
  %14398 = load i32, ptr %23, align 4, !tbaa !11
  %14399 = load ptr, ptr %15, align 8, !tbaa !5
  %14400 = sext i32 %14398 to i64
  %14401 = sub i64 0, %14400
  %14402 = getelementptr inbounds %union.YYSTYPE, ptr %14399, i64 %14401
  store ptr %14402, ptr %15, align 8, !tbaa !5
  %14403 = load i32, ptr %23, align 4, !tbaa !11
  %14404 = load ptr, ptr %12, align 8, !tbaa !5
  %14405 = sext i32 %14403 to i64
  %14406 = sub i64 0, %14405
  %14407 = getelementptr inbounds i16, ptr %14404, i64 %14406
  store ptr %14407, ptr %12, align 8, !tbaa !5
  store i32 0, ptr %23, align 4, !tbaa !11
  %14408 = load ptr, ptr %15, align 8, !tbaa !5
  %14409 = getelementptr inbounds %union.YYSTYPE, ptr %14408, i32 1
  store ptr %14409, ptr %15, align 8, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14409, ptr align 8 %19, i64 288, i1 false), !tbaa.struct !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %14410 = load i32, ptr %16, align 4, !tbaa !11
  %14411 = sext i32 %14410 to i64
  %14412 = getelementptr inbounds [685 x i16], ptr @_ZL4yyr1, i64 0, i64 %14411
  %14413 = load i16, ptr %14412, align 2, !tbaa !17
  %14414 = sext i16 %14413 to i32
  %14415 = sub nsw i32 %14414, 456
  store i32 %14415, ptr %100, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %14416 = load i32, ptr %100, align 4, !tbaa !11
  %14417 = sext i32 %14416 to i64
  %14418 = getelementptr inbounds [131 x i16], ptr @_ZL7yypgoto, i64 0, i64 %14417
  %14419 = load i16, ptr %14418, align 2, !tbaa !17
  %14420 = sext i16 %14419 to i32
  %14421 = load ptr, ptr %12, align 8, !tbaa !5
  %14422 = load i16, ptr %14421, align 2, !tbaa !17
  %14423 = sext i16 %14422 to i32
  %14424 = add nsw i32 %14420, %14423
  store i32 %14424, ptr %101, align 4, !tbaa !11
  %14425 = load i32, ptr %101, align 4, !tbaa !11
  %14426 = icmp sle i32 0, %14425
  br i1 %14426, label %14427, label %14445

14427:                                            ; preds = %14397
  %14428 = load i32, ptr %101, align 4, !tbaa !11
  %14429 = icmp sle i32 %14428, 12469
  br i1 %14429, label %14430, label %14445

14430:                                            ; preds = %14427
  %14431 = load i32, ptr %101, align 4, !tbaa !11
  %14432 = sext i32 %14431 to i64
  %14433 = getelementptr inbounds [12470 x i16], ptr @_ZL7yycheck, i64 0, i64 %14432
  %14434 = load i16, ptr %14433, align 2, !tbaa !17
  %14435 = sext i16 %14434 to i32
  %14436 = load ptr, ptr %12, align 8, !tbaa !5
  %14437 = load i16, ptr %14436, align 2, !tbaa !17
  %14438 = sext i16 %14437 to i32
  %14439 = icmp eq i32 %14435, %14438
  br i1 %14439, label %14440, label %14445

14440:                                            ; preds = %14430
  %14441 = load i32, ptr %101, align 4, !tbaa !11
  %14442 = sext i32 %14441 to i64
  %14443 = getelementptr inbounds [12470 x i16], ptr @_ZL7yytable, i64 0, i64 %14442
  %14444 = load i16, ptr %14443, align 2, !tbaa !17
  br label %14450

14445:                                            ; preds = %14430, %14427, %14397
  %14446 = load i32, ptr %100, align 4, !tbaa !11
  %14447 = sext i32 %14446 to i64
  %14448 = getelementptr inbounds [131 x i16], ptr @_ZL9yydefgoto, i64 0, i64 %14447
  %14449 = load i16, ptr %14448, align 2, !tbaa !17
  br label %14450

14450:                                            ; preds = %14445, %14440
  %14451 = phi i16 [ %14444, %14440 ], [ %14449, %14445 ]
  %14452 = sext i16 %14451 to i32
  store i32 %14452, ptr %7, align 4, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %119

14453:                                            ; preds = %383
  %14454 = load i32, ptr %4, align 4, !tbaa !11
  %14455 = icmp eq i32 %14454, -2
  br i1 %14455, label %14456, label %14457

14456:                                            ; preds = %14453
  br label %14472

14457:                                            ; preds = %14453
  %14458 = load i32, ptr %4, align 4, !tbaa !11
  %14459 = icmp sle i32 0, %14458
  br i1 %14459, label %14460, label %14469

14460:                                            ; preds = %14457
  %14461 = load i32, ptr %4, align 4, !tbaa !11
  %14462 = icmp sle i32 %14461, 710
  br i1 %14462, label %14463, label %14469

14463:                                            ; preds = %14460
  %14464 = load i32, ptr %4, align 4, !tbaa !11
  %14465 = sext i32 %14464 to i64
  %14466 = getelementptr inbounds [711 x i16], ptr @_ZL11yytranslate, i64 0, i64 %14465
  %14467 = load i16, ptr %14466, align 2, !tbaa !17
  %14468 = sext i16 %14467 to i32
  br label %14470

14469:                                            ; preds = %14460, %14457
  br label %14470

14470:                                            ; preds = %14469, %14463
  %14471 = phi i32 [ %14468, %14463 ], [ 2, %14469 ]
  br label %14472

14472:                                            ; preds = %14470, %14456
  %14473 = phi i32 [ -2, %14456 ], [ %14471, %14470 ]
  store i32 %14473, ptr %18, align 4, !tbaa !15
  %14474 = load i32, ptr %8, align 4, !tbaa !11
  %14475 = icmp ne i32 %14474, 0
  br i1 %14475, label %14519, label %14476

14476:                                            ; preds = %14472
  %14477 = load i32, ptr %6, align 4, !tbaa !11
  %14478 = add nsw i32 %14477, 1
  store i32 %14478, ptr %6, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 16, ptr %102) #10
  %14479 = getelementptr inbounds %struct.yypcontext_t, ptr %102, i32 0, i32 0
  %14480 = load ptr, ptr %12, align 8, !tbaa !5
  store ptr %14480, ptr %14479, align 8, !tbaa !173
  %14481 = getelementptr inbounds %struct.yypcontext_t, ptr %102, i32 0, i32 1
  %14482 = load i32, ptr %18, align 4, !tbaa !15
  store i32 %14482, ptr %14481, align 8, !tbaa !175
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #10
  store ptr @.str.197, ptr %103, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #10
  %14483 = call noundef i32 @_ZL14yysyntax_errorPlPPcPK12yypcontext_t(ptr noundef %22, ptr noundef %21, ptr noundef %102)
  store i32 %14483, ptr %104, align 4, !tbaa !11
  %14484 = load i32, ptr %104, align 4, !tbaa !11
  %14485 = icmp eq i32 %14484, 0
  br i1 %14485, label %14486, label %14488

14486:                                            ; preds = %14476
  %14487 = load ptr, ptr %21, align 8, !tbaa !5
  store ptr %14487, ptr %103, align 8, !tbaa !5
  br label %14509

14488:                                            ; preds = %14476
  %14489 = load i32, ptr %104, align 4, !tbaa !11
  %14490 = icmp eq i32 %14489, -1
  br i1 %14490, label %14491, label %14508

14491:                                            ; preds = %14488
  %14492 = load ptr, ptr %21, align 8, !tbaa !5
  %14493 = getelementptr inbounds [128 x i8], ptr %20, i64 0, i64 0
  %14494 = icmp ne ptr %14492, %14493
  br i1 %14494, label %14495, label %14497

14495:                                            ; preds = %14491
  %14496 = load ptr, ptr %21, align 8, !tbaa !5
  call void @free(ptr noundef %14496) #10
  br label %14497

14497:                                            ; preds = %14495, %14491
  %14498 = load i64, ptr %22, align 8, !tbaa !13
  %14499 = call noalias ptr @malloc(i64 noundef %14498) #11
  store ptr %14499, ptr %21, align 8, !tbaa !5
  %14500 = load ptr, ptr %21, align 8, !tbaa !5
  %14501 = icmp ne ptr %14500, null
  br i1 %14501, label %14502, label %14505

14502:                                            ; preds = %14497
  %14503 = call noundef i32 @_ZL14yysyntax_errorPlPPcPK12yypcontext_t(ptr noundef %22, ptr noundef %21, ptr noundef %102)
  store i32 %14503, ptr %104, align 4, !tbaa !11
  %14504 = load ptr, ptr %21, align 8, !tbaa !5
  store ptr %14504, ptr %103, align 8, !tbaa !5
  br label %14507

14505:                                            ; preds = %14497
  %14506 = getelementptr inbounds [128 x i8], ptr %20, i64 0, i64 0
  store ptr %14506, ptr %21, align 8, !tbaa !5
  store i64 128, ptr %22, align 8, !tbaa !13
  store i32 -2, ptr %104, align 4, !tbaa !11
  br label %14507

14507:                                            ; preds = %14505, %14502
  br label %14508

14508:                                            ; preds = %14507, %14488
  br label %14509

14509:                                            ; preds = %14508, %14486
  %14510 = load ptr, ptr %3, align 8, !tbaa !5
  %14511 = load ptr, ptr %103, align 8, !tbaa !5
  call void @_ZN7glslang13TParseContext11parserErrorEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %14510, ptr noundef %14511)
  %14512 = load i32, ptr %104, align 4, !tbaa !11
  %14513 = icmp eq i32 %14512, -2
  br i1 %14513, label %14514, label %14515

14514:                                            ; preds = %14509
  store i32 10, ptr %29, align 4
  br label %14516

14515:                                            ; preds = %14509
  store i32 0, ptr %29, align 4
  br label %14516

14516:                                            ; preds = %14515, %14514
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %102) #10
  %14517 = load i32, ptr %29, align 4
  switch i32 %14517, label %14721 [
    i32 0, label %14518
    i32 10, label %14647
  ]

14518:                                            ; preds = %14516
  br label %14519

14519:                                            ; preds = %14518, %14472
  %14520 = load i32, ptr %8, align 4, !tbaa !11
  %14521 = icmp eq i32 %14520, 3
  br i1 %14521, label %14522, label %14534

14522:                                            ; preds = %14519
  %14523 = load i32, ptr %4, align 4, !tbaa !11
  %14524 = icmp sle i32 %14523, 0
  br i1 %14524, label %14525, label %14530

14525:                                            ; preds = %14522
  %14526 = load i32, ptr %4, align 4, !tbaa !11
  %14527 = icmp eq i32 %14526, 0
  br i1 %14527, label %14528, label %14529

14528:                                            ; preds = %14525
  br label %14646

14529:                                            ; preds = %14525
  br label %14533

14530:                                            ; preds = %14522
  %14531 = load i32, ptr %18, align 4, !tbaa !15
  %14532 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef @.str.198, i32 noundef %14531, ptr noundef %5, ptr noundef %14532)
  store i32 -2, ptr %4, align 4, !tbaa !11
  br label %14533

14533:                                            ; preds = %14530, %14529
  br label %14534

14534:                                            ; preds = %14533, %14519
  br label %14558

14535:                                            ; No predecessors!
  %14536 = load i32, ptr %23, align 4, !tbaa !11
  %14537 = load ptr, ptr %15, align 8, !tbaa !5
  %14538 = sext i32 %14536 to i64
  %14539 = sub i64 0, %14538
  %14540 = getelementptr inbounds %union.YYSTYPE, ptr %14537, i64 %14539
  store ptr %14540, ptr %15, align 8, !tbaa !5
  %14541 = load i32, ptr %23, align 4, !tbaa !11
  %14542 = load ptr, ptr %12, align 8, !tbaa !5
  %14543 = sext i32 %14541 to i64
  %14544 = sub i64 0, %14543
  %14545 = getelementptr inbounds i16, ptr %14542, i64 %14544
  store ptr %14545, ptr %12, align 8, !tbaa !5
  store i32 0, ptr %23, align 4, !tbaa !11
  br label %14546

14546:                                            ; preds = %14535
  %14547 = load i32, ptr @yydebug, align 4, !tbaa !11
  %14548 = icmp ne i32 %14547, 0
  br i1 %14548, label %14549, label %14552

14549:                                            ; preds = %14546
  %14550 = load ptr, ptr %11, align 8, !tbaa !5
  %14551 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZL14yy_stack_printPsS_(ptr noundef %14550, ptr noundef %14551)
  br label %14552

14552:                                            ; preds = %14549, %14546
  br label %14553

14553:                                            ; preds = %14552
  br label %14554

14554:                                            ; preds = %14553
  %14555 = load ptr, ptr %12, align 8, !tbaa !5
  %14556 = load i16, ptr %14555, align 2, !tbaa !17
  %14557 = sext i16 %14556 to i32
  store i32 %14557, ptr %7, align 4, !tbaa !11
  br label %14558

14558:                                            ; preds = %14554, %14534, %291
  store i32 3, ptr %8, align 4, !tbaa !11
  br label %14559

14559:                                            ; preds = %14621, %14558
  %14560 = load i32, ptr %7, align 4, !tbaa !11
  %14561 = sext i32 %14560 to i64
  %14562 = getelementptr inbounds [930 x i16], ptr @_ZL6yypact, i64 0, i64 %14561
  %14563 = load i16, ptr %14562, align 2, !tbaa !17
  %14564 = sext i16 %14563 to i32
  store i32 %14564, ptr %16, align 4, !tbaa !11
  %14565 = load i32, ptr %16, align 4, !tbaa !11
  %14566 = icmp eq i32 %14565, -865
  br i1 %14566, label %14593, label %14567

14567:                                            ; preds = %14559
  %14568 = load i32, ptr %16, align 4, !tbaa !11
  %14569 = add nsw i32 %14568, 1
  store i32 %14569, ptr %16, align 4, !tbaa !11
  %14570 = load i32, ptr %16, align 4, !tbaa !11
  %14571 = icmp sle i32 0, %14570
  br i1 %14571, label %14572, label %14592

14572:                                            ; preds = %14567
  %14573 = load i32, ptr %16, align 4, !tbaa !11
  %14574 = icmp sle i32 %14573, 12469
  br i1 %14574, label %14575, label %14592

14575:                                            ; preds = %14572
  %14576 = load i32, ptr %16, align 4, !tbaa !11
  %14577 = sext i32 %14576 to i64
  %14578 = getelementptr inbounds [12470 x i16], ptr @_ZL7yycheck, i64 0, i64 %14577
  %14579 = load i16, ptr %14578, align 2, !tbaa !17
  %14580 = sext i16 %14579 to i32
  %14581 = icmp eq i32 %14580, 1
  br i1 %14581, label %14582, label %14592

14582:                                            ; preds = %14575
  %14583 = load i32, ptr %16, align 4, !tbaa !11
  %14584 = sext i32 %14583 to i64
  %14585 = getelementptr inbounds [12470 x i16], ptr @_ZL7yytable, i64 0, i64 %14584
  %14586 = load i16, ptr %14585, align 2, !tbaa !17
  %14587 = sext i16 %14586 to i32
  store i32 %14587, ptr %16, align 4, !tbaa !11
  %14588 = load i32, ptr %16, align 4, !tbaa !11
  %14589 = icmp slt i32 0, %14588
  br i1 %14589, label %14590, label %14591

14590:                                            ; preds = %14582
  br label %14622

14591:                                            ; preds = %14582
  br label %14592

14592:                                            ; preds = %14591, %14575, %14572, %14567
  br label %14593

14593:                                            ; preds = %14592, %14559
  %14594 = load ptr, ptr %12, align 8, !tbaa !5
  %14595 = load ptr, ptr %11, align 8, !tbaa !5
  %14596 = icmp eq ptr %14594, %14595
  br i1 %14596, label %14597, label %14598

14597:                                            ; preds = %14593
  br label %14646

14598:                                            ; preds = %14593
  %14599 = load i32, ptr %7, align 4, !tbaa !11
  %14600 = sext i32 %14599 to i64
  %14601 = getelementptr inbounds [930 x i16], ptr @_ZL6yystos, i64 0, i64 %14600
  %14602 = load i16, ptr %14601, align 2, !tbaa !17
  %14603 = sext i16 %14602 to i32
  %14604 = load ptr, ptr %15, align 8, !tbaa !5
  %14605 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef @.str.199, i32 noundef %14603, ptr noundef %14604, ptr noundef %14605)
  %14606 = load ptr, ptr %15, align 8, !tbaa !5
  %14607 = getelementptr inbounds %union.YYSTYPE, ptr %14606, i64 -1
  store ptr %14607, ptr %15, align 8, !tbaa !5
  %14608 = load ptr, ptr %12, align 8, !tbaa !5
  %14609 = getelementptr inbounds i16, ptr %14608, i64 -1
  store ptr %14609, ptr %12, align 8, !tbaa !5
  %14610 = load ptr, ptr %12, align 8, !tbaa !5
  %14611 = load i16, ptr %14610, align 2, !tbaa !17
  %14612 = sext i16 %14611 to i32
  store i32 %14612, ptr %7, align 4, !tbaa !11
  br label %14613

14613:                                            ; preds = %14598
  %14614 = load i32, ptr @yydebug, align 4, !tbaa !11
  %14615 = icmp ne i32 %14614, 0
  br i1 %14615, label %14616, label %14619

14616:                                            ; preds = %14613
  %14617 = load ptr, ptr %11, align 8, !tbaa !5
  %14618 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZL14yy_stack_printPsS_(ptr noundef %14617, ptr noundef %14618)
  br label %14619

14619:                                            ; preds = %14616, %14613
  br label %14620

14620:                                            ; preds = %14619
  br label %14621

14621:                                            ; preds = %14620
  br label %14559, !llvm.loop !176

14622:                                            ; preds = %14590
  %14623 = load ptr, ptr %15, align 8, !tbaa !5
  %14624 = getelementptr inbounds %union.YYSTYPE, ptr %14623, i32 1
  store ptr %14624, ptr %15, align 8, !tbaa !5
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14624, ptr align 8 %5, i64 288, i1 false), !tbaa.struct !9
  br label %14625

14625:                                            ; preds = %14622
  %14626 = load i32, ptr @yydebug, align 4, !tbaa !11
  %14627 = icmp ne i32 %14626, 0
  br i1 %14627, label %14628, label %14641

14628:                                            ; preds = %14625
  %14629 = load ptr, ptr @stderr, align 8, !tbaa !5
  %14630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14629, ptr noundef @.str.5, ptr noundef @.str.8) #10
  %14631 = load ptr, ptr @stderr, align 8, !tbaa !5
  %14632 = load i32, ptr %16, align 4, !tbaa !11
  %14633 = sext i32 %14632 to i64
  %14634 = getelementptr inbounds [930 x i16], ptr @_ZL6yystos, i64 0, i64 %14633
  %14635 = load i16, ptr %14634, align 2, !tbaa !17
  %14636 = sext i16 %14635 to i32
  %14637 = load ptr, ptr %15, align 8, !tbaa !5
  %14638 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef %14631, i32 noundef %14636, ptr noundef %14637, ptr noundef %14638)
  %14639 = load ptr, ptr @stderr, align 8, !tbaa !5
  %14640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14639, ptr noundef @.str.7) #10
  br label %14641

14641:                                            ; preds = %14628, %14625
  br label %14642

14642:                                            ; preds = %14641
  br label %14643

14643:                                            ; preds = %14642
  %14644 = load i32, ptr %16, align 4, !tbaa !11
  store i32 %14644, ptr %7, align 4, !tbaa !11
  br label %119

14645:                                            ; preds = %249
  store i32 0, ptr %17, align 4, !tbaa !11
  br label %14649

14646:                                            ; preds = %14597, %14528, %243
  store i32 1, ptr %17, align 4, !tbaa !11
  br label %14649

14647:                                            ; preds = %14516, %243
  %14648 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZN7glslang13TParseContext11parserErrorEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %14648, ptr noundef @.str.200)
  store i32 2, ptr %17, align 4, !tbaa !11
  br label %14649

14649:                                            ; preds = %14647, %14646, %14645
  %14650 = load i32, ptr %4, align 4, !tbaa !11
  %14651 = icmp ne i32 %14650, -2
  br i1 %14651, label %14652, label %14669

14652:                                            ; preds = %14649
  %14653 = load i32, ptr %4, align 4, !tbaa !11
  %14654 = icmp sle i32 0, %14653
  br i1 %14654, label %14655, label %14664

14655:                                            ; preds = %14652
  %14656 = load i32, ptr %4, align 4, !tbaa !11
  %14657 = icmp sle i32 %14656, 710
  br i1 %14657, label %14658, label %14664

14658:                                            ; preds = %14655
  %14659 = load i32, ptr %4, align 4, !tbaa !11
  %14660 = sext i32 %14659 to i64
  %14661 = getelementptr inbounds [711 x i16], ptr @_ZL11yytranslate, i64 0, i64 %14660
  %14662 = load i16, ptr %14661, align 2, !tbaa !17
  %14663 = sext i16 %14662 to i32
  br label %14665

14664:                                            ; preds = %14655, %14652
  br label %14665

14665:                                            ; preds = %14664, %14658
  %14666 = phi i32 [ %14663, %14658 ], [ 2, %14664 ]
  store i32 %14666, ptr %18, align 4, !tbaa !15
  %14667 = load i32, ptr %18, align 4, !tbaa !15
  %14668 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef @.str.201, i32 noundef %14667, ptr noundef %5, ptr noundef %14668)
  br label %14669

14669:                                            ; preds = %14665, %14649
  %14670 = load i32, ptr %23, align 4, !tbaa !11
  %14671 = load ptr, ptr %15, align 8, !tbaa !5
  %14672 = sext i32 %14670 to i64
  %14673 = sub i64 0, %14672
  %14674 = getelementptr inbounds %union.YYSTYPE, ptr %14671, i64 %14673
  store ptr %14674, ptr %15, align 8, !tbaa !5
  %14675 = load i32, ptr %23, align 4, !tbaa !11
  %14676 = load ptr, ptr %12, align 8, !tbaa !5
  %14677 = sext i32 %14675 to i64
  %14678 = sub i64 0, %14677
  %14679 = getelementptr inbounds i16, ptr %14676, i64 %14678
  store ptr %14679, ptr %12, align 8, !tbaa !5
  br label %14680

14680:                                            ; preds = %14669
  %14681 = load i32, ptr @yydebug, align 4, !tbaa !11
  %14682 = icmp ne i32 %14681, 0
  br i1 %14682, label %14683, label %14686

14683:                                            ; preds = %14680
  %14684 = load ptr, ptr %11, align 8, !tbaa !5
  %14685 = load ptr, ptr %12, align 8, !tbaa !5
  call void @_ZL14yy_stack_printPsS_(ptr noundef %14684, ptr noundef %14685)
  br label %14686

14686:                                            ; preds = %14683, %14680
  br label %14687

14687:                                            ; preds = %14686
  br label %14688

14688:                                            ; preds = %14687
  br label %14689

14689:                                            ; preds = %14693, %14688
  %14690 = load ptr, ptr %12, align 8, !tbaa !5
  %14691 = load ptr, ptr %11, align 8, !tbaa !5
  %14692 = icmp ne ptr %14690, %14691
  br i1 %14692, label %14693, label %14707

14693:                                            ; preds = %14689
  %14694 = load ptr, ptr %12, align 8, !tbaa !5
  %14695 = load i16, ptr %14694, align 2, !tbaa !17
  %14696 = sext i16 %14695 to i32
  %14697 = sext i32 %14696 to i64
  %14698 = getelementptr inbounds [930 x i16], ptr @_ZL6yystos, i64 0, i64 %14697
  %14699 = load i16, ptr %14698, align 2, !tbaa !17
  %14700 = sext i16 %14699 to i32
  %14701 = load ptr, ptr %15, align 8, !tbaa !5
  %14702 = load ptr, ptr %3, align 8, !tbaa !5
  call void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef @.str.202, i32 noundef %14700, ptr noundef %14701, ptr noundef %14702)
  %14703 = load ptr, ptr %15, align 8, !tbaa !5
  %14704 = getelementptr inbounds %union.YYSTYPE, ptr %14703, i64 -1
  store ptr %14704, ptr %15, align 8, !tbaa !5
  %14705 = load ptr, ptr %12, align 8, !tbaa !5
  %14706 = getelementptr inbounds i16, ptr %14705, i64 -1
  store ptr %14706, ptr %12, align 8, !tbaa !5
  br label %14689, !llvm.loop !177

14707:                                            ; preds = %14689
  %14708 = load ptr, ptr %11, align 8, !tbaa !5
  %14709 = getelementptr inbounds [200 x i16], ptr %10, i64 0, i64 0
  %14710 = icmp ne ptr %14708, %14709
  br i1 %14710, label %14711, label %14713

14711:                                            ; preds = %14707
  %14712 = load ptr, ptr %11, align 8, !tbaa !5
  call void @free(ptr noundef %14712) #10
  br label %14713

14713:                                            ; preds = %14711, %14707
  %14714 = load ptr, ptr %21, align 8, !tbaa !5
  %14715 = getelementptr inbounds [128 x i8], ptr %20, i64 0, i64 0
  %14716 = icmp ne ptr %14714, %14715
  br i1 %14716, label %14717, label %14719

14717:                                            ; preds = %14713
  %14718 = load ptr, ptr %21, align 8, !tbaa !5
  call void @free(ptr noundef %14718) #10
  br label %14719

14719:                                            ; preds = %14717, %14713
  %14720 = load i32, ptr %17, align 4, !tbaa !11
  store i32 %14720, ptr %2, align 4
  store i32 1, ptr %29, align 4
  br label %14721

14721:                                            ; preds = %14719, %14516, %243
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 128, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 288, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 57600, ptr %13) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #10
  call void @llvm.lifetime.end.p0(i64 400, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  call void @llvm.lifetime.end.p0(i64 288, ptr %5) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #10
  %14722 = load i32, ptr %2, align 4
  ret i32 %14722

14723:                                            ; preds = %13173, %12302, %12242, %11633, %11594, %11564, %11550, %11389, %11147, %11108, %5235, %5167, %5136, %4173, %3452, %3168, %3081, %3006, %2718, %2414, %2233, %2095, %1086, %931, %883
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  call void @llvm.lifetime.end.p0(i64 128, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 288, ptr %19) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 57600, ptr %13) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #10
  call void @llvm.lifetime.end.p0(i64 400, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  call void @llvm.lifetime.end.p0(i64 288, ptr %5) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #10
  br label %14724

14724:                                            ; preds = %14723
  %14725 = load ptr, ptr %31, align 8
  %14726 = load i32, ptr %32, align 4
  %14727 = insertvalue { ptr, i32 } poison, ptr %14725, 0
  %14728 = insertvalue { ptr, i32 } %14727, i32 %14726, 1
  resume { ptr, i32 } %14728
}

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZL14yy_stack_printPsS_(ptr noundef, ptr noundef) #4

; Function Attrs: nounwind allocsize(0)
declare noalias ptr @malloc(i64 noundef) #5

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

; Function Attrs: nounwind
declare void @free(ptr noundef) #3

declare noundef i32 @_Z5yylexP7YYSTYPERN7glslang13TParseContextE(ptr noundef, ptr noundef nonnull align 8 dereferenceable(24912)) #6

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

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

declare noundef ptr @_ZN7glslang13TParseContext14handleVariableERKNS_10TSourceLocEPNS_7TSymbolEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang20TIntermConstantUnion13setExpressionEv(ptr noundef nonnull align 8 dereferenceable(193)) #4 align 2

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), double noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i1 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionExRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i64 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEyRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i64 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEsRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i16 noundef signext, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEtRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i16 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #6

declare void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef) #6

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

declare noundef ptr @_ZN7glslang13TParseContext24handleBracketDereferenceERKNS_10TSourceLocEPNS_12TIntermTypedES5_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext20handleDotDereferenceERKNS_10TSourceLocEPNS_12TIntermTypedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef nonnull align 8 dereferenceable(40)) #6

declare void @_ZN7glslang13TParseContext13variableCheckERPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(8)) #6

declare noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, i32 noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext12integerCheckEPKNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext18handleFunctionCallERKNS_10TSourceLocEPNS_9TFunctionEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144), i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i1 noundef zeroext) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang5TTypedlEPv(ptr noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef nonnull align 8 dereferenceable(144)) #0 align 2

declare noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) #6

declare noundef ptr @_ZN7glslang13TParseContext21handleConstructorCallERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328), ptr noundef, ptr noundef nonnull align 8 dereferenceable(144), i32 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang7TSymboldlEPv(ptr noundef) #4 align 2

declare void @_ZN7glslang13TParseContext18reservedErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40)) #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang14NewPoolTStringB5cxx11EPKc(ptr noundef) #7

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

declare noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, i32 noundef, ptr noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext16arrayObjectCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) #6

declare void @_ZN7glslang13TParseContext11opaqueCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) #6

declare void @_ZN7glslang13TParseContext19specializationCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) #6

declare void @_ZN7glslang13TParseContext14referenceCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) #6

declare void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) #6

declare noundef ptr @_ZN7glslang13TIntermediate12addSelectionEPNS_12TIntermTypedES2_S2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) #6

declare void @_ZN7glslang13TParseContext13binaryOpErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ptr noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176), i1 noundef zeroext) #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

declare void @_ZN7glslang13TParseContext27storage16BitAssignmentCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext9addAssignERKNS_10TSourceLocENS_9TOperatorEPNS_12TIntermTypedES6_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext11assignErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext31samplerConstructorLocationCheckERKNS_10TSourceLocEPKcP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TIntermediate8addCommaEPNS_12TIntermTypedES2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) #6

declare void @_ZN7glslang13TParseContext18constantValueCheckEPNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext24handleFunctionDeclaratorERKNS_10TSourceLocERNS_9TFunctionEb(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(328), i1 noundef zeroext) #6

declare void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) #6

declare void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32 noundef, ptr noundef, ptr noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang12TSymbolTable28setPreviousDefaultPrecisionsEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #0 align 2

declare void @_ZN7glslang13TParseContext19setDefaultPrecisionERKNS_10TSourceLocERNS_11TPublicTypeENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232), i32 noundef) #6

declare void @_ZN7glslang13TParseContext12declareBlockERKNS_10TSourceLocERNS_7TVectorINS_8TTypeLocEEEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext23globalQualifierFixCheckERKNS_10TSourceLocERNS_10TQualifierEb(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), i1 noundef zeroext) #6

declare void @_ZN7glslang13TParseContext33updateStandaloneQualifierDefaultsERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) #6

declare void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(88)) #6

declare void @_ZN7glslang13TParseContext22addQualifierToExistingERKNS_10TSourceLocENS_10TQualifierERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef byval(%"class.glslang::TQualifier") align 8, ptr noundef nonnull align 8 dereferenceable(40)) #6

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

declare void @_ZN7glslang13TParseContext22addQualifierToExistingERKNS_10TSourceLocENS_10TQualifierERNS_7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef byval(%"class.glslang::TQualifier") align 8, ptr noundef nonnull align 8 dereferenceable(32)) #6

declare void @_ZN7glslang13TParseContext16nestedBlockCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24)) #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEnwEm(i64 noundef) #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEdlEPv(ptr noundef) #4 align 2

declare void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1) #6

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN7glslang25GetStorageQualifierStringENS_17TStorageQualifierE(i32 noundef) #9

declare void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(21)) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef nonnull align 8 dereferenceable(232)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7glslang17TParseContextBase20renameShaderFunctionERPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(1176), ptr noundef nonnull align 8 dereferenceable(8)) #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TType19copyArrayInnerSizesEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) #0 align 2

declare void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) #6

declare void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(72)) #6

declare void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(144)) #6

declare void @_ZN7glslang13TParseContext13paramCheckFixERKNS_10TSourceLocERKNS_10TQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(144)) #6

declare void @_ZN7glslang13TParseContext20paramCheckFixStorageERKNS_10TSourceLocERKNS_17TStorageQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(144)) #6

declare noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(232), ptr noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext19declareTypeDefaultsERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) #6

declare void @_ZN7glslang13TParseContext24globalQualifierTypeCheckERKNS_10TSourceLocERKNS_10TQualifierERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(232)) #6

declare noundef zeroext i1 @_ZN7glslang13TParseContext19arrayQualifierErrorERKNS_10TSourceLocERKNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72)) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang17TShaderQualifiers5mergeERKS0_(ptr noundef nonnull align 4 dereferenceable(88), ptr noundef nonnull align 4 dereferenceable(88)) #4 align 2

declare void @_ZN7glslang13TParseContext15mergeQualifiersERKNS_10TSourceLocERNS_10TQualifierERKS4_b(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(72), i1 noundef zeroext) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK7glslang10TQualifier15isInterpolationEv(ptr noundef nonnull align 8 dereferenceable(72)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232), ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #0 align 2

declare void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef) #6

declare void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext27mergeObjectLayoutQualifiersERNS_10TQualifierERKS1_b(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(72), i1 noundef zeroext) #6

declare void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232), ptr noundef nonnull align 8 dereferenceable(40)) #6

declare void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang14pool_allocatorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEC2IS5_EEPKcRKS5_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

declare void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiiPKPKcS5_(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext23checkPrecisionQualifierERKNS_10TSourceLocENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang10TQualifier19setSpirvByReferenceEv(ptr noundef nonnull align 8 dereferenceable(72)) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang10TQualifier15setSpirvLiteralEv(ptr noundef nonnull align 8 dereferenceable(72)) #4 align 2

declare noundef i32 @_ZN7glslang13TParseContext19getDefaultPrecisionERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(232)) #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang11TArraySizesnwEm(i64 noundef) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang11TArraySizesC2Ev(ptr noundef nonnull align 8 dereferenceable(21)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang11TArraySizesdlEPv(ptr noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang11TArraySizes12addInnerSizeEv(ptr noundef nonnull align 8 dereferenceable(21)) #0 align 2

declare void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21), i32, ptr) #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232), i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232), i32 noundef, i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler14setPureSamplerEb(ptr noundef nonnull align 4 dereferenceable(4), i1 noundef zeroext) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i1 noundef zeroext) #4 align 2

declare void @_ZN7glslang13TParseContext15structTypeCheckERKNS_10TSourceLocERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) #6

declare void @_ZN7glslang13TParseContext24handlePrecisionQualifierERKNS_10TSourceLocERNS_10TQualifierENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), i32 noundef) #6

declare void @_ZN7glslang13TParseContext17nestedStructCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24)) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TTypeC2EPNS_7TVectorINS_8TTypeLocEEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef, ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

declare void @_ZN7glslang13TParseContext16structArrayCheckERKNS_10TSourceLocERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144)) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang9TVariableC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeEb(ptr noundef nonnull align 8 dereferenceable(228), ptr noundef, ptr noundef nonnull align 8 dereferenceable(144), i1 noundef zeroext) unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) #4 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESC_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(40)) #9

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

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

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

declare noundef zeroext i1 @_ZN7glslang13TParseContext14voidErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_10TBasicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), i32 noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TType12setFieldNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN7glslang5TType13getArraySizesEv(ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #4 align 2

declare void @_ZN7glslang13TParseContext20memberQualifierCheckERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(232)) #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang7TVectorINS_8TTypeLocEEnwEm(i64 noundef) #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang7TVectorINS_8TTypeLocEEdlEPv(ptr noundef) #4 align 2

declare noundef ptr @_ZN7glslang13TIntermediate13makeAggregateERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef nonnull align 8 dereferenceable(24)) #6

declare noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24)) #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40)) #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #0 align 2

declare noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef) #6

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

declare void @_ZN7glslang13TParseContext23wrapupSwitchSubsequenceEPNS_16TIntermAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) #6

declare void @_ZN7glslang13TParseContext25handleSelectionAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 1, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TIntermediate12addSelectionEPNS_12TIntermTypedENS_15TIntermNodePairERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr, ptr, ptr noundef nonnull align 8 dereferenceable(24)) #6

declare void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) #6

declare void @_ZN7glslang13TParseContext22handleSwitchAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 1, ptr noundef) #6

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang7TVectorIP11TIntermNodeEnwEm(i64 noundef) #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang7TVectorIP11TIntermNodeEdlEPv(ptr noundef) #4 align 2

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

declare noundef ptr @_ZN7glslang13TParseContext9addSwitchERKNS_10TSourceLocEPNS_12TIntermTypedEPNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #6

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) #4 align 2

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

declare noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorEPNS_12TIntermTypedERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) #6

declare void @_ZN7glslang13TParseContext20handleLoopAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 1, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TIntermediate7addLoopEP11TIntermNodePNS_12TIntermTypedES4_bRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(24)) #6

declare noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNodeRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) #6

declare void @_ZN7glslang13TParseContext18inductiveLoopCheckERKNS_10TSourceLocEP11TIntermNodePNS_11TIntermLoopE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) #4 align 2

declare noundef ptr @_ZN7glslang13TParseContext17handleReturnValueERKNS_10TSourceLocEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang13TIntermediate11setTreeRootEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef) #4 align 2

declare noundef ptr @_ZN7glslang13TParseContext24handleFunctionDefinitionERKNS_10TSourceLocERNS_9TFunctionE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(328)) #6

declare noundef ptr @_ZN7glslang13TIntermediate20setAggregateOperatorEP11TIntermNodeNS_9TOperatorERKNS_5TTypeERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(144), ptr noundef nonnull align 8 dereferenceable(24)) #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang16TIntermAggregate11setOptimizeEb(ptr noundef nonnull align 8 dereferenceable(352), i1 noundef zeroext) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang16TIntermAggregate8setDebugEb(ptr noundef nonnull align 8 dereferenceable(352), i1 noundef zeroext) #4 align 2

declare void @_ZN7glslang16TIntermAggregate14setPragmaTableERKNS_12TPragmaTableE(ptr noundef nonnull align 8 dereferenceable(352), ptr noundef nonnull align 8 dereferenceable(56)) #6

declare noundef ptr @_ZNK7glslang13TParseContext15mergeAttributesEPNS_5TListINS_14TAttributeArgsEEES4_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZNK7glslang13TParseContext14makeAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(40)) #6

declare noundef ptr @_ZNK7glslang13TParseContext14makeAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext22mergeSpirvRequirementsERKNS_10TSourceLocEPNS_17TSpirvRequirementES5_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext20makeSpirvRequirementERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_16TIntermAggregateESF_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef, ptr noundef) #6

declare void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef) #6

declare void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef) #6

declare void @_ZN7glslang13TIntermediate26insertSpirvExecutionModeIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef) #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144)) #0 align 2

declare void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef, ptr noundef) #6

declare void @_ZN7glslang10TQualifier18setSpirvDecorateIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef, ptr noundef) #6

declare void @_ZN7glslang10TQualifier22setSpirvDecorateStringEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef, ptr noundef) #6

declare void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232), ptr noundef nonnull align 8 dereferenceable(44), ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext24mergeSpirvTypeParametersEPNS_7TVectorINS_19TSpirvTypeParameterEEES4_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext23makeSpirvTypeParametersERKNS_10TSourceLocEPKNS_20TIntermConstantUnionE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext21mergeSpirvInstructionERKNS_10TSourceLocEPNS_17TSpirvInstructionES5_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) #6

declare noundef ptr @_ZN7glslang13TParseContext20makeSpirvInstructionERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(40)) #6

declare noundef ptr @_ZN7glslang13TParseContext20makeSpirvInstructionERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEi(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), i32 noundef) #6

; Function Attrs: mustprogress uwtable
declare hidden noundef i32 @_ZL14yysyntax_errorPlPPcPK12yypcontext_t(ptr noundef, ptr noundef, ptr noundef) #0

declare void @_ZN7glslang13TParseContext11parserErrorEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef) #6

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

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

!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 = !{i64 0, i64 288, !10}
!10 = !{!7, !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"long", !7, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"_ZTS15yysymbol_kind_t", !7, i64 0}
!17 = !{!18, !18, i64 0}
!18 = !{!"short", !7, i64 0}
!19 = !{!20, !20, i64 0}
!20 = !{!"vtable pointer", !8, i64 0}
!21 = !{!22, !6, i64 56}
!22 = !{!"_ZTSN7glslang14TParseVersionsE", !23, i64 8, !24, i64 12, !6, i64 16, !12, i64 24, !25, i64 28, !26, i64 32, !6, i64 56, !27, i64 64, !37, i64 120, !42, i64 176, !12, i64 180, !6, i64 184}
!23 = !{!"bool", !7, i64 0}
!24 = !{!"_ZTS8EProfile", !7, i64 0}
!25 = !{!"_ZTS11EShLanguage", !7, i64 0}
!26 = !{!"_ZTSN7glslang10SpvVersionE", !12, i64 0, !12, i64 4, !12, i64 8, !12, i64 12, !23, i64 16}
!27 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_18TExtensionBehaviorESt4lessIS7_EEE", !28, i64 0}
!28 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS4_18TExtensionBehaviorESt4lessIS7_ENS5_ISt4pairIKS7_S8_EEEE", !29, i64 0}
!29 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_NS4_18TExtensionBehaviorEESt10_Select1stISB_ESt4lessIS7_ENS5_ISB_EEE", !30, i64 0}
!30 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_NS4_18TExtensionBehaviorEESt10_Select1stISB_ESt4lessIS7_ENS5_ISB_EEE13_Rb_tree_implISF_Lb1EEE", !31, i64 0, !32, i64 8, !34, i64 16}
!31 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEENS_18TExtensionBehaviorEEEEE", !6, i64 0}
!32 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEEE", !33, i64 0}
!33 = !{!"_ZTSSt4lessINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEE"}
!34 = !{!"_ZTSSt15_Rb_tree_header", !35, i64 0, !14, i64 32}
!35 = !{!"_ZTSSt18_Rb_tree_node_base", !36, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!36 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!37 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEjSt4lessIS7_EEE", !38, i64 0}
!38 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEjSt4lessIS7_ENS5_ISt4pairIKS7_jEEEE", !39, i64 0}
!39 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_jESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE", !40, i64 0}
!40 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_jESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE13_Rb_tree_implISE_Lb1EEE", !41, i64 0, !32, i64 8, !34, i64 16}
!41 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEEjEEEE", !6, i64 0}
!42 = !{!"_ZTS11EShMessages", !7, i64 0}
!43 = !{i8 0, i8 2}
!44 = !{}
!45 = !{!46, !6, i64 200}
!46 = !{!"_ZTSN7glslang17TParseContextBaseE", !22, i64 0, !6, i64 192, !6, i64 200, !12, i64 208, !12, i64 212, !12, i64 216, !12, i64 220, !12, i64 224, !6, i64 232, !23, i64 240, !23, i64 241, !47, i64 248, !54, i64 280, !59, i64 312, !12, i64 376, !12, i64 380, !23, i64 384, !66, i64 392, !6, i64 424, !6, i64 432, !72, i64 440, !6, i64 824, !74, i64 832, !77, i64 872, !79, i64 904, !80, i64 936, !81, i64 968, !82, i64 1000, !6, i64 1032, !12, i64 1040, !12, i64 1044, !12, i64 1048, !83, i64 1056, !12, i64 1112, !90, i64 1120}
!47 = !{!"_ZTSN7glslang5TListIPNS_7TVectorIP11TIntermNodeEEEE", !48, i64 0}
!48 = !{!"_ZTSNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEEE", !49, i64 0}
!49 = !{!"_ZTSNSt7__cxx1110_List_baseIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEEE", !50, i64 0}
!50 = !{!"_ZTSNSt7__cxx1110_List_baseIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE10_List_implE", !51, i64 0, !52, i64 8}
!51 = !{!"_ZTSN7glslang14pool_allocatorISt10_List_nodeIPNS_7TVectorIP11TIntermNodeEEEEE", !6, i64 0}
!52 = !{!"_ZTSNSt8__detail17_List_node_headerE", !53, i64 0, !14, i64 16}
!53 = !{!"_ZTSNSt8__detail15_List_node_baseE", !6, i64 0, !6, i64 8}
!54 = !{!"_ZTSN7glslang5TListIiEE", !55, i64 0}
!55 = !{!"_ZTSNSt7__cxx114listIiN7glslang14pool_allocatorIiEEEE", !56, i64 0}
!56 = !{!"_ZTSNSt7__cxx1110_List_baseIiN7glslang14pool_allocatorIiEEEE", !57, i64 0}
!57 = !{!"_ZTSNSt7__cxx1110_List_baseIiN7glslang14pool_allocatorIiEEE10_List_implE", !58, i64 0, !52, i64 8}
!58 = !{!"_ZTSN7glslang14pool_allocatorISt10_List_nodeIiEEE", !6, i64 0}
!59 = !{!"_ZTSN7glslang7TPragmaE", !23, i64 0, !23, i64 1, !60, i64 8}
!60 = !{!"_ZTSN7glslang12TPragmaTableE", !61, i64 0}
!61 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEES7_St4lessIS7_EEE", !62, i64 0}
!62 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEES7_St4lessIS7_ENS5_ISt4pairIKS7_S7_EEEE", !63, i64 0}
!63 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_S7_ESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE", !64, i64 0}
!64 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_S7_ESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE13_Rb_tree_implISE_Lb1EEE", !65, i64 0, !32, i64 8, !34, i64 16}
!65 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEES8_EEEE", !6, i64 0}
!66 = !{!"_ZTSN7glslang7TVectorIPNS_7TSymbolEEE", !67, i64 0}
!67 = !{!"_ZTSSt6vectorIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE", !68, i64 0}
!68 = !{!"_ZTSSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE12_Vector_implE", !70, i64 0, !71, i64 8}
!70 = !{!"_ZTSN7glslang14pool_allocatorIPNS_7TSymbolEEE", !6, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!72 = !{!"_ZTS16TBuiltInResource", !12, i64 0, !12, i64 4, !12, i64 8, !12, i64 12, !12, i64 16, !12, i64 20, !12, i64 24, !12, i64 28, !12, i64 32, !12, i64 36, !12, i64 40, !12, i64 44, !12, i64 48, !12, i64 52, !12, i64 56, !12, i64 60, !12, i64 64, !12, i64 68, !12, i64 72, !12, i64 76, !12, i64 80, !12, i64 84, !12, i64 88, !12, i64 92, !12, i64 96, !12, i64 100, !12, i64 104, !12, i64 108, !12, i64 112, !12, i64 116, !12, i64 120, !12, i64 124, !12, i64 128, !12, i64 132, !12, i64 136, !12, i64 140, !12, i64 144, !12, i64 148, !12, i64 152, !12, i64 156, !12, i64 160, !12, i64 164, !12, i64 168, !12, i64 172, !12, i64 176, !12, i64 180, !12, i64 184, !12, i64 188, !12, i64 192, !12, i64 196, !12, i64 200, !12, i64 204, !12, i64 208, !12, i64 212, !12, i64 216, !12, i64 220, !12, i64 224, !12, i64 228, !12, i64 232, !12, i64 236, !12, i64 240, !12, i64 244, !12, i64 248, !12, i64 252, !12, i64 256, !12, i64 260, !12, i64 264, !12, i64 268, !12, i64 272, !12, i64 276, !12, i64 280, !12, i64 284, !12, i64 288, !12, i64 292, !12, i64 296, !12, i64 300, !12, i64 304, !12, i64 308, !12, i64 312, !12, i64 316, !12, i64 320, !12, i64 324, !12, i64 328, !12, i64 332, !12, i64 336, !12, i64 340, !12, i64 344, !12, i64 348, !12, i64 352, !12, i64 356, !12, i64 360, !12, i64 364, !12, i64 368, !73, i64 372}
!73 = !{!"_ZTS7TLimits", !23, i64 0, !23, i64 1, !23, i64 2, !23, i64 3, !23, i64 4, !23, i64 5, !23, i64 6, !23, i64 7, !23, i64 8}
!74 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEE", !75, i64 0, !14, i64 16, !7, i64 24}
!75 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE12_Alloc_hiderE", !76, i64 0, !6, i64 8}
!76 = !{!"_ZTSN7glslang14pool_allocatorIcEE", !6, i64 0}
!77 = !{!"_ZTSSt8functionIFviibiPKcEE", !78, i64 0, !6, i64 24}
!78 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!79 = !{!"_ZTSSt8functionIFviRKN7glslang7TVectorINSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_14pool_allocatorIcEEEEEEEE", !78, i64 0, !6, i64 24}
!80 = !{!"_ZTSSt8functionIFviiPKcEE", !78, i64 0, !6, i64 24}
!81 = !{!"_ZTSSt8functionIFviPKcS1_EE", !78, i64 0, !6, i64 24}
!82 = !{!"_ZTSSt8functionIFviPKcEE", !78, i64 0, !6, i64 24}
!83 = !{!"_ZTSN7glslang4TMapIiPNS_9TVariableESt4lessIiEEE", !84, i64 0}
!84 = !{!"_ZTSSt3mapIiPN7glslang9TVariableESt4lessIiENS0_14pool_allocatorISt4pairIKiS2_EEEE", !85, i64 0}
!85 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiPN7glslang9TVariableEESt10_Select1stIS5_ESt4lessIiENS2_14pool_allocatorIS5_EEE", !86, i64 0}
!86 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiPN7glslang9TVariableEESt10_Select1stIS5_ESt4lessIiENS2_14pool_allocatorIS5_EEE13_Rb_tree_implIS9_Lb1EEE", !87, i64 0, !88, i64 8, !34, i64 16}
!87 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKiPNS_9TVariableEEEEE", !6, i64 0}
!88 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !89, i64 0}
!89 = !{!"_ZTSSt4lessIiE"}
!90 = !{!"_ZTSN7glslang4TMapIiiSt4lessIiEEE", !91, i64 0}
!91 = !{!"_ZTSSt3mapIiiSt4lessIiEN7glslang14pool_allocatorISt4pairIKiiEEEE", !92, i64 0}
!92 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiEN7glslang14pool_allocatorIS2_EEE", !93, i64 0}
!93 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiEN7glslang14pool_allocatorIS2_EEE13_Rb_tree_implIS6_Lb1EEE", !94, i64 0, !88, i64 8, !34, i64 16}
!94 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEEE", !6, i64 0}
!95 = !{i64 0, i64 8, !5, i64 8, i64 4, !11, i64 12, i64 4, !11, i64 16, i64 4, !11, i64 24, i64 4, !96, i64 32, i64 16, !10, i64 48, i64 232, !10, i64 280, i64 8, !5}
!96 = !{!97, !97, i64 0}
!97 = !{!"_ZTSN7glslang9TOperatorE", !7, i64 0}
!98 = !{i64 0, i64 8, !5, i64 8, i64 4, !11, i64 12, i64 4, !11, i64 16, i64 4, !11}
!99 = !{!100, !6, i64 0}
!100 = !{!"_ZTSN7glslang10TParameterE", !6, i64 0, !6, i64 8, !6, i64 16}
!101 = !{!100, !6, i64 8}
!102 = !{!100, !6, i64 16}
!103 = !{!46, !12, i64 224}
!104 = !{i64 0, i64 8, !5, i64 8, i64 8, !10, i64 16, i64 1, !10, i64 20, i64 4, !11, i64 24, i64 4, !11, i64 28, i64 8, !10, i64 36, i64 8, !10, i64 44, i64 1, !10, i64 45, i64 1, !105, i64 46, i64 1, !105, i64 47, i64 1, !105, i64 48, i64 1, !105, i64 52, i64 4, !11, i64 56, i64 1, !105, i64 60, i64 4, !11, i64 64, i64 8, !5}
!105 = !{!23, !23, i64 0}
!106 = !{!46, !12, i64 220}
!107 = !{!108, !6, i64 1184}
!108 = !{!"_ZTSN7glslang13TParseContextE", !46, i64 0, !23, i64 1176, !6, i64 1184, !109, i64 1192, !7, i64 1264, !72, i64 1352, !6, i64 1736, !7, i64 1744, !116, i64 24272, !109, i64 24288, !109, i64 24360, !109, i64 24432, !109, i64 24504, !109, i64 24576, !74, i64 24648, !6, i64 24688, !23, i64 24696, !117, i64 24704, !122, i64 24752, !128, i64 24784, !128, i64 24832, !66, i64 24880}
!109 = !{!"_ZTSN7glslang10TQualifierE", !6, i64 0, !110, i64 8, !111, i64 8, !111, i64 9, !112, i64 11, !23, i64 11, !23, i64 11, !23, i64 11, !23, i64 11, !23, i64 11, !23, i64 12, !23, i64 12, !23, i64 12, !23, i64 12, !23, i64 12, !23, i64 12, !23, i64 12, !23, i64 12, !23, i64 13, !23, i64 13, !23, i64 13, !23, i64 13, !23, i64 13, !23, i64 13, !23, i64 13, !23, i64 13, !23, i64 14, !23, i64 14, !23, i64 14, !23, i64 14, !23, i64 14, !23, i64 14, !23, i64 14, !23, i64 14, !23, i64 15, !23, i64 15, !23, i64 15, !113, i64 15, !114, i64 16, !12, i64 20, !12, i64 24, !12, i64 28, !12, i64 29, !12, i64 29, !12, i64 32, !12, i64 34, !12, i64 35, !12, i64 36, !12, i64 36, !12, i64 38, !12, i64 40, !12, i64 41, !12, i64 42, !115, i64 44, !23, i64 45, !23, i64 46, !23, i64 47, !23, i64 48, !12, i64 52, !23, i64 56, !12, i64 60, !6, i64 64}
!110 = !{!"_ZTSN7glslang17TStorageQualifierE", !7, i64 0}
!111 = !{!"_ZTSN7glslang16TBuiltInVariableE", !7, i64 0}
!112 = !{!"_ZTSN7glslang19TPrecisionQualifierE", !7, i64 0}
!113 = !{!"_ZTSN7glslang13TLayoutMatrixE", !7, i64 0}
!114 = !{!"_ZTSN7glslang14TLayoutPackingE", !7, i64 0}
!115 = !{!"_ZTSN7glslang13TLayoutFormatE", !7, i64 0}
!116 = !{!"_ZTSN7glslang17TPrecisionManagerE", !23, i64 8, !23, i64 9, !23, i64 10, !23, i64 11}
!117 = !{!"_ZTSSt3setIxSt4lessIxESaIxEE", !118, i64 0}
!118 = !{!"_ZTSSt8_Rb_treeIxxSt9_IdentityIxESt4lessIxESaIxEE", !119, i64 0}
!119 = !{!"_ZTSNSt8_Rb_treeIxxSt9_IdentityIxESt4lessIxESaIxEE13_Rb_tree_implIS3_Lb1EEE", !120, i64 0, !34, i64 8}
!120 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIxEE", !121, i64 0}
!121 = !{!"_ZTSSt4lessIxE"}
!122 = !{!"_ZTSN7glslang7TVectorIPNS_12TIntermTypedEEE", !123, i64 0}
!123 = !{!"_ZTSSt6vectorIPN7glslang12TIntermTypedENS0_14pool_allocatorIS2_EEE", !124, i64 0}
!124 = !{!"_ZTSSt12_Vector_baseIPN7glslang12TIntermTypedENS0_14pool_allocatorIS2_EEE", !125, i64 0}
!125 = !{!"_ZTSNSt12_Vector_baseIPN7glslang12TIntermTypedENS0_14pool_allocatorIS2_EEE12_Vector_implE", !126, i64 0, !127, i64 8}
!126 = !{!"_ZTSN7glslang14pool_allocatorIPNS_12TIntermTypedEEE", !6, i64 0}
!127 = !{!"_ZTSNSt12_Vector_baseIPN7glslang12TIntermTypedENS0_14pool_allocatorIS2_EEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!128 = !{!"_ZTSSt3mapIPKN7glslang7TVectorINS0_8TTypeLocEEES_ImS5_St4lessImESaISt4pairIKmS5_EEES6_IS5_ESaIS8_IKS5_SC_EEE", !129, i64 0}
!129 = !{!"_ZTSSt8_Rb_treeIPKN7glslang7TVectorINS0_8TTypeLocEEESt4pairIKS5_St3mapImS5_St4lessImESaIS6_IKmS5_EEEESt10_Select1stISF_ES9_IS5_ESaISF_EE", !130, i64 0}
!130 = !{!"_ZTSNSt8_Rb_treeIPKN7glslang7TVectorINS0_8TTypeLocEEESt4pairIKS5_St3mapImS5_St4lessImESaIS6_IKmS5_EEEESt10_Select1stISF_ES9_IS5_ESaISF_EE13_Rb_tree_implISI_Lb1EEE", !131, i64 0, !34, i64 8}
!131 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPKN7glslang7TVectorINS1_8TTypeLocEEEEE", !132, i64 0}
!132 = !{!"_ZTSSt4lessIPKN7glslang7TVectorINS0_8TTypeLocEEEE"}
!133 = !{i64 0, i64 8, !5, i64 8, i64 8, !5, i64 16, i64 8, !5}
!134 = !{!110, !110, i64 0}
!135 = !{i64 0, i64 4, !136, i64 4, i64 4, !10, i64 8, i64 8, !5, i64 16, i64 8, !10, i64 24, i64 1, !10, i64 28, i64 4, !11, i64 32, i64 4, !11, i64 36, i64 8, !10, i64 44, i64 8, !10, i64 52, i64 1, !10, i64 53, i64 1, !105, i64 54, i64 1, !105, i64 55, i64 1, !105, i64 56, i64 1, !105, i64 60, i64 4, !11, i64 64, i64 1, !105, i64 68, i64 4, !11, i64 72, i64 8, !5, i64 80, i64 4, !138, i64 84, i64 1, !105, i64 85, i64 1, !105, i64 88, i64 4, !11, i64 92, i64 4, !11, i64 96, i64 4, !140, i64 100, i64 4, !142, i64 104, i64 1, !105, i64 108, i64 12, !10, i64 120, i64 3, !10, i64 124, i64 12, !10, i64 136, i64 1, !105, i64 137, i64 1, !105, i64 140, i64 4, !144, i64 144, i64 1, !105, i64 148, i64 4, !11, i64 152, i64 4, !146, i64 156, i64 1, !105, i64 157, i64 1, !105, i64 158, i64 1, !105, i64 160, i64 4, !11, i64 164, i64 1, !105, i64 168, i64 2, !10, i64 176, i64 8, !5, i64 184, i64 8, !5, i64 192, i64 8, !5, i64 200, i64 4, !11, i64 204, i64 4, !11, i64 208, i64 4, !11, i64 216, i64 8, !5, i64 224, i64 8, !5}
!136 = !{!137, !137, i64 0}
!137 = !{!"_ZTSN7glslang10TBasicTypeE", !7, i64 0}
!138 = !{!139, !139, i64 0}
!139 = !{!"_ZTSN7glslang15TLayoutGeometryE", !7, i64 0}
!140 = !{!141, !141, i64 0}
!141 = !{!"_ZTSN7glslang14TVertexSpacingE", !7, i64 0}
!142 = !{!143, !143, i64 0}
!143 = !{!"_ZTSN7glslang12TVertexOrderE", !7, i64 0}
!144 = !{!145, !145, i64 0}
!145 = !{!"_ZTSN7glslang12TLayoutDepthE", !7, i64 0}
!146 = !{!147, !147, i64 0}
!147 = !{!"_ZTSN7glslang18TInterlockOrderingE", !7, i64 0}
!148 = !{!22, !25, i64 28}
!149 = !{i64 0, i64 4, !11, i64 8, i64 8, !5}
!150 = !{!46, !12, i64 216}
!151 = !{!152, !6, i64 0}
!152 = !{!"_ZTSN7glslang8TTypeLocE", !6, i64 0, !153, i64 8}
!153 = !{!"_ZTSN7glslang10TSourceLocE", !6, i64 0, !12, i64 8, !12, i64 12, !12, i64 16}
!154 = distinct !{!154, !155}
!155 = !{!"llvm.loop.mustprogress"}
!156 = distinct !{!156, !155}
!157 = distinct !{!157, !155}
!158 = distinct !{!158, !155}
!159 = !{!46, !12, i64 208}
!160 = !{i64 0, i64 8, !5, i64 8, i64 8, !5}
!161 = !{!108, !6, i64 1736}
!162 = !{!73, !23, i64 1}
!163 = !{!46, !12, i64 212}
!164 = !{!73, !23, i64 0}
!165 = !{!46, !6, i64 232}
!166 = !{!108, !23, i64 1176}
!167 = !{!46, !23, i64 241}
!168 = !{!22, !24, i64 12}
!169 = !{!22, !12, i64 24}
!170 = !{!46, !23, i64 240}
!171 = !{!46, !23, i64 312}
!172 = !{!46, !23, i64 313}
!173 = !{!174, !6, i64 0}
!174 = !{!"_ZTS12yypcontext_t", !6, i64 0, !16, i64 8}
!175 = !{!174, !16, i64 8}
!176 = distinct !{!176, !155}
!177 = distinct !{!177, !155}


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

%union.YYSTYPE = type { %struct.anon.0 }
%struct.anon.0 = type { %"struct.glslang::TSourceLoc", i32, %union.anon.1, %union.anon.2, ptr }
%"struct.glslang::TSourceLoc" = type { ptr, i32, i32, i32 }
%union.anon.1 = type { %"struct.glslang::TIntermNodePair" }
%"struct.glslang::TIntermNodePair" = type { ptr, ptr }
%union.anon.2 = type { %"class.glslang::TPublicType" }
%"class.glslang::TPublicType" = type { i32, %"struct.glslang::TSampler", %"class.glslang::TQualifier", %"struct.glslang::TShaderQualifiers", i16, ptr, ptr, %"struct.glslang::TSourceLoc", ptr, ptr }
%"struct.glslang::TSampler" = type { i32 }
%"class.glslang::TQualifier" = type <{ ptr, i64, i8, [3 x i8], i32, i32, i64, i64, i8, i8, i8, i8, i8, [3 x i8], i32, i8, [3 x i8], i32, ptr }>
%"struct.glslang::TShaderQualifiers" = type { i32, i8, i8, i32, i32, i32, i32, i8, [3 x i32], [3 x i8], [3 x i32], i8, i8, i32, i8, i32, i32, i8, i8, i8, i32, i8 }
%"struct.glslang::TParameter" = type { ptr, ptr, ptr }
%"class.glslang::TType" = type { ptr, i32, [4 x i8], %"class.glslang::TQualifier", ptr, %union.anon.49, ptr, ptr, %"struct.glslang::TSampler", ptr, ptr }
%union.anon.49 = type { ptr }
%"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] }
%"struct.glslang::TArraySize" = type { i32, ptr }
%struct.yypcontext_t = type { ptr, i32 }
%union.yyalloc = type { %union.YYSTYPE }

@yydebug = external dso_local local_unnamed_addr global i32, align 4
@_ZZ7yyparsePN7glslang13TParseContextEE13yyval_default = external hidden local_unnamed_addr global %union.YYSTYPE, align 8
@stderr = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [16 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [29 x i8], align 1
@_ZL6yypact = external hidden local_unnamed_addr constant [930 x i16], align 16
@.str.3 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [22 x i8], align 1
@_ZL11yytranslate = external hidden local_unnamed_addr constant [711 x i16], align 16
@.str.5 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZL7yycheck = external hidden local_unnamed_addr constant [12470 x i16], align 16
@_ZL7yytable = external hidden local_unnamed_addr constant [12470 x i16], align 16
@.str.8 = external hidden unnamed_addr constant [9 x i8], align 1
@_ZL8yydefact = external hidden local_unnamed_addr constant [930 x i16], align 16
@_ZL4yyr2 = external hidden local_unnamed_addr constant [685 x i8], align 16
@.str.9 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [2 x i8], align 1
@_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE = external hidden constant ptr, align 8
@.str.61 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [20 x i8], align 1
@_ZN7glslangL38E_GL_EXT_subgroup_uniform_control_flowE = external hidden constant ptr, align 8
@.str.64 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [15 x i8], align 1
@_ZN7glslangL19E_GL_NV_mesh_shaderE = external hidden constant ptr, align 8
@.str.85 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZN7glslangL15AEP_gpu_shader5E = external hidden constant [2 x ptr], align 16
@.str.90 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [18 x i8], align 1
@_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE = external hidden constant ptr, align 8
@.str.117 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [11 x i8], align 1
@_ZN7glslangL20E_GL_EXT_ray_tracingE = external hidden constant ptr, align 8
@.str.122 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [7 x i8], align 1
@_ZN7glslangL36E_GL_EXT_demote_to_helper_invocationE = external hidden constant ptr, align 8
@_ZN7glslangL32E_GL_EXT_control_flow_attributesE = external hidden constant ptr, align 8
@.str.178 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [8 x i8], align 1
@_ZL4yyr1 = external hidden local_unnamed_addr constant [685 x i16], align 16
@_ZL7yypgoto = external hidden local_unnamed_addr constant [131 x i16], align 16
@_ZL9yydefgoto = external hidden local_unnamed_addr constant [131 x i16], align 16
@.str.197 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [15 x i8], align 1
@_ZL6yystos = external hidden local_unnamed_addr constant [930 x i16], align 16
@.str.200 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [17 x i8], align 1

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_Z7yyparsePN7glslang13TParseContextE(ptr noundef %0) local_unnamed_addr #0 personality ptr @__gxx_personality_v0 {
  %2 = alloca %union.YYSTYPE, align 8
  %3 = alloca [200 x i16], align 16
  %4 = alloca [200 x %union.YYSTYPE], align 16
  %5 = alloca %union.YYSTYPE, align 8
  %6 = alloca [128 x i8], align 16
  %7 = alloca ptr, align 8
  %8 = alloca i64, align 8
  %9 = alloca %"struct.glslang::TParameter", align 8
  %10 = alloca %"struct.glslang::TParameter", align 8
  %11 = alloca %"class.glslang::TType", align 8
  %12 = alloca %"class.glslang::TType", align 8
  %13 = alloca %"class.glslang::TType", align 8
  %14 = alloca [2 x i8], align 2
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.glslang::TType", align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.glslang::pool_allocator.17", align 8
  %26 = alloca %"struct.glslang::TArraySize", align 8
  %27 = alloca %"struct.glslang::TArraySize", align 8
  %28 = alloca %"struct.glslang::TArraySize", align 8
  %29 = alloca %"struct.glslang::TArraySize", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.glslang::pool_allocator.17", align 8
  %32 = alloca %"class.glslang::TType", align 8
  %33 = alloca %"class.glslang::TType", align 8
  %34 = alloca %"class.glslang::TType", align 8
  %35 = alloca ptr, align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.glslang::pool_allocator.17", align 8
  %38 = alloca %struct.yypcontext_t, align 8
  call void @llvm.lifetime.start.p0(i64 288, ptr nonnull %2) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %2, ptr noundef nonnull align 8 dereferenceable(288) @_ZZ7yyparsePN7glslang13TParseContextEE13yyval_default, i64 288, i1 false), !tbaa.struct !5
  call void @llvm.lifetime.start.p0(i64 400, ptr nonnull %3) #11
  call void @llvm.lifetime.start.p0(i64 57600, ptr nonnull %4) #11
  call void @llvm.lifetime.start.p0(i64 288, ptr nonnull %5) #11
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %6) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #11
  store ptr %6, ptr %7, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #11
  store i64 128, ptr %8, align 8, !tbaa !11
  %39 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not = icmp eq i32 %39, 0
  br i1 %.not, label %43, label %40

40:                                               ; preds = %1
  %41 = load ptr, ptr @stderr, align 8, !tbaa !9
  %42 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %41, ptr noundef nonnull @.str) #12
  br label %43

43:                                               ; preds = %40, %1
  %44 = getelementptr inbounds i8, ptr %5, i64 32
  %45 = getelementptr inbounds i8, ptr %0, i64 56
  %46 = getelementptr inbounds i8, ptr %5, i64 48
  %47 = getelementptr inbounds i8, ptr %0, i64 200
  %48 = getelementptr inbounds i8, ptr %5, i64 56
  %49 = getelementptr inbounds i8, ptr %5, i64 64
  %50 = getelementptr inbounds i8, ptr %5, i64 116
  %51 = getelementptr inbounds i8, ptr %0, i64 232
  %52 = getelementptr inbounds i8, ptr %0, i64 240
  %53 = getelementptr inbounds i8, ptr %0, i64 1264
  %54 = getelementptr inbounds i8, ptr %0, i64 312
  %55 = getelementptr inbounds i8, ptr %0, i64 313
  %56 = getelementptr inbounds i8, ptr %0, i64 320
  %57 = getelementptr inbounds i8, ptr %0, i64 12
  %58 = getelementptr inbounds i8, ptr %0, i64 24
  %59 = getelementptr inbounds i8, ptr %0, i64 208
  %60 = getelementptr inbounds i8, ptr %0, i64 1176
  %61 = getelementptr inbounds i8, ptr %0, i64 241
  %62 = getelementptr inbounds i8, ptr %0, i64 212
  %63 = getelementptr inbounds i8, ptr %0, i64 248
  %64 = getelementptr inbounds i8, ptr %5, i64 40
  %65 = getelementptr inbounds i8, ptr %0, i64 1736
  %66 = getelementptr inbounds i8, ptr %0, i64 224
  %67 = getelementptr inbounds i8, ptr %0, i64 280
  %68 = getelementptr inbounds i8, ptr %5, i64 232
  %69 = getelementptr inbounds i8, ptr %0, i64 216
  %70 = getelementptr inbounds i8, ptr %5, i64 240
  %71 = getelementptr inbounds i8, ptr %5, i64 216
  %72 = getelementptr inbounds i8, ptr %5, i64 52
  %73 = getelementptr inbounds i8, ptr %5, i64 280
  %.sroa.262.0..sroa_idx = getelementptr inbounds i8, ptr %29, i64 8
  %.sroa.265.0..sroa_idx = getelementptr inbounds i8, ptr %28, i64 8
  %.sroa.268.0..sroa_idx = getelementptr inbounds i8, ptr %27, i64 8
  %.sroa.271.0..sroa_idx = getelementptr inbounds i8, ptr %26, i64 8
  %74 = getelementptr inbounds i8, ptr %5, i64 264
  %75 = getelementptr inbounds i8, ptr %5, i64 224
  %76 = getelementptr inbounds i8, ptr %0, i64 28
  %77 = getelementptr inbounds i8, ptr %5, i64 128
  %78 = getelementptr inbounds i8, ptr %0, i64 220
  %79 = getelementptr inbounds i8, ptr %0, i64 1184
  %80 = getelementptr inbounds i8, ptr %0, i64 1192
  %81 = getelementptr inbounds i8, ptr %5, i64 24
  %82 = getelementptr inbounds i8, ptr %10, i64 8
  %83 = getelementptr inbounds i8, ptr %10, i64 16
  %84 = getelementptr inbounds i8, ptr %9, i64 8
  %85 = getelementptr inbounds i8, ptr %9, i64 16
  %86 = getelementptr inbounds i8, ptr %38, i64 8
  br label %89

87:                                               ; preds = %5312, %5316, %5253, %190
  %.03117 = phi ptr [ %5235, %5253 ], [ %191, %190 ], [ %5314, %5316 ], [ %5314, %5312 ]
  %.03100 = phi ptr [ %5234, %5253 ], [ %.33103, %190 ], [ %.43104, %5316 ], [ %.43104, %5312 ]
  %.03087 = phi i32 [ %.13088, %5253 ], [ %spec.select, %190 ], [ 3, %5316 ], [ 3, %5312 ]
  %.03084 = phi i32 [ %5255, %5253 ], [ %178, %190 ], [ %5313, %5316 ], [ %5313, %5312 ]
  %.03079 = phi i32 [ %.5, %5253 ], [ -2, %190 ], [ %.6, %5316 ], [ %.6, %5312 ]
  %88 = getelementptr inbounds i8, ptr %.03100, i64 2
  br label %89

89:                                               ; preds = %87, %43
  %.13118 = phi ptr [ %4, %43 ], [ %.03117, %87 ]
  %.03109 = phi ptr [ %4, %43 ], [ %.33112, %87 ]
  %.13101 = phi ptr [ %3, %43 ], [ %88, %87 ]
  %.03093 = phi ptr [ %3, %43 ], [ %.33096, %87 ]
  %.03090 = phi i64 [ 200, %43 ], [ %.23092, %87 ]
  %.13088 = phi i32 [ 0, %43 ], [ %.03087, %87 ]
  %.13085 = phi i32 [ 0, %43 ], [ %.03084, %87 ]
  %.1 = phi i32 [ -2, %43 ], [ %.03079, %87 ]
  %90 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3199 = icmp eq i32 %90, 0
  br i1 %.not3199, label %.thread, label %92

.thread:                                          ; preds = %89
  %91 = trunc nsw i32 %.13085 to i16
  store i16 %91, ptr %.13101, align 2, !tbaa !15
  br label %97

92:                                               ; preds = %89
  %93 = load ptr, ptr @stderr, align 8, !tbaa !9
  %94 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %93, ptr noundef nonnull @.str.1, i32 noundef %.13085) #12
  %.pr = load i32, ptr @yydebug, align 4, !tbaa !13
  %95 = trunc nsw i32 %.13085 to i16
  store i16 %95, ptr %.13101, align 2, !tbaa !15
  %.not3200 = icmp eq i32 %.pr, 0
  br i1 %.not3200, label %97, label %96

96:                                               ; preds = %92
  call void @_ZL14yy_stack_printPsS_(ptr noundef %.03093, ptr noundef nonnull %.13101)
  br label %97

97:                                               ; preds = %.thread, %96, %92
  %98 = getelementptr inbounds i16, ptr %.03093, i64 %.03090
  %99 = getelementptr inbounds i8, ptr %98, i64 -2
  %.not3201 = icmp ugt ptr %99, %.13101
  br i1 %.not3201, label %.thread3320, label %100

100:                                              ; preds = %97
  %101 = ptrtoint ptr %.13101 to i64
  %102 = ptrtoint ptr %.03093 to i64
  %103 = sub i64 %101, %102
  %104 = ashr exact i64 %103, 1
  %105 = add nsw i64 %104, 1
  %106 = icmp sgt i64 %.03090, 9999
  br i1 %106, label %.thread3313, label %107

107:                                              ; preds = %100
  %108 = shl nsw i64 %.03090, 1
  %spec.store.select = call i64 @llvm.smin.i64(i64 %108, i64 10000)
  %109 = mul nsw i64 %spec.store.select, 290
  %110 = add nsw i64 %109, 287
  %111 = call noalias ptr @malloc(i64 noundef %110) #13
  %.not3202.not = icmp eq ptr %111, null
  br i1 %.not3202.not, label %.thread3313, label %112

112:                                              ; preds = %107
  %113 = shl i64 %105, 1
  call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %111, ptr align 2 %.03093, i64 %113, i1 false)
  %114 = shl nsw i64 %spec.store.select, 1
  %115 = add nsw i64 %114, 287
  %116 = sdiv i64 %115, 288
  %117 = getelementptr inbounds %union.yyalloc, ptr %111, i64 %116
  %118 = mul i64 %105, 288
  call void @llvm.memcpy.p0.p0.i64(ptr nonnull align 8 %117, ptr align 8 %.03109, i64 %118, i1 false)
  %.not3203 = icmp eq ptr %.03093, %3
  br i1 %.not3203, label %120, label %119

119:                                              ; preds = %112
  call void @free(ptr noundef %.03093) #11
  br label %120

120:                                              ; preds = %112, %119
  %121 = getelementptr inbounds i16, ptr %111, i64 %105
  %122 = getelementptr inbounds i8, ptr %121, i64 -2
  %123 = getelementptr inbounds %union.YYSTYPE, ptr %117, i64 %105
  %124 = getelementptr inbounds i8, ptr %123, i64 -288
  %125 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3204 = icmp eq i32 %125, 0
  br i1 %.not3204, label %129, label %126

126:                                              ; preds = %120
  %127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull @.str.2, i64 noundef %spec.store.select) #12
  br label %129

129:                                              ; preds = %126, %120
  %.not3205 = icmp sgt i64 %spec.store.select, %105
  br i1 %.not3205, label %.thread3320, label %.loopexit

.thread3320:                                      ; preds = %129, %97
  %.33120 = phi ptr [ %.13118, %97 ], [ %124, %129 ]
  %.33112 = phi ptr [ %.03109, %97 ], [ %117, %129 ]
  %.33103 = phi ptr [ %.13101, %97 ], [ %122, %129 ]
  %.33096 = phi ptr [ %.03093, %97 ], [ %111, %129 ]
  %.23092 = phi i64 [ %.03090, %97 ], [ %spec.store.select, %129 ]
  %130 = icmp eq i32 %.13085, 443
  br i1 %130, label %.loopexit, label %131

131:                                              ; preds = %.thread3320
  %132 = sext i32 %.13085 to i64
  %133 = getelementptr inbounds [930 x i16], ptr @_ZL6yypact, i64 0, i64 %132
  %134 = load i16, ptr %133, align 2, !tbaa !15
  %135 = sext i16 %134 to i32
  %136 = icmp eq i16 %134, -865
  br i1 %136, label %192, label %137

137:                                              ; preds = %131
  %138 = icmp eq i32 %.1, -2
  br i1 %138, label %139, label %146

139:                                              ; preds = %137
  %140 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3206 = icmp eq i32 %140, 0
  br i1 %.not3206, label %144, label %141

141:                                              ; preds = %139
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %142, ptr noundef nonnull @.str.3) #12
  br label %144

144:                                              ; preds = %141, %139
  %145 = call noundef i32 @_Z5yylexP7YYSTYPERN7glslang13TParseContextE(ptr noundef nonnull %2, ptr noundef nonnull align 8 dereferenceable(24912) %0)
  br label %146

146:                                              ; preds = %144, %137
  %.2 = phi i32 [ %145, %144 ], [ %.1, %137 ]
  %147 = icmp slt i32 %.2, 1
  br i1 %147, label %148, label %150

148:                                              ; preds = %146
  %149 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3208 = icmp eq i32 %149, 0
  br i1 %.not3208, label %168, label %.sink.split

150:                                              ; preds = %146
  %151 = icmp eq i32 %.2, 256
  br i1 %151, label %.thread3339, label %152

152:                                              ; preds = %150
  %153 = icmp ult i32 %.2, 711
  br i1 %153, label %154, label %159

154:                                              ; preds = %152
  %155 = zext nneg i32 %.2 to i64
  %156 = getelementptr inbounds [711 x i16], ptr @_ZL11yytranslate, i64 0, i64 %155
  %157 = load i16, ptr %156, align 2, !tbaa !15
  %158 = sext i16 %157 to i32
  br label %159

159:                                              ; preds = %152, %154
  %160 = phi i32 [ %158, %154 ], [ 2, %152 ]
  %161 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3207 = icmp eq i32 %161, 0
  br i1 %.not3207, label %168, label %162

162:                                              ; preds = %159
  %163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %163, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.6) #12
  %165 = load ptr, ptr @stderr, align 8, !tbaa !9
  call void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef %165, i32 noundef %160, ptr noundef nonnull %2, ptr noundef %0)
  br label %.sink.split

.sink.split:                                      ; preds = %148, %162
  %.str.7.sink = phi ptr [ @.str.7, %162 ], [ @.str.4, %148 ]
  %.03128.ph = phi i32 [ %160, %162 ], [ 0, %148 ]
  %.3.ph = phi i32 [ %.2, %162 ], [ 0, %148 ]
  %166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %166, ptr noundef nonnull %.str.7.sink) #12
  br label %168

168:                                              ; preds = %.sink.split, %159, %148
  %.03128 = phi i32 [ 0, %148 ], [ %160, %159 ], [ %.03128.ph, %.sink.split ]
  %.3 = phi i32 [ 0, %148 ], [ %.2, %159 ], [ %.3.ph, %.sink.split ]
  %169 = add nsw i32 %.03128, %135
  %or.cond3 = icmp ugt i32 %169, 12469
  br i1 %or.cond3, label %192, label %170

170:                                              ; preds = %168
  %171 = zext nneg i32 %169 to i64
  %172 = getelementptr inbounds [12470 x i16], ptr @_ZL7yycheck, i64 0, i64 %171
  %173 = load i16, ptr %172, align 2, !tbaa !15
  %174 = sext i16 %173 to i32
  %.not3209 = icmp eq i32 %.03128, %174
  br i1 %.not3209, label %175, label %192

175:                                              ; preds = %170
  %176 = getelementptr inbounds [12470 x i16], ptr @_ZL7yytable, i64 0, i64 %171
  %177 = load i16, ptr %176, align 2, !tbaa !15
  %178 = sext i16 %177 to i32
  %179 = icmp slt i16 %177, 1
  br i1 %179, label %180, label %182

180:                                              ; preds = %175
  %181 = sub nsw i32 0, %178
  br label %197

182:                                              ; preds = %175
  %spec.select = call i32 @llvm.usub.sat.i32(i32 %.13088, i32 1)
  %183 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3211 = icmp eq i32 %183, 0
  br i1 %.not3211, label %190, label %184

184:                                              ; preds = %182
  %185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %185, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.8) #12
  %187 = load ptr, ptr @stderr, align 8, !tbaa !9
  call void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef %187, i32 noundef %.03128, ptr noundef nonnull %2, ptr noundef %0)
  %188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %188, ptr noundef nonnull @.str.7) #12
  br label %190

190:                                              ; preds = %184, %182
  %191 = getelementptr inbounds i8, ptr %.33120, i64 288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %191, ptr noundef nonnull align 8 dereferenceable(288) %2, i64 288, i1 false), !tbaa.struct !5
  br label %87

192:                                              ; preds = %168, %170, %131
  %.4 = phi i32 [ %.1, %131 ], [ %.3, %168 ], [ %.3, %170 ]
  %193 = getelementptr inbounds [930 x i16], ptr @_ZL8yydefact, i64 0, i64 %132
  %194 = load i16, ptr %193, align 2, !tbaa !15
  %195 = sext i16 %194 to i32
  %196 = icmp eq i16 %194, 0
  br i1 %196, label %5256, label %197

197:                                              ; preds = %192, %180
  %.03126 = phi i32 [ %195, %192 ], [ %181, %180 ]
  %.5 = phi i32 [ %.4, %192 ], [ %.3, %180 ]
  %198 = sext i32 %.03126 to i64
  %199 = getelementptr inbounds [685 x i8], ptr @_ZL4yyr2, i64 0, i64 %198
  %200 = load i8, ptr %199, align 1, !tbaa !6
  %201 = sext i8 %200 to i64
  %202 = sub nsw i64 1, %201
  %203 = getelementptr inbounds %union.YYSTYPE, ptr %.33120, i64 %202
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %203, i64 288, i1 false), !tbaa.struct !5
  %204 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3212 = icmp eq i32 %204, 0
  br i1 %.not3212, label %206, label %205

205:                                              ; preds = %197
  call void @_ZL15yy_reduce_printPsP7YYSTYPEiPN7glslang13TParseContextE(ptr noundef nonnull %.33103, ptr noundef nonnull %.33120, i32 noundef %.03126, ptr noundef %0)
  br label %206

206:                                              ; preds = %205, %197
  switch i32 %.03126, label %.thread3331 [
    i32 2, label %207
    i32 3, label %213
    i32 4, label %216
    i32 5, label %229
    i32 6, label %234
    i32 7, label %239
    i32 8, label %247
    i32 9, label %253
    i32 10, label %258
    i32 11, label %266
    i32 12, label %274
    i32 13, label %282
    i32 14, label %290
    i32 15, label %299
    i32 16, label %308
    i32 17, label %320
    i32 18, label %328
    i32 19, label %331
    i32 20, label %338
    i32 21, label %341
    i32 22, label %347
    i32 23, label %356
    i32 24, label %365
    i32 25, label %369
    i32 26, label %381
    i32 27, label %382
    i32 28, label %384
    i32 29, label %386
    i32 30, label %388
    i32 31, label %389
    i32 32, label %407
    i32 33, label %430
    i32 34, label %432
    i32 35, label %436
    i32 36, label %515
    i32 37, label %519
    i32 38, label %539
    i32 39, label %549
    i32 40, label %559
    i32 41, label %584
    i32 42, label %585
    i32 43, label %586
    i32 44, label %587
    i32 45, label %591
    i32 46, label %594
    i32 47, label %604
    i32 48, label %614
    i32 49, label %627
    i32 50, label %630
    i32 51, label %640
    i32 52, label %650
    i32 53, label %653
    i32 54, label %666
    i32 55, label %679
    i32 56, label %682
    i32 57, label %693
    i32 58, label %704
    i32 59, label %715
    i32 60, label %726
    i32 61, label %729
    i32 62, label %760
    i32 63, label %791
    i32 64, label %794
    i32 65, label %807
    i32 66, label %810
    i32 67, label %823
    i32 68, label %826
    i32 69, label %839
    i32 70, label %842
    i32 71, label %853
    i32 72, label %856
    i32 73, label %867
    i32 74, label %870
    i32 75, label %881
    i32 76, label %884
    i32 77, label %887
    i32 78, label %930
    i32 79, label %933
    i32 80, label %988
    i32 81, label %989
    i32 82, label %990
    i32 83, label %991
    i32 84, label %995
    i32 85, label %996
    i32 86, label %997
    i32 87, label %1001
    i32 88, label %1005
    i32 89, label %1009
    i32 90, label %1013
    i32 91, label %1017
    i32 92, label %1020
    i32 93, label %1046
    i32 94, label %1050
    i32 95, label %1055
    i32 96, label %1069
    i32 97, label %1073
    i32 98, label %1091
    i32 99, label %1100
    i32 100, label %1104
    i32 101, label %1110
    i32 102, label %1118
    i32 103, label %1122
    i32 104, label %1128
    i32 105, label %1136
    i32 106, label %1138
    i32 107, label %1148
    i32 108, label %1154
    i32 109, label %1158
    i32 110, label %1161
    i32 111, label %1170
    i32 112, label %1178
    i32 113, label %1189
    i32 114, label %1192
    i32 115, label %1195
    i32 116, label %1217
    i32 117, label %1243
    i32 118, label %1272
    i32 119, label %1297
    i32 120, label %1321
    i32 121, label %1354
    i32 122, label %1368
    i32 123, label %1401
    i32 124, label %1415
    i32 125, label %1425
    i32 126, label %1426
    i32 127, label %1432
    i32 128, label %1441
    i32 129, label %1456
    i32 130, label %1469
    i32 131, label %1471
    i32 132, label %1476
    i32 133, label %1484
    i32 134, label %1497
    i32 135, label %1508
    i32 136, label %1517
    i32 137, label %1547
    i32 138, label %1550
    i32 139, label %1553
    i32 140, label %1556
    i32 141, label %1559
    i32 142, label %1562
    i32 143, label %1565
    i32 144, label %1568
    i32 145, label %1578
    i32 146, label %1581
    i32 147, label %1584
    i32 148, label %1586
    i32 149, label %1588
    i32 150, label %1592
    i32 151, label %1595
    i32 152, label %1601
    i32 153, label %1605
    i32 154, label %1608
    i32 155, label %1610
    i32 156, label %1620
    i32 157, label %1622
    i32 158, label %1624
    i32 159, label %1632
    i32 160, label %1634
    i32 161, label %1636
    i32 162, label %1638
    i32 163, label %1640
    i32 164, label %1646
    i32 165, label %1652
    i32 166, label %1656
    i32 167, label %1660
    i32 168, label %1664
    i32 169, label %1668
    i32 170, label %1672
    i32 171, label %1676
    i32 172, label %1679
    i32 173, label %1683
    i32 174, label %1687
    i32 175, label %1691
    i32 176, label %1707
    i32 177, label %1728
    i32 178, label %1731
    i32 179, label %1734
    i32 180, label %1738
    i32 181, label %1742
    i32 182, label %1746
    i32 183, label %1750
    i32 184, label %1754
    i32 185, label %1758
    i32 186, label %1762
    i32 187, label %1766
    i32 188, label %1770
    i32 189, label %1774
    i32 190, label %1777
    i32 191, label %1783
    i32 192, label %1789
    i32 193, label %1795
    i32 194, label %1801
    i32 195, label %1807
    i32 196, label %1813
    i32 197, label %1816
    i32 198, label %1819
    i32 199, label %1822
    i32 200, label %1825
    i32 201, label %1832
    i32 202, label %1840
    i32 684, label %5213
    i32 683, label %5206
    i32 205, label %1843
    i32 206, label %1854
    i32 207, label %1868
    i32 208, label %1874
    i32 209, label %1887
    i32 210, label %1890
    i32 211, label %1899
    i32 212, label %1902
    i32 213, label %1903
    i32 214, label %1906
    i32 215, label %1918
    i32 216, label %1928
    i32 217, label %1931
    i32 218, label %1934
    i32 219, label %1937
    i32 220, label %1943
    i32 221, label %1946
    i32 222, label %1949
    i32 223, label %1952
    i32 224, label %1955
    i32 225, label %1958
    i32 226, label %1961
    i32 227, label %1964
    i32 228, label %1967
    i32 229, label %1970
    i32 230, label %1973
    i32 231, label %1979
    i32 232, label %1985
    i32 233, label %1991
    i32 234, label %1994
    i32 235, label %1997
    i32 236, label %2000
    i32 237, label %2003
    i32 238, label %2006
    i32 239, label %2009
    i32 240, label %2012
    i32 241, label %2015
    i32 242, label %2018
    i32 243, label %2021
    i32 244, label %2024
    i32 245, label %2027
    i32 246, label %2037
    i32 247, label %2045
    i32 248, label %2053
    i32 249, label %2061
    i32 250, label %2069
    i32 251, label %2077
    i32 252, label %2085
    i32 253, label %2093
    i32 254, label %2101
    i32 255, label %2109
    i32 256, label %2117
    i32 257, label %2125
    i32 258, label %2135
    i32 259, label %2145
    i32 260, label %2155
    i32 261, label %2163
    i32 262, label %2171
    i32 263, label %2179
    i32 264, label %2187
    i32 265, label %2195
    i32 266, label %2203
    i32 267, label %2211
    i32 268, label %2219
    i32 269, label %2227
    i32 270, label %2235
    i32 271, label %2243
    i32 272, label %2251
    i32 273, label %2259
    i32 274, label %2267
    i32 275, label %2275
    i32 276, label %2283
    i32 277, label %2291
    i32 278, label %2299
    i32 279, label %2307
    i32 280, label %2315
    i32 281, label %2323
    i32 282, label %2331
    i32 283, label %2339
    i32 284, label %2347
    i32 285, label %2355
    i32 286, label %2363
    i32 287, label %2371
    i32 288, label %2379
    i32 289, label %2387
    i32 290, label %2395
    i32 291, label %2403
    i32 292, label %2411
    i32 293, label %2419
    i32 294, label %2429
    i32 295, label %2439
    i32 296, label %2449
    i32 297, label %2459
    i32 298, label %2469
    i32 299, label %2479
    i32 300, label %2489
    i32 301, label %2499
    i32 302, label %2509
    i32 303, label %2519
    i32 304, label %2529
    i32 305, label %2539
    i32 306, label %2547
    i32 307, label %2555
    i32 308, label %2563
    i32 309, label %2571
    i32 310, label %2579
    i32 311, label %2587
    i32 312, label %2595
    i32 313, label %2603
    i32 314, label %2611
    i32 315, label %2619
    i32 316, label %2627
    i32 317, label %2635
    i32 318, label %2643
    i32 319, label %2651
    i32 320, label %2659
    i32 321, label %2667
    i32 322, label %2675
    i32 323, label %2683
    i32 324, label %2691
    i32 325, label %2699
    i32 326, label %2707
    i32 327, label %2715
    i32 328, label %2723
    i32 329, label %2731
    i32 330, label %2739
    i32 331, label %2747
    i32 332, label %2755
    i32 333, label %2763
    i32 334, label %2771
    i32 335, label %2779
    i32 336, label %2787
    i32 337, label %2795
    i32 338, label %2803
    i32 339, label %2811
    i32 340, label %2819
    i32 341, label %2827
    i32 342, label %2830
    i32 343, label %2833
    i32 344, label %2836
    i32 345, label %2842
    i32 346, label %2845
    i32 347, label %2848
    i32 348, label %2851
    i32 349, label %2854
    i32 350, label %2857
    i32 351, label %2860
    i32 352, label %2863
    i32 353, label %2866
    i32 354, label %2869
    i32 355, label %2872
    i32 356, label %2875
    i32 357, label %2878
    i32 358, label %2881
    i32 359, label %2889
    i32 360, label %2897
    i32 361, label %2905
    i32 362, label %2913
    i32 363, label %2921
    i32 364, label %2929
    i32 365, label %2937
    i32 366, label %2945
    i32 367, label %2953
    i32 368, label %2961
    i32 369, label %2969
    i32 370, label %2977
    i32 371, label %2985
    i32 372, label %2988
    i32 373, label %2991
    i32 374, label %2994
    i32 375, label %2997
    i32 376, label %3000
    i32 377, label %3003
    i32 378, label %3006
    i32 379, label %3009
    i32 380, label %3012
    i32 381, label %3015
    i32 382, label %3018
    i32 383, label %3021
    i32 384, label %3024
    i32 385, label %3027
    i32 386, label %3030
    i32 387, label %3033
    i32 388, label %3036
    i32 389, label %3039
    i32 390, label %3042
    i32 391, label %3045
    i32 392, label %3048
    i32 393, label %3051
    i32 394, label %3054
    i32 395, label %3057
    i32 396, label %3060
    i32 397, label %3063
    i32 398, label %3066
    i32 399, label %3069
    i32 400, label %3072
    i32 401, label %3075
    i32 402, label %3078
    i32 403, label %3081
    i32 404, label %3084
    i32 405, label %3092
    i32 406, label %3100
    i32 407, label %3103
    i32 408, label %3106
    i32 409, label %3109
    i32 410, label %3117
    i32 411, label %3120
    i32 412, label %3123
    i32 413, label %3126
    i32 414, label %3134
    i32 415, label %3137
    i32 416, label %3140
    i32 417, label %3143
    i32 418, label %3151
    i32 419, label %3154
    i32 420, label %3157
    i32 421, label %3160
    i32 422, label %3168
    i32 423, label %3176
    i32 424, label %3184
    i32 425, label %3192
    i32 426, label %3195
    i32 427, label %3203
    i32 428, label %3211
    i32 429, label %3219
    i32 430, label %3222
    i32 431, label %3225
    i32 432, label %3228
    i32 433, label %3231
    i32 434, label %3234
    i32 435, label %3242
    i32 436, label %3245
    i32 437, label %3248
    i32 438, label %3251
    i32 439, label %3259
    i32 440, label %3262
    i32 441, label %3265
    i32 442, label %3268
    i32 443, label %3276
    i32 444, label %3279
    i32 445, label %3282
    i32 446, label %3285
    i32 447, label %3293
    i32 448, label %3296
    i32 449, label %3299
    i32 450, label %3302
    i32 451, label %3310
    i32 452, label %3313
    i32 453, label %3316
    i32 454, label %3319
    i32 455, label %3327
    i32 456, label %3330
    i32 457, label %3333
    i32 458, label %3336
    i32 459, label %3344
    i32 460, label %3347
    i32 461, label %3350
    i32 462, label %3353
    i32 463, label %3361
    i32 464, label %3364
    i32 465, label %3367
    i32 466, label %3370
    i32 467, label %3378
    i32 468, label %3381
    i32 469, label %3384
    i32 470, label %3387
    i32 471, label %3395
    i32 472, label %3398
    i32 473, label %3401
    i32 474, label %3404
    i32 475, label %3412
    i32 476, label %3415
    i32 477, label %3418
    i32 478, label %3421
    i32 479, label %3429
    i32 480, label %3432
    i32 481, label %3435
    i32 482, label %3438
    i32 483, label %3446
    i32 484, label %3449
    i32 485, label %3452
    i32 486, label %3455
    i32 487, label %3463
    i32 488, label %3466
    i32 489, label %3469
    i32 490, label %3472
    i32 491, label %3480
    i32 492, label %3483
    i32 493, label %3486
    i32 494, label %3489
    i32 495, label %3492
    i32 496, label %3495
    i32 497, label %3498
    i32 498, label %3501
    i32 499, label %3504
    i32 500, label %3507
    i32 501, label %3510
    i32 502, label %3513
    i32 503, label %3516
    i32 504, label %3519
    i32 505, label %3522
    i32 506, label %3525
    i32 507, label %3528
    i32 508, label %3531
    i32 509, label %3534
    i32 510, label %3537
    i32 511, label %3540
    i32 512, label %3543
    i32 513, label %3546
    i32 514, label %3549
    i32 515, label %3552
    i32 516, label %3557
    i32 517, label %3562
    i32 518, label %3565
    i32 519, label %3568
    i32 520, label %3576
    i32 521, label %3584
    i32 522, label %3587
    i32 523, label %3590
    i32 524, label %3593
    i32 525, label %3596
    i32 526, label %3606
    i32 527, label %3616
    i32 528, label %3626
    i32 529, label %3632
    i32 530, label %3640
    i32 531, label %3661
    i32 532, label %3664
    i32 533, label %3667
    i32 534, label %3670
    i32 535, label %3672
    i32 536, label %3699
    i32 537, label %3701
    i32 538, label %3716
    i32 539, label %3719
    i32 540, label %3773
    i32 541, label %3834
    i32 542, label %3898
    i32 543, label %3904
    i32 544, label %3907
    i32 545, label %3917
    i32 546, label %3932
    i32 547, label %3935
    i32 548, label %3939
    i32 549, label %3943
    i32 550, label %3947
    i32 551, label %3955
    i32 552, label %3962
    i32 553, label %3965
    i32 554, label %3968
    i32 555, label %3971
    i32 556, label %3974
    i32 557, label %3977
    i32 558, label %3980
    i32 559, label %3983
    i32 560, label %3986
    i32 561, label %3989
    i32 562, label %3992
    i32 563, label %3995
    i32 564, label %4002
    i32 565, label %4003
    i32 566, label %4007
    i32 567, label %4011
    i32 568, label %4029
    i32 569, label %4032
    i32 570, label %4035
    i32 571, label %4038
    i32 572, label %4043
    i32 573, label %4049
    i32 574, label %4057
    i32 575, label %4058
    i32 576, label %4076
    i32 577, label %4105
    i32 578, label %4145
    i32 579, label %4146
    i32 580, label %4149
    i32 581, label %4152
    i32 582, label %4165
    i32 583, label %4173
    i32 584, label %4178
    i32 585, label %4181
    i32 586, label %4188
    i32 587, label %4205
    i32 588, label %4208
    i32 589, label %4221
    i32 590, label %4231
    i32 591, label %4255
    i32 592, label %4256
    i32 593, label %4259
    i32 594, label %4284
    i32 595, label %4305
    i32 596, label %4308
    i32 597, label %4321
    i32 598, label %4337
    i32 599, label %4350
    i32 600, label %4356
    i32 601, label %4380
    i32 602, label %4386
    i32 603, label %4422
    i32 604, label %4425
    i32 605, label %4428
    i32 606, label %4431
    i32 607, label %4432
    i32 608, label %4435
    i32 609, label %4440
    i32 610, label %4452
    i32 611, label %4467
    i32 612, label %4484
    i32 613, label %4489
    i32 614, label %4493
    i32 615, label %4497
    i32 616, label %4501
    i32 617, label %4505
    i32 618, label %4509
    i32 619, label %4518
    i32 620, label %4521
    i32 621, label %4524
    i32 622, label %4525
    i32 623, label %4540
    i32 624, label %4623
    i32 625, label %4626
    i32 626, label %4629
    i32 627, label %4635
    i32 628, label %4639
    i32 629, label %4645
    i32 630, label %4648
    i32 631, label %4655
    i32 632, label %4666
    i32 633, label %4677
    i32 634, label %4683
    i32 635, label %4691
    i32 636, label %4697
    i32 637, label %4705
    i32 638, label %4709
    i32 639, label %4716
    i32 640, label %4726
    i32 641, label %4739
    i32 642, label %4749
    i32 643, label %4762
    i32 644, label %4767
    i32 645, label %4774
    i32 646, label %4779
    i32 647, label %4784
    i32 648, label %4789
    i32 649, label %4795
    i32 650, label %4800
    i32 651, label %4849
    i32 652, label %4900
    i32 653, label %4907
    i32 654, label %4917
    i32 655, label %4921
    i32 656, label %4928
    i32 657, label %4938
    i32 658, label %4951
    i32 659, label %4961
    i32 660, label %4974
    i32 661, label %4984
    i32 662, label %4997
    i32 663, label %5002
    i32 664, label %5009
    i32 665, label %5014
    i32 666, label %5019
    i32 667, label %5024
    i32 668, label %5030
    i32 669, label %5073
    i32 670, label %5118
    i32 671, label %5124
    i32 672, label %5132
    i32 673, label %5140
    i32 674, label %5151
    i32 675, label %5157
    i32 676, label %5166
    i32 677, label %5169
    i32 678, label %5175
    i32 679, label %5187
    i32 680, label %5190
    i32 681, label %5196
    i32 682, label %5199
  ]

207:                                              ; preds = %206
  %208 = getelementptr inbounds i8, ptr %.33120, i64 32
  %209 = load ptr, ptr %208, align 8, !tbaa !6
  %210 = getelementptr inbounds i8, ptr %.33120, i64 24
  %211 = load ptr, ptr %210, align 8, !tbaa !6
  %212 = call noundef ptr @_ZN7glslang13TParseContext14handleVariableERKNS_10TSourceLocEPNS_7TSymbolEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef %209, ptr noundef %211)
  store ptr %212, ptr %44, align 8, !tbaa !6
  br label %.thread3331

213:                                              ; preds = %206
  %214 = getelementptr inbounds i8, ptr %.33120, i64 32
  %215 = load ptr, ptr %214, align 8, !tbaa !6
  store ptr %215, ptr %44, align 8, !tbaa !6
  br label %.thread3331

216:                                              ; preds = %206
  %217 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %218 = load ptr, ptr %217, align 8, !tbaa !6
  store ptr %218, ptr %44, align 8, !tbaa !6
  %219 = load ptr, ptr %218, align 8, !tbaa !17
  %220 = getelementptr inbounds i8, ptr %219, i64 40
  %221 = load ptr, ptr %220, align 8
  %222 = call noundef ptr %221(ptr noundef nonnull align 8 dereferenceable(32) %218)
  %.not3291 = icmp eq ptr %222, null
  br i1 %.not3291, label %.thread3331, label %223

223:                                              ; preds = %216
  %224 = load ptr, ptr %44, align 8, !tbaa !6
  %225 = load ptr, ptr %224, align 8, !tbaa !17
  %226 = getelementptr inbounds i8, ptr %225, i64 40
  %227 = load ptr, ptr %226, align 8
  %228 = call noundef ptr %227(ptr noundef nonnull align 8 dereferenceable(32) %224)
  call void @_ZN7glslang20TIntermConstantUnion13setExpressionEv(ptr noundef nonnull align 8 dereferenceable(193) %228)
  br label %.thread3331

229:                                              ; preds = %206
  %230 = load ptr, ptr %45, align 8, !tbaa !19
  %231 = getelementptr inbounds i8, ptr %.33120, i64 24
  %232 = load double, ptr %231, align 8, !tbaa !6
  %233 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %230, double noundef %232, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %233, ptr %44, align 8, !tbaa !6
  br label %.thread3331

234:                                              ; preds = %206
  %235 = load ptr, ptr %45, align 8, !tbaa !19
  %236 = getelementptr inbounds i8, ptr %.33120, i64 24
  %237 = load i32, ptr %236, align 8, !tbaa !6
  %238 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %235, i32 noundef %237, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %238, ptr %44, align 8, !tbaa !6
  br label %.thread3331

239:                                              ; preds = %206
  %240 = load ptr, ptr %0, align 8, !tbaa !17
  %241 = getelementptr inbounds i8, ptr %240, i64 120
  %242 = load ptr, ptr %241, align 8
  call void %242(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.9)
  %243 = load ptr, ptr %45, align 8, !tbaa !19
  %244 = getelementptr inbounds i8, ptr %.33120, i64 24
  %245 = load i32, ptr %244, align 8, !tbaa !6
  %246 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %243, i32 noundef %245, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %246, ptr %44, align 8, !tbaa !6
  br label %.thread3331

247:                                              ; preds = %206
  %248 = load ptr, ptr %45, align 8, !tbaa !19
  %249 = getelementptr inbounds i8, ptr %.33120, i64 24
  %250 = load i8, ptr %249, align 8, !tbaa !6, !range !41, !noundef !42
  %251 = trunc nuw i8 %250 to i1
  %252 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %248, i1 noundef zeroext %251, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %252, ptr %44, align 8, !tbaa !6
  br label %.thread3331

253:                                              ; preds = %206
  %254 = load ptr, ptr %45, align 8, !tbaa !19
  %255 = getelementptr inbounds i8, ptr %.33120, i64 24
  %256 = load ptr, ptr %255, align 8, !tbaa !6
  %257 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %254, ptr noundef %256, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %257, ptr %44, align 8, !tbaa !6
  br label %.thread3331

258:                                              ; preds = %206
  %259 = load ptr, ptr %0, align 8, !tbaa !17
  %260 = getelementptr inbounds i8, ptr %259, i64 256
  %261 = load ptr, ptr %260, align 8
  call void %261(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.10, i1 noundef zeroext false)
  %262 = load ptr, ptr %45, align 8, !tbaa !19
  %263 = getelementptr inbounds i8, ptr %.33120, i64 24
  %264 = load i32, ptr %263, align 8, !tbaa !6
  %265 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %262, i32 noundef %264, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %265, ptr %44, align 8, !tbaa !6
  br label %.thread3331

266:                                              ; preds = %206
  %267 = load ptr, ptr %0, align 8, !tbaa !17
  %268 = getelementptr inbounds i8, ptr %267, i64 256
  %269 = load ptr, ptr %268, align 8
  call void %269(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.10, i1 noundef zeroext false)
  %270 = load ptr, ptr %45, align 8, !tbaa !19
  %271 = getelementptr inbounds i8, ptr %.33120, i64 24
  %272 = load i32, ptr %271, align 8, !tbaa !6
  %273 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %270, i32 noundef %272, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %273, ptr %44, align 8, !tbaa !6
  br label %.thread3331

274:                                              ; preds = %206
  %275 = load ptr, ptr %0, align 8, !tbaa !17
  %276 = getelementptr inbounds i8, ptr %275, i64 232
  %277 = load ptr, ptr %276, align 8
  call void %277(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.11, i1 noundef zeroext false)
  %278 = load ptr, ptr %45, align 8, !tbaa !19
  %279 = getelementptr inbounds i8, ptr %.33120, i64 24
  %280 = load i64, ptr %279, align 8, !tbaa !6
  %281 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionExRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %278, i64 noundef %280, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %281, ptr %44, align 8, !tbaa !6
  br label %.thread3331

282:                                              ; preds = %206
  %283 = load ptr, ptr %0, align 8, !tbaa !17
  %284 = getelementptr inbounds i8, ptr %283, i64 232
  %285 = load ptr, ptr %284, align 8
  call void %285(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.12, i1 noundef zeroext false)
  %286 = load ptr, ptr %45, align 8, !tbaa !19
  %287 = getelementptr inbounds i8, ptr %.33120, i64 24
  %288 = load i64, ptr %287, align 8, !tbaa !6
  %289 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEyRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %286, i64 noundef %288, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %289, ptr %44, align 8, !tbaa !6
  br label %.thread3331

290:                                              ; preds = %206
  %291 = load ptr, ptr %0, align 8, !tbaa !17
  %292 = getelementptr inbounds i8, ptr %291, i64 248
  %293 = load ptr, ptr %292, align 8
  call void %293(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.13, i1 noundef zeroext false)
  %294 = load ptr, ptr %45, align 8, !tbaa !19
  %295 = getelementptr inbounds i8, ptr %.33120, i64 24
  %296 = load i32, ptr %295, align 8, !tbaa !6
  %297 = trunc i32 %296 to i16
  %298 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEsRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %294, i16 noundef signext %297, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %298, ptr %44, align 8, !tbaa !6
  br label %.thread3331

299:                                              ; preds = %206
  %300 = load ptr, ptr %0, align 8, !tbaa !17
  %301 = getelementptr inbounds i8, ptr %300, i64 248
  %302 = load ptr, ptr %301, align 8
  call void %302(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.14, i1 noundef zeroext false)
  %303 = load ptr, ptr %45, align 8, !tbaa !19
  %304 = getelementptr inbounds i8, ptr %.33120, i64 24
  %305 = load i32, ptr %304, align 8, !tbaa !6
  %306 = trunc i32 %305 to i16
  %307 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEtRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %303, i16 noundef zeroext %306, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %307, ptr %44, align 8, !tbaa !6
  br label %.thread3331

308:                                              ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.15)
  %309 = load ptr, ptr %47, align 8, !tbaa !43
  %310 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %309)
  br i1 %310, label %315, label %311

311:                                              ; preds = %308
  %312 = load ptr, ptr %0, align 8, !tbaa !17
  %313 = getelementptr inbounds i8, ptr %312, i64 136
  %314 = load ptr, ptr %313, align 8
  call void %314(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.15)
  br label %315

315:                                              ; preds = %311, %308
  %316 = load ptr, ptr %45, align 8, !tbaa !19
  %317 = getelementptr inbounds i8, ptr %.33120, i64 24
  %318 = load double, ptr %317, align 8, !tbaa !6
  %319 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %316, double noundef %318, i32 noundef 2, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %319, ptr %44, align 8, !tbaa !6
  br label %.thread3331

320:                                              ; preds = %206
  %321 = load ptr, ptr %0, align 8, !tbaa !17
  %322 = getelementptr inbounds i8, ptr %321, i64 144
  %323 = load ptr, ptr %322, align 8
  call void %323(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.16, i1 noundef zeroext false)
  %324 = load ptr, ptr %45, align 8, !tbaa !19
  %325 = getelementptr inbounds i8, ptr %.33120, i64 24
  %326 = load double, ptr %325, align 8, !tbaa !6
  %327 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %324, double noundef %326, i32 noundef 3, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %327, ptr %44, align 8, !tbaa !6
  br label %.thread3331

328:                                              ; preds = %206
  %329 = getelementptr inbounds i8, ptr %.33120, i64 32
  %330 = load ptr, ptr %329, align 8, !tbaa !6
  store ptr %330, ptr %44, align 8, !tbaa !6
  br label %.thread3331

331:                                              ; preds = %206
  %332 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %333 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %334 = load ptr, ptr %333, align 8, !tbaa !6
  %335 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %336 = load ptr, ptr %335, align 8, !tbaa !6
  %337 = call noundef ptr @_ZN7glslang13TParseContext24handleBracketDereferenceERKNS_10TSourceLocEPNS_12TIntermTypedES5_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %332, ptr noundef %334, ptr noundef %336)
  store ptr %337, ptr %44, align 8, !tbaa !6
  br label %.thread3331

338:                                              ; preds = %206
  %339 = getelementptr inbounds i8, ptr %.33120, i64 32
  %340 = load ptr, ptr %339, align 8, !tbaa !6
  store ptr %340, ptr %44, align 8, !tbaa !6
  br label %.thread3331

341:                                              ; preds = %206
  %342 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %343 = load ptr, ptr %342, align 8, !tbaa !6
  %344 = getelementptr inbounds i8, ptr %.33120, i64 24
  %345 = load ptr, ptr %344, align 8, !tbaa !6
  %346 = call noundef ptr @_ZN7glslang13TParseContext20handleDotDereferenceERKNS_10TSourceLocEPNS_12TIntermTypedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef %343, ptr noundef nonnull align 8 dereferenceable(40) %345)
  store ptr %346, ptr %44, align 8, !tbaa !6
  br label %.thread3331

347:                                              ; preds = %206
  %348 = getelementptr inbounds i8, ptr %.33120, i64 -256
  call void @_ZN7glslang13TParseContext13variableCheckERPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(8) %348)
  %349 = load ptr, ptr %348, align 8, !tbaa !6
  %350 = load ptr, ptr %0, align 8, !tbaa !17
  %351 = getelementptr inbounds i8, ptr %350, i64 504
  %352 = load ptr, ptr %351, align 8
  %353 = call noundef zeroext i1 %352(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.17, ptr noundef %349)
  %354 = load ptr, ptr %348, align 8, !tbaa !6
  %355 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.17, i32 noundef 11, ptr noundef %354)
  store ptr %355, ptr %44, align 8, !tbaa !6
  br label %.thread3331

356:                                              ; preds = %206
  %357 = getelementptr inbounds i8, ptr %.33120, i64 -256
  call void @_ZN7glslang13TParseContext13variableCheckERPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(8) %357)
  %358 = load ptr, ptr %357, align 8, !tbaa !6
  %359 = load ptr, ptr %0, align 8, !tbaa !17
  %360 = getelementptr inbounds i8, ptr %359, i64 504
  %361 = load ptr, ptr %360, align 8
  %362 = call noundef zeroext i1 %361(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.18, ptr noundef %358)
  %363 = load ptr, ptr %357, align 8, !tbaa !6
  %364 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.18, i32 noundef 12, ptr noundef %363)
  store ptr %364, ptr %44, align 8, !tbaa !6
  br label %.thread3331

365:                                              ; preds = %206
  %366 = getelementptr inbounds i8, ptr %.33120, i64 32
  %367 = load ptr, ptr %366, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext12integerCheckEPKNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %367, ptr noundef nonnull @.str.19)
  %368 = load ptr, ptr %366, align 8, !tbaa !6
  store ptr %368, ptr %44, align 8, !tbaa !6
  br label %.thread3331

369:                                              ; preds = %206
  %370 = getelementptr inbounds i8, ptr %.33120, i64 48
  %371 = load ptr, ptr %370, align 8, !tbaa !6
  %372 = getelementptr inbounds i8, ptr %.33120, i64 32
  %373 = load ptr, ptr %372, align 8, !tbaa !6
  %374 = call noundef ptr @_ZN7glslang13TParseContext18handleFunctionCallERKNS_10TSourceLocEPNS_9TFunctionEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef %371, ptr noundef %373)
  store ptr %374, ptr %44, align 8, !tbaa !6
  %375 = load ptr, ptr %370, align 8, !tbaa !6
  %376 = icmp eq ptr %375, null
  br i1 %376, label %.thread3331, label %377

377:                                              ; preds = %369
  %378 = load ptr, ptr %375, align 8, !tbaa !17
  %379 = getelementptr inbounds i8, ptr %378, i64 16
  %380 = load ptr, ptr %379, align 8
  call void %380(ptr noundef nonnull align 8 dereferenceable(328) %375) #11
  br label %.thread3331

381:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %.33120, i64 288, i1 false), !tbaa.struct !93
  br label %.thread3331

382:                                              ; preds = %206
  %383 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %383, i64 288, i1 false), !tbaa.struct !93
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  br label %.thread3331

384:                                              ; preds = %206
  %385 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %385, i64 288, i1 false), !tbaa.struct !93
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  br label %.thread3331

386:                                              ; preds = %206
  %387 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %387, i64 288, i1 false), !tbaa.struct !93
  br label %.thread3331

388:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %.33120, i64 288, i1 false), !tbaa.struct !93
  br label %.thread3331

389:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #11
  store ptr null, ptr %9, align 8, !tbaa !97
  %390 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %390, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %391 unwind label %405

391:                                              ; preds = %389
  store ptr %390, ptr %84, align 8, !tbaa !99
  store ptr null, ptr %85, align 8, !tbaa !100
  %392 = getelementptr inbounds i8, ptr %.33120, i64 32
  %393 = load ptr, ptr %392, align 8, !tbaa !6
  %394 = load ptr, ptr %393, align 8, !tbaa !17
  %395 = getelementptr inbounds i8, ptr %394, i64 240
  %396 = load ptr, ptr %395, align 8
  %397 = call noundef nonnull align 8 dereferenceable(144) ptr %396(ptr noundef nonnull align 8 dereferenceable(176) %393)
  call void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144) %390, ptr noundef nonnull align 8 dereferenceable(144) %397)
  %398 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %399 = load ptr, ptr %398, align 8, !tbaa !6
  %400 = load ptr, ptr %399, align 8, !tbaa !17
  %401 = getelementptr inbounds i8, ptr %400, i64 176
  %402 = load ptr, ptr %401, align 8
  call void %402(ptr noundef nonnull align 8 dereferenceable(328) %399, ptr noundef nonnull align 8 dereferenceable(24) %9)
  %403 = load ptr, ptr %398, align 8, !tbaa !6
  store ptr %403, ptr %46, align 8, !tbaa !6
  %404 = load ptr, ptr %392, align 8, !tbaa !6
  store ptr %404, ptr %44, align 8, !tbaa !6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #11
  br label %.thread3331

405:                                              ; preds = %389
  %406 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %390) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #11
  br label %5349

407:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #11
  store ptr null, ptr %10, align 8, !tbaa !97
  %408 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %408, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %409 unwind label %428

409:                                              ; preds = %407
  store ptr %408, ptr %82, align 8, !tbaa !99
  store ptr null, ptr %83, align 8, !tbaa !100
  %410 = getelementptr inbounds i8, ptr %.33120, i64 32
  %411 = load ptr, ptr %410, align 8, !tbaa !6
  %412 = load ptr, ptr %411, align 8, !tbaa !17
  %413 = getelementptr inbounds i8, ptr %412, i64 240
  %414 = load ptr, ptr %413, align 8
  %415 = call noundef nonnull align 8 dereferenceable(144) ptr %414(ptr noundef nonnull align 8 dereferenceable(176) %411)
  call void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144) %408, ptr noundef nonnull align 8 dereferenceable(144) %415)
  %416 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %417 = load ptr, ptr %416, align 8, !tbaa !6
  %418 = load ptr, ptr %417, align 8, !tbaa !17
  %419 = getelementptr inbounds i8, ptr %418, i64 176
  %420 = load ptr, ptr %419, align 8
  call void %420(ptr noundef nonnull align 8 dereferenceable(328) %417, ptr noundef nonnull align 8 dereferenceable(24) %10)
  %421 = load ptr, ptr %416, align 8, !tbaa !6
  store ptr %421, ptr %46, align 8, !tbaa !6
  %422 = load ptr, ptr %45, align 8, !tbaa !19
  %423 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %424 = load ptr, ptr %423, align 8, !tbaa !6
  %425 = load ptr, ptr %410, align 8, !tbaa !6
  %426 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %427 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %422, ptr noundef %424, ptr noundef %425, ptr noundef nonnull align 8 dereferenceable(24) %426)
  store ptr %427, ptr %44, align 8, !tbaa !6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #11
  br label %.thread3331

428:                                              ; preds = %407
  %429 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %408) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #11
  br label %5349

430:                                              ; preds = %206
  %431 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %431, i64 288, i1 false), !tbaa.struct !93
  br label %.thread3331

432:                                              ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  %433 = getelementptr inbounds i8, ptr %.33120, i64 48
  %434 = getelementptr inbounds i8, ptr %.33120, i64 240
  %435 = call noundef ptr @_ZN7glslang13TParseContext21handleConstructorCallERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %434, ptr noundef nonnull align 8 dereferenceable(232) %433)
  store ptr %435, ptr %46, align 8, !tbaa !6
  br label %.thread3331

436:                                              ; preds = %206
  store ptr null, ptr %46, align 8, !tbaa !6
  store ptr null, ptr %44, align 8, !tbaa !6
  %437 = getelementptr inbounds i8, ptr %.33120, i64 32
  %438 = load ptr, ptr %437, align 8, !tbaa !6
  %439 = load ptr, ptr %438, align 8, !tbaa !17
  %440 = getelementptr inbounds i8, ptr %439, i64 88
  %441 = load ptr, ptr %440, align 8
  %442 = call noundef ptr %441(ptr noundef nonnull align 8 dereferenceable(32) %438)
  %.not3278 = icmp eq ptr %442, null
  br i1 %.not3278, label %464, label %443

443:                                              ; preds = %436
  %444 = call noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 328)
  %445 = load ptr, ptr %442, align 8, !tbaa !17
  %446 = getelementptr inbounds i8, ptr %445, i64 384
  %447 = load ptr, ptr %446, align 8
  %448 = invoke noundef nonnull align 8 dereferenceable(40) ptr %447(ptr noundef nonnull align 8 dereferenceable(224) %442)
          to label %449 unwind label %456

449:                                              ; preds = %443
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %11) #11
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %11, i32 noundef 8, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %450 unwind label %458

450:                                              ; preds = %449
  invoke void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328) %444, ptr noundef nonnull %448, ptr noundef nonnull align 8 dereferenceable(144) %11, i32 noundef 590)
          to label %451 unwind label %460

451:                                              ; preds = %450
  store ptr %444, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %11) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %11) #11
  %452 = load ptr, ptr %442, align 8, !tbaa !17
  %453 = getelementptr inbounds i8, ptr %452, i64 392
  %454 = load ptr, ptr %453, align 8
  %455 = call noundef ptr %454(ptr noundef nonnull align 8 dereferenceable(224) %442)
  store ptr %455, ptr %44, align 8, !tbaa !6
  br label %thread-pre-split

456:                                              ; preds = %443
  %457 = landingpad { ptr, i32 }
          cleanup
  br label %463

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

460:                                              ; preds = %450
  %461 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %11) #11
  br label %462

462:                                              ; preds = %460, %458
  %.pn3283 = phi { ptr, i32 } [ %461, %460 ], [ %459, %458 ]
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %11) #11
  br label %463

463:                                              ; preds = %456, %462
  %.pn3283.pn = phi { ptr, i32 } [ %.pn3283, %462 ], [ %457, %456 ]
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %444) #11
  br label %5349

464:                                              ; preds = %436
  %465 = load ptr, ptr %437, align 8, !tbaa !6
  %466 = load ptr, ptr %465, align 8, !tbaa !17
  %467 = getelementptr inbounds i8, ptr %466, i64 96
  %468 = load ptr, ptr %467, align 8
  %469 = call noundef ptr %468(ptr noundef nonnull align 8 dereferenceable(32) %465)
  %.not3279 = icmp eq ptr %469, null
  br i1 %.not3279, label %494, label %470

470:                                              ; preds = %464
  %471 = load ptr, ptr %469, align 8, !tbaa !17
  %472 = load ptr, ptr %471, align 8
  %473 = call noundef nonnull align 8 dereferenceable(24) ptr %472(ptr noundef nonnull align 8 dereferenceable(32) %469)
  %474 = load ptr, ptr %469, align 8, !tbaa !17
  %475 = getelementptr inbounds i8, ptr %474, i64 400
  %476 = load ptr, ptr %475, align 8
  %477 = call noundef nonnull align 8 dereferenceable(40) ptr %476(ptr noundef nonnull align 8 dereferenceable(256) %469)
  call void @_ZN7glslang13TParseContext18reservedErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %473, ptr noundef nonnull align 8 dereferenceable(40) %477)
  %478 = call noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 328)
  %479 = load ptr, ptr %469, align 8, !tbaa !17
  %480 = getelementptr inbounds i8, ptr %479, i64 400
  %481 = load ptr, ptr %480, align 8
  %482 = invoke noundef nonnull align 8 dereferenceable(40) ptr %481(ptr noundef nonnull align 8 dereferenceable(256) %469)
          to label %483 unwind label %486

483:                                              ; preds = %470
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %12) #11
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %12, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %484 unwind label %488

484:                                              ; preds = %483
  invoke void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328) %478, ptr noundef nonnull %482, ptr noundef nonnull align 8 dereferenceable(144) %12, i32 noundef 0)
          to label %485 unwind label %490

485:                                              ; preds = %484
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %12) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %12) #11
  store ptr %478, ptr %46, align 8, !tbaa !6
  br label %502

486:                                              ; preds = %470
  %487 = landingpad { ptr, i32 }
          cleanup
  br label %493

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

490:                                              ; preds = %484
  %491 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %12) #11
  br label %492

492:                                              ; preds = %490, %488
  %.pn3280 = phi { ptr, i32 } [ %491, %490 ], [ %489, %488 ]
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %12) #11
  br label %493

493:                                              ; preds = %486, %492
  %.pn3280.pn = phi { ptr, i32 } [ %.pn3280, %492 ], [ %487, %486 ]
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %478) #11
  br label %5349

494:                                              ; preds = %464
  %495 = load ptr, ptr %437, align 8, !tbaa !6
  %496 = load ptr, ptr %495, align 8, !tbaa !17
  %497 = load ptr, ptr %496, align 8
  %498 = call noundef nonnull align 8 dereferenceable(24) ptr %497(ptr noundef nonnull align 8 dereferenceable(32) %495)
  %499 = load ptr, ptr %0, align 8, !tbaa !17
  %500 = getelementptr inbounds i8, ptr %499, i64 336
  %501 = load ptr, ptr %500, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %501(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %498, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.21)
  br label %thread-pre-split

thread-pre-split:                                 ; preds = %451, %494
  %.pr3327 = load ptr, ptr %46, align 8, !tbaa !6
  br label %502

502:                                              ; preds = %thread-pre-split, %485
  %503 = phi ptr [ %.pr3327, %thread-pre-split ], [ %478, %485 ]
  %504 = icmp eq ptr %503, null
  br i1 %504, label %505, label %.thread3331

505:                                              ; preds = %502
  %506 = call noundef ptr @_ZN7glslang14NewPoolTStringB5cxx11EPKc(ptr noundef nonnull @.str.21)
  %507 = call noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 328)
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %13) #11
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %13, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %508 unwind label %510

508:                                              ; preds = %505
  invoke void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328) %507, ptr noundef %506, ptr noundef nonnull align 8 dereferenceable(144) %13, i32 noundef 0)
          to label %509 unwind label %512

509:                                              ; preds = %508
  store ptr %507, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %13) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %13) #11
  br label %.thread3331

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

512:                                              ; preds = %508
  %513 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %13) #11
  br label %514

514:                                              ; preds = %512, %510
  %.pn3286 = phi { ptr, i32 } [ %513, %512 ], [ %511, %510 ]
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %13) #11
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %507) #11
  br label %5349

515:                                              ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  %516 = getelementptr inbounds i8, ptr %.33120, i64 48
  %517 = getelementptr inbounds i8, ptr %.33120, i64 240
  %518 = call noundef ptr @_ZN7glslang13TParseContext21handleConstructorCallERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %517, ptr noundef nonnull align 8 dereferenceable(232) %516)
  store ptr %518, ptr %46, align 8, !tbaa !6
  br label %.thread3331

519:                                              ; preds = %206
  %520 = getelementptr inbounds i8, ptr %.33120, i64 32
  call void @_ZN7glslang13TParseContext13variableCheckERPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(8) %520)
  %521 = load ptr, ptr %520, align 8, !tbaa !6
  store ptr %521, ptr %44, align 8, !tbaa !6
  %522 = load ptr, ptr %521, align 8, !tbaa !17
  %523 = getelementptr inbounds i8, ptr %522, i64 88
  %524 = load ptr, ptr %523, align 8
  %525 = call noundef ptr %524(ptr noundef nonnull align 8 dereferenceable(32) %521)
  %.not3277 = icmp eq ptr %525, null
  br i1 %.not3277, label %.thread3331, label %526

526:                                              ; preds = %519
  %527 = load ptr, ptr %520, align 8, !tbaa !6
  %528 = load ptr, ptr %527, align 8, !tbaa !17
  %529 = load ptr, ptr %528, align 8
  %530 = call noundef nonnull align 8 dereferenceable(24) ptr %529(ptr noundef nonnull align 8 dereferenceable(32) %527)
  %531 = load ptr, ptr %525, align 8, !tbaa !17
  %532 = getelementptr inbounds i8, ptr %531, i64 384
  %533 = load ptr, ptr %532, align 8
  %534 = call noundef nonnull align 8 dereferenceable(40) ptr %533(ptr noundef nonnull align 8 dereferenceable(224) %525)
  %535 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %534) #11
  %536 = load ptr, ptr %0, align 8, !tbaa !17
  %537 = getelementptr inbounds i8, ptr %536, i64 336
  %538 = load ptr, ptr %537, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %538(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %530, ptr noundef nonnull @.str.22, ptr noundef %535, ptr noundef nonnull @.str.21)
  br label %.thread3331

539:                                              ; preds = %206
  %540 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %541 = getelementptr inbounds i8, ptr %.33120, i64 32
  %542 = load ptr, ptr %541, align 8, !tbaa !6
  %543 = load ptr, ptr %0, align 8, !tbaa !17
  %544 = getelementptr inbounds i8, ptr %543, i64 504
  %545 = load ptr, ptr %544, align 8
  %546 = call noundef zeroext i1 %545(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %540, ptr noundef nonnull @.str.17, ptr noundef %542)
  %547 = load ptr, ptr %541, align 8, !tbaa !6
  %548 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %540, ptr noundef nonnull @.str.17, i32 noundef 13, ptr noundef %547)
  store ptr %548, ptr %44, align 8, !tbaa !6
  br label %.thread3331

549:                                              ; preds = %206
  %550 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %551 = getelementptr inbounds i8, ptr %.33120, i64 32
  %552 = load ptr, ptr %551, align 8, !tbaa !6
  %553 = load ptr, ptr %0, align 8, !tbaa !17
  %554 = getelementptr inbounds i8, ptr %553, i64 504
  %555 = load ptr, ptr %554, align 8
  %556 = call noundef zeroext i1 %555(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %550, ptr noundef nonnull @.str.18, ptr noundef %552)
  %557 = load ptr, ptr %551, align 8, !tbaa !6
  %558 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %550, ptr noundef nonnull @.str.18, i32 noundef 14, ptr noundef %557)
  store ptr %558, ptr %44, align 8, !tbaa !6
  br label %.thread3331

559:                                              ; preds = %206
  %560 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %561 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %562 = load i32, ptr %561, align 8, !tbaa !6
  %.not3275 = icmp eq i32 %562, 0
  br i1 %.not3275, label %571, label %563

563:                                              ; preds = %559
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %14) #11
  store i16 0, ptr %14, align 2
  switch i32 %562, label %567 [
    i32 7, label %564
    i32 8, label %565
    i32 10, label %566
  ]

564:                                              ; preds = %563
  store i8 45, ptr %14, align 2, !tbaa !6
  br label %567

565:                                              ; preds = %563
  store i8 33, ptr %14, align 2, !tbaa !6
  br label %567

566:                                              ; preds = %563
  store i8 126, ptr %14, align 2, !tbaa !6
  br label %567

567:                                              ; preds = %563, %566, %565, %564
  %568 = getelementptr inbounds i8, ptr %.33120, i64 32
  %569 = load ptr, ptr %568, align 8, !tbaa !6
  %570 = call noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %560, ptr noundef nonnull %14, i32 noundef %562, ptr noundef %569)
  store ptr %570, ptr %44, align 8, !tbaa !6
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %14) #11
  br label %.thread3331

571:                                              ; preds = %559
  %572 = getelementptr inbounds i8, ptr %.33120, i64 32
  %573 = load ptr, ptr %572, align 8, !tbaa !6
  store ptr %573, ptr %44, align 8, !tbaa !6
  %574 = load ptr, ptr %573, align 8, !tbaa !17
  %575 = getelementptr inbounds i8, ptr %574, i64 40
  %576 = load ptr, ptr %575, align 8
  %577 = call noundef ptr %576(ptr noundef nonnull align 8 dereferenceable(32) %573)
  %.not3276 = icmp eq ptr %577, null
  br i1 %.not3276, label %.thread3331, label %578

578:                                              ; preds = %571
  %579 = load ptr, ptr %44, align 8, !tbaa !6
  %580 = load ptr, ptr %579, align 8, !tbaa !17
  %581 = getelementptr inbounds i8, ptr %580, i64 40
  %582 = load ptr, ptr %581, align 8
  %583 = call noundef ptr %582(ptr noundef nonnull align 8 dereferenceable(32) %579)
  call void @_ZN7glslang20TIntermConstantUnion13setExpressionEv(ptr noundef nonnull align 8 dereferenceable(193) %583)
  br label %.thread3331

584:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 0, ptr %81, align 8, !tbaa !6
  br label %.thread3331

585:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 7, ptr %81, align 8, !tbaa !6
  br label %.thread3331

586:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 8, ptr %81, align 8, !tbaa !6
  br label %.thread3331

587:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 10, ptr %81, align 8, !tbaa !6
  %588 = load ptr, ptr %0, align 8, !tbaa !17
  %589 = getelementptr inbounds i8, ptr %588, i64 120
  %590 = load ptr, ptr %589, align 8
  call void %590(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.23)
  br label %.thread3331

591:                                              ; preds = %206
  %592 = getelementptr inbounds i8, ptr %.33120, i64 32
  %593 = load ptr, ptr %592, align 8, !tbaa !6
  store ptr %593, ptr %44, align 8, !tbaa !6
  br label %.thread3331

594:                                              ; preds = %206
  %595 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %596 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %597 = load ptr, ptr %596, align 8, !tbaa !6
  %598 = getelementptr inbounds i8, ptr %.33120, i64 32
  %599 = load ptr, ptr %598, align 8, !tbaa !6
  %600 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %595, ptr noundef nonnull @.str.24, i32 noundef 156, ptr noundef %597, ptr noundef %599)
  store ptr %600, ptr %44, align 8, !tbaa !6
  %601 = icmp eq ptr %600, null
  br i1 %601, label %602, label %.thread3331

602:                                              ; preds = %594
  %603 = load ptr, ptr %596, align 8, !tbaa !6
  store ptr %603, ptr %44, align 8, !tbaa !6
  br label %.thread3331

604:                                              ; preds = %206
  %605 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %606 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %607 = load ptr, ptr %606, align 8, !tbaa !6
  %608 = getelementptr inbounds i8, ptr %.33120, i64 32
  %609 = load ptr, ptr %608, align 8, !tbaa !6
  %610 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %605, ptr noundef nonnull @.str.25, i32 noundef 157, ptr noundef %607, ptr noundef %609)
  store ptr %610, ptr %44, align 8, !tbaa !6
  %611 = icmp eq ptr %610, null
  br i1 %611, label %612, label %.thread3331

612:                                              ; preds = %604
  %613 = load ptr, ptr %606, align 8, !tbaa !6
  store ptr %613, ptr %44, align 8, !tbaa !6
  br label %.thread3331

614:                                              ; preds = %206
  %615 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %616 = load ptr, ptr %0, align 8, !tbaa !17
  %617 = getelementptr inbounds i8, ptr %616, i64 120
  %618 = load ptr, ptr %617, align 8
  call void %618(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %615, ptr noundef nonnull @.str.26)
  %619 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %620 = load ptr, ptr %619, align 8, !tbaa !6
  %621 = getelementptr inbounds i8, ptr %.33120, i64 32
  %622 = load ptr, ptr %621, align 8, !tbaa !6
  %623 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %615, ptr noundef nonnull @.str.26, i32 noundef 158, ptr noundef %620, ptr noundef %622)
  store ptr %623, ptr %44, align 8, !tbaa !6
  %624 = icmp eq ptr %623, null
  br i1 %624, label %625, label %.thread3331

625:                                              ; preds = %614
  %626 = load ptr, ptr %619, align 8, !tbaa !6
  store ptr %626, ptr %44, align 8, !tbaa !6
  br label %.thread3331

627:                                              ; preds = %206
  %628 = getelementptr inbounds i8, ptr %.33120, i64 32
  %629 = load ptr, ptr %628, align 8, !tbaa !6
  store ptr %629, ptr %44, align 8, !tbaa !6
  br label %.thread3331

630:                                              ; preds = %206
  %631 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %632 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %633 = load ptr, ptr %632, align 8, !tbaa !6
  %634 = getelementptr inbounds i8, ptr %.33120, i64 32
  %635 = load ptr, ptr %634, align 8, !tbaa !6
  %636 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %631, ptr noundef nonnull @.str.27, i32 noundef 154, ptr noundef %633, ptr noundef %635)
  store ptr %636, ptr %44, align 8, !tbaa !6
  %637 = icmp eq ptr %636, null
  br i1 %637, label %638, label %.thread3331

638:                                              ; preds = %630
  %639 = load ptr, ptr %632, align 8, !tbaa !6
  store ptr %639, ptr %44, align 8, !tbaa !6
  br label %.thread3331

640:                                              ; preds = %206
  %641 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %642 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %643 = load ptr, ptr %642, align 8, !tbaa !6
  %644 = getelementptr inbounds i8, ptr %.33120, i64 32
  %645 = load ptr, ptr %644, align 8, !tbaa !6
  %646 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %641, ptr noundef nonnull @.str.28, i32 noundef 155, ptr noundef %643, ptr noundef %645)
  store ptr %646, ptr %44, align 8, !tbaa !6
  %647 = icmp eq ptr %646, null
  br i1 %647, label %648, label %.thread3331

648:                                              ; preds = %640
  %649 = load ptr, ptr %642, align 8, !tbaa !6
  store ptr %649, ptr %44, align 8, !tbaa !6
  br label %.thread3331

650:                                              ; preds = %206
  %651 = getelementptr inbounds i8, ptr %.33120, i64 32
  %652 = load ptr, ptr %651, align 8, !tbaa !6
  store ptr %652, ptr %44, align 8, !tbaa !6
  br label %.thread3331

653:                                              ; preds = %206
  %654 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %655 = load ptr, ptr %0, align 8, !tbaa !17
  %656 = getelementptr inbounds i8, ptr %655, i64 120
  %657 = load ptr, ptr %656, align 8
  call void %657(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %654, ptr noundef nonnull @.str.29)
  %658 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %659 = load ptr, ptr %658, align 8, !tbaa !6
  %660 = getelementptr inbounds i8, ptr %.33120, i64 32
  %661 = load ptr, ptr %660, align 8, !tbaa !6
  %662 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %654, ptr noundef nonnull @.str.30, i32 noundef 160, ptr noundef %659, ptr noundef %661)
  store ptr %662, ptr %44, align 8, !tbaa !6
  %663 = icmp eq ptr %662, null
  br i1 %663, label %664, label %.thread3331

664:                                              ; preds = %653
  %665 = load ptr, ptr %658, align 8, !tbaa !6
  store ptr %665, ptr %44, align 8, !tbaa !6
  br label %.thread3331

666:                                              ; preds = %206
  %667 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %668 = load ptr, ptr %0, align 8, !tbaa !17
  %669 = getelementptr inbounds i8, ptr %668, i64 120
  %670 = load ptr, ptr %669, align 8
  call void %670(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %667, ptr noundef nonnull @.str.31)
  %671 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %672 = load ptr, ptr %671, align 8, !tbaa !6
  %673 = getelementptr inbounds i8, ptr %.33120, i64 32
  %674 = load ptr, ptr %673, align 8, !tbaa !6
  %675 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %667, ptr noundef nonnull @.str.32, i32 noundef 159, ptr noundef %672, ptr noundef %674)
  store ptr %675, ptr %44, align 8, !tbaa !6
  %676 = icmp eq ptr %675, null
  br i1 %676, label %677, label %.thread3331

677:                                              ; preds = %666
  %678 = load ptr, ptr %671, align 8, !tbaa !6
  store ptr %678, ptr %44, align 8, !tbaa !6
  br label %.thread3331

679:                                              ; preds = %206
  %680 = getelementptr inbounds i8, ptr %.33120, i64 32
  %681 = load ptr, ptr %680, align 8, !tbaa !6
  store ptr %681, ptr %44, align 8, !tbaa !6
  br label %.thread3331

682:                                              ; preds = %206
  %683 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %684 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %685 = load ptr, ptr %684, align 8, !tbaa !6
  %686 = getelementptr inbounds i8, ptr %.33120, i64 32
  %687 = load ptr, ptr %686, align 8, !tbaa !6
  %688 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %683, ptr noundef nonnull @.str.33, i32 noundef 168, ptr noundef %685, ptr noundef %687)
  store ptr %688, ptr %44, align 8, !tbaa !6
  %689 = icmp eq ptr %688, null
  br i1 %689, label %690, label %.thread3331

690:                                              ; preds = %682
  %691 = load ptr, ptr %45, align 8, !tbaa !19
  %692 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %691, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %683, i1 noundef zeroext false)
  store ptr %692, ptr %44, align 8, !tbaa !6
  br label %.thread3331

693:                                              ; preds = %206
  %694 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %695 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %696 = load ptr, ptr %695, align 8, !tbaa !6
  %697 = getelementptr inbounds i8, ptr %.33120, i64 32
  %698 = load ptr, ptr %697, align 8, !tbaa !6
  %699 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %694, ptr noundef nonnull @.str.34, i32 noundef 169, ptr noundef %696, ptr noundef %698)
  store ptr %699, ptr %44, align 8, !tbaa !6
  %700 = icmp eq ptr %699, null
  br i1 %700, label %701, label %.thread3331

701:                                              ; preds = %693
  %702 = load ptr, ptr %45, align 8, !tbaa !19
  %703 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %702, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %694, i1 noundef zeroext false)
  store ptr %703, ptr %44, align 8, !tbaa !6
  br label %.thread3331

704:                                              ; preds = %206
  %705 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %706 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %707 = load ptr, ptr %706, align 8, !tbaa !6
  %708 = getelementptr inbounds i8, ptr %.33120, i64 32
  %709 = load ptr, ptr %708, align 8, !tbaa !6
  %710 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %705, ptr noundef nonnull @.str.35, i32 noundef 170, ptr noundef %707, ptr noundef %709)
  store ptr %710, ptr %44, align 8, !tbaa !6
  %711 = icmp eq ptr %710, null
  br i1 %711, label %712, label %.thread3331

712:                                              ; preds = %704
  %713 = load ptr, ptr %45, align 8, !tbaa !19
  %714 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %713, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %705, i1 noundef zeroext false)
  store ptr %714, ptr %44, align 8, !tbaa !6
  br label %.thread3331

715:                                              ; preds = %206
  %716 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %717 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %718 = load ptr, ptr %717, align 8, !tbaa !6
  %719 = getelementptr inbounds i8, ptr %.33120, i64 32
  %720 = load ptr, ptr %719, align 8, !tbaa !6
  %721 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %716, ptr noundef nonnull @.str.36, i32 noundef 171, ptr noundef %718, ptr noundef %720)
  store ptr %721, ptr %44, align 8, !tbaa !6
  %722 = icmp eq ptr %721, null
  br i1 %722, label %723, label %.thread3331

723:                                              ; preds = %715
  %724 = load ptr, ptr %45, align 8, !tbaa !19
  %725 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %724, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %716, i1 noundef zeroext false)
  store ptr %725, ptr %44, align 8, !tbaa !6
  br label %.thread3331

726:                                              ; preds = %206
  %727 = getelementptr inbounds i8, ptr %.33120, i64 32
  %728 = load ptr, ptr %727, align 8, !tbaa !6
  store ptr %728, ptr %44, align 8, !tbaa !6
  br label %.thread3331

729:                                              ; preds = %206
  %730 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %731 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %732 = load ptr, ptr %731, align 8, !tbaa !6
  %733 = load ptr, ptr %732, align 8, !tbaa !17
  %734 = getelementptr inbounds i8, ptr %733, i64 240
  %735 = load ptr, ptr %734, align 8
  %736 = call noundef nonnull align 8 dereferenceable(144) ptr %735(ptr noundef nonnull align 8 dereferenceable(176) %732)
  call void @_ZN7glslang13TParseContext16arrayObjectCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %730, ptr noundef nonnull align 8 dereferenceable(144) %736, ptr noundef nonnull @.str.37)
  %737 = load ptr, ptr %731, align 8, !tbaa !6
  %738 = load ptr, ptr %737, align 8, !tbaa !17
  %739 = getelementptr inbounds i8, ptr %738, i64 240
  %740 = load ptr, ptr %739, align 8
  %741 = call noundef nonnull align 8 dereferenceable(144) ptr %740(ptr noundef nonnull align 8 dereferenceable(176) %737)
  call void @_ZN7glslang13TParseContext11opaqueCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %730, ptr noundef nonnull align 8 dereferenceable(144) %741, ptr noundef nonnull @.str.38)
  %742 = load ptr, ptr %731, align 8, !tbaa !6
  %743 = load ptr, ptr %742, align 8, !tbaa !17
  %744 = getelementptr inbounds i8, ptr %743, i64 240
  %745 = load ptr, ptr %744, align 8
  %746 = call noundef nonnull align 8 dereferenceable(144) ptr %745(ptr noundef nonnull align 8 dereferenceable(176) %742)
  call void @_ZN7glslang13TParseContext19specializationCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %730, ptr noundef nonnull align 8 dereferenceable(144) %746, ptr noundef nonnull @.str.38)
  %747 = load ptr, ptr %731, align 8, !tbaa !6
  %748 = load ptr, ptr %747, align 8, !tbaa !17
  %749 = getelementptr inbounds i8, ptr %748, i64 240
  %750 = load ptr, ptr %749, align 8
  %751 = call noundef nonnull align 8 dereferenceable(144) ptr %750(ptr noundef nonnull align 8 dereferenceable(176) %747)
  call void @_ZN7glslang13TParseContext14referenceCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %730, ptr noundef nonnull align 8 dereferenceable(144) %751, ptr noundef nonnull @.str.38)
  %752 = load ptr, ptr %731, align 8, !tbaa !6
  %753 = getelementptr inbounds i8, ptr %.33120, i64 32
  %754 = load ptr, ptr %753, align 8, !tbaa !6
  %755 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %730, ptr noundef nonnull @.str.38, i32 noundef 164, ptr noundef %752, ptr noundef %754)
  store ptr %755, ptr %44, align 8, !tbaa !6
  %756 = icmp eq ptr %755, null
  br i1 %756, label %757, label %.thread3331

757:                                              ; preds = %729
  %758 = load ptr, ptr %45, align 8, !tbaa !19
  %759 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %758, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %730, i1 noundef zeroext false)
  store ptr %759, ptr %44, align 8, !tbaa !6
  br label %.thread3331

760:                                              ; preds = %206
  %761 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %762 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %763 = load ptr, ptr %762, align 8, !tbaa !6
  %764 = load ptr, ptr %763, align 8, !tbaa !17
  %765 = getelementptr inbounds i8, ptr %764, i64 240
  %766 = load ptr, ptr %765, align 8
  %767 = call noundef nonnull align 8 dereferenceable(144) ptr %766(ptr noundef nonnull align 8 dereferenceable(176) %763)
  call void @_ZN7glslang13TParseContext16arrayObjectCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %761, ptr noundef nonnull align 8 dereferenceable(144) %767, ptr noundef nonnull @.str.37)
  %768 = load ptr, ptr %762, align 8, !tbaa !6
  %769 = load ptr, ptr %768, align 8, !tbaa !17
  %770 = getelementptr inbounds i8, ptr %769, i64 240
  %771 = load ptr, ptr %770, align 8
  %772 = call noundef nonnull align 8 dereferenceable(144) ptr %771(ptr noundef nonnull align 8 dereferenceable(176) %768)
  call void @_ZN7glslang13TParseContext11opaqueCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %761, ptr noundef nonnull align 8 dereferenceable(144) %772, ptr noundef nonnull @.str.39)
  %773 = load ptr, ptr %762, align 8, !tbaa !6
  %774 = load ptr, ptr %773, align 8, !tbaa !17
  %775 = getelementptr inbounds i8, ptr %774, i64 240
  %776 = load ptr, ptr %775, align 8
  %777 = call noundef nonnull align 8 dereferenceable(144) ptr %776(ptr noundef nonnull align 8 dereferenceable(176) %773)
  call void @_ZN7glslang13TParseContext19specializationCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %761, ptr noundef nonnull align 8 dereferenceable(144) %777, ptr noundef nonnull @.str.39)
  %778 = load ptr, ptr %762, align 8, !tbaa !6
  %779 = load ptr, ptr %778, align 8, !tbaa !17
  %780 = getelementptr inbounds i8, ptr %779, i64 240
  %781 = load ptr, ptr %780, align 8
  %782 = call noundef nonnull align 8 dereferenceable(144) ptr %781(ptr noundef nonnull align 8 dereferenceable(176) %778)
  call void @_ZN7glslang13TParseContext14referenceCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %761, ptr noundef nonnull align 8 dereferenceable(144) %782, ptr noundef nonnull @.str.39)
  %783 = load ptr, ptr %762, align 8, !tbaa !6
  %784 = getelementptr inbounds i8, ptr %.33120, i64 32
  %785 = load ptr, ptr %784, align 8, !tbaa !6
  %786 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %761, ptr noundef nonnull @.str.39, i32 noundef 165, ptr noundef %783, ptr noundef %785)
  store ptr %786, ptr %44, align 8, !tbaa !6
  %787 = icmp eq ptr %786, null
  br i1 %787, label %788, label %.thread3331

788:                                              ; preds = %760
  %789 = load ptr, ptr %45, align 8, !tbaa !19
  %790 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %789, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %761, i1 noundef zeroext false)
  store ptr %790, ptr %44, align 8, !tbaa !6
  br label %.thread3331

791:                                              ; preds = %206
  %792 = getelementptr inbounds i8, ptr %.33120, i64 32
  %793 = load ptr, ptr %792, align 8, !tbaa !6
  store ptr %793, ptr %44, align 8, !tbaa !6
  br label %.thread3331

794:                                              ; preds = %206
  %795 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %796 = load ptr, ptr %0, align 8, !tbaa !17
  %797 = getelementptr inbounds i8, ptr %796, i64 120
  %798 = load ptr, ptr %797, align 8
  call void %798(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %795, ptr noundef nonnull @.str.40)
  %799 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %800 = load ptr, ptr %799, align 8, !tbaa !6
  %801 = getelementptr inbounds i8, ptr %.33120, i64 32
  %802 = load ptr, ptr %801, align 8, !tbaa !6
  %803 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %795, ptr noundef nonnull @.str.41, i32 noundef 161, ptr noundef %800, ptr noundef %802)
  store ptr %803, ptr %44, align 8, !tbaa !6
  %804 = icmp eq ptr %803, null
  br i1 %804, label %805, label %.thread3331

805:                                              ; preds = %794
  %806 = load ptr, ptr %799, align 8, !tbaa !6
  store ptr %806, ptr %44, align 8, !tbaa !6
  br label %.thread3331

807:                                              ; preds = %206
  %808 = getelementptr inbounds i8, ptr %.33120, i64 32
  %809 = load ptr, ptr %808, align 8, !tbaa !6
  store ptr %809, ptr %44, align 8, !tbaa !6
  br label %.thread3331

810:                                              ; preds = %206
  %811 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %812 = load ptr, ptr %0, align 8, !tbaa !17
  %813 = getelementptr inbounds i8, ptr %812, i64 120
  %814 = load ptr, ptr %813, align 8
  call void %814(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %811, ptr noundef nonnull @.str.42)
  %815 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %816 = load ptr, ptr %815, align 8, !tbaa !6
  %817 = getelementptr inbounds i8, ptr %.33120, i64 32
  %818 = load ptr, ptr %817, align 8, !tbaa !6
  %819 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %811, ptr noundef nonnull @.str.43, i32 noundef 163, ptr noundef %816, ptr noundef %818)
  store ptr %819, ptr %44, align 8, !tbaa !6
  %820 = icmp eq ptr %819, null
  br i1 %820, label %821, label %.thread3331

821:                                              ; preds = %810
  %822 = load ptr, ptr %815, align 8, !tbaa !6
  store ptr %822, ptr %44, align 8, !tbaa !6
  br label %.thread3331

823:                                              ; preds = %206
  %824 = getelementptr inbounds i8, ptr %.33120, i64 32
  %825 = load ptr, ptr %824, align 8, !tbaa !6
  store ptr %825, ptr %44, align 8, !tbaa !6
  br label %.thread3331

826:                                              ; preds = %206
  %827 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %828 = load ptr, ptr %0, align 8, !tbaa !17
  %829 = getelementptr inbounds i8, ptr %828, i64 120
  %830 = load ptr, ptr %829, align 8
  call void %830(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %827, ptr noundef nonnull @.str.44)
  %831 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %832 = load ptr, ptr %831, align 8, !tbaa !6
  %833 = getelementptr inbounds i8, ptr %.33120, i64 32
  %834 = load ptr, ptr %833, align 8, !tbaa !6
  %835 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %827, ptr noundef nonnull @.str.45, i32 noundef 162, ptr noundef %832, ptr noundef %834)
  store ptr %835, ptr %44, align 8, !tbaa !6
  %836 = icmp eq ptr %835, null
  br i1 %836, label %837, label %.thread3331

837:                                              ; preds = %826
  %838 = load ptr, ptr %831, align 8, !tbaa !6
  store ptr %838, ptr %44, align 8, !tbaa !6
  br label %.thread3331

839:                                              ; preds = %206
  %840 = getelementptr inbounds i8, ptr %.33120, i64 32
  %841 = load ptr, ptr %840, align 8, !tbaa !6
  store ptr %841, ptr %44, align 8, !tbaa !6
  br label %.thread3331

842:                                              ; preds = %206
  %843 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %844 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %845 = load ptr, ptr %844, align 8, !tbaa !6
  %846 = getelementptr inbounds i8, ptr %.33120, i64 32
  %847 = load ptr, ptr %846, align 8, !tbaa !6
  %848 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %843, ptr noundef nonnull @.str.46, i32 noundef 179, ptr noundef %845, ptr noundef %847)
  store ptr %848, ptr %44, align 8, !tbaa !6
  %849 = icmp eq ptr %848, null
  br i1 %849, label %850, label %.thread3331

850:                                              ; preds = %842
  %851 = load ptr, ptr %45, align 8, !tbaa !19
  %852 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %851, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %843, i1 noundef zeroext false)
  store ptr %852, ptr %44, align 8, !tbaa !6
  br label %.thread3331

853:                                              ; preds = %206
  %854 = getelementptr inbounds i8, ptr %.33120, i64 32
  %855 = load ptr, ptr %854, align 8, !tbaa !6
  store ptr %855, ptr %44, align 8, !tbaa !6
  br label %.thread3331

856:                                              ; preds = %206
  %857 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %858 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %859 = load ptr, ptr %858, align 8, !tbaa !6
  %860 = getelementptr inbounds i8, ptr %.33120, i64 32
  %861 = load ptr, ptr %860, align 8, !tbaa !6
  %862 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %857, ptr noundef nonnull @.str.47, i32 noundef 178, ptr noundef %859, ptr noundef %861)
  store ptr %862, ptr %44, align 8, !tbaa !6
  %863 = icmp eq ptr %862, null
  br i1 %863, label %864, label %.thread3331

864:                                              ; preds = %856
  %865 = load ptr, ptr %45, align 8, !tbaa !19
  %866 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %865, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %857, i1 noundef zeroext false)
  store ptr %866, ptr %44, align 8, !tbaa !6
  br label %.thread3331

867:                                              ; preds = %206
  %868 = getelementptr inbounds i8, ptr %.33120, i64 32
  %869 = load ptr, ptr %868, align 8, !tbaa !6
  store ptr %869, ptr %44, align 8, !tbaa !6
  br label %.thread3331

870:                                              ; preds = %206
  %871 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %872 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %873 = load ptr, ptr %872, align 8, !tbaa !6
  %874 = getelementptr inbounds i8, ptr %.33120, i64 32
  %875 = load ptr, ptr %874, align 8, !tbaa !6
  %876 = call noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %871, ptr noundef nonnull @.str.48, i32 noundef 177, ptr noundef %873, ptr noundef %875)
  store ptr %876, ptr %44, align 8, !tbaa !6
  %877 = icmp eq ptr %876, null
  br i1 %877, label %878, label %.thread3331

878:                                              ; preds = %870
  %879 = load ptr, ptr %45, align 8, !tbaa !19
  %880 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %879, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %871, i1 noundef zeroext false)
  store ptr %880, ptr %44, align 8, !tbaa !6
  br label %.thread3331

881:                                              ; preds = %206
  %882 = getelementptr inbounds i8, ptr %.33120, i64 32
  %883 = load ptr, ptr %882, align 8, !tbaa !6
  store ptr %883, ptr %44, align 8, !tbaa !6
  br label %.thread3331

884:                                              ; preds = %206
  %885 = load i32, ptr %66, align 8, !tbaa !101
  %886 = add nsw i32 %885, 1
  store i32 %886, ptr %66, align 8, !tbaa !101
  br label %.thread3331

887:                                              ; preds = %206
  %888 = load i32, ptr %66, align 8, !tbaa !101
  %889 = add nsw i32 %888, -1
  store i32 %889, ptr %66, align 8, !tbaa !101
  %890 = getelementptr inbounds i8, ptr %.33120, i64 -1152
  %891 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %892 = load ptr, ptr %891, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %890, ptr noundef %892)
  %893 = load ptr, ptr %891, align 8, !tbaa !6
  %894 = load ptr, ptr %0, align 8, !tbaa !17
  %895 = getelementptr inbounds i8, ptr %894, i64 512
  %896 = load ptr, ptr %895, align 8
  call void %896(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %890, ptr noundef nonnull @.str.49, ptr noundef %893)
  %897 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %898 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %899 = load ptr, ptr %898, align 8, !tbaa !6
  %900 = load ptr, ptr %0, align 8, !tbaa !17
  %901 = getelementptr inbounds i8, ptr %900, i64 512
  %902 = load ptr, ptr %901, align 8
  call void %902(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %897, ptr noundef nonnull @.str.50, ptr noundef %899)
  %903 = getelementptr inbounds i8, ptr %.33120, i64 32
  %904 = load ptr, ptr %903, align 8, !tbaa !6
  %905 = load ptr, ptr %0, align 8, !tbaa !17
  %906 = getelementptr inbounds i8, ptr %905, i64 512
  %907 = load ptr, ptr %906, align 8
  call void %907(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %897, ptr noundef nonnull @.str.50, ptr noundef %904)
  %908 = load ptr, ptr %45, align 8, !tbaa !19
  %909 = load ptr, ptr %891, align 8, !tbaa !6
  %910 = load ptr, ptr %898, align 8, !tbaa !6
  %911 = load ptr, ptr %903, align 8, !tbaa !6
  %912 = call noundef ptr @_ZN7glslang13TIntermediate12addSelectionEPNS_12TIntermTypedES2_S2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %908, ptr noundef %909, ptr noundef %910, ptr noundef %911, ptr noundef nonnull align 8 dereferenceable(24) %890)
  store ptr %912, ptr %44, align 8, !tbaa !6
  %913 = icmp eq ptr %912, null
  br i1 %913, label %914, label %.thread3331

914:                                              ; preds = %887
  %915 = load ptr, ptr %898, align 8, !tbaa !6
  %916 = load ptr, ptr %45, align 8, !tbaa !19
  %917 = call noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %916)
  call void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(176) %915, i1 noundef zeroext %917)
  %918 = load ptr, ptr %903, align 8, !tbaa !6
  %919 = load ptr, ptr %45, align 8, !tbaa !19
  %920 = invoke noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %919)
          to label %921 unwind label %925

921:                                              ; preds = %914
  invoke void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(176) %918, i1 noundef zeroext %920)
          to label %922 unwind label %925

922:                                              ; preds = %921
  invoke void @_ZN7glslang13TParseContext13binaryOpErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %890, ptr noundef nonnull @.str.50, ptr noundef nonnull %15, ptr noundef nonnull %16)
          to label %923 unwind label %927

923:                                              ; preds = %922
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #11
  %924 = load ptr, ptr %903, align 8, !tbaa !6
  store ptr %924, ptr %44, align 8, !tbaa !6
  br label %.thread3331

925:                                              ; preds = %921, %914
  %926 = landingpad { ptr, i32 }
          cleanup
  br label %929

927:                                              ; preds = %922
  %928 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %16) #11
  br label %929

929:                                              ; preds = %927, %925
  %.pn3273 = phi { ptr, i32 } [ %928, %927 ], [ %926, %925 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %15) #11
  br label %5349

930:                                              ; preds = %206
  %931 = getelementptr inbounds i8, ptr %.33120, i64 32
  %932 = load ptr, ptr %931, align 8, !tbaa !6
  store ptr %932, ptr %44, align 8, !tbaa !6
  br label %.thread3331

933:                                              ; preds = %206
  %934 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %935 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %936 = load ptr, ptr %935, align 8, !tbaa !6
  %937 = load ptr, ptr %936, align 8, !tbaa !17
  %938 = getelementptr inbounds i8, ptr %937, i64 240
  %939 = load ptr, ptr %938, align 8
  %940 = call noundef nonnull align 8 dereferenceable(144) ptr %939(ptr noundef nonnull align 8 dereferenceable(176) %936)
  call void @_ZN7glslang13TParseContext16arrayObjectCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %934, ptr noundef nonnull align 8 dereferenceable(144) %940, ptr noundef nonnull @.str.51)
  %941 = load ptr, ptr %935, align 8, !tbaa !6
  %942 = load ptr, ptr %941, align 8, !tbaa !17
  %943 = getelementptr inbounds i8, ptr %942, i64 240
  %944 = load ptr, ptr %943, align 8
  %945 = call noundef nonnull align 8 dereferenceable(144) ptr %944(ptr noundef nonnull align 8 dereferenceable(176) %941)
  call void @_ZN7glslang13TParseContext11opaqueCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %934, ptr noundef nonnull align 8 dereferenceable(144) %945, ptr noundef nonnull @.str.52)
  %946 = load ptr, ptr %935, align 8, !tbaa !6
  %947 = load ptr, ptr %946, align 8, !tbaa !17
  %948 = getelementptr inbounds i8, ptr %947, i64 240
  %949 = load ptr, ptr %948, align 8
  %950 = call noundef nonnull align 8 dereferenceable(144) ptr %949(ptr noundef nonnull align 8 dereferenceable(176) %946)
  call void @_ZN7glslang13TParseContext27storage16BitAssignmentCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %934, ptr noundef nonnull align 8 dereferenceable(144) %950, ptr noundef nonnull @.str.52)
  %951 = load ptr, ptr %935, align 8, !tbaa !6
  %952 = load ptr, ptr %951, align 8, !tbaa !17
  %953 = getelementptr inbounds i8, ptr %952, i64 240
  %954 = load ptr, ptr %953, align 8
  %955 = call noundef nonnull align 8 dereferenceable(144) ptr %954(ptr noundef nonnull align 8 dereferenceable(176) %951)
  call void @_ZN7glslang13TParseContext19specializationCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %934, ptr noundef nonnull align 8 dereferenceable(144) %955, ptr noundef nonnull @.str.52)
  %956 = load ptr, ptr %935, align 8, !tbaa !6
  %957 = load ptr, ptr %0, align 8, !tbaa !17
  %958 = getelementptr inbounds i8, ptr %957, i64 504
  %959 = load ptr, ptr %958, align 8
  %960 = call noundef zeroext i1 %959(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %934, ptr noundef nonnull @.str.53, ptr noundef %956)
  %961 = getelementptr inbounds i8, ptr %.33120, i64 32
  %962 = load ptr, ptr %961, align 8, !tbaa !6
  %963 = load ptr, ptr %0, align 8, !tbaa !17
  %964 = getelementptr inbounds i8, ptr %963, i64 512
  %965 = load ptr, ptr %964, align 8
  call void %965(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %934, ptr noundef nonnull @.str.53, ptr noundef %962)
  %966 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %967 = load i32, ptr %966, align 8, !tbaa !6
  %968 = load ptr, ptr %935, align 8, !tbaa !6
  %969 = load ptr, ptr %961, align 8, !tbaa !6
  %970 = call noundef ptr @_ZN7glslang13TParseContext9addAssignERKNS_10TSourceLocENS_9TOperatorEPNS_12TIntermTypedES6_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %934, i32 noundef %967, ptr noundef %968, ptr noundef %969)
  store ptr %970, ptr %44, align 8, !tbaa !6
  %971 = icmp eq ptr %970, null
  br i1 %971, label %972, label %.thread3331

972:                                              ; preds = %933
  %973 = load ptr, ptr %935, align 8, !tbaa !6
  %974 = load ptr, ptr %45, align 8, !tbaa !19
  %975 = call noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %974)
  call void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(176) %973, i1 noundef zeroext %975)
  %976 = load ptr, ptr %961, align 8, !tbaa !6
  %977 = load ptr, ptr %45, align 8, !tbaa !19
  %978 = invoke noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %977)
          to label %979 unwind label %983

979:                                              ; preds = %972
  invoke void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull align 8 dereferenceable(176) %976, i1 noundef zeroext %978)
          to label %980 unwind label %983

980:                                              ; preds = %979
  invoke void @_ZN7glslang13TParseContext11assignErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %934, ptr noundef nonnull @.str.53, ptr noundef nonnull %17, ptr noundef nonnull %18)
          to label %981 unwind label %985

981:                                              ; preds = %980
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #11
  %982 = load ptr, ptr %935, align 8, !tbaa !6
  store ptr %982, ptr %44, align 8, !tbaa !6
  br label %.thread3331

983:                                              ; preds = %979, %972
  %984 = landingpad { ptr, i32 }
          cleanup
  br label %987

985:                                              ; preds = %980
  %986 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #11
  br label %987

987:                                              ; preds = %985, %983
  %.pn3271 = phi { ptr, i32 } [ %986, %985 ], [ %984, %983 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #11
  br label %5349

988:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 575, ptr %81, align 8, !tbaa !6
  br label %.thread3331

989:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 578, ptr %81, align 8, !tbaa !6
  br label %.thread3331

990:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 583, ptr %81, align 8, !tbaa !6
  br label %.thread3331

991:                                              ; preds = %206
  %992 = load ptr, ptr %0, align 8, !tbaa !17
  %993 = getelementptr inbounds i8, ptr %992, i64 120
  %994 = load ptr, ptr %993, align 8
  call void %994(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.54)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 584, ptr %81, align 8, !tbaa !6
  br label %.thread3331

995:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 576, ptr %81, align 8, !tbaa !6
  br label %.thread3331

996:                                              ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 577, ptr %81, align 8, !tbaa !6
  br label %.thread3331

997:                                              ; preds = %206
  %998 = load ptr, ptr %0, align 8, !tbaa !17
  %999 = getelementptr inbounds i8, ptr %998, i64 120
  %1000 = load ptr, ptr %999, align 8
  call void %1000(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.55)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 588, ptr %81, align 8, !tbaa !6
  br label %.thread3331

1001:                                             ; preds = %206
  %1002 = load ptr, ptr %0, align 8, !tbaa !17
  %1003 = getelementptr inbounds i8, ptr %1002, i64 120
  %1004 = load ptr, ptr %1003, align 8
  call void %1004(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.56)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 589, ptr %81, align 8, !tbaa !6
  br label %.thread3331

1005:                                             ; preds = %206
  %1006 = load ptr, ptr %0, align 8, !tbaa !17
  %1007 = getelementptr inbounds i8, ptr %1006, i64 120
  %1008 = load ptr, ptr %1007, align 8
  call void %1008(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.57)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 585, ptr %81, align 8, !tbaa !6
  br label %.thread3331

1009:                                             ; preds = %206
  %1010 = load ptr, ptr %0, align 8, !tbaa !17
  %1011 = getelementptr inbounds i8, ptr %1010, i64 120
  %1012 = load ptr, ptr %1011, align 8
  call void %1012(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.58)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 587, ptr %81, align 8, !tbaa !6
  br label %.thread3331

1013:                                             ; preds = %206
  %1014 = load ptr, ptr %0, align 8, !tbaa !17
  %1015 = getelementptr inbounds i8, ptr %1014, i64 120
  %1016 = load ptr, ptr %1015, align 8
  call void %1016(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.59)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store i32 586, ptr %81, align 8, !tbaa !6
  br label %.thread3331

1017:                                             ; preds = %206
  %1018 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1019 = load ptr, ptr %1018, align 8, !tbaa !6
  store ptr %1019, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1020:                                             ; preds = %206
  %1021 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1022 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1023 = load ptr, ptr %1022, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext31samplerConstructorLocationCheckERKNS_10TSourceLocEPKcP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1021, ptr noundef nonnull @.str.60, ptr noundef %1023)
  %1024 = load ptr, ptr %45, align 8, !tbaa !19
  %1025 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %1026 = load ptr, ptr %1025, align 8, !tbaa !6
  %1027 = load ptr, ptr %1022, align 8, !tbaa !6
  %1028 = call noundef ptr @_ZN7glslang13TIntermediate8addCommaEPNS_12TIntermTypedES2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %1024, ptr noundef %1026, ptr noundef %1027, ptr noundef nonnull align 8 dereferenceable(24) %1021)
  store ptr %1028, ptr %44, align 8, !tbaa !6
  %1029 = icmp eq ptr %1028, null
  br i1 %1029, label %1030, label %.thread3331

1030:                                             ; preds = %1020
  %1031 = load ptr, ptr %1025, align 8, !tbaa !6
  %1032 = load ptr, ptr %45, align 8, !tbaa !19
  %1033 = call noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %1032)
  call void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(176) %1031, i1 noundef zeroext %1033)
  %1034 = load ptr, ptr %1022, align 8, !tbaa !6
  %1035 = load ptr, ptr %45, align 8, !tbaa !19
  %1036 = invoke noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784) %1035)
          to label %1037 unwind label %1041

1037:                                             ; preds = %1030
  invoke void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(176) %1034, i1 noundef zeroext %1036)
          to label %1038 unwind label %1041

1038:                                             ; preds = %1037
  invoke void @_ZN7glslang13TParseContext13binaryOpErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1021, ptr noundef nonnull @.str.60, ptr noundef nonnull %19, ptr noundef nonnull %20)
          to label %1039 unwind label %1043

1039:                                             ; preds = %1038
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #11
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #11
  %1040 = load ptr, ptr %1022, align 8, !tbaa !6
  store ptr %1040, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1041:                                             ; preds = %1037, %1030
  %1042 = landingpad { ptr, i32 }
          cleanup
  br label %1045

1043:                                             ; preds = %1038
  %1044 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %20) #11
  br label %1045

1045:                                             ; preds = %1043, %1041
  %.pn3269 = phi { ptr, i32 } [ %1044, %1043 ], [ %1042, %1041 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %19) #11
  br label %5349

1046:                                             ; preds = %206
  %1047 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1048 = load ptr, ptr %1047, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18constantValueCheckEPNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %1048, ptr noundef nonnull @.str.21)
  %1049 = load ptr, ptr %1047, align 8, !tbaa !6
  store ptr %1049, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1050:                                             ; preds = %206
  %1051 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1052 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1053 = load ptr, ptr %1052, align 8, !tbaa !6
  %1054 = call noundef ptr @_ZN7glslang13TParseContext24handleFunctionDeclaratorERKNS_10TSourceLocERNS_9TFunctionEb(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1051, ptr noundef nonnull align 8 dereferenceable(328) %1053, i1 noundef zeroext true)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1055:                                             ; preds = %206
  %1056 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1057 = load ptr, ptr %0, align 8, !tbaa !17
  %1058 = getelementptr inbounds i8, ptr %1057, i64 40
  %1059 = load ptr, ptr %1058, align 8
  call void %1059(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1056, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef nonnull @.str.61)
  %1060 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1061 = load ptr, ptr %1060, align 8, !tbaa !6
  %1062 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %1063 = load ptr, ptr %1062, align 8, !tbaa !6
  %1064 = load ptr, ptr %1061, align 8, !tbaa !17
  %1065 = getelementptr inbounds i8, ptr %1064, i64 328
  %1066 = load ptr, ptr %1065, align 8
  call void %1066(ptr noundef nonnull align 8 dereferenceable(328) %1061, ptr noundef nonnull align 8 dereferenceable(44) %1063)
  %1067 = load ptr, ptr %1060, align 8, !tbaa !6
  %1068 = call noundef ptr @_ZN7glslang13TParseContext24handleFunctionDeclaratorERKNS_10TSourceLocERNS_9TFunctionEb(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1056, ptr noundef nonnull align 8 dereferenceable(328) %1067, i1 noundef zeroext true)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1069:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.62)
  %1070 = load ptr, ptr %0, align 8, !tbaa !17
  %1071 = getelementptr inbounds i8, ptr %1070, i64 40
  %1072 = load ptr, ptr %1071, align 8
  call void %1072(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef nonnull @.str.62)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1073:                                             ; preds = %206
  %1074 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %1075 = load ptr, ptr %1074, align 8, !tbaa !6
  %.not3267 = icmp eq ptr %1075, null
  br i1 %.not3267, label %1089, label %1076

1076:                                             ; preds = %1073
  %1077 = load ptr, ptr %1075, align 8, !tbaa !17
  %1078 = getelementptr inbounds i8, ptr %1077, i64 48
  %1079 = load ptr, ptr %1078, align 8
  %1080 = call noundef ptr %1079(ptr noundef nonnull align 8 dereferenceable(32) %1075)
  %.not3268 = icmp eq ptr %1080, null
  %.pre3787 = load ptr, ptr %1074, align 8, !tbaa !6
  br i1 %.not3268, label %1089, label %1081

1081:                                             ; preds = %1076
  %1082 = load ptr, ptr %.pre3787, align 8, !tbaa !17
  %1083 = getelementptr inbounds i8, ptr %1082, i64 48
  %1084 = load ptr, ptr %1083, align 8
  %1085 = call noundef ptr %1084(ptr noundef nonnull align 8 dereferenceable(32) %.pre3787)
  %1086 = load ptr, ptr %1085, align 8, !tbaa !17
  %1087 = getelementptr inbounds i8, ptr %1086, i64 392
  %1088 = load ptr, ptr %1087, align 8
  call void %1088(ptr noundef nonnull align 8 dereferenceable(352) %1085, i32 noundef 1)
  %.pre3786 = load ptr, ptr %1074, align 8, !tbaa !6
  br label %1089

1089:                                             ; preds = %1081, %1076, %1073
  %1090 = phi ptr [ %.pre3786, %1081 ], [ %.pre3787, %1076 ], [ null, %1073 ]
  store ptr %1090, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1091:                                             ; preds = %206
  %1092 = getelementptr inbounds i8, ptr %.33120, i64 -864
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1092, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef nonnull @.str.63)
  %1093 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable28setPreviousDefaultPrecisionsEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %1093, ptr noundef nonnull %53)
  %1094 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1095 = getelementptr inbounds i8, ptr %.33120, i64 -512
  %1096 = load i64, ptr %1095, align 8
  %1097 = trunc i64 %1096 to i32
  %1098 = lshr i32 %1097, 24
  %1099 = and i32 %1098, 7
  call void @_ZN7glslang13TParseContext19setDefaultPrecisionERKNS_10TSourceLocERNS_11TPublicTypeENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1092, ptr noundef nonnull align 8 dereferenceable(232) %1094, i32 noundef %1099)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1100:                                             ; preds = %206
  %1101 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1102 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1103 = load ptr, ptr %1102, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext12declareBlockERKNS_10TSourceLocERNS_7TVectorINS_8TTypeLocEEEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1101, ptr noundef nonnull align 8 dereferenceable(32) %1103, ptr noundef null, ptr noundef null)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1104:                                             ; preds = %206
  %1105 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %1106 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1107 = load ptr, ptr %1106, align 8, !tbaa !6
  %1108 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %1109 = load ptr, ptr %1108, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext12declareBlockERKNS_10TSourceLocERNS_7TVectorINS_8TTypeLocEEEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1105, ptr noundef nonnull align 8 dereferenceable(32) %1107, ptr noundef %1109, ptr noundef null)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1110:                                             ; preds = %206
  %1111 = getelementptr inbounds i8, ptr %.33120, i64 -864
  %1112 = getelementptr inbounds i8, ptr %.33120, i64 -816
  %1113 = load ptr, ptr %1112, align 8, !tbaa !6
  %1114 = getelementptr inbounds i8, ptr %.33120, i64 -552
  %1115 = load ptr, ptr %1114, align 8, !tbaa !6
  %1116 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1117 = load ptr, ptr %1116, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext12declareBlockERKNS_10TSourceLocERNS_7TVectorINS_8TTypeLocEEEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1111, ptr noundef nonnull align 8 dereferenceable(32) %1113, ptr noundef %1115, ptr noundef %1117)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1118:                                             ; preds = %206
  %1119 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1120 = getelementptr inbounds i8, ptr %.33120, i64 -48
  %1121 = getelementptr inbounds i8, ptr %.33120, i64 -232
  call void @_ZN7glslang13TParseContext23globalQualifierFixCheckERKNS_10TSourceLocERNS_10TQualifierEb(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1120, ptr noundef nonnull align 8 dereferenceable(72) %1121, i1 noundef zeroext false)
  call void @_ZN7glslang13TParseContext33updateStandaloneQualifierDefaultsERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1120, ptr noundef nonnull align 8 dereferenceable(232) %1119)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1122:                                             ; preds = %206
  %1123 = getelementptr inbounds i8, ptr %.33120, i64 -336
  %1124 = getelementptr inbounds i8, ptr %.33120, i64 -448
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1123, ptr noundef nonnull align 4 dereferenceable(88) %1124)
  %1125 = getelementptr inbounds i8, ptr %.33120, i64 -520
  %1126 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %1127 = load ptr, ptr %1126, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext22addQualifierToExistingERKNS_10TSourceLocENS_10TQualifierERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1123, ptr noundef nonnull byval(%"class.glslang::TQualifier") align 8 %1125, ptr noundef nonnull align 8 dereferenceable(40) %1127)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1128:                                             ; preds = %206
  %1129 = getelementptr inbounds i8, ptr %.33120, i64 -624
  %1130 = getelementptr inbounds i8, ptr %.33120, i64 -736
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1129, ptr noundef nonnull align 4 dereferenceable(88) %1130)
  %1131 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1132 = load ptr, ptr %1131, align 8, !tbaa !6
  %1133 = getelementptr inbounds i8, ptr %.33120, i64 -552
  call void @_ZNSt6vectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS5_IS8_EEE9push_backERKS8_(ptr noundef nonnull align 8 dereferenceable(32) %1132, ptr noundef nonnull align 8 dereferenceable(8) %1133)
  %1134 = getelementptr inbounds i8, ptr %.33120, i64 -808
  %1135 = load ptr, ptr %1131, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext22addQualifierToExistingERKNS_10TSourceLocENS_10TQualifierERNS_7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1129, ptr noundef nonnull byval(%"class.glslang::TQualifier") align 8 %1134, ptr noundef nonnull align 8 dereferenceable(32) %1135)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1136:                                             ; preds = %206
  %1137 = getelementptr inbounds i8, ptr %.33120, i64 -336
  call void @_ZN7glslang13TParseContext16nestedBlockCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1137)
  br label %.thread3331

1138:                                             ; preds = %206
  %1139 = load i32, ptr %78, align 4, !tbaa !102
  %1140 = add nsw i32 %1139, -1
  store i32 %1140, ptr %78, align 4, !tbaa !102
  %1141 = getelementptr inbounds i8, ptr %.33120, i64 -1128
  %1142 = load ptr, ptr %1141, align 8, !tbaa !6
  store ptr %1142, ptr %79, align 8, !tbaa !103
  %1143 = getelementptr inbounds i8, ptr %.33120, i64 -1200
  %1144 = getelementptr inbounds i8, ptr %.33120, i64 -1384
  call void @_ZN7glslang13TParseContext23globalQualifierFixCheckERKNS_10TSourceLocERNS_10TQualifierEb(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1143, ptr noundef nonnull align 8 dereferenceable(72) %1144, i1 noundef zeroext false)
  %1145 = getelementptr inbounds i8, ptr %.33120, i64 -1312
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1143, ptr noundef nonnull align 4 dereferenceable(88) %1145)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(72) %80, ptr noundef nonnull align 8 dereferenceable(72) %1144, i64 72, i1 false), !tbaa.struct !129
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %1143, i64 24, i1 false), !tbaa.struct !96
  %1146 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1147 = load ptr, ptr %1146, align 8, !tbaa !6
  store ptr %1147, ptr %46, align 8, !tbaa !6
  br label %.thread3331

1148:                                             ; preds = %206
  %1149 = call noundef ptr @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEnwEm(i64 noundef 32)
  invoke void @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %1149)
          to label %1150 unwind label %1152

1150:                                             ; preds = %1148
  store ptr %1149, ptr %46, align 8, !tbaa !6
  %1151 = getelementptr inbounds i8, ptr %.33120, i64 24
  call void @_ZNSt6vectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS5_IS8_EEE9push_backERKS8_(ptr noundef nonnull align 8 dereferenceable(32) %1149, ptr noundef nonnull align 8 dereferenceable(8) %1151)
  br label %.thread3331

1152:                                             ; preds = %1148
  %1153 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEdlEPv(ptr noundef %1149) #11
  br label %5349

1154:                                             ; preds = %206
  %1155 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1156 = load ptr, ptr %1155, align 8, !tbaa !6
  store ptr %1156, ptr %46, align 8, !tbaa !6
  %1157 = getelementptr inbounds i8, ptr %.33120, i64 24
  call void @_ZNSt6vectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEENS5_IS8_EEE9push_backERKS8_(ptr noundef nonnull align 8 dereferenceable(32) %1156, ptr noundef nonnull align 8 dereferenceable(8) %1157)
  br label %.thread3331

1158:                                             ; preds = %206
  %1159 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1160 = load ptr, ptr %1159, align 8, !tbaa !6
  store ptr %1160, ptr %46, align 8, !tbaa !6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  br label %.thread3331

1161:                                             ; preds = %206
  %1162 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1163 = load ptr, ptr %1162, align 8, !tbaa !6
  store ptr %1163, ptr %46, align 8, !tbaa !6
  %1164 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %1164, i64 24, i1 false), !tbaa.struct !96
  %1165 = load ptr, ptr %0, align 8, !tbaa !17
  %1166 = getelementptr inbounds i8, ptr %1165, i64 40
  %1167 = load ptr, ptr %1166, align 8
  call void %1167(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1164, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL38E_GL_EXT_subgroup_uniform_control_flowE, ptr noundef nonnull @.str.64)
  %1168 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1169 = load ptr, ptr %1168, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1164, ptr noundef nonnull align 1 %1169)
  br label %.thread3331

1170:                                             ; preds = %206
  %1171 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1172 = load ptr, ptr %1171, align 8, !tbaa !6
  store ptr %1172, ptr %46, align 8, !tbaa !6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  %1173 = load ptr, ptr %0, align 8, !tbaa !17
  %1174 = getelementptr inbounds i8, ptr %1173, i64 40
  %1175 = load ptr, ptr %1174, align 8
  call void %1175(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL38E_GL_EXT_subgroup_uniform_control_flowE, ptr noundef nonnull @.str.64)
  %1176 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %1177 = load ptr, ptr %1176, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 1 %1177)
  br label %.thread3331

1178:                                             ; preds = %206
  %1179 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1180 = load ptr, ptr %1179, align 8, !tbaa !6
  store ptr %1180, ptr %46, align 8, !tbaa !6
  %1181 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %1181, i64 24, i1 false), !tbaa.struct !96
  %1182 = load ptr, ptr %0, align 8, !tbaa !17
  %1183 = getelementptr inbounds i8, ptr %1182, i64 40
  %1184 = load ptr, ptr %1183, align 8
  call void %1184(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1181, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL38E_GL_EXT_subgroup_uniform_control_flowE, ptr noundef nonnull @.str.64)
  %1185 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %1186 = load ptr, ptr %1185, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1181, ptr noundef nonnull align 1 %1186)
  %1187 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1188 = load ptr, ptr %1187, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1181, ptr noundef nonnull align 1 %1188)
  br label %.thread3331

1189:                                             ; preds = %206
  %1190 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1191 = load ptr, ptr %1190, align 8, !tbaa !6
  store ptr %1191, ptr %46, align 8, !tbaa !6
  br label %.thread3331

1192:                                             ; preds = %206
  %1193 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1194 = load ptr, ptr %1193, align 8, !tbaa !6
  store ptr %1194, ptr %46, align 8, !tbaa !6
  br label %.thread3331

1195:                                             ; preds = %206
  %1196 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1197 = load ptr, ptr %1196, align 8, !tbaa !6
  store ptr %1197, ptr %46, align 8, !tbaa !6
  %1198 = getelementptr inbounds i8, ptr %.33120, i64 56
  %1199 = load ptr, ptr %1198, align 8, !tbaa !6
  %1200 = load ptr, ptr %1199, align 8, !tbaa !17
  %1201 = getelementptr inbounds i8, ptr %1200, i64 56
  %1202 = load ptr, ptr %1201, align 8
  %1203 = call noundef i32 %1202(ptr noundef nonnull align 8 dereferenceable(144) %1199)
  %.not3266 = icmp eq i32 %1203, 0
  br i1 %.not3266, label %1210, label %1204

1204:                                             ; preds = %1195
  %1205 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1206 = load ptr, ptr %1196, align 8, !tbaa !6
  %1207 = load ptr, ptr %1206, align 8, !tbaa !17
  %1208 = getelementptr inbounds i8, ptr %1207, i64 176
  %1209 = load ptr, ptr %1208, align 8
  call void %1209(ptr noundef nonnull align 8 dereferenceable(328) %1206, ptr noundef nonnull align 8 dereferenceable(24) %1205)
  br label %.thread3331

1210:                                             ; preds = %1195
  %1211 = load ptr, ptr %1198, align 8, !tbaa !6
  %1212 = icmp eq ptr %1211, null
  br i1 %1212, label %.thread3331, label %1213

1213:                                             ; preds = %1210
  %1214 = load ptr, ptr %1211, align 8, !tbaa !17
  %1215 = getelementptr inbounds i8, ptr %1214, i64 8
  %1216 = load ptr, ptr %1215, align 8
  call void %1216(ptr noundef nonnull align 8 dereferenceable(144) %1211) #11
  br label %.thread3331

1217:                                             ; preds = %206
  %1218 = getelementptr inbounds i8, ptr %.33120, i64 56
  %1219 = load ptr, ptr %1218, align 8, !tbaa !6
  %1220 = load ptr, ptr %1219, align 8, !tbaa !17
  %1221 = getelementptr inbounds i8, ptr %1220, i64 56
  %1222 = load ptr, ptr %1221, align 8
  %1223 = call noundef i32 %1222(ptr noundef nonnull align 8 dereferenceable(144) %1219)
  %1224 = icmp eq i32 %1223, 0
  br i1 %1224, label %1225, label %1236

1225:                                             ; preds = %1217
  %1226 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1227 = load ptr, ptr %0, align 8, !tbaa !17
  %1228 = getelementptr inbounds i8, ptr %1227, i64 336
  %1229 = load ptr, ptr %1228, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %1229(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %1226, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.21)
  %1230 = load ptr, ptr %1218, align 8, !tbaa !6
  %1231 = icmp eq ptr %1230, null
  br i1 %1231, label %.thread3331, label %1232

1232:                                             ; preds = %1225
  %1233 = load ptr, ptr %1230, align 8, !tbaa !17
  %1234 = getelementptr inbounds i8, ptr %1233, i64 8
  %1235 = load ptr, ptr %1234, align 8
  call void %1235(ptr noundef nonnull align 8 dereferenceable(144) %1230) #11
  br label %.thread3331

1236:                                             ; preds = %1217
  %1237 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1238 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1239 = load ptr, ptr %1238, align 8, !tbaa !6
  store ptr %1239, ptr %46, align 8, !tbaa !6
  %1240 = load ptr, ptr %1239, align 8, !tbaa !17
  %1241 = getelementptr inbounds i8, ptr %1240, i64 176
  %1242 = load ptr, ptr %1241, align 8
  call void %1242(ptr noundef nonnull align 8 dereferenceable(328) %1239, ptr noundef nonnull align 8 dereferenceable(24) %1237)
  br label %.thread3331

1243:                                             ; preds = %206
  %1244 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1245 = getelementptr inbounds i8, ptr %.33120, i64 -512
  %1246 = load i64, ptr %1245, align 8
  %1247 = trunc i64 %1246 to i32
  %1248 = and i32 %1247, 63
  %switch = icmp ult i32 %1248, 2
  br i1 %switch, label %1255, label %1249

1249:                                             ; preds = %1243
  %1250 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1251 = call noundef ptr @_ZN7glslang25GetStorageQualifierStringENS_17TStorageQualifierE(i32 noundef %1248)
  %1252 = load ptr, ptr %0, align 8, !tbaa !17
  %1253 = getelementptr inbounds i8, ptr %1252, i64 336
  %1254 = load ptr, ptr %1253, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %1254(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %1250, ptr noundef nonnull @.str.67, ptr noundef %1251, ptr noundef nonnull @.str.21)
  br label %1255

1255:                                             ; preds = %1243, %1249
  %1256 = getelementptr inbounds i8, ptr %.33120, i64 -352
  %1257 = load ptr, ptr %1256, align 8, !tbaa !6
  %.not3263 = icmp eq ptr %1257, null
  br i1 %.not3263, label %1260, label %1258

1258:                                             ; preds = %1255
  %1259 = getelementptr inbounds i8, ptr %.33120, i64 -336
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1259, ptr noundef nonnull align 8 dereferenceable(21) %1257)
  br label %1260

1260:                                             ; preds = %1258, %1255
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %21) #11
  call void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %21, ptr noundef nonnull align 8 dereferenceable(232) %1244)
  %1261 = getelementptr inbounds i8, ptr %.33120, i64 -264
  invoke void @_ZNK7glslang17TParseContextBase20renameShaderFunctionERPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(8) %1261)
          to label %1262 unwind label %1267

1262:                                             ; preds = %1260
  %1263 = invoke noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 328)
          to label %1264 unwind label %1267

1264:                                             ; preds = %1262
  %1265 = load ptr, ptr %1261, align 8, !tbaa !6
  invoke void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328) %1263, ptr noundef %1265, ptr noundef nonnull align 8 dereferenceable(144) %21, i32 noundef 0)
          to label %1266 unwind label %1269

1266:                                             ; preds = %1264
  store ptr %1263, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %21) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %21) #11
  br label %.thread3331

1267:                                             ; preds = %1262, %1260
  %1268 = landingpad { ptr, i32 }
          cleanup
  br label %1271

1269:                                             ; preds = %1264
  %1270 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %1263) #11
  br label %1271

1271:                                             ; preds = %1269, %1267
  %.pn3264 = phi { ptr, i32 } [ %1270, %1269 ], [ %1268, %1267 ]
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %21) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %21) #11
  br label %5349

1272:                                             ; preds = %206
  %1273 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %1274 = getelementptr inbounds i8, ptr %.33120, i64 -64
  %1275 = load ptr, ptr %1274, align 8, !tbaa !6
  %.not3260 = icmp eq ptr %1275, null
  br i1 %.not3260, label %1279, label %1276

1276:                                             ; preds = %1272
  %1277 = getelementptr inbounds i8, ptr %.33120, i64 -48
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1277, i32 noundef 1, i32 noundef 120, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.69)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1277, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.69)
  %1278 = load ptr, ptr %1274, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1277, ptr noundef nonnull align 8 dereferenceable(21) %1278)
  br label %1279

1279:                                             ; preds = %1276, %1272
  %1280 = load i32, ptr %1273, align 8, !tbaa !6
  %1281 = icmp eq i32 %1280, 0
  br i1 %1281, label %1282, label %1289

1282:                                             ; preds = %1279
  %1283 = getelementptr inbounds i8, ptr %.33120, i64 24
  %1284 = load ptr, ptr %1283, align 8, !tbaa !6
  %1285 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %1284) #11
  %1286 = load ptr, ptr %0, align 8, !tbaa !17
  %1287 = getelementptr inbounds i8, ptr %1286, i64 336
  %1288 = load ptr, ptr %1287, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %1288(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.70, ptr noundef %1285, ptr noundef nonnull @.str.21)
  br label %1289

1289:                                             ; preds = %1282, %1279
  %1290 = getelementptr inbounds i8, ptr %.33120, i64 24
  %1291 = load ptr, ptr %1290, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18reservedErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(40) %1291)
  %1292 = load ptr, ptr %1290, align 8, !tbaa !6
  %1293 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %1293, ptr noundef nonnull align 8 dereferenceable(232) %1273)
          to label %1294 unwind label %1295

1294:                                             ; preds = %1289
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  store ptr %1292, ptr %46, align 8, !tbaa !9
  store ptr %1293, ptr %48, align 8, !tbaa !9
  store ptr null, ptr %49, align 8, !tbaa !9
  br label %.thread3331

1295:                                             ; preds = %1289
  %1296 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %1293) #11
  br label %5349

1297:                                             ; preds = %206
  %1298 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1299 = getelementptr inbounds i8, ptr %.33120, i64 -352
  %1300 = load ptr, ptr %1299, align 8, !tbaa !6
  %.not3259 = icmp eq ptr %1300, null
  br i1 %.not3259, label %1304, label %1301

1301:                                             ; preds = %1297
  %1302 = getelementptr inbounds i8, ptr %.33120, i64 -336
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1302, i32 noundef 1, i32 noundef 120, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.69)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1302, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.69)
  %1303 = load ptr, ptr %1299, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1302, ptr noundef nonnull align 8 dereferenceable(21) %1303)
  br label %1304

1304:                                             ; preds = %1301, %1297
  %1305 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %1305, ptr noundef nonnull align 8 dereferenceable(232) %1298)
          to label %1306 unwind label %1319

1306:                                             ; preds = %1304
  %1307 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1308 = load ptr, ptr %1307, align 8, !tbaa !6
  call void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %1305, ptr noundef %1308)
  %1309 = load ptr, ptr %1299, align 8, !tbaa !6
  call void @_ZN7glslang5TType19copyArrayInnerSizesEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %1305, ptr noundef %1309)
  %1310 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1311 = load ptr, ptr %1305, align 8, !tbaa !17
  %1312 = getelementptr inbounds i8, ptr %1311, i64 160
  %1313 = load ptr, ptr %1312, align 8
  %1314 = call noundef ptr %1313(ptr noundef nonnull align 8 dereferenceable(144) %1305)
  call void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1310, ptr noundef %1314)
  %1315 = load ptr, ptr %1307, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(21) %1315)
  %1316 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %1317 = load ptr, ptr %1316, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18reservedErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1310, ptr noundef nonnull align 8 dereferenceable(40) %1317)
  %1318 = load ptr, ptr %1316, align 8, !tbaa !6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %1310, i64 24, i1 false), !tbaa.struct !96
  store ptr %1318, ptr %46, align 8, !tbaa !9
  store ptr %1305, ptr %48, align 8, !tbaa !9
  store ptr null, ptr %49, align 8, !tbaa !9
  br label %.thread3331

1319:                                             ; preds = %1304
  %1320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %1305) #11
  br label %5349

1321:                                             ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %.33120, i64 288, i1 false), !tbaa.struct !93
  %1322 = getelementptr inbounds i8, ptr %.33120, i64 -232
  %1323 = getelementptr inbounds i8, ptr %.33120, i64 -224
  %1324 = load i64, ptr %1323, align 8
  %1325 = and i64 %1324, 117440512
  %.not3258 = icmp eq i64 %1325, 0
  br i1 %.not3258, label %1336, label %1326

1326:                                             ; preds = %1321
  %1327 = load ptr, ptr %48, align 8, !tbaa !6
  %1328 = load ptr, ptr %1327, align 8, !tbaa !17
  %1329 = getelementptr inbounds i8, ptr %1328, i64 80
  %1330 = load ptr, ptr %1329, align 8
  %1331 = call noundef nonnull align 8 dereferenceable(72) ptr %1330(ptr noundef nonnull align 8 dereferenceable(144) %1327)
  %1332 = getelementptr inbounds i8, ptr %1331, i64 8
  %1333 = load i64, ptr %1332, align 8
  %1334 = and i64 %1333, -117440513
  %1335 = or disjoint i64 %1334, %1325
  store i64 %1335, ptr %1332, align 8
  br label %1336

1336:                                             ; preds = %1326, %1321
  %1337 = load ptr, ptr %48, align 8, !tbaa !6
  %1338 = load ptr, ptr %1337, align 8, !tbaa !17
  %1339 = getelementptr inbounds i8, ptr %1338, i64 56
  %1340 = load ptr, ptr %1339, align 8
  %1341 = call noundef i32 %1340(ptr noundef nonnull align 8 dereferenceable(144) %1337)
  %1342 = load ptr, ptr %48, align 8, !tbaa !6
  %1343 = load ptr, ptr %1342, align 8, !tbaa !17
  %1344 = getelementptr inbounds i8, ptr %1343, i64 80
  %1345 = load ptr, ptr %1344, align 8
  %1346 = call noundef nonnull align 8 dereferenceable(72) ptr %1345(ptr noundef nonnull align 8 dereferenceable(144) %1342)
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %5, i32 noundef %1341, ptr noundef nonnull align 8 dereferenceable(72) %1346)
  %1347 = getelementptr inbounds i8, ptr %.33120, i64 -48
  %1348 = getelementptr inbounds i8, ptr %.33120, i64 -160
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1347, ptr noundef nonnull align 4 dereferenceable(88) %1348)
  %1349 = load i64, ptr %1323, align 8
  %1350 = trunc i64 %1349 to i32
  %1351 = and i32 %1350, 63
  %1352 = load ptr, ptr %48, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef %1351, ptr noundef nonnull align 8 dereferenceable(144) %1352)
  %1353 = load ptr, ptr %48, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext13paramCheckFixERKNS_10TSourceLocERKNS_10TQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1347, ptr noundef nonnull align 8 dereferenceable(72) %1322, ptr noundef nonnull align 8 dereferenceable(144) %1353)
  br label %.thread3331

1354:                                             ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %.33120, i64 288, i1 false), !tbaa.struct !93
  %1355 = getelementptr inbounds i8, ptr %.33120, i64 56
  %1356 = load ptr, ptr %1355, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 14, ptr noundef nonnull align 8 dereferenceable(144) %1356)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #11
  store i32 0, ptr %22, align 4, !tbaa !131
  %1357 = load ptr, ptr %48, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext20paramCheckFixStorageERKNS_10TSourceLocERKNS_17TStorageQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 8 dereferenceable(144) %1357)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #11
  %1358 = load ptr, ptr %48, align 8, !tbaa !6
  %1359 = load ptr, ptr %1358, align 8, !tbaa !17
  %1360 = getelementptr inbounds i8, ptr %1359, i64 56
  %1361 = load ptr, ptr %1360, align 8
  %1362 = call noundef i32 %1361(ptr noundef nonnull align 8 dereferenceable(144) %1358)
  %1363 = load ptr, ptr %48, align 8, !tbaa !6
  %1364 = load ptr, ptr %1363, align 8, !tbaa !17
  %1365 = getelementptr inbounds i8, ptr %1364, i64 80
  %1366 = load ptr, ptr %1365, align 8
  %1367 = call noundef nonnull align 8 dereferenceable(72) ptr %1366(ptr noundef nonnull align 8 dereferenceable(144) %1363)
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %5, i32 noundef %1362, ptr noundef nonnull align 8 dereferenceable(72) %1367)
  br label %.thread3331

1368:                                             ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %.33120, i64 288, i1 false), !tbaa.struct !93
  %1369 = getelementptr inbounds i8, ptr %.33120, i64 -232
  %1370 = getelementptr inbounds i8, ptr %.33120, i64 -224
  %1371 = load i64, ptr %1370, align 8
  %1372 = and i64 %1371, 117440512
  %.not3257 = icmp eq i64 %1372, 0
  br i1 %.not3257, label %1383, label %1373

1373:                                             ; preds = %1368
  %1374 = load ptr, ptr %48, align 8, !tbaa !6
  %1375 = load ptr, ptr %1374, align 8, !tbaa !17
  %1376 = getelementptr inbounds i8, ptr %1375, i64 80
  %1377 = load ptr, ptr %1376, align 8
  %1378 = call noundef nonnull align 8 dereferenceable(72) ptr %1377(ptr noundef nonnull align 8 dereferenceable(144) %1374)
  %1379 = getelementptr inbounds i8, ptr %1378, i64 8
  %1380 = load i64, ptr %1379, align 8
  %1381 = and i64 %1380, -117440513
  %1382 = or disjoint i64 %1381, %1372
  store i64 %1382, ptr %1379, align 8
  br label %1383

1383:                                             ; preds = %1373, %1368
  %1384 = getelementptr inbounds i8, ptr %.33120, i64 -48
  %1385 = load ptr, ptr %48, align 8, !tbaa !6
  %1386 = load ptr, ptr %1385, align 8, !tbaa !17
  %1387 = getelementptr inbounds i8, ptr %1386, i64 56
  %1388 = load ptr, ptr %1387, align 8
  %1389 = call noundef i32 %1388(ptr noundef nonnull align 8 dereferenceable(144) %1385)
  %1390 = load ptr, ptr %48, align 8, !tbaa !6
  %1391 = load ptr, ptr %1390, align 8, !tbaa !17
  %1392 = getelementptr inbounds i8, ptr %1391, i64 80
  %1393 = load ptr, ptr %1392, align 8
  %1394 = call noundef nonnull align 8 dereferenceable(72) ptr %1393(ptr noundef nonnull align 8 dereferenceable(144) %1390)
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1384, i32 noundef %1389, ptr noundef nonnull align 8 dereferenceable(72) %1394)
  %1395 = getelementptr inbounds i8, ptr %.33120, i64 -160
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1384, ptr noundef nonnull align 4 dereferenceable(88) %1395)
  %1396 = load i64, ptr %1370, align 8
  %1397 = trunc i64 %1396 to i32
  %1398 = and i32 %1397, 63
  %1399 = load ptr, ptr %48, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef %1398, ptr noundef nonnull align 8 dereferenceable(144) %1399)
  %1400 = load ptr, ptr %48, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext13paramCheckFixERKNS_10TSourceLocERKNS_10TQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1384, ptr noundef nonnull align 8 dereferenceable(72) %1369, ptr noundef nonnull align 8 dereferenceable(144) %1400)
  br label %.thread3331

1401:                                             ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %.33120, i64 288, i1 false), !tbaa.struct !93
  %1402 = getelementptr inbounds i8, ptr %.33120, i64 56
  %1403 = load ptr, ptr %1402, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 14, ptr noundef nonnull align 8 dereferenceable(144) %1403)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #11
  store i32 0, ptr %23, align 4, !tbaa !131
  %1404 = load ptr, ptr %48, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext20paramCheckFixStorageERKNS_10TSourceLocERKNS_17TStorageQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 4 dereferenceable(4) %23, ptr noundef nonnull align 8 dereferenceable(144) %1404)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #11
  %1405 = load ptr, ptr %48, align 8, !tbaa !6
  %1406 = load ptr, ptr %1405, align 8, !tbaa !17
  %1407 = getelementptr inbounds i8, ptr %1406, i64 56
  %1408 = load ptr, ptr %1407, align 8
  %1409 = call noundef i32 %1408(ptr noundef nonnull align 8 dereferenceable(144) %1405)
  %1410 = load ptr, ptr %48, align 8, !tbaa !6
  %1411 = load ptr, ptr %1410, align 8, !tbaa !17
  %1412 = getelementptr inbounds i8, ptr %1411, i64 80
  %1413 = load ptr, ptr %1412, align 8
  %1414 = call noundef nonnull align 8 dereferenceable(72) ptr %1413(ptr noundef nonnull align 8 dereferenceable(144) %1410)
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %5, i32 noundef %1409, ptr noundef nonnull align 8 dereferenceable(72) %1414)
  br label %.thread3331

1415:                                             ; preds = %206
  %1416 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  %1417 = getelementptr inbounds i8, ptr %.33120, i64 48
  invoke void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %1416, ptr noundef nonnull align 8 dereferenceable(232) %1417)
          to label %1418 unwind label %1423

1418:                                             ; preds = %1415
  store ptr null, ptr %46, align 8, !tbaa !9
  store ptr %1416, ptr %48, align 8, !tbaa !9
  store ptr null, ptr %49, align 8, !tbaa !9
  %1419 = getelementptr inbounds i8, ptr %.33120, i64 224
  %1420 = load ptr, ptr %1419, align 8, !tbaa !6
  %.not3256 = icmp eq ptr %1420, null
  br i1 %.not3256, label %.thread3331, label %1421

1421:                                             ; preds = %1418
  %1422 = getelementptr inbounds i8, ptr %.33120, i64 240
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1422, ptr noundef nonnull align 8 dereferenceable(21) %1420)
  br label %.thread3331

1423:                                             ; preds = %1415
  %1424 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %1416) #11
  br label %5349

1425:                                             ; preds = %206
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %.33120, i64 288, i1 false), !tbaa.struct !93
  br label %.thread3331

1426:                                             ; preds = %206
  %1427 = getelementptr inbounds i8, ptr %.33120, i64 -576
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %1427, i64 288, i1 false), !tbaa.struct !93
  %1428 = getelementptr inbounds i8, ptr %.33120, i64 24
  %1429 = load ptr, ptr %1428, align 8, !tbaa !6
  %1430 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1431 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(40) %1429, ptr noundef nonnull align 8 dereferenceable(232) %1430, ptr noundef null, ptr noundef null)
  br label %.thread3331

1432:                                             ; preds = %206
  %1433 = getelementptr inbounds i8, ptr %.33120, i64 -864
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %1433, i64 288, i1 false), !tbaa.struct !93
  %1434 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1435 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %1436 = load ptr, ptr %1435, align 8, !tbaa !6
  %1437 = getelementptr inbounds i8, ptr %.33120, i64 -816
  %1438 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1439 = load ptr, ptr %1438, align 8, !tbaa !6
  %1440 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1434, ptr noundef nonnull align 8 dereferenceable(40) %1436, ptr noundef nonnull align 8 dereferenceable(232) %1437, ptr noundef %1439, ptr noundef null)
  br label %.thread3331

1441:                                             ; preds = %206
  %1442 = getelementptr inbounds i8, ptr %.33120, i64 -1392
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1442, i64 232, i1 false), !tbaa.struct !132
  %1443 = getelementptr inbounds i8, ptr %.33120, i64 -864
  %1444 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %1445 = load ptr, ptr %1444, align 8, !tbaa !6
  %1446 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1447 = load ptr, ptr %1446, align 8, !tbaa !6
  %1448 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1449 = load ptr, ptr %1448, align 8, !tbaa !6
  %1450 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1443, ptr noundef nonnull align 8 dereferenceable(40) %1445, ptr noundef nonnull align 8 dereferenceable(232) %1442, ptr noundef %1447, ptr noundef %1449)
  %1451 = load ptr, ptr %45, align 8, !tbaa !19
  %1452 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %1453 = load ptr, ptr %1452, align 8, !tbaa !6
  %1454 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1455 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %1451, ptr noundef %1453, ptr noundef %1450, ptr noundef nonnull align 8 dereferenceable(24) %1454)
  store ptr %1455, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1456:                                             ; preds = %206
  %1457 = getelementptr inbounds i8, ptr %.33120, i64 -1104
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1457, i64 232, i1 false), !tbaa.struct !132
  %1458 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %1459 = getelementptr inbounds i8, ptr %.33120, i64 -552
  %1460 = load ptr, ptr %1459, align 8, !tbaa !6
  %1461 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1462 = load ptr, ptr %1461, align 8, !tbaa !6
  %1463 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1458, ptr noundef nonnull align 8 dereferenceable(40) %1460, ptr noundef nonnull align 8 dereferenceable(232) %1457, ptr noundef null, ptr noundef %1462)
  %1464 = load ptr, ptr %45, align 8, !tbaa !19
  %1465 = getelementptr inbounds i8, ptr %.33120, i64 -1120
  %1466 = load ptr, ptr %1465, align 8, !tbaa !6
  %1467 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1468 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %1464, ptr noundef %1466, ptr noundef %1463, ptr noundef nonnull align 8 dereferenceable(24) %1467)
  store ptr %1468, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1469:                                             ; preds = %206
  %1470 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1470, i64 232, i1 false), !tbaa.struct !132
  store ptr null, ptr %44, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext19declareTypeDefaultsERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(232) %46)
  br label %.thread3331

1471:                                             ; preds = %206
  %1472 = getelementptr inbounds i8, ptr %.33120, i64 -240
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1472, i64 232, i1 false), !tbaa.struct !132
  store ptr null, ptr %44, align 8, !tbaa !6
  %1473 = getelementptr inbounds i8, ptr %.33120, i64 24
  %1474 = load ptr, ptr %1473, align 8, !tbaa !6
  %1475 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(40) %1474, ptr noundef nonnull align 8 dereferenceable(232) %1472, ptr noundef null, ptr noundef null)
  br label %.thread3331

1476:                                             ; preds = %206
  %1477 = getelementptr inbounds i8, ptr %.33120, i64 -528
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1477, i64 232, i1 false), !tbaa.struct !132
  store ptr null, ptr %44, align 8, !tbaa !6
  %1478 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1479 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %1480 = load ptr, ptr %1479, align 8, !tbaa !6
  %1481 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1482 = load ptr, ptr %1481, align 8, !tbaa !6
  %1483 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1478, ptr noundef nonnull align 8 dereferenceable(40) %1480, ptr noundef nonnull align 8 dereferenceable(232) %1477, ptr noundef %1482, ptr noundef null)
  br label %.thread3331

1484:                                             ; preds = %206
  %1485 = getelementptr inbounds i8, ptr %.33120, i64 -1104
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1485, i64 232, i1 false), !tbaa.struct !132
  %1486 = getelementptr inbounds i8, ptr %.33120, i64 -864
  %1487 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %1488 = load ptr, ptr %1487, align 8, !tbaa !6
  %1489 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %1490 = load ptr, ptr %1489, align 8, !tbaa !6
  %1491 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1492 = load ptr, ptr %1491, align 8, !tbaa !6
  %1493 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1486, ptr noundef nonnull align 8 dereferenceable(40) %1488, ptr noundef nonnull align 8 dereferenceable(232) %1485, ptr noundef %1490, ptr noundef %1492)
  %1494 = load ptr, ptr %45, align 8, !tbaa !19
  %1495 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1496 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %1494, ptr noundef null, ptr noundef %1493, ptr noundef nonnull align 8 dereferenceable(24) %1495)
  store ptr %1496, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1497:                                             ; preds = %206
  %1498 = getelementptr inbounds i8, ptr %.33120, i64 -816
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1498, i64 232, i1 false), !tbaa.struct !132
  %1499 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %1500 = getelementptr inbounds i8, ptr %.33120, i64 -552
  %1501 = load ptr, ptr %1500, align 8, !tbaa !6
  %1502 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1503 = load ptr, ptr %1502, align 8, !tbaa !6
  %1504 = call noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1499, ptr noundef nonnull align 8 dereferenceable(40) %1501, ptr noundef nonnull align 8 dereferenceable(232) %1498, ptr noundef null, ptr noundef %1503)
  %1505 = load ptr, ptr %45, align 8, !tbaa !19
  %1506 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %1507 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %1505, ptr noundef null, ptr noundef %1504, ptr noundef nonnull align 8 dereferenceable(24) %1506)
  store ptr %1507, ptr %44, align 8, !tbaa !6
  br label %.thread3331

1508:                                             ; preds = %206
  %1509 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1509, i64 232, i1 false), !tbaa.struct !132
  %1510 = getelementptr inbounds i8, ptr %.33120, i64 240
  %1511 = getelementptr inbounds i8, ptr %.33120, i64 56
  call void @_ZN7glslang13TParseContext24globalQualifierTypeCheckERKNS_10TSourceLocERKNS_10TQualifierERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1510, ptr noundef nonnull align 8 dereferenceable(72) %1511, ptr noundef nonnull align 8 dereferenceable(232) %46)
  %1512 = getelementptr inbounds i8, ptr %.33120, i64 224
  %1513 = load ptr, ptr %1512, align 8, !tbaa !6
  %.not3255 = icmp eq ptr %1513, null
  br i1 %.not3255, label %1515, label %1514

1514:                                             ; preds = %1508
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1510, i32 noundef 1, i32 noundef 120, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.69)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1510, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.69)
  br label %1515

1515:                                             ; preds = %1514, %1508
  %1516 = load i32, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %70, i32 noundef %1516, ptr noundef nonnull align 8 dereferenceable(72) %48)
  br label %.thread3331

1517:                                             ; preds = %206
  %1518 = getelementptr inbounds i8, ptr %.33120, i64 -48
  %1519 = getelementptr inbounds i8, ptr %.33120, i64 -232
  call void @_ZN7glslang13TParseContext23globalQualifierFixCheckERKNS_10TSourceLocERNS_10TQualifierEb(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1518, ptr noundef nonnull align 8 dereferenceable(72) %1519, i1 noundef zeroext false)
  %1520 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @_ZN7glslang13TParseContext24globalQualifierTypeCheckERKNS_10TSourceLocERKNS_10TQualifierERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1518, ptr noundef nonnull align 8 dereferenceable(72) %1519, ptr noundef nonnull align 8 dereferenceable(232) %1520)
  %1521 = getelementptr inbounds i8, ptr %.33120, i64 224
  %1522 = load ptr, ptr %1521, align 8, !tbaa !6
  %.not3253 = icmp eq ptr %1522, null
  br i1 %.not3253, label %.thread3329, label %1523

1523:                                             ; preds = %1517
  %1524 = getelementptr inbounds i8, ptr %.33120, i64 240
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1524, i32 noundef 1, i32 noundef 120, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.69)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1524, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.69)
  %.pr3328 = load ptr, ptr %1521, align 8, !tbaa !6
  %.not3254 = icmp eq ptr %.pr3328, null
  br i1 %.not3254, label %.thread3329, label %1525

1525:                                             ; preds = %1523
  %1526 = call noundef zeroext i1 @_ZN7glslang13TParseContext19arrayQualifierErrorERKNS_10TSourceLocERKNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1524, ptr noundef nonnull align 8 dereferenceable(72) %1519)
  br i1 %1526, label %1527, label %.thread3329

1527:                                             ; preds = %1525
  store ptr null, ptr %1521, align 8, !tbaa !6
  br label %.thread3329

.thread3329:                                      ; preds = %1517, %1527, %1525, %1523
  %1528 = getelementptr inbounds i8, ptr %.33120, i64 240
  %1529 = getelementptr inbounds i8, ptr %.33120, i64 -160
  call void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1528, ptr noundef nonnull align 4 dereferenceable(88) %1529)
  %1530 = getelementptr inbounds i8, ptr %.33120, i64 128
  call void @_ZN7glslang17TShaderQualifiers5mergeERKS0_(ptr noundef nonnull align 4 dereferenceable(88) %1530, ptr noundef nonnull align 4 dereferenceable(88) %1529)
  %1531 = getelementptr inbounds i8, ptr %.33120, i64 56
  call void @_ZN7glslang13TParseContext15mergeQualifiersERKNS_10TSourceLocERNS_10TQualifierERKS4_b(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1528, ptr noundef nonnull align 8 dereferenceable(72) %1531, ptr noundef nonnull align 8 dereferenceable(72) %1519, i1 noundef zeroext true)
  %1532 = load i32, ptr %1520, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1528, i32 noundef %1532, ptr noundef nonnull align 8 dereferenceable(72) %1531)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1520, i64 232, i1 false), !tbaa.struct !132
  %1533 = call noundef zeroext i1 @_ZNK7glslang10TQualifier15isInterpolationEv(ptr noundef nonnull align 8 dereferenceable(72) %48)
  br i1 %1533, label %.thread3331, label %1534

1534:                                             ; preds = %.thread3329
  %1535 = load i32, ptr %76, align 4, !tbaa !145
  switch i32 %1535, label %.thread3331 [
    i32 0, label %1536
    i32 4, label %1540
  ]

1536:                                             ; preds = %1534
  %1537 = load i64, ptr %49, align 8
  %1538 = and i64 %1537, 63
  %1539 = icmp eq i64 %1538, 4
  br i1 %1539, label %1544, label %.thread3331

1540:                                             ; preds = %1534
  %1541 = load i64, ptr %49, align 8
  %1542 = and i64 %1541, 63
  %1543 = icmp eq i64 %1542, 3
  br i1 %1543, label %1544, label %.thread3331

1544:                                             ; preds = %1540, %1536
  %1545 = phi i64 [ %1541, %1540 ], [ %1537, %1536 ]
  %1546 = or i64 %1545, 536870912
  store i64 %1546, ptr %49, align 8
  br label %.thread3331

1547:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.71)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %70, i32 noundef 1, i32 noundef 120, ptr noundef null, ptr noundef nonnull @.str.71)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1548 = load i64, ptr %49, align 8
  %1549 = or i64 %1548, 134217728
  store i64 %1549, ptr %49, align 8
  br label %.thread3331

1550:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.72)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef nonnull @.str.72)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.72)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1551 = load i64, ptr %49, align 8
  %1552 = or i64 %1551, 536870912
  store i64 %1552, ptr %49, align 8
  br label %.thread3331

1553:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.73)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef nonnull @.str.73)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.73)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1554 = load i64, ptr %49, align 8
  %1555 = or i64 %1554, 1073741824
  store i64 %1555, ptr %49, align 8
  br label %.thread3331

1556:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.74)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 0, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.74)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef nonnull @.str.74)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1557 = load i64, ptr %49, align 8
  %1558 = or i64 %1557, 68719476736
  store i64 %1558, ptr %49, align 8
  br label %.thread3331

1559:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.76)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 450, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.78)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, i32 noundef 450, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.78)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1560 = load i64, ptr %49, align 8
  %1561 = or i64 %1560, 137438953472
  store i64 %1561, ptr %49, align 8
  br label %.thread3331

1562:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.79)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 0, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, i32 noundef 0, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 0, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.81)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1563 = load i64, ptr %49, align 8
  %1564 = or i64 %1563, 274877906944
  store i64 %1564, ptr %49, align 8
  br label %.thread3331

1565:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.82)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 0, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.81)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, i32 noundef 0, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.81)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 0, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.81)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1566 = load i64, ptr %49, align 8
  %1567 = or i64 %1566, 549755813888
  store i64 %1567, ptr %49, align 8
  br label %.thread3331

1568:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.84)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8208, ptr noundef nonnull @.str.84)
  %1569 = load i32, ptr %76, align 4, !tbaa !145
  %1570 = icmp eq i32 %1569, 4
  br i1 %1570, label %1571, label %1575

1571:                                             ; preds = %1568
  %1572 = load ptr, ptr %0, align 8, !tbaa !17
  %1573 = getelementptr inbounds i8, ptr %1572, i64 40
  %1574 = load ptr, ptr %1573, align 8
  call void %1574(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL19E_GL_NV_mesh_shaderE, ptr noundef nonnull @.str.84)
  br label %1575

1575:                                             ; preds = %1571, %1568
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1576 = load i64, ptr %49, align 8
  %1577 = or i64 %1576, 1099511627776
  store i64 %1577, ptr %49, align 8
  br label %.thread3331

1578:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.85)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 13, ptr noundef nonnull @.str.85)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1579 = load i64, ptr %49, align 8
  %1580 = or i64 %1579, 2199023255552
  store i64 %1580, ptr %49, align 8
  br label %.thread3331

1581:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.86)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 12288, ptr noundef nonnull @.str.86)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1582 = load i64, ptr %49, align 8
  %1583 = or i64 %1582, 4398046511104
  store i64 %1583, ptr %49, align 8
  br label %.thread3331

1584:                                             ; preds = %206
  %1585 = getelementptr inbounds i8, ptr %.33120, i64 -240
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1585, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1586:                                             ; preds = %206
  %1587 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1587, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1588:                                             ; preds = %206
  %1589 = getelementptr inbounds i8, ptr %.33120, i64 -528
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1589, i64 232, i1 false), !tbaa.struct !132
  %1590 = getelementptr inbounds i8, ptr %.33120, i64 128
  call void @_ZN7glslang17TShaderQualifiers5mergeERKS0_(ptr noundef nonnull align 4 dereferenceable(88) %77, ptr noundef nonnull align 4 dereferenceable(88) %1590)
  %1591 = getelementptr inbounds i8, ptr %.33120, i64 56
  call void @_ZN7glslang13TParseContext27mergeObjectLayoutQualifiersERNS_10TQualifierERKS1_b(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(72) %48, ptr noundef nonnull align 8 dereferenceable(72) %1591, i1 noundef zeroext false)
  br label %.thread3331

1592:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1593 = getelementptr inbounds i8, ptr %.33120, i64 24
  %1594 = load ptr, ptr %1593, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(40) %1594)
  br label %.thread3331

1595:                                             ; preds = %206
  %1596 = getelementptr inbounds i8, ptr %.33120, i64 -576
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %1596, i1 noundef zeroext false)
  %1597 = getelementptr inbounds i8, ptr %.33120, i64 -552
  %1598 = load ptr, ptr %1597, align 8, !tbaa !6
  %1599 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1600 = load ptr, ptr %1599, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1596, ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(40) %1598, ptr noundef %1600)
  br label %.thread3331

1601:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %24) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #11
  call void @_ZN7glslang14pool_allocatorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %25)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEC2IS5_EEPKcRKS5_(ptr noundef nonnull align 8 dereferenceable(40) %24, ptr noundef nonnull @.str.87, ptr noundef nonnull align 8 dereferenceable(8) %25)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #11
  invoke void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(40) %24)
          to label %1602 unwind label %1603

1602:                                             ; preds = %1601
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %24) #11
  br label %.thread3331

1603:                                             ; preds = %1601
  %1604 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %24) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %24) #11
  br label %5349

1605:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %70, i32 noundef 6, i32 noundef 400, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.89)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiiPKPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 320, i32 noundef 2, ptr noundef nonnull @_ZN7glslangL15AEP_gpu_shader5E, ptr noundef nonnull @.str.89)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1606 = load i64, ptr %49, align 8
  %1607 = or i64 %1606, 34359738368
  store i64 %1607, ptr %49, align 8
  br label %.thread3331

1608:                                             ; preds = %206
  %1609 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1609, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1610:                                             ; preds = %206
  %1611 = getelementptr inbounds i8, ptr %.33120, i64 -240
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1611, i64 232, i1 false), !tbaa.struct !132
  %1612 = load i32, ptr %46, align 8, !tbaa !6
  %1613 = icmp eq i32 %1612, 0
  br i1 %1613, label %1614, label %1617

1614:                                             ; preds = %1610
  %1615 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1616 = load i32, ptr %1615, align 8, !tbaa !6
  store i32 %1616, ptr %46, align 8, !tbaa !6
  br label %1617

1617:                                             ; preds = %1614, %1610
  %1618 = getelementptr inbounds i8, ptr %.33120, i64 128
  call void @_ZN7glslang17TShaderQualifiers5mergeERKS0_(ptr noundef nonnull align 4 dereferenceable(88) %77, ptr noundef nonnull align 4 dereferenceable(88) %1618)
  %1619 = getelementptr inbounds i8, ptr %.33120, i64 56
  call void @_ZN7glslang13TParseContext15mergeQualifiersERKNS_10TSourceLocERNS_10TQualifierERKS4_b(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(72) %48, ptr noundef nonnull align 8 dereferenceable(72) %1619, i1 noundef zeroext false)
  br label %.thread3331

1620:                                             ; preds = %206
  %1621 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1621, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1622:                                             ; preds = %206
  %1623 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1623, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1624:                                             ; preds = %206
  %1625 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1626 = getelementptr inbounds i8, ptr %.33120, i64 240
  %1627 = getelementptr inbounds i8, ptr %.33120, i64 64
  %1628 = load i64, ptr %1627, align 8
  %1629 = trunc i64 %1628 to i32
  %1630 = lshr i32 %1629, 24
  %1631 = and i32 %1630, 7
  call void @_ZN7glslang13TParseContext23checkPrecisionQualifierERKNS_10TSourceLocENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1626, i32 noundef %1631)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1625, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1632:                                             ; preds = %206
  %1633 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1633, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1634:                                             ; preds = %206
  %1635 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1635, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1636:                                             ; preds = %206
  %1637 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1637, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1638:                                             ; preds = %206
  %1639 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1639, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1640:                                             ; preds = %206
  %1641 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1642 = getelementptr inbounds i8, ptr %.33120, i64 240
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1642, ptr noundef nonnull @.str.90)
  %1643 = load ptr, ptr %0, align 8, !tbaa !17
  %1644 = getelementptr inbounds i8, ptr %1643, i64 40
  %1645 = load ptr, ptr %1644, align 8
  call void %1645(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1642, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef nonnull @.str.91)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1641, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1646:                                             ; preds = %206
  %1647 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1648 = getelementptr inbounds i8, ptr %.33120, i64 240
  %1649 = load ptr, ptr %0, align 8, !tbaa !17
  %1650 = getelementptr inbounds i8, ptr %1649, i64 40
  %1651 = load ptr, ptr %1650, align 8
  call void %1651(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1648, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef nonnull @.str.92)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1647, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

1652:                                             ; preds = %206
  %1653 = load ptr, ptr %0, align 8, !tbaa !17
  %1654 = getelementptr inbounds i8, ptr %1653, i64 40
  %1655 = load ptr, ptr %1654, align 8
  call void %1655(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef nonnull @.str.93)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  call void @_ZN7glslang10TQualifier19setSpirvByReferenceEv(ptr noundef nonnull align 8 dereferenceable(72) %48)
  br label %.thread3331

1656:                                             ; preds = %206
  %1657 = load ptr, ptr %0, align 8, !tbaa !17
  %1658 = getelementptr inbounds i8, ptr %1657, i64 40
  %1659 = load ptr, ptr %1658, align 8
  call void %1659(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef nonnull @.str.94)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  call void @_ZN7glslang10TQualifier15setSpirvLiteralEv(ptr noundef nonnull align 8 dereferenceable(72) %48)
  br label %.thread3331

1660:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1661 = load i64, ptr %49, align 8
  %1662 = and i64 %1661, -64
  %1663 = or disjoint i64 %1662, 2
  store i64 %1663, ptr %49, align 8
  br label %.thread3331

1664:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.95)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1665 = load i64, ptr %49, align 8
  %1666 = and i64 %1665, -64
  %1667 = or disjoint i64 %1666, 16
  store i64 %1667, ptr %49, align 8
  br label %.thread3331

1668:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.96)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1669 = load i64, ptr %49, align 8
  %1670 = and i64 %1669, -64
  %1671 = or disjoint i64 %1670, 14
  store i64 %1671, ptr %49, align 8
  br label %.thread3331

1672:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.97)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1673 = load i64, ptr %49, align 8
  %1674 = and i64 %1673, -64
  %1675 = or disjoint i64 %1674, 15
  store i64 %1675, ptr %49, align 8
  br label %.thread3331

1676:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 120, ptr noundef null, ptr noundef nonnull @.str.98)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.98)
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.98)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1677 = load i64, ptr %49, align 8
  %1678 = or i64 %1677, 268435456
  store i64 %1678, ptr %49, align 8
  br label %.thread3331

1679:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.99)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1680 = load i64, ptr %49, align 8
  %1681 = and i64 %1680, -64
  %1682 = or disjoint i64 %1681, 5
  store i64 %1682, ptr %49, align 8
  br label %.thread3331

1683:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.87)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, i32 noundef 430, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.87)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 310, ptr noundef null, ptr noundef nonnull @.str.87)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 12320, ptr noundef nonnull @.str.87)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1684 = load i64, ptr %49, align 8
  %1685 = and i64 %1684, -64
  %1686 = or disjoint i64 %1685, 7
  store i64 %1686, ptr %49, align 8
  br label %.thread3331

1687:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.101)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1688 = load i64, ptr %49, align 8
  %1689 = and i64 %1688, -64
  %1690 = or disjoint i64 %1689, 6
  store i64 %1690, ptr %49, align 8
  br label %.thread3331

1691:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 0, ptr noundef nonnull @.str.64)
  %1692 = load ptr, ptr %0, align 8, !tbaa !17
  %1693 = getelementptr inbounds i8, ptr %1692, i64 24
  %1694 = load ptr, ptr %1693, align 8
  call void %1694(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 130, ptr noundef nonnull @.str.64)
  %1695 = load ptr, ptr %0, align 8, !tbaa !17
  %1696 = getelementptr inbounds i8, ptr %1695, i64 24
  %1697 = load ptr, ptr %1696, align 8
  call void %1697(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 130, ptr noundef nonnull @.str.64)
  %1698 = load ptr, ptr %0, align 8, !tbaa !17
  %1699 = getelementptr inbounds i8, ptr %1698, i64 32
  %1700 = load ptr, ptr %1699, align 8
  call void %1700(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 420, ptr noundef nonnull @.str.64)
  %1701 = load ptr, ptr %0, align 8, !tbaa !17
  %1702 = getelementptr inbounds i8, ptr %1701, i64 32
  %1703 = load ptr, ptr %1702, align 8
  call void %1703(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 300, ptr noundef nonnull @.str.64)
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.64)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1704 = load i64, ptr %49, align 8
  %1705 = and i64 %1704, -64
  %1706 = or disjoint i64 %1705, 3
  store i64 %1706, ptr %49, align 8
  br label %.thread3331

1707:                                             ; preds = %206
  %1708 = load ptr, ptr %0, align 8, !tbaa !17
  %1709 = getelementptr inbounds i8, ptr %1708, i64 24
  %1710 = load ptr, ptr %1709, align 8
  call void %1710(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 130, ptr noundef nonnull @.str.102)
  %1711 = load ptr, ptr %0, align 8, !tbaa !17
  %1712 = getelementptr inbounds i8, ptr %1711, i64 24
  %1713 = load ptr, ptr %1712, align 8
  call void %1713(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 130, ptr noundef nonnull @.str.102)
  %1714 = load ptr, ptr %0, align 8, !tbaa !17
  %1715 = getelementptr inbounds i8, ptr %1714, i64 32
  %1716 = load ptr, ptr %1715, align 8
  call void %1716(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 420, ptr noundef nonnull @.str.102)
  %1717 = load ptr, ptr %0, align 8, !tbaa !17
  %1718 = getelementptr inbounds i8, ptr %1717, i64 32
  %1719 = load ptr, ptr %1718, align 8
  call void %1719(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 8, i32 noundef 300, ptr noundef nonnull @.str.102)
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.102)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1720 = load i32, ptr %76, align 4, !tbaa !145
  %1721 = icmp eq i32 %1720, 0
  %1722 = load i64, ptr %49, align 8
  %1723 = and i64 %1722, -64
  br i1 %1721, label %1724, label %1726

1724:                                             ; preds = %1707
  %1725 = or disjoint i64 %1723, 4
  store i64 %1725, ptr %49, align 8
  br label %.thread3331

1726:                                             ; preds = %1707
  %1727 = or disjoint i64 %1723, 3
  store i64 %1727, ptr %49, align 8
  br label %.thread3331

1728:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.103)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.103)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1729 = load i64, ptr %49, align 8
  %1730 = or i64 %1729, 8796093022208
  store i64 %1730, ptr %49, align 8
  br label %.thread3331

1731:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.104)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1732 = load i64, ptr %49, align 8
  %1733 = or i64 %1732, 17592186044416
  store i64 %1733, ptr %49, align 8
  br label %.thread3331

1734:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.105)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 896, ptr noundef nonnull @.str.105)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.105)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1735 = load i64, ptr %49, align 8
  %1736 = and i64 %1735, -64
  %1737 = or disjoint i64 %1736, 11
  store i64 %1737, ptr %49, align 8
  br label %.thread3331

1738:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.107)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 896, ptr noundef nonnull @.str.107)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.105)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1739 = load i64, ptr %49, align 8
  %1740 = and i64 %1739, -64
  %1741 = or disjoint i64 %1740, 11
  store i64 %1741, ptr %49, align 8
  br label %.thread3331

1742:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.109)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1856, ptr noundef nonnull @.str.109)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.109)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1743 = load i64, ptr %49, align 8
  %1744 = and i64 %1743, -64
  %1745 = or disjoint i64 %1744, 9
  store i64 %1745, ptr %49, align 8
  br label %.thread3331

1746:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.110)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1856, ptr noundef nonnull @.str.110)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.110)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1747 = load i64, ptr %49, align 8
  %1748 = and i64 %1747, -64
  %1749 = or disjoint i64 %1748, 9
  store i64 %1749, ptr %49, align 8
  br label %.thread3331

1750:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.111)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1792, ptr noundef nonnull @.str.111)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.111)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1751 = load i64, ptr %49, align 8
  %1752 = and i64 %1751, -64
  %1753 = or disjoint i64 %1752, 10
  store i64 %1753, ptr %49, align 8
  br label %.thread3331

1754:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.112)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1792, ptr noundef nonnull @.str.112)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.112)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1755 = load i64, ptr %49, align 8
  %1756 = and i64 %1755, -64
  %1757 = or disjoint i64 %1756, 10
  store i64 %1757, ptr %49, align 8
  br label %.thread3331

1758:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.113)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 3648, ptr noundef nonnull @.str.113)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.113)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1759 = load i64, ptr %49, align 8
  %1760 = and i64 %1759, -64
  %1761 = or disjoint i64 %1760, 12
  store i64 %1761, ptr %49, align 8
  br label %.thread3331

1762:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.114)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 3648, ptr noundef nonnull @.str.114)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.114)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1763 = load i64, ptr %49, align 8
  %1764 = and i64 %1763, -64
  %1765 = or disjoint i64 %1764, 12
  store i64 %1765, ptr %49, align 8
  br label %.thread3331

1766:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.115)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2048, ptr noundef nonnull @.str.115)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.115)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1767 = load i64, ptr %49, align 8
  %1768 = and i64 %1767, -64
  %1769 = or disjoint i64 %1768, 13
  store i64 %1769, ptr %49, align 8
  br label %.thread3331

1770:                                             ; preds = %206
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.116)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2048, ptr noundef nonnull @.str.116)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 2, i32 noundef 460, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.116)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1771 = load i64, ptr %49, align 8
  %1772 = and i64 %1771, -64
  %1773 = or disjoint i64 %1772, 13
  store i64 %1773, ptr %49, align 8
  br label %.thread3331

1774:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1775 = load i64, ptr %49, align 8
  %1776 = or i64 %1775, 281474976710656
  store i64 %1776, ptr %49, align 8
  br label %.thread3331

1777:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1778 = load ptr, ptr %0, align 8, !tbaa !17
  %1779 = getelementptr inbounds i8, ptr %1778, i64 40
  %1780 = load ptr, ptr %1779, align 8
  call void %1780(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef nonnull @.str.117)
  %1781 = load i64, ptr %49, align 8
  %1782 = or i64 %1781, 1125899906842624
  store i64 %1782, ptr %49, align 8
  br label %.thread3331

1783:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1784 = load ptr, ptr %0, align 8, !tbaa !17
  %1785 = getelementptr inbounds i8, ptr %1784, i64 40
  %1786 = load ptr, ptr %1785, align 8
  call void %1786(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef nonnull @.str.118)
  %1787 = load i64, ptr %49, align 8
  %1788 = or i64 %1787, 2251799813685248
  store i64 %1788, ptr %49, align 8
  br label %.thread3331

1789:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1790 = load ptr, ptr %0, align 8, !tbaa !17
  %1791 = getelementptr inbounds i8, ptr %1790, i64 40
  %1792 = load ptr, ptr %1791, align 8
  call void %1792(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef nonnull @.str.119)
  %1793 = load i64, ptr %49, align 8
  %1794 = or i64 %1793, 4503599627370496
  store i64 %1794, ptr %49, align 8
  br label %.thread3331

1795:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1796 = load ptr, ptr %0, align 8, !tbaa !17
  %1797 = getelementptr inbounds i8, ptr %1796, i64 40
  %1798 = load ptr, ptr %1797, align 8
  call void %1798(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef nonnull @.str.120)
  %1799 = load i64, ptr %49, align 8
  %1800 = or i64 %1799, 9007199254740992
  store i64 %1800, ptr %49, align 8
  br label %.thread3331

1801:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1802 = load ptr, ptr %0, align 8, !tbaa !17
  %1803 = getelementptr inbounds i8, ptr %1802, i64 40
  %1804 = load ptr, ptr %1803, align 8
  call void %1804(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL31E_GL_KHR_memory_scope_semanticsE, ptr noundef nonnull @.str.121)
  %1805 = load i64, ptr %49, align 8
  %1806 = or i64 %1805, 36028797018963968
  store i64 %1806, ptr %49, align 8
  br label %.thread3331

1807:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1808 = load ptr, ptr %0, align 8, !tbaa !17
  %1809 = getelementptr inbounds i8, ptr %1808, i64 40
  %1810 = load ptr, ptr %1809, align 8
  call void %1810(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL20E_GL_EXT_ray_tracingE, ptr noundef nonnull @.str.122)
  %1811 = load i64, ptr %49, align 8
  %1812 = or i64 %1811, 18014398509481984
  store i64 %1812, ptr %49, align 8
  br label %.thread3331

1813:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1814 = load i64, ptr %49, align 8
  %1815 = or i64 %1814, 562949953421312
  store i64 %1815, ptr %49, align 8
  br label %.thread3331

1816:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1817 = load i64, ptr %49, align 8
  %1818 = or i64 %1817, 35184372088832
  store i64 %1818, ptr %49, align 8
  br label %.thread3331

1819:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1820 = load i64, ptr %49, align 8
  %1821 = or i64 %1820, 70368744177664
  store i64 %1821, ptr %49, align 8
  br label %.thread3331

1822:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1823 = load i64, ptr %49, align 8
  %1824 = or i64 %1823, 140737488355328
  store i64 %1824, ptr %49, align 8
  br label %.thread3331

1825:                                             ; preds = %206
  %1826 = load ptr, ptr %0, align 8, !tbaa !17
  %1827 = getelementptr inbounds i8, ptr %1826, i64 296
  %1828 = load ptr, ptr %1827, align 8
  call void %1828(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.123)
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.123)
  %1829 = load ptr, ptr %0, align 8, !tbaa !17
  %1830 = getelementptr inbounds i8, ptr %1829, i64 128
  %1831 = load ptr, ptr %1830, align 8
  call void %1831(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.123)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  br label %.thread3331

1832:                                             ; preds = %206
  %1833 = getelementptr inbounds i8, ptr %.33120, i64 -864
  %1834 = load ptr, ptr %0, align 8, !tbaa !17
  %1835 = getelementptr inbounds i8, ptr %1834, i64 296
  %1836 = load ptr, ptr %1835, align 8
  call void %1836(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1833, ptr noundef nonnull @.str.123)
  call void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1833, ptr noundef nonnull @.str.123)
  %1837 = load ptr, ptr %0, align 8, !tbaa !17
  %1838 = getelementptr inbounds i8, ptr %1837, i64 128
  %1839 = load ptr, ptr %1838, align 8
  call void %1839(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %1833, ptr noundef nonnull @.str.123)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %1833, i1 noundef zeroext false)
  br label %.thread3331

1840:                                             ; preds = %206
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext false)
  %1841 = load i64, ptr %49, align 8
  %1842 = or i64 %1841, 4294967296
  store i64 %1842, ptr %49, align 8
  br label %.thread3331

1843:                                             ; preds = %206
  %1844 = getelementptr inbounds i8, ptr %.33120, i64 -240
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1844, i64 232, i1 false), !tbaa.struct !132
  %1845 = call noundef i32 @_ZN7glslang13TParseContext19getDefaultPrecisionERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(232) %46)
  %1846 = load i64, ptr %49, align 8
  %1847 = shl i32 %1845, 24
  %1848 = and i32 %1847, 117440512
  %1849 = zext nneg i32 %1848 to i64
  %1850 = and i64 %1846, -117440513
  %1851 = or disjoint i64 %1850, %1849
  store i64 %1851, ptr %49, align 8
  %1852 = getelementptr inbounds i8, ptr %.33120, i64 280
  %1853 = load ptr, ptr %1852, align 8, !tbaa !6
  store ptr %1853, ptr %74, align 8, !tbaa !6
  br label %.thread3331

1854:                                             ; preds = %206
  %1855 = getelementptr inbounds i8, ptr %.33120, i64 48
  %1856 = load ptr, ptr %1855, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef %1856)
  %1857 = getelementptr inbounds i8, ptr %.33120, i64 -528
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %1857, i64 232, i1 false), !tbaa.struct !132
  %1858 = call noundef i32 @_ZN7glslang13TParseContext19getDefaultPrecisionERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(232) %46)
  %1859 = load i64, ptr %49, align 8
  %1860 = shl i32 %1858, 24
  %1861 = and i32 %1860, 117440512
  %1862 = zext nneg i32 %1861 to i64
  %1863 = and i64 %1859, -117440513
  %1864 = or disjoint i64 %1863, %1862
  store i64 %1864, ptr %49, align 8
  %1865 = getelementptr inbounds i8, ptr %.33120, i64 -8
  %1866 = load ptr, ptr %1865, align 8, !tbaa !6
  store ptr %1866, ptr %74, align 8, !tbaa !6
  %1867 = load ptr, ptr %1855, align 8, !tbaa !6
  store ptr %1867, ptr %75, align 8, !tbaa !6
  br label %.thread3331

1868:                                             ; preds = %206
  %1869 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %1869, i64 24, i1 false), !tbaa.struct !96
  %1870 = call noundef ptr @_ZN7glslang11TArraySizesnwEm(i64 noundef 24)
  invoke void @_ZN7glslang11TArraySizesC2Ev(ptr noundef nonnull align 8 dereferenceable(21) %1870)
          to label %1871 unwind label %1872

1871:                                             ; preds = %1868
  store ptr %1870, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TArraySizes12addInnerSizeEv(ptr noundef nonnull align 8 dereferenceable(21) %1870)
  br label %.thread3331

1872:                                             ; preds = %1868
  %1873 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang11TArraySizesdlEPv(ptr noundef %1870) #11
  br label %5349

1874:                                             ; preds = %206
  %1875 = getelementptr inbounds i8, ptr %.33120, i64 -576
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %5, ptr noundef nonnull align 8 dereferenceable(24) %1875, i64 24, i1 false), !tbaa.struct !96
  %1876 = call noundef ptr @_ZN7glslang11TArraySizesnwEm(i64 noundef 24)
  invoke void @_ZN7glslang11TArraySizesC2Ev(ptr noundef nonnull align 8 dereferenceable(21) %1876)
          to label %1877 unwind label %1885

1877:                                             ; preds = %1874
  store ptr %1876, ptr %46, align 8, !tbaa !6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #11
  %1878 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %1879 = load ptr, ptr %1878, align 8, !tbaa !6
  %1880 = load ptr, ptr %1879, align 8, !tbaa !17
  %1881 = load ptr, ptr %1880, align 8
  %1882 = call noundef nonnull align 8 dereferenceable(24) ptr %1881(ptr noundef nonnull align 8 dereferenceable(32) %1879)
  %1883 = load ptr, ptr %1878, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1882, ptr noundef %1883, ptr noundef nonnull align 8 dereferenceable(16) %26, ptr noundef nonnull @.str.124)
  %1884 = load ptr, ptr %46, align 8, !tbaa !6
  %.sroa.069.0.copyload = load i32, ptr %26, align 8, !tbaa !13
  %.sroa.271.0.copyload = load ptr, ptr %.sroa.271.0..sroa_idx, align 8, !tbaa !9
  call void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21) %1884, i32 %.sroa.069.0.copyload, ptr %.sroa.271.0.copyload)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #11
  br label %.thread3331

1885:                                             ; preds = %1874
  %1886 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang11TArraySizesdlEPv(ptr noundef %1876) #11
  br label %5349

1887:                                             ; preds = %206
  %1888 = getelementptr inbounds i8, ptr %.33120, i64 -576
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %1888, i64 288, i1 false), !tbaa.struct !93
  %1889 = load ptr, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TArraySizes12addInnerSizeEv(ptr noundef nonnull align 8 dereferenceable(21) %1889)
  br label %.thread3331

1890:                                             ; preds = %206
  %1891 = getelementptr inbounds i8, ptr %.33120, i64 -864
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5, ptr noundef nonnull align 8 dereferenceable(288) %1891, i64 288, i1 false), !tbaa.struct !93
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #11
  %1892 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %1893 = load ptr, ptr %1892, align 8, !tbaa !6
  %1894 = load ptr, ptr %1893, align 8, !tbaa !17
  %1895 = load ptr, ptr %1894, align 8
  %1896 = call noundef nonnull align 8 dereferenceable(24) ptr %1895(ptr noundef nonnull align 8 dereferenceable(32) %1893)
  %1897 = load ptr, ptr %1892, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1896, ptr noundef %1897, ptr noundef nonnull align 8 dereferenceable(16) %27, ptr noundef nonnull @.str.124)
  %1898 = load ptr, ptr %46, align 8, !tbaa !6
  %.sroa.066.0.copyload = load i32, ptr %27, align 8, !tbaa !13
  %.sroa.268.0.copyload = load ptr, ptr %.sroa.268.0..sroa_idx, align 8, !tbaa !9
  call void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21) %1898, i32 %.sroa.066.0.copyload, ptr %.sroa.268.0.copyload)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #11
  br label %.thread3331

1899:                                             ; preds = %206
  %1900 = getelementptr inbounds i8, ptr %.33120, i64 280
  %1901 = load ptr, ptr %1900, align 8, !tbaa !6
  store ptr %1901, ptr %73, align 8, !tbaa !6
  br label %.thread3331

1902:                                             ; preds = %206
  store ptr null, ptr %73, align 8, !tbaa !6
  br label %.thread3331

1903:                                             ; preds = %206
  %1904 = getelementptr inbounds i8, ptr %.33120, i64 -8
  %1905 = load ptr, ptr %1904, align 8, !tbaa !6
  store ptr %1905, ptr %73, align 8, !tbaa !6
  br label %.thread3331

1906:                                             ; preds = %206
  %1907 = call noundef ptr @_ZN7glslang11TArraySizesnwEm(i64 noundef 24)
  invoke void @_ZN7glslang11TArraySizesC2Ev(ptr noundef nonnull align 8 dereferenceable(21) %1907)
          to label %1908 unwind label %1916

1908:                                             ; preds = %1906
  store ptr %1907, ptr %73, align 8, !tbaa !6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #11
  %1909 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1910 = load ptr, ptr %1909, align 8, !tbaa !6
  %1911 = load ptr, ptr %1910, align 8, !tbaa !17
  %1912 = load ptr, ptr %1911, align 8
  %1913 = call noundef nonnull align 8 dereferenceable(24) ptr %1912(ptr noundef nonnull align 8 dereferenceable(32) %1910)
  %1914 = load ptr, ptr %1909, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1913, ptr noundef %1914, ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull @.str.125)
  %1915 = load ptr, ptr %73, align 8, !tbaa !6
  %.sroa.063.0.copyload = load i32, ptr %28, align 8, !tbaa !13
  %.sroa.265.0.copyload = load ptr, ptr %.sroa.265.0..sroa_idx, align 8, !tbaa !9
  call void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21) %1915, i32 %.sroa.063.0.copyload, ptr %.sroa.265.0.copyload)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #11
  br label %.thread3331

1916:                                             ; preds = %1906
  %1917 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang11TArraySizesdlEPv(ptr noundef %1907) #11
  br label %5349

1918:                                             ; preds = %206
  %1919 = getelementptr inbounds i8, ptr %.33120, i64 -296
  %1920 = load ptr, ptr %1919, align 8, !tbaa !6
  store ptr %1920, ptr %73, align 8, !tbaa !6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #11
  %1921 = getelementptr inbounds i8, ptr %.33120, i64 32
  %1922 = load ptr, ptr %1921, align 8, !tbaa !6
  %1923 = load ptr, ptr %1922, align 8, !tbaa !17
  %1924 = load ptr, ptr %1923, align 8
  %1925 = call noundef nonnull align 8 dereferenceable(24) ptr %1924(ptr noundef nonnull align 8 dereferenceable(32) %1922)
  %1926 = load ptr, ptr %1921, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %1925, ptr noundef %1926, ptr noundef nonnull align 8 dereferenceable(16) %29, ptr noundef nonnull @.str.125)
  %1927 = load ptr, ptr %73, align 8, !tbaa !6
  %.sroa.060.0.copyload = load i32, ptr %29, align 8, !tbaa !13
  %.sroa.262.0.copyload = load ptr, ptr %.sroa.262.0..sroa_idx, align 8, !tbaa !9
  call void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21) %1927, i32 %.sroa.060.0.copyload, ptr %.sroa.262.0.copyload)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #11
  br label %.thread3331

1928:                                             ; preds = %206
  %1929 = load ptr, ptr %47, align 8, !tbaa !43
  %1930 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1929)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1930)
  store i32 0, ptr %46, align 8, !tbaa !6
  br label %.thread3331

1931:                                             ; preds = %206
  %1932 = load ptr, ptr %47, align 8, !tbaa !43
  %1933 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1932)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1933)
  store i32 1, ptr %46, align 8, !tbaa !6
  br label %.thread3331

1934:                                             ; preds = %206
  %1935 = load ptr, ptr %47, align 8, !tbaa !43
  %1936 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1935)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1936)
  store i32 8, ptr %46, align 8, !tbaa !6
  br label %.thread3331

1937:                                             ; preds = %206
  %1938 = load ptr, ptr %0, align 8, !tbaa !17
  %1939 = getelementptr inbounds i8, ptr %1938, i64 120
  %1940 = load ptr, ptr %1939, align 8
  call void %1940(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.126)
  %1941 = load ptr, ptr %47, align 8, !tbaa !43
  %1942 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1941)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1942)
  store i32 9, ptr %46, align 8, !tbaa !6
  br label %.thread3331

1943:                                             ; preds = %206
  %1944 = load ptr, ptr %47, align 8, !tbaa !43
  %1945 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1944)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1945)
  store i32 12, ptr %46, align 8, !tbaa !6
  br label %.thread3331

1946:                                             ; preds = %206
  %1947 = load ptr, ptr %47, align 8, !tbaa !43
  %1948 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1947)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1948)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

1949:                                             ; preds = %206
  %1950 = load ptr, ptr %47, align 8, !tbaa !43
  %1951 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1950)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1951)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

1952:                                             ; preds = %206
  %1953 = load ptr, ptr %47, align 8, !tbaa !43
  %1954 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1953)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1954)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

1955:                                             ; preds = %206
  %1956 = load ptr, ptr %47, align 8, !tbaa !43
  %1957 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1956)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1957)
  store i32 12, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

1958:                                             ; preds = %206
  %1959 = load ptr, ptr %47, align 8, !tbaa !43
  %1960 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1959)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1960)
  store i32 12, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

1961:                                             ; preds = %206
  %1962 = load ptr, ptr %47, align 8, !tbaa !43
  %1963 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1962)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1963)
  store i32 12, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

1964:                                             ; preds = %206
  %1965 = load ptr, ptr %47, align 8, !tbaa !43
  %1966 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1965)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1966)
  store i32 8, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

1967:                                             ; preds = %206
  %1968 = load ptr, ptr %47, align 8, !tbaa !43
  %1969 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1968)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1969)
  store i32 8, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

1970:                                             ; preds = %206
  %1971 = load ptr, ptr %47, align 8, !tbaa !43
  %1972 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1971)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1972)
  store i32 8, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

1973:                                             ; preds = %206
  %1974 = load ptr, ptr %0, align 8, !tbaa !17
  %1975 = getelementptr inbounds i8, ptr %1974, i64 120
  %1976 = load ptr, ptr %1975, align 8
  call void %1976(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.127)
  %1977 = load ptr, ptr %47, align 8, !tbaa !43
  %1978 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1977)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1978)
  store i32 9, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

1979:                                             ; preds = %206
  %1980 = load ptr, ptr %0, align 8, !tbaa !17
  %1981 = getelementptr inbounds i8, ptr %1980, i64 120
  %1982 = load ptr, ptr %1981, align 8
  call void %1982(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.127)
  %1983 = load ptr, ptr %47, align 8, !tbaa !43
  %1984 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1983)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1984)
  store i32 9, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

1985:                                             ; preds = %206
  %1986 = load ptr, ptr %0, align 8, !tbaa !17
  %1987 = getelementptr inbounds i8, ptr %1986, i64 120
  %1988 = load ptr, ptr %1987, align 8
  call void %1988(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.127)
  %1989 = load ptr, ptr %47, align 8, !tbaa !43
  %1990 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1989)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1990)
  store i32 9, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

1991:                                             ; preds = %206
  %1992 = load ptr, ptr %47, align 8, !tbaa !43
  %1993 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1992)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1993)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

1994:                                             ; preds = %206
  %1995 = load ptr, ptr %47, align 8, !tbaa !43
  %1996 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1995)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1996)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

1997:                                             ; preds = %206
  %1998 = load ptr, ptr %47, align 8, !tbaa !43
  %1999 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %1998)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %1999)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2000:                                             ; preds = %206
  %2001 = load ptr, ptr %47, align 8, !tbaa !43
  %2002 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2001)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2002)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2003:                                             ; preds = %206
  %2004 = load ptr, ptr %47, align 8, !tbaa !43
  %2005 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2004)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2005)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 3)
  br label %.thread3331

2006:                                             ; preds = %206
  %2007 = load ptr, ptr %47, align 8, !tbaa !43
  %2008 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2007)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2008)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 4)
  br label %.thread3331

2009:                                             ; preds = %206
  %2010 = load ptr, ptr %47, align 8, !tbaa !43
  %2011 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2010)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2011)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 2)
  br label %.thread3331

2012:                                             ; preds = %206
  %2013 = load ptr, ptr %47, align 8, !tbaa !43
  %2014 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2013)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2014)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2015:                                             ; preds = %206
  %2016 = load ptr, ptr %47, align 8, !tbaa !43
  %2017 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2016)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2017)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 4)
  br label %.thread3331

2018:                                             ; preds = %206
  %2019 = load ptr, ptr %47, align 8, !tbaa !43
  %2020 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2019)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2020)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 2)
  br label %.thread3331

2021:                                             ; preds = %206
  %2022 = load ptr, ptr %47, align 8, !tbaa !43
  %2023 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2022)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2023)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 3)
  br label %.thread3331

2024:                                             ; preds = %206
  %2025 = load ptr, ptr %47, align 8, !tbaa !43
  %2026 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2025)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2026)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2027:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.128)
  %2028 = load ptr, ptr %47, align 8, !tbaa !43
  %2029 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2028)
  br i1 %2029, label %2034, label %2030

2030:                                             ; preds = %2027
  %2031 = load ptr, ptr %0, align 8, !tbaa !17
  %2032 = getelementptr inbounds i8, ptr %2031, i64 136
  %2033 = load ptr, ptr %2032, align 8
  call void %2033(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.128)
  br label %2034

2034:                                             ; preds = %2030, %2027
  %2035 = load ptr, ptr %47, align 8, !tbaa !43
  %2036 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2035)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2036)
  store i32 2, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2037:                                             ; preds = %206
  %2038 = load ptr, ptr %47, align 8, !tbaa !43
  %2039 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2038)
  %2040 = load ptr, ptr %0, align 8, !tbaa !17
  %2041 = getelementptr inbounds i8, ptr %2040, i64 152
  %2042 = load ptr, ptr %2041, align 8
  call void %2042(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.129, i1 noundef zeroext %2039)
  %2043 = load ptr, ptr %47, align 8, !tbaa !43
  %2044 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2043)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2044)
  store i32 3, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2045:                                             ; preds = %206
  %2046 = load ptr, ptr %47, align 8, !tbaa !43
  %2047 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2046)
  %2048 = load ptr, ptr %0, align 8, !tbaa !17
  %2049 = getelementptr inbounds i8, ptr %2048, i64 264
  %2050 = load ptr, ptr %2049, align 8
  call void %2050(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.130, i1 noundef zeroext %2047)
  %2051 = load ptr, ptr %47, align 8, !tbaa !43
  %2052 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2051)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2052)
  store i32 1, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2053:                                             ; preds = %206
  %2054 = load ptr, ptr %47, align 8, !tbaa !43
  %2055 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2054)
  %2056 = load ptr, ptr %0, align 8, !tbaa !17
  %2057 = getelementptr inbounds i8, ptr %2056, i64 272
  %2058 = load ptr, ptr %2057, align 8
  call void %2058(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.131, i1 noundef zeroext %2055)
  %2059 = load ptr, ptr %47, align 8, !tbaa !43
  %2060 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2059)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2060)
  store i32 2, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2061:                                             ; preds = %206
  %2062 = load ptr, ptr %47, align 8, !tbaa !43
  %2063 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2062)
  %2064 = load ptr, ptr %0, align 8, !tbaa !17
  %2065 = getelementptr inbounds i8, ptr %2064, i64 200
  %2066 = load ptr, ptr %2065, align 8
  call void %2066(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.132, i1 noundef zeroext %2063)
  %2067 = load ptr, ptr %47, align 8, !tbaa !43
  %2068 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2067)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2068)
  store i32 4, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2069:                                             ; preds = %206
  %2070 = load ptr, ptr %47, align 8, !tbaa !43
  %2071 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2070)
  %2072 = load ptr, ptr %0, align 8, !tbaa !17
  %2073 = getelementptr inbounds i8, ptr %2072, i64 200
  %2074 = load ptr, ptr %2073, align 8
  call void %2074(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.133, i1 noundef zeroext %2071)
  %2075 = load ptr, ptr %47, align 8, !tbaa !43
  %2076 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2075)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2076)
  store i32 5, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2077:                                             ; preds = %206
  %2078 = load ptr, ptr %47, align 8, !tbaa !43
  %2079 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2078)
  %2080 = load ptr, ptr %0, align 8, !tbaa !17
  %2081 = getelementptr inbounds i8, ptr %2080, i64 176
  %2082 = load ptr, ptr %2081, align 8
  call void %2082(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.134, i1 noundef zeroext %2079)
  %2083 = load ptr, ptr %47, align 8, !tbaa !43
  %2084 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2083)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2084)
  store i32 6, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2085:                                             ; preds = %206
  %2086 = load ptr, ptr %47, align 8, !tbaa !43
  %2087 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2086)
  %2088 = load ptr, ptr %0, align 8, !tbaa !17
  %2089 = getelementptr inbounds i8, ptr %2088, i64 176
  %2090 = load ptr, ptr %2089, align 8
  call void %2090(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.135, i1 noundef zeroext %2087)
  %2091 = load ptr, ptr %47, align 8, !tbaa !43
  %2092 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2091)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2092)
  store i32 7, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2093:                                             ; preds = %206
  %2094 = load ptr, ptr %47, align 8, !tbaa !43
  %2095 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2094)
  %2096 = load ptr, ptr %0, align 8, !tbaa !17
  %2097 = getelementptr inbounds i8, ptr %2096, i64 256
  %2098 = load ptr, ptr %2097, align 8
  call void %2098(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.136, i1 noundef zeroext %2095)
  %2099 = load ptr, ptr %47, align 8, !tbaa !43
  %2100 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2099)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2100)
  store i32 8, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2101:                                             ; preds = %206
  %2102 = load ptr, ptr %47, align 8, !tbaa !43
  %2103 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2102)
  %2104 = load ptr, ptr %0, align 8, !tbaa !17
  %2105 = getelementptr inbounds i8, ptr %2104, i64 256
  %2106 = load ptr, ptr %2105, align 8
  call void %2106(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.137, i1 noundef zeroext %2103)
  %2107 = load ptr, ptr %47, align 8, !tbaa !43
  %2108 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2107)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2108)
  store i32 9, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2109:                                             ; preds = %206
  %2110 = load ptr, ptr %47, align 8, !tbaa !43
  %2111 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2110)
  %2112 = load ptr, ptr %0, align 8, !tbaa !17
  %2113 = getelementptr inbounds i8, ptr %2112, i64 232
  %2114 = load ptr, ptr %2113, align 8
  call void %2114(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.138, i1 noundef zeroext %2111)
  %2115 = load ptr, ptr %47, align 8, !tbaa !43
  %2116 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2115)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2116)
  store i32 10, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2117:                                             ; preds = %206
  %2118 = load ptr, ptr %47, align 8, !tbaa !43
  %2119 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2118)
  %2120 = load ptr, ptr %0, align 8, !tbaa !17
  %2121 = getelementptr inbounds i8, ptr %2120, i64 232
  %2122 = load ptr, ptr %2121, align 8
  call void %2122(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.139, i1 noundef zeroext %2119)
  %2123 = load ptr, ptr %47, align 8, !tbaa !43
  %2124 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2123)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2124)
  store i32 11, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2125:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.140)
  %2126 = load ptr, ptr %47, align 8, !tbaa !43
  %2127 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2126)
  br i1 %2127, label %2132, label %2128

2128:                                             ; preds = %2125
  %2129 = load ptr, ptr %0, align 8, !tbaa !17
  %2130 = getelementptr inbounds i8, ptr %2129, i64 136
  %2131 = load ptr, ptr %2130, align 8
  call void %2131(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.140)
  br label %2132

2132:                                             ; preds = %2128, %2125
  %2133 = load ptr, ptr %47, align 8, !tbaa !43
  %2134 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2133)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2134)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2135:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.140)
  %2136 = load ptr, ptr %47, align 8, !tbaa !43
  %2137 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2136)
  br i1 %2137, label %2142, label %2138

2138:                                             ; preds = %2135
  %2139 = load ptr, ptr %0, align 8, !tbaa !17
  %2140 = getelementptr inbounds i8, ptr %2139, i64 136
  %2141 = load ptr, ptr %2140, align 8
  call void %2141(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.140)
  br label %2142

2142:                                             ; preds = %2138, %2135
  %2143 = load ptr, ptr %47, align 8, !tbaa !43
  %2144 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2143)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2144)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2145:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.140)
  %2146 = load ptr, ptr %47, align 8, !tbaa !43
  %2147 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2146)
  br i1 %2147, label %2152, label %2148

2148:                                             ; preds = %2145
  %2149 = load ptr, ptr %0, align 8, !tbaa !17
  %2150 = getelementptr inbounds i8, ptr %2149, i64 136
  %2151 = load ptr, ptr %2150, align 8
  call void %2151(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.140)
  br label %2152

2152:                                             ; preds = %2148, %2145
  %2153 = load ptr, ptr %47, align 8, !tbaa !43
  %2154 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2153)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2154)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2155:                                             ; preds = %206
  %2156 = load ptr, ptr %47, align 8, !tbaa !43
  %2157 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2156)
  %2158 = load ptr, ptr %0, align 8, !tbaa !17
  %2159 = getelementptr inbounds i8, ptr %2158, i64 152
  %2160 = load ptr, ptr %2159, align 8
  call void %2160(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.141, i1 noundef zeroext %2157)
  %2161 = load ptr, ptr %47, align 8, !tbaa !43
  %2162 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2161)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2162)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2163:                                             ; preds = %206
  %2164 = load ptr, ptr %47, align 8, !tbaa !43
  %2165 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2164)
  %2166 = load ptr, ptr %0, align 8, !tbaa !17
  %2167 = getelementptr inbounds i8, ptr %2166, i64 152
  %2168 = load ptr, ptr %2167, align 8
  call void %2168(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.141, i1 noundef zeroext %2165)
  %2169 = load ptr, ptr %47, align 8, !tbaa !43
  %2170 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2169)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2170)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2171:                                             ; preds = %206
  %2172 = load ptr, ptr %47, align 8, !tbaa !43
  %2173 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2172)
  %2174 = load ptr, ptr %0, align 8, !tbaa !17
  %2175 = getelementptr inbounds i8, ptr %2174, i64 152
  %2176 = load ptr, ptr %2175, align 8
  call void %2176(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.141, i1 noundef zeroext %2173)
  %2177 = load ptr, ptr %47, align 8, !tbaa !43
  %2178 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2177)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2178)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2179:                                             ; preds = %206
  %2180 = load ptr, ptr %47, align 8, !tbaa !43
  %2181 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2180)
  %2182 = load ptr, ptr %0, align 8, !tbaa !17
  %2183 = getelementptr inbounds i8, ptr %2182, i64 264
  %2184 = load ptr, ptr %2183, align 8
  call void %2184(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.142, i1 noundef zeroext %2181)
  %2185 = load ptr, ptr %47, align 8, !tbaa !43
  %2186 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2185)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2186)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2187:                                             ; preds = %206
  %2188 = load ptr, ptr %47, align 8, !tbaa !43
  %2189 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2188)
  %2190 = load ptr, ptr %0, align 8, !tbaa !17
  %2191 = getelementptr inbounds i8, ptr %2190, i64 264
  %2192 = load ptr, ptr %2191, align 8
  call void %2192(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.142, i1 noundef zeroext %2189)
  %2193 = load ptr, ptr %47, align 8, !tbaa !43
  %2194 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2193)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2194)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2195:                                             ; preds = %206
  %2196 = load ptr, ptr %47, align 8, !tbaa !43
  %2197 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2196)
  %2198 = load ptr, ptr %0, align 8, !tbaa !17
  %2199 = getelementptr inbounds i8, ptr %2198, i64 264
  %2200 = load ptr, ptr %2199, align 8
  call void %2200(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.142, i1 noundef zeroext %2197)
  %2201 = load ptr, ptr %47, align 8, !tbaa !43
  %2202 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2201)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2202)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2203:                                             ; preds = %206
  %2204 = load ptr, ptr %47, align 8, !tbaa !43
  %2205 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2204)
  %2206 = load ptr, ptr %0, align 8, !tbaa !17
  %2207 = getelementptr inbounds i8, ptr %2206, i64 272
  %2208 = load ptr, ptr %2207, align 8
  call void %2208(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.143, i1 noundef zeroext %2205)
  %2209 = load ptr, ptr %47, align 8, !tbaa !43
  %2210 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2209)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2210)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2211:                                             ; preds = %206
  %2212 = load ptr, ptr %47, align 8, !tbaa !43
  %2213 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2212)
  %2214 = load ptr, ptr %0, align 8, !tbaa !17
  %2215 = getelementptr inbounds i8, ptr %2214, i64 272
  %2216 = load ptr, ptr %2215, align 8
  call void %2216(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.143, i1 noundef zeroext %2213)
  %2217 = load ptr, ptr %47, align 8, !tbaa !43
  %2218 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2217)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2218)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2219:                                             ; preds = %206
  %2220 = load ptr, ptr %47, align 8, !tbaa !43
  %2221 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2220)
  %2222 = load ptr, ptr %0, align 8, !tbaa !17
  %2223 = getelementptr inbounds i8, ptr %2222, i64 272
  %2224 = load ptr, ptr %2223, align 8
  call void %2224(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.143, i1 noundef zeroext %2221)
  %2225 = load ptr, ptr %47, align 8, !tbaa !43
  %2226 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2225)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2226)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2227:                                             ; preds = %206
  %2228 = load ptr, ptr %47, align 8, !tbaa !43
  %2229 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2228)
  %2230 = load ptr, ptr %0, align 8, !tbaa !17
  %2231 = getelementptr inbounds i8, ptr %2230, i64 200
  %2232 = load ptr, ptr %2231, align 8
  call void %2232(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.144, i1 noundef zeroext %2229)
  %2233 = load ptr, ptr %47, align 8, !tbaa !43
  %2234 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2233)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2234)
  store i32 4, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2235:                                             ; preds = %206
  %2236 = load ptr, ptr %47, align 8, !tbaa !43
  %2237 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2236)
  %2238 = load ptr, ptr %0, align 8, !tbaa !17
  %2239 = getelementptr inbounds i8, ptr %2238, i64 200
  %2240 = load ptr, ptr %2239, align 8
  call void %2240(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.144, i1 noundef zeroext %2237)
  %2241 = load ptr, ptr %47, align 8, !tbaa !43
  %2242 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2241)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2242)
  store i32 4, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2243:                                             ; preds = %206
  %2244 = load ptr, ptr %47, align 8, !tbaa !43
  %2245 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2244)
  %2246 = load ptr, ptr %0, align 8, !tbaa !17
  %2247 = getelementptr inbounds i8, ptr %2246, i64 200
  %2248 = load ptr, ptr %2247, align 8
  call void %2248(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.144, i1 noundef zeroext %2245)
  %2249 = load ptr, ptr %47, align 8, !tbaa !43
  %2250 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2249)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2250)
  store i32 4, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2251:                                             ; preds = %206
  %2252 = load ptr, ptr %47, align 8, !tbaa !43
  %2253 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2252)
  %2254 = load ptr, ptr %0, align 8, !tbaa !17
  %2255 = getelementptr inbounds i8, ptr %2254, i64 176
  %2256 = load ptr, ptr %2255, align 8
  call void %2256(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.145, i1 noundef zeroext %2253)
  %2257 = load ptr, ptr %47, align 8, !tbaa !43
  %2258 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2257)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2258)
  store i32 6, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2259:                                             ; preds = %206
  %2260 = load ptr, ptr %47, align 8, !tbaa !43
  %2261 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2260)
  %2262 = load ptr, ptr %0, align 8, !tbaa !17
  %2263 = getelementptr inbounds i8, ptr %2262, i64 176
  %2264 = load ptr, ptr %2263, align 8
  call void %2264(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.145, i1 noundef zeroext %2261)
  %2265 = load ptr, ptr %47, align 8, !tbaa !43
  %2266 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2265)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2266)
  store i32 6, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2267:                                             ; preds = %206
  %2268 = load ptr, ptr %47, align 8, !tbaa !43
  %2269 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2268)
  %2270 = load ptr, ptr %0, align 8, !tbaa !17
  %2271 = getelementptr inbounds i8, ptr %2270, i64 176
  %2272 = load ptr, ptr %2271, align 8
  call void %2272(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.145, i1 noundef zeroext %2269)
  %2273 = load ptr, ptr %47, align 8, !tbaa !43
  %2274 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2273)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2274)
  store i32 6, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2275:                                             ; preds = %206
  %2276 = load ptr, ptr %47, align 8, !tbaa !43
  %2277 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2276)
  %2278 = load ptr, ptr %0, align 8, !tbaa !17
  %2279 = getelementptr inbounds i8, ptr %2278, i64 256
  %2280 = load ptr, ptr %2279, align 8
  call void %2280(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.146, i1 noundef zeroext %2277)
  %2281 = load ptr, ptr %47, align 8, !tbaa !43
  %2282 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2281)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2282)
  store i32 8, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2283:                                             ; preds = %206
  %2284 = load ptr, ptr %47, align 8, !tbaa !43
  %2285 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2284)
  %2286 = load ptr, ptr %0, align 8, !tbaa !17
  %2287 = getelementptr inbounds i8, ptr %2286, i64 256
  %2288 = load ptr, ptr %2287, align 8
  call void %2288(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.146, i1 noundef zeroext %2285)
  %2289 = load ptr, ptr %47, align 8, !tbaa !43
  %2290 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2289)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2290)
  store i32 8, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2291:                                             ; preds = %206
  %2292 = load ptr, ptr %47, align 8, !tbaa !43
  %2293 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2292)
  %2294 = load ptr, ptr %0, align 8, !tbaa !17
  %2295 = getelementptr inbounds i8, ptr %2294, i64 256
  %2296 = load ptr, ptr %2295, align 8
  call void %2296(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.146, i1 noundef zeroext %2293)
  %2297 = load ptr, ptr %47, align 8, !tbaa !43
  %2298 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2297)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2298)
  store i32 8, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2299:                                             ; preds = %206
  %2300 = load ptr, ptr %47, align 8, !tbaa !43
  %2301 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2300)
  %2302 = load ptr, ptr %0, align 8, !tbaa !17
  %2303 = getelementptr inbounds i8, ptr %2302, i64 232
  %2304 = load ptr, ptr %2303, align 8
  call void %2304(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.147, i1 noundef zeroext %2301)
  %2305 = load ptr, ptr %47, align 8, !tbaa !43
  %2306 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2305)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2306)
  store i32 10, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2307:                                             ; preds = %206
  %2308 = load ptr, ptr %47, align 8, !tbaa !43
  %2309 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2308)
  %2310 = load ptr, ptr %0, align 8, !tbaa !17
  %2311 = getelementptr inbounds i8, ptr %2310, i64 232
  %2312 = load ptr, ptr %2311, align 8
  call void %2312(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.147, i1 noundef zeroext %2309)
  %2313 = load ptr, ptr %47, align 8, !tbaa !43
  %2314 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2313)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2314)
  store i32 10, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2315:                                             ; preds = %206
  %2316 = load ptr, ptr %47, align 8, !tbaa !43
  %2317 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2316)
  %2318 = load ptr, ptr %0, align 8, !tbaa !17
  %2319 = getelementptr inbounds i8, ptr %2318, i64 232
  %2320 = load ptr, ptr %2319, align 8
  call void %2320(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.147, i1 noundef zeroext %2317)
  %2321 = load ptr, ptr %47, align 8, !tbaa !43
  %2322 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2321)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2322)
  store i32 10, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2323:                                             ; preds = %206
  %2324 = load ptr, ptr %47, align 8, !tbaa !43
  %2325 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2324)
  %2326 = load ptr, ptr %0, align 8, !tbaa !17
  %2327 = getelementptr inbounds i8, ptr %2326, i64 200
  %2328 = load ptr, ptr %2327, align 8
  call void %2328(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.148, i1 noundef zeroext %2325)
  %2329 = load ptr, ptr %47, align 8, !tbaa !43
  %2330 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2329)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2330)
  store i32 5, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2331:                                             ; preds = %206
  %2332 = load ptr, ptr %47, align 8, !tbaa !43
  %2333 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2332)
  %2334 = load ptr, ptr %0, align 8, !tbaa !17
  %2335 = getelementptr inbounds i8, ptr %2334, i64 200
  %2336 = load ptr, ptr %2335, align 8
  call void %2336(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.148, i1 noundef zeroext %2333)
  %2337 = load ptr, ptr %47, align 8, !tbaa !43
  %2338 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2337)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2338)
  store i32 5, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2339:                                             ; preds = %206
  %2340 = load ptr, ptr %47, align 8, !tbaa !43
  %2341 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2340)
  %2342 = load ptr, ptr %0, align 8, !tbaa !17
  %2343 = getelementptr inbounds i8, ptr %2342, i64 200
  %2344 = load ptr, ptr %2343, align 8
  call void %2344(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.148, i1 noundef zeroext %2341)
  %2345 = load ptr, ptr %47, align 8, !tbaa !43
  %2346 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2345)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2346)
  store i32 5, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2347:                                             ; preds = %206
  %2348 = load ptr, ptr %47, align 8, !tbaa !43
  %2349 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2348)
  %2350 = load ptr, ptr %0, align 8, !tbaa !17
  %2351 = getelementptr inbounds i8, ptr %2350, i64 176
  %2352 = load ptr, ptr %2351, align 8
  call void %2352(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.149, i1 noundef zeroext %2349)
  %2353 = load ptr, ptr %47, align 8, !tbaa !43
  %2354 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2353)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2354)
  store i32 7, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2355:                                             ; preds = %206
  %2356 = load ptr, ptr %47, align 8, !tbaa !43
  %2357 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2356)
  %2358 = load ptr, ptr %0, align 8, !tbaa !17
  %2359 = getelementptr inbounds i8, ptr %2358, i64 176
  %2360 = load ptr, ptr %2359, align 8
  call void %2360(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.149, i1 noundef zeroext %2357)
  %2361 = load ptr, ptr %47, align 8, !tbaa !43
  %2362 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2361)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2362)
  store i32 7, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2363:                                             ; preds = %206
  %2364 = load ptr, ptr %47, align 8, !tbaa !43
  %2365 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2364)
  %2366 = load ptr, ptr %0, align 8, !tbaa !17
  %2367 = getelementptr inbounds i8, ptr %2366, i64 176
  %2368 = load ptr, ptr %2367, align 8
  call void %2368(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.149, i1 noundef zeroext %2365)
  %2369 = load ptr, ptr %47, align 8, !tbaa !43
  %2370 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2369)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2370)
  store i32 7, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2371:                                             ; preds = %206
  %2372 = load ptr, ptr %47, align 8, !tbaa !43
  %2373 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2372)
  %2374 = load ptr, ptr %0, align 8, !tbaa !17
  %2375 = getelementptr inbounds i8, ptr %2374, i64 256
  %2376 = load ptr, ptr %2375, align 8
  call void %2376(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.150, i1 noundef zeroext %2373)
  %2377 = load ptr, ptr %47, align 8, !tbaa !43
  %2378 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2377)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2378)
  store i32 9, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2379:                                             ; preds = %206
  %2380 = load ptr, ptr %47, align 8, !tbaa !43
  %2381 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2380)
  %2382 = load ptr, ptr %0, align 8, !tbaa !17
  %2383 = getelementptr inbounds i8, ptr %2382, i64 256
  %2384 = load ptr, ptr %2383, align 8
  call void %2384(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.150, i1 noundef zeroext %2381)
  %2385 = load ptr, ptr %47, align 8, !tbaa !43
  %2386 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2385)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2386)
  store i32 9, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2387:                                             ; preds = %206
  %2388 = load ptr, ptr %47, align 8, !tbaa !43
  %2389 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2388)
  %2390 = load ptr, ptr %0, align 8, !tbaa !17
  %2391 = getelementptr inbounds i8, ptr %2390, i64 256
  %2392 = load ptr, ptr %2391, align 8
  call void %2392(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.150, i1 noundef zeroext %2389)
  %2393 = load ptr, ptr %47, align 8, !tbaa !43
  %2394 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2393)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2394)
  store i32 9, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2395:                                             ; preds = %206
  %2396 = load ptr, ptr %47, align 8, !tbaa !43
  %2397 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2396)
  %2398 = load ptr, ptr %0, align 8, !tbaa !17
  %2399 = getelementptr inbounds i8, ptr %2398, i64 232
  %2400 = load ptr, ptr %2399, align 8
  call void %2400(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.151, i1 noundef zeroext %2397)
  %2401 = load ptr, ptr %47, align 8, !tbaa !43
  %2402 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2401)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2402)
  store i32 11, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2)
  br label %.thread3331

2403:                                             ; preds = %206
  %2404 = load ptr, ptr %47, align 8, !tbaa !43
  %2405 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2404)
  %2406 = load ptr, ptr %0, align 8, !tbaa !17
  %2407 = getelementptr inbounds i8, ptr %2406, i64 232
  %2408 = load ptr, ptr %2407, align 8
  call void %2408(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.151, i1 noundef zeroext %2405)
  %2409 = load ptr, ptr %47, align 8, !tbaa !43
  %2410 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2409)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2410)
  store i32 11, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3)
  br label %.thread3331

2411:                                             ; preds = %206
  %2412 = load ptr, ptr %47, align 8, !tbaa !43
  %2413 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2412)
  %2414 = load ptr, ptr %0, align 8, !tbaa !17
  %2415 = getelementptr inbounds i8, ptr %2414, i64 232
  %2416 = load ptr, ptr %2415, align 8
  call void %2416(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.151, i1 noundef zeroext %2413)
  %2417 = load ptr, ptr %47, align 8, !tbaa !43
  %2418 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2417)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2418)
  store i32 11, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4)
  br label %.thread3331

2419:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2420 = load ptr, ptr %47, align 8, !tbaa !43
  %2421 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2420)
  br i1 %2421, label %2426, label %2422

2422:                                             ; preds = %2419
  %2423 = load ptr, ptr %0, align 8, !tbaa !17
  %2424 = getelementptr inbounds i8, ptr %2423, i64 136
  %2425 = load ptr, ptr %2424, align 8
  call void %2425(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2426

2426:                                             ; preds = %2422, %2419
  %2427 = load ptr, ptr %47, align 8, !tbaa !43
  %2428 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2427)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2428)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2429:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2430 = load ptr, ptr %47, align 8, !tbaa !43
  %2431 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2430)
  br i1 %2431, label %2436, label %2432

2432:                                             ; preds = %2429
  %2433 = load ptr, ptr %0, align 8, !tbaa !17
  %2434 = getelementptr inbounds i8, ptr %2433, i64 136
  %2435 = load ptr, ptr %2434, align 8
  call void %2435(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2436

2436:                                             ; preds = %2432, %2429
  %2437 = load ptr, ptr %47, align 8, !tbaa !43
  %2438 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2437)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2438)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2439:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2440 = load ptr, ptr %47, align 8, !tbaa !43
  %2441 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2440)
  br i1 %2441, label %2446, label %2442

2442:                                             ; preds = %2439
  %2443 = load ptr, ptr %0, align 8, !tbaa !17
  %2444 = getelementptr inbounds i8, ptr %2443, i64 136
  %2445 = load ptr, ptr %2444, align 8
  call void %2445(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2446

2446:                                             ; preds = %2442, %2439
  %2447 = load ptr, ptr %47, align 8, !tbaa !43
  %2448 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2447)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2448)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2449:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2450 = load ptr, ptr %47, align 8, !tbaa !43
  %2451 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2450)
  br i1 %2451, label %2456, label %2452

2452:                                             ; preds = %2449
  %2453 = load ptr, ptr %0, align 8, !tbaa !17
  %2454 = getelementptr inbounds i8, ptr %2453, i64 136
  %2455 = load ptr, ptr %2454, align 8
  call void %2455(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2456

2456:                                             ; preds = %2452, %2449
  %2457 = load ptr, ptr %47, align 8, !tbaa !43
  %2458 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2457)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2458)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2459:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2460 = load ptr, ptr %47, align 8, !tbaa !43
  %2461 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2460)
  br i1 %2461, label %2466, label %2462

2462:                                             ; preds = %2459
  %2463 = load ptr, ptr %0, align 8, !tbaa !17
  %2464 = getelementptr inbounds i8, ptr %2463, i64 136
  %2465 = load ptr, ptr %2464, align 8
  call void %2465(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2466

2466:                                             ; preds = %2462, %2459
  %2467 = load ptr, ptr %47, align 8, !tbaa !43
  %2468 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2467)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2468)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 3)
  br label %.thread3331

2469:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2470 = load ptr, ptr %47, align 8, !tbaa !43
  %2471 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2470)
  br i1 %2471, label %2476, label %2472

2472:                                             ; preds = %2469
  %2473 = load ptr, ptr %0, align 8, !tbaa !17
  %2474 = getelementptr inbounds i8, ptr %2473, i64 136
  %2475 = load ptr, ptr %2474, align 8
  call void %2475(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2476

2476:                                             ; preds = %2472, %2469
  %2477 = load ptr, ptr %47, align 8, !tbaa !43
  %2478 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2477)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2478)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 4)
  br label %.thread3331

2479:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2480 = load ptr, ptr %47, align 8, !tbaa !43
  %2481 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2480)
  br i1 %2481, label %2486, label %2482

2482:                                             ; preds = %2479
  %2483 = load ptr, ptr %0, align 8, !tbaa !17
  %2484 = getelementptr inbounds i8, ptr %2483, i64 136
  %2485 = load ptr, ptr %2484, align 8
  call void %2485(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2486

2486:                                             ; preds = %2482, %2479
  %2487 = load ptr, ptr %47, align 8, !tbaa !43
  %2488 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2487)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2488)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 2)
  br label %.thread3331

2489:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2490 = load ptr, ptr %47, align 8, !tbaa !43
  %2491 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2490)
  br i1 %2491, label %2496, label %2492

2492:                                             ; preds = %2489
  %2493 = load ptr, ptr %0, align 8, !tbaa !17
  %2494 = getelementptr inbounds i8, ptr %2493, i64 136
  %2495 = load ptr, ptr %2494, align 8
  call void %2495(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2496

2496:                                             ; preds = %2492, %2489
  %2497 = load ptr, ptr %47, align 8, !tbaa !43
  %2498 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2497)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2498)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2499:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2500 = load ptr, ptr %47, align 8, !tbaa !43
  %2501 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2500)
  br i1 %2501, label %2506, label %2502

2502:                                             ; preds = %2499
  %2503 = load ptr, ptr %0, align 8, !tbaa !17
  %2504 = getelementptr inbounds i8, ptr %2503, i64 136
  %2505 = load ptr, ptr %2504, align 8
  call void %2505(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2506

2506:                                             ; preds = %2502, %2499
  %2507 = load ptr, ptr %47, align 8, !tbaa !43
  %2508 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2507)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2508)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 4)
  br label %.thread3331

2509:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2510 = load ptr, ptr %47, align 8, !tbaa !43
  %2511 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2510)
  br i1 %2511, label %2516, label %2512

2512:                                             ; preds = %2509
  %2513 = load ptr, ptr %0, align 8, !tbaa !17
  %2514 = getelementptr inbounds i8, ptr %2513, i64 136
  %2515 = load ptr, ptr %2514, align 8
  call void %2515(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2516

2516:                                             ; preds = %2512, %2509
  %2517 = load ptr, ptr %47, align 8, !tbaa !43
  %2518 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2517)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2518)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 2)
  br label %.thread3331

2519:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2520 = load ptr, ptr %47, align 8, !tbaa !43
  %2521 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2520)
  br i1 %2521, label %2526, label %2522

2522:                                             ; preds = %2519
  %2523 = load ptr, ptr %0, align 8, !tbaa !17
  %2524 = getelementptr inbounds i8, ptr %2523, i64 136
  %2525 = load ptr, ptr %2524, align 8
  call void %2525(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2526

2526:                                             ; preds = %2522, %2519
  %2527 = load ptr, ptr %47, align 8, !tbaa !43
  %2528 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2527)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2528)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 3)
  br label %.thread3331

2529:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 6, ptr noundef nonnull @.str.152)
  %2530 = load ptr, ptr %47, align 8, !tbaa !43
  %2531 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2530)
  br i1 %2531, label %2536, label %2532

2532:                                             ; preds = %2529
  %2533 = load ptr, ptr %0, align 8, !tbaa !17
  %2534 = getelementptr inbounds i8, ptr %2533, i64 136
  %2535 = load ptr, ptr %2534, align 8
  call void %2535(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.152)
  br label %2536

2536:                                             ; preds = %2532, %2529
  %2537 = load ptr, ptr %47, align 8, !tbaa !43
  %2538 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2537)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2538)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2539:                                             ; preds = %206
  %2540 = load ptr, ptr %47, align 8, !tbaa !43
  %2541 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2540)
  %2542 = load ptr, ptr %0, align 8, !tbaa !17
  %2543 = getelementptr inbounds i8, ptr %2542, i64 144
  %2544 = load ptr, ptr %2543, align 8
  call void %2544(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2541)
  %2545 = load ptr, ptr %47, align 8, !tbaa !43
  %2546 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2545)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2546)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2547:                                             ; preds = %206
  %2548 = load ptr, ptr %47, align 8, !tbaa !43
  %2549 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2548)
  %2550 = load ptr, ptr %0, align 8, !tbaa !17
  %2551 = getelementptr inbounds i8, ptr %2550, i64 144
  %2552 = load ptr, ptr %2551, align 8
  call void %2552(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2549)
  %2553 = load ptr, ptr %47, align 8, !tbaa !43
  %2554 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2553)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2554)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2555:                                             ; preds = %206
  %2556 = load ptr, ptr %47, align 8, !tbaa !43
  %2557 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2556)
  %2558 = load ptr, ptr %0, align 8, !tbaa !17
  %2559 = getelementptr inbounds i8, ptr %2558, i64 144
  %2560 = load ptr, ptr %2559, align 8
  call void %2560(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2557)
  %2561 = load ptr, ptr %47, align 8, !tbaa !43
  %2562 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2561)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2562)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2563:                                             ; preds = %206
  %2564 = load ptr, ptr %47, align 8, !tbaa !43
  %2565 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2564)
  %2566 = load ptr, ptr %0, align 8, !tbaa !17
  %2567 = getelementptr inbounds i8, ptr %2566, i64 144
  %2568 = load ptr, ptr %2567, align 8
  call void %2568(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2565)
  %2569 = load ptr, ptr %47, align 8, !tbaa !43
  %2570 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2569)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2570)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2571:                                             ; preds = %206
  %2572 = load ptr, ptr %47, align 8, !tbaa !43
  %2573 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2572)
  %2574 = load ptr, ptr %0, align 8, !tbaa !17
  %2575 = getelementptr inbounds i8, ptr %2574, i64 144
  %2576 = load ptr, ptr %2575, align 8
  call void %2576(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2573)
  %2577 = load ptr, ptr %47, align 8, !tbaa !43
  %2578 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2577)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2578)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 3)
  br label %.thread3331

2579:                                             ; preds = %206
  %2580 = load ptr, ptr %47, align 8, !tbaa !43
  %2581 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2580)
  %2582 = load ptr, ptr %0, align 8, !tbaa !17
  %2583 = getelementptr inbounds i8, ptr %2582, i64 144
  %2584 = load ptr, ptr %2583, align 8
  call void %2584(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2581)
  %2585 = load ptr, ptr %47, align 8, !tbaa !43
  %2586 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2585)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2586)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 4)
  br label %.thread3331

2587:                                             ; preds = %206
  %2588 = load ptr, ptr %47, align 8, !tbaa !43
  %2589 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2588)
  %2590 = load ptr, ptr %0, align 8, !tbaa !17
  %2591 = getelementptr inbounds i8, ptr %2590, i64 144
  %2592 = load ptr, ptr %2591, align 8
  call void %2592(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2589)
  %2593 = load ptr, ptr %47, align 8, !tbaa !43
  %2594 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2593)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2594)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 2)
  br label %.thread3331

2595:                                             ; preds = %206
  %2596 = load ptr, ptr %47, align 8, !tbaa !43
  %2597 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2596)
  %2598 = load ptr, ptr %0, align 8, !tbaa !17
  %2599 = getelementptr inbounds i8, ptr %2598, i64 144
  %2600 = load ptr, ptr %2599, align 8
  call void %2600(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2597)
  %2601 = load ptr, ptr %47, align 8, !tbaa !43
  %2602 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2601)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2602)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2603:                                             ; preds = %206
  %2604 = load ptr, ptr %47, align 8, !tbaa !43
  %2605 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2604)
  %2606 = load ptr, ptr %0, align 8, !tbaa !17
  %2607 = getelementptr inbounds i8, ptr %2606, i64 144
  %2608 = load ptr, ptr %2607, align 8
  call void %2608(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2605)
  %2609 = load ptr, ptr %47, align 8, !tbaa !43
  %2610 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2609)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2610)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 4)
  br label %.thread3331

2611:                                             ; preds = %206
  %2612 = load ptr, ptr %47, align 8, !tbaa !43
  %2613 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2612)
  %2614 = load ptr, ptr %0, align 8, !tbaa !17
  %2615 = getelementptr inbounds i8, ptr %2614, i64 144
  %2616 = load ptr, ptr %2615, align 8
  call void %2616(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2613)
  %2617 = load ptr, ptr %47, align 8, !tbaa !43
  %2618 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2617)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2618)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 2)
  br label %.thread3331

2619:                                             ; preds = %206
  %2620 = load ptr, ptr %47, align 8, !tbaa !43
  %2621 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2620)
  %2622 = load ptr, ptr %0, align 8, !tbaa !17
  %2623 = getelementptr inbounds i8, ptr %2622, i64 144
  %2624 = load ptr, ptr %2623, align 8
  call void %2624(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2621)
  %2625 = load ptr, ptr %47, align 8, !tbaa !43
  %2626 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2625)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2626)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 3)
  br label %.thread3331

2627:                                             ; preds = %206
  %2628 = load ptr, ptr %47, align 8, !tbaa !43
  %2629 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2628)
  %2630 = load ptr, ptr %0, align 8, !tbaa !17
  %2631 = getelementptr inbounds i8, ptr %2630, i64 144
  %2632 = load ptr, ptr %2631, align 8
  call void %2632(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.153, i1 noundef zeroext %2629)
  %2633 = load ptr, ptr %47, align 8, !tbaa !43
  %2634 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2633)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2634)
  store i32 3, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2635:                                             ; preds = %206
  %2636 = load ptr, ptr %47, align 8, !tbaa !43
  %2637 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2636)
  %2638 = load ptr, ptr %0, align 8, !tbaa !17
  %2639 = getelementptr inbounds i8, ptr %2638, i64 264
  %2640 = load ptr, ptr %2639, align 8
  call void %2640(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2637)
  %2641 = load ptr, ptr %47, align 8, !tbaa !43
  %2642 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2641)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2642)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2643:                                             ; preds = %206
  %2644 = load ptr, ptr %47, align 8, !tbaa !43
  %2645 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2644)
  %2646 = load ptr, ptr %0, align 8, !tbaa !17
  %2647 = getelementptr inbounds i8, ptr %2646, i64 264
  %2648 = load ptr, ptr %2647, align 8
  call void %2648(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2645)
  %2649 = load ptr, ptr %47, align 8, !tbaa !43
  %2650 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2649)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2650)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2651:                                             ; preds = %206
  %2652 = load ptr, ptr %47, align 8, !tbaa !43
  %2653 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2652)
  %2654 = load ptr, ptr %0, align 8, !tbaa !17
  %2655 = getelementptr inbounds i8, ptr %2654, i64 264
  %2656 = load ptr, ptr %2655, align 8
  call void %2656(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2653)
  %2657 = load ptr, ptr %47, align 8, !tbaa !43
  %2658 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2657)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2658)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2659:                                             ; preds = %206
  %2660 = load ptr, ptr %47, align 8, !tbaa !43
  %2661 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2660)
  %2662 = load ptr, ptr %0, align 8, !tbaa !17
  %2663 = getelementptr inbounds i8, ptr %2662, i64 264
  %2664 = load ptr, ptr %2663, align 8
  call void %2664(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2661)
  %2665 = load ptr, ptr %47, align 8, !tbaa !43
  %2666 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2665)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2666)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2667:                                             ; preds = %206
  %2668 = load ptr, ptr %47, align 8, !tbaa !43
  %2669 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2668)
  %2670 = load ptr, ptr %0, align 8, !tbaa !17
  %2671 = getelementptr inbounds i8, ptr %2670, i64 264
  %2672 = load ptr, ptr %2671, align 8
  call void %2672(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2669)
  %2673 = load ptr, ptr %47, align 8, !tbaa !43
  %2674 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2673)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2674)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 3)
  br label %.thread3331

2675:                                             ; preds = %206
  %2676 = load ptr, ptr %47, align 8, !tbaa !43
  %2677 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2676)
  %2678 = load ptr, ptr %0, align 8, !tbaa !17
  %2679 = getelementptr inbounds i8, ptr %2678, i64 264
  %2680 = load ptr, ptr %2679, align 8
  call void %2680(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2677)
  %2681 = load ptr, ptr %47, align 8, !tbaa !43
  %2682 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2681)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2682)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 4)
  br label %.thread3331

2683:                                             ; preds = %206
  %2684 = load ptr, ptr %47, align 8, !tbaa !43
  %2685 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2684)
  %2686 = load ptr, ptr %0, align 8, !tbaa !17
  %2687 = getelementptr inbounds i8, ptr %2686, i64 264
  %2688 = load ptr, ptr %2687, align 8
  call void %2688(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2685)
  %2689 = load ptr, ptr %47, align 8, !tbaa !43
  %2690 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2689)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2690)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 2)
  br label %.thread3331

2691:                                             ; preds = %206
  %2692 = load ptr, ptr %47, align 8, !tbaa !43
  %2693 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2692)
  %2694 = load ptr, ptr %0, align 8, !tbaa !17
  %2695 = getelementptr inbounds i8, ptr %2694, i64 264
  %2696 = load ptr, ptr %2695, align 8
  call void %2696(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2693)
  %2697 = load ptr, ptr %47, align 8, !tbaa !43
  %2698 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2697)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2698)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2699:                                             ; preds = %206
  %2700 = load ptr, ptr %47, align 8, !tbaa !43
  %2701 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2700)
  %2702 = load ptr, ptr %0, align 8, !tbaa !17
  %2703 = getelementptr inbounds i8, ptr %2702, i64 264
  %2704 = load ptr, ptr %2703, align 8
  call void %2704(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2701)
  %2705 = load ptr, ptr %47, align 8, !tbaa !43
  %2706 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2705)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2706)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 4)
  br label %.thread3331

2707:                                             ; preds = %206
  %2708 = load ptr, ptr %47, align 8, !tbaa !43
  %2709 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2708)
  %2710 = load ptr, ptr %0, align 8, !tbaa !17
  %2711 = getelementptr inbounds i8, ptr %2710, i64 264
  %2712 = load ptr, ptr %2711, align 8
  call void %2712(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2709)
  %2713 = load ptr, ptr %47, align 8, !tbaa !43
  %2714 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2713)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2714)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 2)
  br label %.thread3331

2715:                                             ; preds = %206
  %2716 = load ptr, ptr %47, align 8, !tbaa !43
  %2717 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2716)
  %2718 = load ptr, ptr %0, align 8, !tbaa !17
  %2719 = getelementptr inbounds i8, ptr %2718, i64 264
  %2720 = load ptr, ptr %2719, align 8
  call void %2720(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2717)
  %2721 = load ptr, ptr %47, align 8, !tbaa !43
  %2722 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2721)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2722)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 3)
  br label %.thread3331

2723:                                             ; preds = %206
  %2724 = load ptr, ptr %47, align 8, !tbaa !43
  %2725 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2724)
  %2726 = load ptr, ptr %0, align 8, !tbaa !17
  %2727 = getelementptr inbounds i8, ptr %2726, i64 264
  %2728 = load ptr, ptr %2727, align 8
  call void %2728(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.154, i1 noundef zeroext %2725)
  %2729 = load ptr, ptr %47, align 8, !tbaa !43
  %2730 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2729)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2730)
  store i32 1, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2731:                                             ; preds = %206
  %2732 = load ptr, ptr %47, align 8, !tbaa !43
  %2733 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2732)
  %2734 = load ptr, ptr %0, align 8, !tbaa !17
  %2735 = getelementptr inbounds i8, ptr %2734, i64 272
  %2736 = load ptr, ptr %2735, align 8
  call void %2736(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2733)
  %2737 = load ptr, ptr %47, align 8, !tbaa !43
  %2738 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2737)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2738)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2739:                                             ; preds = %206
  %2740 = load ptr, ptr %47, align 8, !tbaa !43
  %2741 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2740)
  %2742 = load ptr, ptr %0, align 8, !tbaa !17
  %2743 = getelementptr inbounds i8, ptr %2742, i64 272
  %2744 = load ptr, ptr %2743, align 8
  call void %2744(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2741)
  %2745 = load ptr, ptr %47, align 8, !tbaa !43
  %2746 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2745)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2746)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2747:                                             ; preds = %206
  %2748 = load ptr, ptr %47, align 8, !tbaa !43
  %2749 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2748)
  %2750 = load ptr, ptr %0, align 8, !tbaa !17
  %2751 = getelementptr inbounds i8, ptr %2750, i64 272
  %2752 = load ptr, ptr %2751, align 8
  call void %2752(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2749)
  %2753 = load ptr, ptr %47, align 8, !tbaa !43
  %2754 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2753)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2754)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2755:                                             ; preds = %206
  %2756 = load ptr, ptr %47, align 8, !tbaa !43
  %2757 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2756)
  %2758 = load ptr, ptr %0, align 8, !tbaa !17
  %2759 = getelementptr inbounds i8, ptr %2758, i64 272
  %2760 = load ptr, ptr %2759, align 8
  call void %2760(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2757)
  %2761 = load ptr, ptr %47, align 8, !tbaa !43
  %2762 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2761)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2762)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 2)
  br label %.thread3331

2763:                                             ; preds = %206
  %2764 = load ptr, ptr %47, align 8, !tbaa !43
  %2765 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2764)
  %2766 = load ptr, ptr %0, align 8, !tbaa !17
  %2767 = getelementptr inbounds i8, ptr %2766, i64 272
  %2768 = load ptr, ptr %2767, align 8
  call void %2768(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2765)
  %2769 = load ptr, ptr %47, align 8, !tbaa !43
  %2770 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2769)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2770)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 3)
  br label %.thread3331

2771:                                             ; preds = %206
  %2772 = load ptr, ptr %47, align 8, !tbaa !43
  %2773 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2772)
  %2774 = load ptr, ptr %0, align 8, !tbaa !17
  %2775 = getelementptr inbounds i8, ptr %2774, i64 272
  %2776 = load ptr, ptr %2775, align 8
  call void %2776(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2773)
  %2777 = load ptr, ptr %47, align 8, !tbaa !43
  %2778 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2777)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2778)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 2, i32 noundef 4)
  br label %.thread3331

2779:                                             ; preds = %206
  %2780 = load ptr, ptr %47, align 8, !tbaa !43
  %2781 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2780)
  %2782 = load ptr, ptr %0, align 8, !tbaa !17
  %2783 = getelementptr inbounds i8, ptr %2782, i64 272
  %2784 = load ptr, ptr %2783, align 8
  call void %2784(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2781)
  %2785 = load ptr, ptr %47, align 8, !tbaa !43
  %2786 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2785)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2786)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 2)
  br label %.thread3331

2787:                                             ; preds = %206
  %2788 = load ptr, ptr %47, align 8, !tbaa !43
  %2789 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2788)
  %2790 = load ptr, ptr %0, align 8, !tbaa !17
  %2791 = getelementptr inbounds i8, ptr %2790, i64 272
  %2792 = load ptr, ptr %2791, align 8
  call void %2792(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2789)
  %2793 = load ptr, ptr %47, align 8, !tbaa !43
  %2794 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2793)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2794)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 3)
  br label %.thread3331

2795:                                             ; preds = %206
  %2796 = load ptr, ptr %47, align 8, !tbaa !43
  %2797 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2796)
  %2798 = load ptr, ptr %0, align 8, !tbaa !17
  %2799 = getelementptr inbounds i8, ptr %2798, i64 272
  %2800 = load ptr, ptr %2799, align 8
  call void %2800(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2797)
  %2801 = load ptr, ptr %47, align 8, !tbaa !43
  %2802 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2801)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2802)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 3, i32 noundef 4)
  br label %.thread3331

2803:                                             ; preds = %206
  %2804 = load ptr, ptr %47, align 8, !tbaa !43
  %2805 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2804)
  %2806 = load ptr, ptr %0, align 8, !tbaa !17
  %2807 = getelementptr inbounds i8, ptr %2806, i64 272
  %2808 = load ptr, ptr %2807, align 8
  call void %2808(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2805)
  %2809 = load ptr, ptr %47, align 8, !tbaa !43
  %2810 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2809)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2810)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 2)
  br label %.thread3331

2811:                                             ; preds = %206
  %2812 = load ptr, ptr %47, align 8, !tbaa !43
  %2813 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2812)
  %2814 = load ptr, ptr %0, align 8, !tbaa !17
  %2815 = getelementptr inbounds i8, ptr %2814, i64 272
  %2816 = load ptr, ptr %2815, align 8
  call void %2816(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2813)
  %2817 = load ptr, ptr %47, align 8, !tbaa !43
  %2818 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2817)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2818)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 3)
  br label %.thread3331

2819:                                             ; preds = %206
  %2820 = load ptr, ptr %47, align 8, !tbaa !43
  %2821 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2820)
  %2822 = load ptr, ptr %0, align 8, !tbaa !17
  %2823 = getelementptr inbounds i8, ptr %2822, i64 272
  %2824 = load ptr, ptr %2823, align 8
  call void %2824(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.155, i1 noundef zeroext %2821)
  %2825 = load ptr, ptr %47, align 8, !tbaa !43
  %2826 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2825)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2826)
  store i32 2, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232) %46, i32 noundef 4, i32 noundef 4)
  br label %.thread3331

2827:                                             ; preds = %206
  %2828 = load ptr, ptr %47, align 8, !tbaa !43
  %2829 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2828)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2829)
  store i32 17, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2830:                                             ; preds = %206
  %2831 = load ptr, ptr %47, align 8, !tbaa !43
  %2832 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2831)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2832)
  store i32 17, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2833:                                             ; preds = %206
  %2834 = load ptr, ptr %47, align 8, !tbaa !43
  %2835 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2834)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2835)
  store i32 19, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2836:                                             ; preds = %206
  %2837 = load ptr, ptr %0, align 8, !tbaa !17
  %2838 = getelementptr inbounds i8, ptr %2837, i64 304
  %2839 = load ptr, ptr %2838, align 8
  call void %2839(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.156)
  %2840 = load ptr, ptr %47, align 8, !tbaa !43
  %2841 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2840)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2841)
  store i32 13, ptr %46, align 8, !tbaa !6
  br label %.thread3331

2842:                                             ; preds = %206
  %2843 = load ptr, ptr %47, align 8, !tbaa !43
  %2844 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2843)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2844)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2845:                                             ; preds = %206
  %2846 = load ptr, ptr %47, align 8, !tbaa !43
  %2847 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2846)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2847)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2848:                                             ; preds = %206
  %2849 = load ptr, ptr %47, align 8, !tbaa !43
  %2850 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2849)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2850)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2851:                                             ; preds = %206
  %2852 = load ptr, ptr %47, align 8, !tbaa !43
  %2853 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2852)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2853)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2854:                                             ; preds = %206
  %2855 = load ptr, ptr %47, align 8, !tbaa !43
  %2856 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2855)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2856)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2857:                                             ; preds = %206
  %2858 = load ptr, ptr %47, align 8, !tbaa !43
  %2859 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2858)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2859)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2860:                                             ; preds = %206
  %2861 = load ptr, ptr %47, align 8, !tbaa !43
  %2862 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2861)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2862)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2863:                                             ; preds = %206
  %2864 = load ptr, ptr %47, align 8, !tbaa !43
  %2865 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2864)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2865)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2866:                                             ; preds = %206
  %2867 = load ptr, ptr %47, align 8, !tbaa !43
  %2868 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2867)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2868)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2869:                                             ; preds = %206
  %2870 = load ptr, ptr %47, align 8, !tbaa !43
  %2871 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2870)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2871)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2872:                                             ; preds = %206
  %2873 = load ptr, ptr %47, align 8, !tbaa !43
  %2874 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2873)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2874)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2875:                                             ; preds = %206
  %2876 = load ptr, ptr %47, align 8, !tbaa !43
  %2877 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2876)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2877)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2878:                                             ; preds = %206
  %2879 = load ptr, ptr %47, align 8, !tbaa !43
  %2880 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2879)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2880)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2881:                                             ; preds = %206
  %2882 = load ptr, ptr %47, align 8, !tbaa !43
  %2883 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2882)
  %2884 = load ptr, ptr %0, align 8, !tbaa !17
  %2885 = getelementptr inbounds i8, ptr %2884, i64 224
  %2886 = load ptr, ptr %2885, align 8
  call void %2886(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2883)
  %2887 = load ptr, ptr %47, align 8, !tbaa !43
  %2888 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2887)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2888)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2889:                                             ; preds = %206
  %2890 = load ptr, ptr %47, align 8, !tbaa !43
  %2891 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2890)
  %2892 = load ptr, ptr %0, align 8, !tbaa !17
  %2893 = getelementptr inbounds i8, ptr %2892, i64 224
  %2894 = load ptr, ptr %2893, align 8
  call void %2894(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2891)
  %2895 = load ptr, ptr %47, align 8, !tbaa !43
  %2896 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2895)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2896)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2897:                                             ; preds = %206
  %2898 = load ptr, ptr %47, align 8, !tbaa !43
  %2899 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2898)
  %2900 = load ptr, ptr %0, align 8, !tbaa !17
  %2901 = getelementptr inbounds i8, ptr %2900, i64 224
  %2902 = load ptr, ptr %2901, align 8
  call void %2902(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2899)
  %2903 = load ptr, ptr %47, align 8, !tbaa !43
  %2904 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2903)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2904)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2905:                                             ; preds = %206
  %2906 = load ptr, ptr %47, align 8, !tbaa !43
  %2907 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2906)
  %2908 = load ptr, ptr %0, align 8, !tbaa !17
  %2909 = getelementptr inbounds i8, ptr %2908, i64 224
  %2910 = load ptr, ptr %2909, align 8
  call void %2910(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2907)
  %2911 = load ptr, ptr %47, align 8, !tbaa !43
  %2912 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2911)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2912)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2913:                                             ; preds = %206
  %2914 = load ptr, ptr %47, align 8, !tbaa !43
  %2915 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2914)
  %2916 = load ptr, ptr %0, align 8, !tbaa !17
  %2917 = getelementptr inbounds i8, ptr %2916, i64 224
  %2918 = load ptr, ptr %2917, align 8
  call void %2918(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2915)
  %2919 = load ptr, ptr %47, align 8, !tbaa !43
  %2920 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2919)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2920)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2921:                                             ; preds = %206
  %2922 = load ptr, ptr %47, align 8, !tbaa !43
  %2923 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2922)
  %2924 = load ptr, ptr %0, align 8, !tbaa !17
  %2925 = getelementptr inbounds i8, ptr %2924, i64 224
  %2926 = load ptr, ptr %2925, align 8
  call void %2926(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2923)
  %2927 = load ptr, ptr %47, align 8, !tbaa !43
  %2928 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2927)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2928)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2929:                                             ; preds = %206
  %2930 = load ptr, ptr %47, align 8, !tbaa !43
  %2931 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2930)
  %2932 = load ptr, ptr %0, align 8, !tbaa !17
  %2933 = getelementptr inbounds i8, ptr %2932, i64 224
  %2934 = load ptr, ptr %2933, align 8
  call void %2934(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2931)
  %2935 = load ptr, ptr %47, align 8, !tbaa !43
  %2936 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2935)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2936)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2937:                                             ; preds = %206
  %2938 = load ptr, ptr %47, align 8, !tbaa !43
  %2939 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2938)
  %2940 = load ptr, ptr %0, align 8, !tbaa !17
  %2941 = getelementptr inbounds i8, ptr %2940, i64 224
  %2942 = load ptr, ptr %2941, align 8
  call void %2942(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2939)
  %2943 = load ptr, ptr %47, align 8, !tbaa !43
  %2944 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2943)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2944)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2945:                                             ; preds = %206
  %2946 = load ptr, ptr %47, align 8, !tbaa !43
  %2947 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2946)
  %2948 = load ptr, ptr %0, align 8, !tbaa !17
  %2949 = getelementptr inbounds i8, ptr %2948, i64 224
  %2950 = load ptr, ptr %2949, align 8
  call void %2950(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2947)
  %2951 = load ptr, ptr %47, align 8, !tbaa !43
  %2952 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2951)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2952)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2953:                                             ; preds = %206
  %2954 = load ptr, ptr %47, align 8, !tbaa !43
  %2955 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2954)
  %2956 = load ptr, ptr %0, align 8, !tbaa !17
  %2957 = getelementptr inbounds i8, ptr %2956, i64 224
  %2958 = load ptr, ptr %2957, align 8
  call void %2958(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2955)
  %2959 = load ptr, ptr %47, align 8, !tbaa !43
  %2960 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2959)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2960)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2961:                                             ; preds = %206
  %2962 = load ptr, ptr %47, align 8, !tbaa !43
  %2963 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2962)
  %2964 = load ptr, ptr %0, align 8, !tbaa !17
  %2965 = getelementptr inbounds i8, ptr %2964, i64 224
  %2966 = load ptr, ptr %2965, align 8
  call void %2966(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2963)
  %2967 = load ptr, ptr %47, align 8, !tbaa !43
  %2968 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2967)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2968)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2969:                                             ; preds = %206
  %2970 = load ptr, ptr %47, align 8, !tbaa !43
  %2971 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2970)
  %2972 = load ptr, ptr %0, align 8, !tbaa !17
  %2973 = getelementptr inbounds i8, ptr %2972, i64 224
  %2974 = load ptr, ptr %2973, align 8
  call void %2974(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2971)
  %2975 = load ptr, ptr %47, align 8, !tbaa !43
  %2976 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2975)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2976)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2977:                                             ; preds = %206
  %2978 = load ptr, ptr %47, align 8, !tbaa !43
  %2979 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2978)
  %2980 = load ptr, ptr %0, align 8, !tbaa !17
  %2981 = getelementptr inbounds i8, ptr %2980, i64 224
  %2982 = load ptr, ptr %2981, align 8
  call void %2982(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %2979)
  %2983 = load ptr, ptr %47, align 8, !tbaa !43
  %2984 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2983)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2984)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

2985:                                             ; preds = %206
  %2986 = load ptr, ptr %47, align 8, !tbaa !43
  %2987 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2986)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2987)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2988:                                             ; preds = %206
  %2989 = load ptr, ptr %47, align 8, !tbaa !43
  %2990 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2989)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2990)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2991:                                             ; preds = %206
  %2992 = load ptr, ptr %47, align 8, !tbaa !43
  %2993 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2992)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2993)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2994:                                             ; preds = %206
  %2995 = load ptr, ptr %47, align 8, !tbaa !43
  %2996 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2995)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2996)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

2997:                                             ; preds = %206
  %2998 = load ptr, ptr %47, align 8, !tbaa !43
  %2999 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %2998)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %2999)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3000:                                             ; preds = %206
  %3001 = load ptr, ptr %47, align 8, !tbaa !43
  %3002 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3001)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3002)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3003:                                             ; preds = %206
  %3004 = load ptr, ptr %47, align 8, !tbaa !43
  %3005 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3004)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3005)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3006:                                             ; preds = %206
  %3007 = load ptr, ptr %47, align 8, !tbaa !43
  %3008 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3007)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3008)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3009:                                             ; preds = %206
  %3010 = load ptr, ptr %47, align 8, !tbaa !43
  %3011 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3010)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3011)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3012:                                             ; preds = %206
  %3013 = load ptr, ptr %47, align 8, !tbaa !43
  %3014 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3013)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3014)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3015:                                             ; preds = %206
  %3016 = load ptr, ptr %47, align 8, !tbaa !43
  %3017 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3016)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3017)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3018:                                             ; preds = %206
  %3019 = load ptr, ptr %47, align 8, !tbaa !43
  %3020 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3019)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3020)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3021:                                             ; preds = %206
  %3022 = load ptr, ptr %47, align 8, !tbaa !43
  %3023 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3022)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3023)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3024:                                             ; preds = %206
  %3025 = load ptr, ptr %47, align 8, !tbaa !43
  %3026 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3025)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3026)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3027:                                             ; preds = %206
  %3028 = load ptr, ptr %47, align 8, !tbaa !43
  %3029 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3028)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3029)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3030:                                             ; preds = %206
  %3031 = load ptr, ptr %47, align 8, !tbaa !43
  %3032 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3031)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3032)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3033:                                             ; preds = %206
  %3034 = load ptr, ptr %47, align 8, !tbaa !43
  %3035 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3034)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3035)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3036:                                             ; preds = %206
  %3037 = load ptr, ptr %47, align 8, !tbaa !43
  %3038 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3037)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3038)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3039:                                             ; preds = %206
  %3040 = load ptr, ptr %47, align 8, !tbaa !43
  %3041 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3040)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3041)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3042:                                             ; preds = %206
  %3043 = load ptr, ptr %47, align 8, !tbaa !43
  %3044 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3043)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3044)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3045:                                             ; preds = %206
  %3046 = load ptr, ptr %47, align 8, !tbaa !43
  %3047 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3046)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3047)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3048:                                             ; preds = %206
  %3049 = load ptr, ptr %47, align 8, !tbaa !43
  %3050 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3049)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3050)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3051:                                             ; preds = %206
  %3052 = load ptr, ptr %47, align 8, !tbaa !43
  %3053 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3052)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3053)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3054:                                             ; preds = %206
  %3055 = load ptr, ptr %47, align 8, !tbaa !43
  %3056 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3055)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3056)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3057:                                             ; preds = %206
  %3058 = load ptr, ptr %47, align 8, !tbaa !43
  %3059 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3058)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3059)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3060:                                             ; preds = %206
  %3061 = load ptr, ptr %47, align 8, !tbaa !43
  %3062 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3061)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3062)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3063:                                             ; preds = %206
  %3064 = load ptr, ptr %47, align 8, !tbaa !43
  %3065 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3064)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3065)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3066:                                             ; preds = %206
  %3067 = load ptr, ptr %47, align 8, !tbaa !43
  %3068 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3067)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3068)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3069:                                             ; preds = %206
  %3070 = load ptr, ptr %47, align 8, !tbaa !43
  %3071 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3070)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3071)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3072:                                             ; preds = %206
  %3073 = load ptr, ptr %47, align 8, !tbaa !43
  %3074 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3073)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3074)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler14setPureSamplerEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i1 noundef zeroext false)
  br label %.thread3331

3075:                                             ; preds = %206
  %3076 = load ptr, ptr %47, align 8, !tbaa !43
  %3077 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3076)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3077)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler14setPureSamplerEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i1 noundef zeroext true)
  br label %.thread3331

3078:                                             ; preds = %206
  %3079 = load ptr, ptr %47, align 8, !tbaa !43
  %3080 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3079)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3080)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3081:                                             ; preds = %206
  %3082 = load ptr, ptr %47, align 8, !tbaa !43
  %3083 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3082)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3083)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

3084:                                             ; preds = %206
  %3085 = load ptr, ptr %47, align 8, !tbaa !43
  %3086 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3085)
  %3087 = load ptr, ptr %0, align 8, !tbaa !17
  %3088 = getelementptr inbounds i8, ptr %3087, i64 224
  %3089 = load ptr, ptr %3088, align 8
  call void %3089(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %3086)
  %3090 = load ptr, ptr %47, align 8, !tbaa !43
  %3091 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3090)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3091)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3092:                                             ; preds = %206
  %3093 = load ptr, ptr %47, align 8, !tbaa !43
  %3094 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3093)
  %3095 = load ptr, ptr %0, align 8, !tbaa !17
  %3096 = getelementptr inbounds i8, ptr %3095, i64 224
  %3097 = load ptr, ptr %3096, align 8
  call void %3097(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %3094)
  %3098 = load ptr, ptr %47, align 8, !tbaa !43
  %3099 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3098)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3099)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext true, i1 noundef zeroext false)
  br label %.thread3331

3100:                                             ; preds = %206
  %3101 = load ptr, ptr %47, align 8, !tbaa !43
  %3102 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3101)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3102)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3103:                                             ; preds = %206
  %3104 = load ptr, ptr %47, align 8, !tbaa !43
  %3105 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3104)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3105)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3106:                                             ; preds = %206
  %3107 = load ptr, ptr %47, align 8, !tbaa !43
  %3108 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3107)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3108)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3109:                                             ; preds = %206
  %3110 = load ptr, ptr %47, align 8, !tbaa !43
  %3111 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3110)
  %3112 = load ptr, ptr %0, align 8, !tbaa !17
  %3113 = getelementptr inbounds i8, ptr %3112, i64 224
  %3114 = load ptr, ptr %3113, align 8
  call void %3114(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %3111)
  %3115 = load ptr, ptr %47, align 8, !tbaa !43
  %3116 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3115)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3116)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3117:                                             ; preds = %206
  %3118 = load ptr, ptr %47, align 8, !tbaa !43
  %3119 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3118)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3119)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3120:                                             ; preds = %206
  %3121 = load ptr, ptr %47, align 8, !tbaa !43
  %3122 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3121)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3122)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3123:                                             ; preds = %206
  %3124 = load ptr, ptr %47, align 8, !tbaa !43
  %3125 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3124)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3125)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3126:                                             ; preds = %206
  %3127 = load ptr, ptr %47, align 8, !tbaa !43
  %3128 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3127)
  %3129 = load ptr, ptr %0, align 8, !tbaa !17
  %3130 = getelementptr inbounds i8, ptr %3129, i64 224
  %3131 = load ptr, ptr %3130, align 8
  call void %3131(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %3128)
  %3132 = load ptr, ptr %47, align 8, !tbaa !43
  %3133 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3132)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3133)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3134:                                             ; preds = %206
  %3135 = load ptr, ptr %47, align 8, !tbaa !43
  %3136 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3135)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3136)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3137:                                             ; preds = %206
  %3138 = load ptr, ptr %47, align 8, !tbaa !43
  %3139 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3138)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3139)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3140:                                             ; preds = %206
  %3141 = load ptr, ptr %47, align 8, !tbaa !43
  %3142 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3141)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3142)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3143:                                             ; preds = %206
  %3144 = load ptr, ptr %47, align 8, !tbaa !43
  %3145 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3144)
  %3146 = load ptr, ptr %0, align 8, !tbaa !17
  %3147 = getelementptr inbounds i8, ptr %3146, i64 224
  %3148 = load ptr, ptr %3147, align 8
  call void %3148(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.157, i1 noundef zeroext %3145)
  %3149 = load ptr, ptr %47, align 8, !tbaa !43
  %3150 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3149)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3150)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3151:                                             ; preds = %206
  %3152 = load ptr, ptr %47, align 8, !tbaa !43
  %3153 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3152)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3153)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3154:                                             ; preds = %206
  %3155 = load ptr, ptr %47, align 8, !tbaa !43
  %3156 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3155)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3156)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3157:                                             ; preds = %206
  %3158 = load ptr, ptr %47, align 8, !tbaa !43
  %3159 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3158)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3159)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3160:                                             ; preds = %206
  %3161 = load ptr, ptr %47, align 8, !tbaa !43
  %3162 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3161)
  %3163 = load ptr, ptr %0, align 8, !tbaa !17
  %3164 = getelementptr inbounds i8, ptr %3163, i64 224
  %3165 = load ptr, ptr %3164, align 8
  call void %3165(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3162)
  %3166 = load ptr, ptr %47, align 8, !tbaa !43
  %3167 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3166)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3167)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3168:                                             ; preds = %206
  %3169 = load ptr, ptr %47, align 8, !tbaa !43
  %3170 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3169)
  %3171 = load ptr, ptr %0, align 8, !tbaa !17
  %3172 = getelementptr inbounds i8, ptr %3171, i64 224
  %3173 = load ptr, ptr %3172, align 8
  call void %3173(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3170)
  %3174 = load ptr, ptr %47, align 8, !tbaa !43
  %3175 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3174)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3175)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3176:                                             ; preds = %206
  %3177 = load ptr, ptr %47, align 8, !tbaa !43
  %3178 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3177)
  %3179 = load ptr, ptr %0, align 8, !tbaa !17
  %3180 = getelementptr inbounds i8, ptr %3179, i64 224
  %3181 = load ptr, ptr %3180, align 8
  call void %3181(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3178)
  %3182 = load ptr, ptr %47, align 8, !tbaa !43
  %3183 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3182)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3183)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3184:                                             ; preds = %206
  %3185 = load ptr, ptr %47, align 8, !tbaa !43
  %3186 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3185)
  %3187 = load ptr, ptr %0, align 8, !tbaa !17
  %3188 = getelementptr inbounds i8, ptr %3187, i64 224
  %3189 = load ptr, ptr %3188, align 8
  call void %3189(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3186)
  %3190 = load ptr, ptr %47, align 8, !tbaa !43
  %3191 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3190)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3191)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3192:                                             ; preds = %206
  %3193 = load ptr, ptr %47, align 8, !tbaa !43
  %3194 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3193)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3194)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3195:                                             ; preds = %206
  %3196 = load ptr, ptr %47, align 8, !tbaa !43
  %3197 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3196)
  %3198 = load ptr, ptr %0, align 8, !tbaa !17
  %3199 = getelementptr inbounds i8, ptr %3198, i64 224
  %3200 = load ptr, ptr %3199, align 8
  call void %3200(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3197)
  %3201 = load ptr, ptr %47, align 8, !tbaa !43
  %3202 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3201)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3202)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3203:                                             ; preds = %206
  %3204 = load ptr, ptr %47, align 8, !tbaa !43
  %3205 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3204)
  %3206 = load ptr, ptr %0, align 8, !tbaa !17
  %3207 = getelementptr inbounds i8, ptr %3206, i64 224
  %3208 = load ptr, ptr %3207, align 8
  call void %3208(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3205)
  %3209 = load ptr, ptr %47, align 8, !tbaa !43
  %3210 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3209)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3210)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3211:                                             ; preds = %206
  %3212 = load ptr, ptr %47, align 8, !tbaa !43
  %3213 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3212)
  %3214 = load ptr, ptr %0, align 8, !tbaa !17
  %3215 = getelementptr inbounds i8, ptr %3214, i64 224
  %3216 = load ptr, ptr %3215, align 8
  call void %3216(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3213)
  %3217 = load ptr, ptr %47, align 8, !tbaa !43
  %3218 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3217)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3218)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3219:                                             ; preds = %206
  %3220 = load ptr, ptr %47, align 8, !tbaa !43
  %3221 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3220)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3221)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3222:                                             ; preds = %206
  %3223 = load ptr, ptr %47, align 8, !tbaa !43
  %3224 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3223)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3224)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3225:                                             ; preds = %206
  %3226 = load ptr, ptr %47, align 8, !tbaa !43
  %3227 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3226)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3227)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3228:                                             ; preds = %206
  %3229 = load ptr, ptr %47, align 8, !tbaa !43
  %3230 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3229)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3230)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3231:                                             ; preds = %206
  %3232 = load ptr, ptr %47, align 8, !tbaa !43
  %3233 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3232)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3233)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3234:                                             ; preds = %206
  %3235 = load ptr, ptr %47, align 8, !tbaa !43
  %3236 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3235)
  %3237 = load ptr, ptr %0, align 8, !tbaa !17
  %3238 = getelementptr inbounds i8, ptr %3237, i64 224
  %3239 = load ptr, ptr %3238, align 8
  call void %3239(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3236)
  %3240 = load ptr, ptr %47, align 8, !tbaa !43
  %3241 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3240)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3241)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3242:                                             ; preds = %206
  %3243 = load ptr, ptr %47, align 8, !tbaa !43
  %3244 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3243)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3244)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3245:                                             ; preds = %206
  %3246 = load ptr, ptr %47, align 8, !tbaa !43
  %3247 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3246)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3247)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3248:                                             ; preds = %206
  %3249 = load ptr, ptr %47, align 8, !tbaa !43
  %3250 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3249)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3250)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3251:                                             ; preds = %206
  %3252 = load ptr, ptr %47, align 8, !tbaa !43
  %3253 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3252)
  %3254 = load ptr, ptr %0, align 8, !tbaa !17
  %3255 = getelementptr inbounds i8, ptr %3254, i64 224
  %3256 = load ptr, ptr %3255, align 8
  call void %3256(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3253)
  %3257 = load ptr, ptr %47, align 8, !tbaa !43
  %3258 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3257)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3258)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3259:                                             ; preds = %206
  %3260 = load ptr, ptr %47, align 8, !tbaa !43
  %3261 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3260)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3261)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3262:                                             ; preds = %206
  %3263 = load ptr, ptr %47, align 8, !tbaa !43
  %3264 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3263)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3264)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3265:                                             ; preds = %206
  %3266 = load ptr, ptr %47, align 8, !tbaa !43
  %3267 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3266)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3267)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3268:                                             ; preds = %206
  %3269 = load ptr, ptr %47, align 8, !tbaa !43
  %3270 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3269)
  %3271 = load ptr, ptr %0, align 8, !tbaa !17
  %3272 = getelementptr inbounds i8, ptr %3271, i64 224
  %3273 = load ptr, ptr %3272, align 8
  call void %3273(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3270)
  %3274 = load ptr, ptr %47, align 8, !tbaa !43
  %3275 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3274)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3275)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3276:                                             ; preds = %206
  %3277 = load ptr, ptr %47, align 8, !tbaa !43
  %3278 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3277)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3278)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3279:                                             ; preds = %206
  %3280 = load ptr, ptr %47, align 8, !tbaa !43
  %3281 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3280)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3281)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3282:                                             ; preds = %206
  %3283 = load ptr, ptr %47, align 8, !tbaa !43
  %3284 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3283)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3284)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3285:                                             ; preds = %206
  %3286 = load ptr, ptr %47, align 8, !tbaa !43
  %3287 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3286)
  %3288 = load ptr, ptr %0, align 8, !tbaa !17
  %3289 = getelementptr inbounds i8, ptr %3288, i64 224
  %3290 = load ptr, ptr %3289, align 8
  call void %3290(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.158, i1 noundef zeroext %3287)
  %3291 = load ptr, ptr %47, align 8, !tbaa !43
  %3292 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3291)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3292)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3293:                                             ; preds = %206
  %3294 = load ptr, ptr %47, align 8, !tbaa !43
  %3295 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3294)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3295)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3296:                                             ; preds = %206
  %3297 = load ptr, ptr %47, align 8, !tbaa !43
  %3298 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3297)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3298)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3299:                                             ; preds = %206
  %3300 = load ptr, ptr %47, align 8, !tbaa !43
  %3301 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3300)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3301)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3302:                                             ; preds = %206
  %3303 = load ptr, ptr %47, align 8, !tbaa !43
  %3304 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3303)
  %3305 = load ptr, ptr %0, align 8, !tbaa !17
  %3306 = getelementptr inbounds i8, ptr %3305, i64 224
  %3307 = load ptr, ptr %3306, align 8
  call void %3307(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3304)
  %3308 = load ptr, ptr %47, align 8, !tbaa !43
  %3309 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3308)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3309)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3310:                                             ; preds = %206
  %3311 = load ptr, ptr %47, align 8, !tbaa !43
  %3312 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3311)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3312)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3313:                                             ; preds = %206
  %3314 = load ptr, ptr %47, align 8, !tbaa !43
  %3315 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3314)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3315)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3316:                                             ; preds = %206
  %3317 = load ptr, ptr %47, align 8, !tbaa !43
  %3318 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3317)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3318)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3319:                                             ; preds = %206
  %3320 = load ptr, ptr %47, align 8, !tbaa !43
  %3321 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3320)
  %3322 = load ptr, ptr %0, align 8, !tbaa !17
  %3323 = getelementptr inbounds i8, ptr %3322, i64 224
  %3324 = load ptr, ptr %3323, align 8
  call void %3324(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3321)
  %3325 = load ptr, ptr %47, align 8, !tbaa !43
  %3326 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3325)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3326)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3327:                                             ; preds = %206
  %3328 = load ptr, ptr %47, align 8, !tbaa !43
  %3329 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3328)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3329)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3330:                                             ; preds = %206
  %3331 = load ptr, ptr %47, align 8, !tbaa !43
  %3332 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3331)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3332)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3333:                                             ; preds = %206
  %3334 = load ptr, ptr %47, align 8, !tbaa !43
  %3335 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3334)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3335)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3336:                                             ; preds = %206
  %3337 = load ptr, ptr %47, align 8, !tbaa !43
  %3338 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3337)
  %3339 = load ptr, ptr %0, align 8, !tbaa !17
  %3340 = getelementptr inbounds i8, ptr %3339, i64 224
  %3341 = load ptr, ptr %3340, align 8
  call void %3341(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3338)
  %3342 = load ptr, ptr %47, align 8, !tbaa !43
  %3343 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3342)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3343)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3344:                                             ; preds = %206
  %3345 = load ptr, ptr %47, align 8, !tbaa !43
  %3346 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3345)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3346)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3347:                                             ; preds = %206
  %3348 = load ptr, ptr %47, align 8, !tbaa !43
  %3349 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3348)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3349)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3350:                                             ; preds = %206
  %3351 = load ptr, ptr %47, align 8, !tbaa !43
  %3352 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3351)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3352)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3353:                                             ; preds = %206
  %3354 = load ptr, ptr %47, align 8, !tbaa !43
  %3355 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3354)
  %3356 = load ptr, ptr %0, align 8, !tbaa !17
  %3357 = getelementptr inbounds i8, ptr %3356, i64 224
  %3358 = load ptr, ptr %3357, align 8
  call void %3358(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3355)
  %3359 = load ptr, ptr %47, align 8, !tbaa !43
  %3360 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3359)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3360)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3361:                                             ; preds = %206
  %3362 = load ptr, ptr %47, align 8, !tbaa !43
  %3363 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3362)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3363)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3364:                                             ; preds = %206
  %3365 = load ptr, ptr %47, align 8, !tbaa !43
  %3366 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3365)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3366)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3367:                                             ; preds = %206
  %3368 = load ptr, ptr %47, align 8, !tbaa !43
  %3369 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3368)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3369)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3370:                                             ; preds = %206
  %3371 = load ptr, ptr %47, align 8, !tbaa !43
  %3372 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3371)
  %3373 = load ptr, ptr %0, align 8, !tbaa !17
  %3374 = getelementptr inbounds i8, ptr %3373, i64 224
  %3375 = load ptr, ptr %3374, align 8
  call void %3375(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3372)
  %3376 = load ptr, ptr %47, align 8, !tbaa !43
  %3377 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3376)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3377)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3378:                                             ; preds = %206
  %3379 = load ptr, ptr %47, align 8, !tbaa !43
  %3380 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3379)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3380)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3381:                                             ; preds = %206
  %3382 = load ptr, ptr %47, align 8, !tbaa !43
  %3383 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3382)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3383)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3384:                                             ; preds = %206
  %3385 = load ptr, ptr %47, align 8, !tbaa !43
  %3386 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3385)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3386)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3387:                                             ; preds = %206
  %3388 = load ptr, ptr %47, align 8, !tbaa !43
  %3389 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3388)
  %3390 = load ptr, ptr %0, align 8, !tbaa !17
  %3391 = getelementptr inbounds i8, ptr %3390, i64 224
  %3392 = load ptr, ptr %3391, align 8
  call void %3392(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3389)
  %3393 = load ptr, ptr %47, align 8, !tbaa !43
  %3394 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3393)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3394)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3395:                                             ; preds = %206
  %3396 = load ptr, ptr %47, align 8, !tbaa !43
  %3397 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3396)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3397)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3398:                                             ; preds = %206
  %3399 = load ptr, ptr %47, align 8, !tbaa !43
  %3400 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3399)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3400)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3401:                                             ; preds = %206
  %3402 = load ptr, ptr %47, align 8, !tbaa !43
  %3403 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3402)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3403)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3404:                                             ; preds = %206
  %3405 = load ptr, ptr %47, align 8, !tbaa !43
  %3406 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3405)
  %3407 = load ptr, ptr %0, align 8, !tbaa !17
  %3408 = getelementptr inbounds i8, ptr %3407, i64 224
  %3409 = load ptr, ptr %3408, align 8
  call void %3409(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3406)
  %3410 = load ptr, ptr %47, align 8, !tbaa !43
  %3411 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3410)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3411)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3412:                                             ; preds = %206
  %3413 = load ptr, ptr %47, align 8, !tbaa !43
  %3414 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3413)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3414)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3415:                                             ; preds = %206
  %3416 = load ptr, ptr %47, align 8, !tbaa !43
  %3417 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3416)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3417)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3418:                                             ; preds = %206
  %3419 = load ptr, ptr %47, align 8, !tbaa !43
  %3420 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3419)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3420)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3421:                                             ; preds = %206
  %3422 = load ptr, ptr %47, align 8, !tbaa !43
  %3423 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3422)
  %3424 = load ptr, ptr %0, align 8, !tbaa !17
  %3425 = getelementptr inbounds i8, ptr %3424, i64 224
  %3426 = load ptr, ptr %3425, align 8
  call void %3426(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3423)
  %3427 = load ptr, ptr %47, align 8, !tbaa !43
  %3428 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3427)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3428)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3429:                                             ; preds = %206
  %3430 = load ptr, ptr %47, align 8, !tbaa !43
  %3431 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3430)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3431)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3432:                                             ; preds = %206
  %3433 = load ptr, ptr %47, align 8, !tbaa !43
  %3434 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3433)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3434)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3435:                                             ; preds = %206
  %3436 = load ptr, ptr %47, align 8, !tbaa !43
  %3437 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3436)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3437)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3438:                                             ; preds = %206
  %3439 = load ptr, ptr %47, align 8, !tbaa !43
  %3440 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3439)
  %3441 = load ptr, ptr %0, align 8, !tbaa !17
  %3442 = getelementptr inbounds i8, ptr %3441, i64 224
  %3443 = load ptr, ptr %3442, align 8
  call void %3443(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3440)
  %3444 = load ptr, ptr %47, align 8, !tbaa !43
  %3445 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3444)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3445)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3446:                                             ; preds = %206
  %3447 = load ptr, ptr %47, align 8, !tbaa !43
  %3448 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3447)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3448)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3449:                                             ; preds = %206
  %3450 = load ptr, ptr %47, align 8, !tbaa !43
  %3451 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3450)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3451)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3452:                                             ; preds = %206
  %3453 = load ptr, ptr %47, align 8, !tbaa !43
  %3454 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3453)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3454)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3455:                                             ; preds = %206
  %3456 = load ptr, ptr %47, align 8, !tbaa !43
  %3457 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3456)
  %3458 = load ptr, ptr %0, align 8, !tbaa !17
  %3459 = getelementptr inbounds i8, ptr %3458, i64 224
  %3460 = load ptr, ptr %3459, align 8
  call void %3460(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3457)
  %3461 = load ptr, ptr %47, align 8, !tbaa !43
  %3462 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3461)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3462)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3463:                                             ; preds = %206
  %3464 = load ptr, ptr %47, align 8, !tbaa !43
  %3465 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3464)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3465)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3466:                                             ; preds = %206
  %3467 = load ptr, ptr %47, align 8, !tbaa !43
  %3468 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3467)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3468)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3469:                                             ; preds = %206
  %3470 = load ptr, ptr %47, align 8, !tbaa !43
  %3471 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3470)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3471)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3472:                                             ; preds = %206
  %3473 = load ptr, ptr %47, align 8, !tbaa !43
  %3474 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3473)
  %3475 = load ptr, ptr %0, align 8, !tbaa !17
  %3476 = getelementptr inbounds i8, ptr %3475, i64 224
  %3477 = load ptr, ptr %3476, align 8
  call void %3477(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.159, i1 noundef zeroext %3474)
  %3478 = load ptr, ptr %47, align 8, !tbaa !43
  %3479 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3478)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3479)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3480:                                             ; preds = %206
  %3481 = load ptr, ptr %47, align 8, !tbaa !43
  %3482 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3481)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3482)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3483:                                             ; preds = %206
  %3484 = load ptr, ptr %47, align 8, !tbaa !43
  %3485 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3484)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3485)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3486:                                             ; preds = %206
  %3487 = load ptr, ptr %47, align 8, !tbaa !43
  %3488 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3487)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3488)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3489:                                             ; preds = %206
  %3490 = load ptr, ptr %47, align 8, !tbaa !43
  %3491 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3490)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3491)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 1, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3492:                                             ; preds = %206
  %3493 = load ptr, ptr %47, align 8, !tbaa !43
  %3494 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3493)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3494)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3495:                                             ; preds = %206
  %3496 = load ptr, ptr %47, align 8, !tbaa !43
  %3497 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3496)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3497)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3498:                                             ; preds = %206
  %3499 = load ptr, ptr %47, align 8, !tbaa !43
  %3500 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3499)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3500)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3501:                                             ; preds = %206
  %3502 = load ptr, ptr %47, align 8, !tbaa !43
  %3503 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3502)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3503)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 3, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3504:                                             ; preds = %206
  %3505 = load ptr, ptr %47, align 8, !tbaa !43
  %3506 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3505)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3506)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3507:                                             ; preds = %206
  %3508 = load ptr, ptr %47, align 8, !tbaa !43
  %3509 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3508)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3509)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 5, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3510:                                             ; preds = %206
  %3511 = load ptr, ptr %47, align 8, !tbaa !43
  %3512 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3511)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3512)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3513:                                             ; preds = %206
  %3514 = load ptr, ptr %47, align 8, !tbaa !43
  %3515 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3514)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3515)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 4, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3516:                                             ; preds = %206
  %3517 = load ptr, ptr %47, align 8, !tbaa !43
  %3518 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3517)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3518)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3519:                                             ; preds = %206
  %3520 = load ptr, ptr %47, align 8, !tbaa !43
  %3521 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3520)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3521)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 6, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3522:                                             ; preds = %206
  %3523 = load ptr, ptr %47, align 8, !tbaa !43
  %3524 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3523)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3524)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3525:                                             ; preds = %206
  %3526 = load ptr, ptr %47, align 8, !tbaa !43
  %3527 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3526)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3527)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 1, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3528:                                             ; preds = %206
  %3529 = load ptr, ptr %47, align 8, !tbaa !43
  %3530 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3529)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3530)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3531:                                             ; preds = %206
  %3532 = load ptr, ptr %47, align 8, !tbaa !43
  %3533 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3532)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3533)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3534:                                             ; preds = %206
  %3535 = load ptr, ptr %47, align 8, !tbaa !43
  %3536 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3535)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3536)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3537:                                             ; preds = %206
  %3538 = load ptr, ptr %47, align 8, !tbaa !43
  %3539 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3538)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3539)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 4, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext false)
  br label %.thread3331

3540:                                             ; preds = %206
  %3541 = load ptr, ptr %47, align 8, !tbaa !43
  %3542 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3541)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3542)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3543:                                             ; preds = %206
  %3544 = load ptr, ptr %47, align 8, !tbaa !43
  %3545 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3544)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3545)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3546:                                             ; preds = %206
  %3547 = load ptr, ptr %47, align 8, !tbaa !43
  %3548 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3547)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3548)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 10, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3549:                                             ; preds = %206
  %3550 = load ptr, ptr %47, align 8, !tbaa !43
  %3551 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3550)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3551)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 11, i32 noundef 2, i1 noundef zeroext true, i1 noundef zeroext false, i1 noundef zeroext true)
  br label %.thread3331

3552:                                             ; preds = %206
  %3553 = load ptr, ptr %47, align 8, !tbaa !43
  %3554 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3553)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3554)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %3555 = load i32, ptr %72, align 4
  %3556 = or i32 %3555, 536870912
  store i32 %3556, ptr %72, align 4
  br label %.thread3331

3557:                                             ; preds = %206
  %3558 = load ptr, ptr %47, align 8, !tbaa !43
  %3559 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3558)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3559)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i32 noundef 2, i1 noundef zeroext false, i1 noundef zeroext false, i1 noundef zeroext false)
  %3560 = load i32, ptr %72, align 4
  %3561 = or i32 %3560, 1073741824
  store i32 %3561, ptr %72, align 4
  br label %.thread3331

3562:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, ptr noundef nonnull @.str.160)
  %3563 = load ptr, ptr %47, align 8, !tbaa !43
  %3564 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3563)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3564)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i1 noundef zeroext false)
  br label %.thread3331

3565:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, ptr noundef nonnull @.str.160)
  %3566 = load ptr, ptr %47, align 8, !tbaa !43
  %3567 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3566)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3567)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 1, i1 noundef zeroext true)
  br label %.thread3331

3568:                                             ; preds = %206
  %3569 = load ptr, ptr %47, align 8, !tbaa !43
  %3570 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3569)
  %3571 = load ptr, ptr %0, align 8, !tbaa !17
  %3572 = getelementptr inbounds i8, ptr %3571, i64 224
  %3573 = load ptr, ptr %3572, align 8
  call void %3573(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.161, i1 noundef zeroext %3570)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, ptr noundef nonnull @.str.160)
  %3574 = load ptr, ptr %47, align 8, !tbaa !43
  %3575 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3574)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3575)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i1 noundef zeroext false)
  br label %.thread3331

3576:                                             ; preds = %206
  %3577 = load ptr, ptr %47, align 8, !tbaa !43
  %3578 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3577)
  %3579 = load ptr, ptr %0, align 8, !tbaa !17
  %3580 = getelementptr inbounds i8, ptr %3579, i64 224
  %3581 = load ptr, ptr %3580, align 8
  call void %3581(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.161, i1 noundef zeroext %3578)
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, ptr noundef nonnull @.str.160)
  %3582 = load ptr, ptr %47, align 8, !tbaa !43
  %3583 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3582)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3583)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 3, i1 noundef zeroext true)
  br label %.thread3331

3584:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, ptr noundef nonnull @.str.160)
  %3585 = load ptr, ptr %47, align 8, !tbaa !43
  %3586 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3585)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3586)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i1 noundef zeroext false)
  br label %.thread3331

3587:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, ptr noundef nonnull @.str.160)
  %3588 = load ptr, ptr %47, align 8, !tbaa !43
  %3589 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3588)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3589)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 8, i1 noundef zeroext true)
  br label %.thread3331

3590:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, ptr noundef nonnull @.str.160)
  %3591 = load ptr, ptr %47, align 8, !tbaa !43
  %3592 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3591)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3592)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i1 noundef zeroext false)
  br label %.thread3331

3593:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 4, ptr noundef nonnull @.str.160)
  %3594 = load ptr, ptr %47, align 8, !tbaa !43
  %3595 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3594)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3595)
  store i32 14, ptr %46, align 8, !tbaa !6
  call void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4) %72, i32 noundef 9, i1 noundef zeroext true)
  br label %.thread3331

3596:                                             ; preds = %206
  %3597 = load ptr, ptr %47, align 8, !tbaa !43
  %3598 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3597)
  %3599 = load ptr, ptr %0, align 8, !tbaa !17
  %3600 = getelementptr inbounds i8, ptr %3599, i64 280
  %3601 = load ptr, ptr %3600, align 8
  call void %3601(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.162, i1 noundef zeroext %3598)
  %3602 = load ptr, ptr %47, align 8, !tbaa !43
  %3603 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3602)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3603)
  store i32 1, ptr %46, align 8, !tbaa !6
  %3604 = load i16, ptr %71, align 8
  %3605 = or i16 %3604, 4096
  store i16 %3605, ptr %71, align 8
  br label %.thread3331

3606:                                             ; preds = %206
  %3607 = load ptr, ptr %47, align 8, !tbaa !43
  %3608 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3607)
  %3609 = load ptr, ptr %0, align 8, !tbaa !17
  %3610 = getelementptr inbounds i8, ptr %3609, i64 288
  %3611 = load ptr, ptr %3610, align 8
  call void %3611(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.163, i1 noundef zeroext %3608)
  %3612 = load ptr, ptr %47, align 8, !tbaa !43
  %3613 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3612)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3613)
  store i32 8, ptr %46, align 8, !tbaa !6
  %3614 = load i16, ptr %71, align 8
  %3615 = or i16 %3614, 4096
  store i16 %3615, ptr %71, align 8
  br label %.thread3331

3616:                                             ; preds = %206
  %3617 = load ptr, ptr %47, align 8, !tbaa !43
  %3618 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable14atBuiltInLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3617)
  %3619 = load ptr, ptr %0, align 8, !tbaa !17
  %3620 = getelementptr inbounds i8, ptr %3619, i64 288
  %3621 = load ptr, ptr %3620, align 8
  call void %3621(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.164, i1 noundef zeroext %3618)
  %3622 = load ptr, ptr %47, align 8, !tbaa !43
  %3623 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3622)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3623)
  store i32 9, ptr %46, align 8, !tbaa !6
  %3624 = load i16, ptr %71, align 8
  %3625 = or i16 %3624, 4096
  store i16 %3625, ptr %71, align 8
  br label %.thread3331

3626:                                             ; preds = %206
  %3627 = getelementptr inbounds i8, ptr %.33120, i64 48
  %3628 = getelementptr inbounds i8, ptr %.33120, i64 240
  %3629 = load ptr, ptr %0, align 8, !tbaa !17
  %3630 = getelementptr inbounds i8, ptr %3629, i64 40
  %3631 = load ptr, ptr %3630, align 8
  call void %3631(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3628, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL25E_GL_EXT_spirv_intrinsicsE, ptr noundef nonnull @.str.165)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %3627, i64 232, i1 false), !tbaa.struct !132
  br label %.thread3331

3632:                                             ; preds = %206
  %3633 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(232) %3633, i64 232, i1 false), !tbaa.struct !132
  %3634 = load ptr, ptr %47, align 8, !tbaa !43
  %3635 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3634)
  %3636 = zext i1 %3635 to i64
  %3637 = load i64, ptr %49, align 8
  %3638 = and i64 %3637, -64
  %3639 = or disjoint i64 %3638, %3636
  store i64 %3639, ptr %49, align 8
  call void @_ZN7glslang13TParseContext15structTypeCheckERKNS_10TSourceLocERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %70, ptr noundef nonnull align 8 dereferenceable(232) %46)
  br label %.thread3331

3640:                                             ; preds = %206
  %3641 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3642 = load ptr, ptr %3641, align 8, !tbaa !6
  %3643 = load ptr, ptr %3642, align 8, !tbaa !17
  %3644 = getelementptr inbounds i8, ptr %3643, i64 72
  %3645 = load ptr, ptr %3644, align 8
  %3646 = call noundef ptr %3645(ptr noundef nonnull align 8 dereferenceable(33) %3642)
  %.not3252 = icmp eq ptr %3646, null
  br i1 %.not3252, label %3654, label %3647

3647:                                             ; preds = %3640
  %3648 = load ptr, ptr %3646, align 8, !tbaa !17
  %3649 = getelementptr inbounds i8, ptr %3648, i64 96
  %3650 = load ptr, ptr %3649, align 8
  %3651 = call noundef nonnull align 8 dereferenceable(144) ptr %3650(ptr noundef nonnull align 8 dereferenceable(228) %3646)
  %3652 = load ptr, ptr %47, align 8, !tbaa !43
  %3653 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3652)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3653)
  store i32 15, ptr %46, align 8, !tbaa !6
  store ptr %3651, ptr %68, align 8, !tbaa !6
  br label %.thread3331

3654:                                             ; preds = %3640
  %3655 = getelementptr inbounds i8, ptr %.33120, i64 24
  %3656 = load ptr, ptr %3655, align 8, !tbaa !6
  %3657 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %3656) #11
  %3658 = load ptr, ptr %0, align 8, !tbaa !17
  %3659 = getelementptr inbounds i8, ptr %3658, i64 336
  %3660 = load ptr, ptr %3659, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %3660(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull @.str.166, ptr noundef %3657, ptr noundef nonnull @.str.21)
  br label %.thread3331

3661:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef nonnull @.str.167)
  %3662 = load ptr, ptr %47, align 8, !tbaa !43
  %3663 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3662)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3663)
  call void @_ZN7glslang13TParseContext24handlePrecisionQualifierERKNS_10TSourceLocERNS_10TQualifierENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef 3)
  br label %.thread3331

3664:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef nonnull @.str.168)
  %3665 = load ptr, ptr %47, align 8, !tbaa !43
  %3666 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3665)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3666)
  call void @_ZN7glslang13TParseContext24handlePrecisionQualifierERKNS_10TSourceLocERNS_10TQualifierENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef 2)
  br label %.thread3331

3667:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef 1, i32 noundef 130, ptr noundef null, ptr noundef nonnull @.str.169)
  %3668 = load ptr, ptr %47, align 8, !tbaa !43
  %3669 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %3668)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext %3669)
  call void @_ZN7glslang13TParseContext24handlePrecisionQualifierERKNS_10TSourceLocERNS_10TQualifierENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef 1)
  br label %.thread3331

3670:                                             ; preds = %206
  %3671 = getelementptr inbounds i8, ptr %.33120, i64 -576
  call void @_ZN7glslang13TParseContext17nestedStructCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3671)
  br label %.thread3331

3672:                                             ; preds = %206
  %3673 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  %3674 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %3675 = load ptr, ptr %3674, align 8, !tbaa !6
  %3676 = getelementptr inbounds i8, ptr %.33120, i64 -1152
  %3677 = getelementptr inbounds i8, ptr %.33120, i64 -1128
  %3678 = load ptr, ptr %3677, align 8, !tbaa !6
  invoke void @_ZN7glslang5TTypeC2EPNS_7TVectorINS_8TTypeLocEEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144) %3673, ptr noundef %3675, ptr noundef nonnull align 8 dereferenceable(40) %3678)
          to label %3679 unwind label %3691

3679:                                             ; preds = %3672
  call void @_ZN7glslang13TParseContext16structArrayCheckERKNS_10TSourceLocERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3676, ptr noundef nonnull align 8 dereferenceable(144) %3673)
  %3680 = call noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef 232)
  %3681 = load ptr, ptr %3677, align 8, !tbaa !6
  invoke void @_ZN7glslang9TVariableC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeEb(ptr noundef nonnull align 8 dereferenceable(228) %3680, ptr noundef %3681, ptr noundef nonnull align 8 dereferenceable(144) %3673, i1 noundef zeroext true)
          to label %3682 unwind label %3693

3682:                                             ; preds = %3679
  %3683 = load ptr, ptr %47, align 8, !tbaa !43
  %3684 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable6insertERNS_7TSymbolE(ptr noundef nonnull align 8 dereferenceable(40) %3683, ptr noundef nonnull align 8 dereferenceable(33) %3680)
  br i1 %3684, label %3695, label %3685

3685:                                             ; preds = %3682
  %3686 = load ptr, ptr %3677, align 8, !tbaa !6
  %3687 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %3686) #11
  %3688 = load ptr, ptr %0, align 8, !tbaa !17
  %3689 = getelementptr inbounds i8, ptr %3688, i64 336
  %3690 = load ptr, ptr %3689, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %3690(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %3676, ptr noundef nonnull @.str.170, ptr noundef %3687, ptr noundef nonnull @.str.171)
  br label %3695

3691:                                             ; preds = %3672
  %3692 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %3673) #11
  br label %5349

3693:                                             ; preds = %3679
  %3694 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang7TSymboldlEPv(ptr noundef %3680) #11
  br label %5349

3695:                                             ; preds = %3685, %3682
  %3696 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %3696, i1 noundef zeroext false)
  store i32 15, ptr %46, align 8, !tbaa !6
  store ptr %3673, ptr %68, align 8, !tbaa !6
  %3697 = load i32, ptr %69, align 8, !tbaa !146
  %3698 = add nsw i32 %3697, -1
  store i32 %3698, ptr %69, align 8, !tbaa !146
  br label %.thread3331

3699:                                             ; preds = %206
  %3700 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @_ZN7glslang13TParseContext17nestedStructCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3700)
  br label %.thread3331

3701:                                             ; preds = %206
  %3702 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  %3703 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %3704 = load ptr, ptr %3703, align 8, !tbaa !6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %30) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #11
  invoke void @_ZN7glslang14pool_allocatorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %3705 unwind label %3711

3705:                                             ; preds = %3701
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEC2IS5_EEPKcRKS5_(ptr noundef nonnull align 8 dereferenceable(40) %30, ptr noundef nonnull @.str.21, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %3706 unwind label %3711

3706:                                             ; preds = %3705
  invoke void @_ZN7glslang5TTypeC2EPNS_7TVectorINS_8TTypeLocEEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144) %3702, ptr noundef %3704, ptr noundef nonnull align 8 dereferenceable(40) %30)
          to label %3707 unwind label %3713

3707:                                             ; preds = %3706
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %30) #11
  %3708 = getelementptr inbounds i8, ptr %.33120, i64 -1152
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %3708, i1 noundef zeroext false)
  store i32 15, ptr %46, align 8, !tbaa !6
  store ptr %3702, ptr %68, align 8, !tbaa !6
  %3709 = load i32, ptr %69, align 8, !tbaa !146
  %3710 = add nsw i32 %3709, -1
  store i32 %3710, ptr %69, align 8, !tbaa !146
  br label %.thread3331

3711:                                             ; preds = %3705, %3701
  %3712 = landingpad { ptr, i32 }
          cleanup
  br label %3715

3713:                                             ; preds = %3706
  %3714 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %30) #11
  br label %3715

3715:                                             ; preds = %3713, %3711
  %.pn = phi { ptr, i32 } [ %3714, %3713 ], [ %3712, %3711 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %30) #11
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %3702) #11
  br label %5349

3716:                                             ; preds = %206
  %3717 = getelementptr inbounds i8, ptr %.33120, i64 48
  %3718 = load ptr, ptr %3717, align 8, !tbaa !6
  store ptr %3718, ptr %46, align 8, !tbaa !6
  br label %.thread3331

3719:                                             ; preds = %206
  %3720 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %3721 = load ptr, ptr %3720, align 8, !tbaa !6
  store ptr %3721, ptr %46, align 8, !tbaa !6
  %3722 = getelementptr inbounds i8, ptr %.33120, i64 48
  %3723 = load ptr, ptr %3722, align 8, !tbaa !6
  %3724 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3723) #11
  %.not3583 = icmp eq i64 %3724, 0
  br i1 %.not3583, label %.thread3331, label %.preheader

.preheader:                                       ; preds = %3719, %._crit_edge
  %3725 = phi i64 [ %3732, %._crit_edge ], [ 0, %3719 ]
  %.031163573 = phi i32 [ %3731, %._crit_edge ], [ 0, %3719 ]
  %3726 = load ptr, ptr %46, align 8, !tbaa !6
  %3727 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3726) #11
  %.not3584 = icmp eq i64 %3727, 0
  br i1 %.not3584, label %._crit_edge, label %.lr.ph3572

._crit_edge:                                      ; preds = %3767, %.preheader
  %3728 = load ptr, ptr %46, align 8, !tbaa !6
  %3729 = load ptr, ptr %3722, align 8, !tbaa !6
  %3730 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3729, i64 noundef %3725) #11
  call void @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %3728, ptr noundef nonnull align 8 dereferenceable(32) %3730)
  %3731 = add i32 %.031163573, 1
  %3732 = zext i32 %3731 to i64
  %3733 = load ptr, ptr %3722, align 8, !tbaa !6
  %3734 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3733) #11
  %3735 = icmp ugt i64 %3734, %3732
  br i1 %3735, label %.preheader, label %.thread3331, !llvm.loop !147

.lr.ph3572:                                       ; preds = %.preheader, %3767
  %3736 = phi i64 [ %3769, %3767 ], [ 0, %.preheader ]
  %.031153571 = phi i32 [ %3768, %3767 ], [ 0, %.preheader ]
  %3737 = load ptr, ptr %46, align 8, !tbaa !6
  %3738 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3737, i64 noundef %3736) #11
  %3739 = load ptr, ptr %3738, align 8, !tbaa !149
  %3740 = load ptr, ptr %3739, align 8, !tbaa !17
  %3741 = getelementptr inbounds i8, ptr %3740, i64 48
  %3742 = load ptr, ptr %3741, align 8
  %3743 = call noundef nonnull align 8 dereferenceable(40) ptr %3742(ptr noundef nonnull align 8 dereferenceable(144) %3739)
  %3744 = load ptr, ptr %3722, align 8, !tbaa !6
  %3745 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3744, i64 noundef %3725) #11
  %3746 = load ptr, ptr %3745, align 8, !tbaa !149
  %3747 = load ptr, ptr %3746, align 8, !tbaa !17
  %3748 = getelementptr inbounds i8, ptr %3747, i64 48
  %3749 = load ptr, ptr %3748, align 8
  %3750 = call noundef nonnull align 8 dereferenceable(40) ptr %3749(ptr noundef nonnull align 8 dereferenceable(144) %3746)
  %3751 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESC_(ptr noundef nonnull align 8 dereferenceable(40) %3743, ptr noundef nonnull align 8 dereferenceable(40) %3750) #11
  br i1 %3751, label %3752, label %3767

3752:                                             ; preds = %.lr.ph3572
  %3753 = load ptr, ptr %3722, align 8, !tbaa !6
  %3754 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3753, i64 noundef %3725) #11
  %3755 = getelementptr inbounds i8, ptr %3754, i64 8
  %3756 = load ptr, ptr %3722, align 8, !tbaa !6
  %3757 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3756, i64 noundef %3725) #11
  %3758 = load ptr, ptr %3757, align 8, !tbaa !149
  %3759 = load ptr, ptr %3758, align 8, !tbaa !17
  %3760 = getelementptr inbounds i8, ptr %3759, i64 48
  %3761 = load ptr, ptr %3760, align 8
  %3762 = call noundef nonnull align 8 dereferenceable(40) ptr %3761(ptr noundef nonnull align 8 dereferenceable(144) %3758)
  %3763 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %3762) #11
  %3764 = load ptr, ptr %0, align 8, !tbaa !17
  %3765 = getelementptr inbounds i8, ptr %3764, i64 336
  %3766 = load ptr, ptr %3765, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %3766(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %3755, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.21, ptr noundef %3763)
  br label %3767

3767:                                             ; preds = %.lr.ph3572, %3752
  %3768 = add i32 %.031153571, 1
  %3769 = zext i32 %3768 to i64
  %3770 = load ptr, ptr %46, align 8, !tbaa !6
  %3771 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3770) #11
  %3772 = icmp ugt i64 %3771, %3769
  br i1 %3772, label %.lr.ph3572, label %._crit_edge, !llvm.loop !152

3773:                                             ; preds = %206
  %3774 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %3775 = getelementptr inbounds i8, ptr %.33120, i64 -352
  %3776 = load ptr, ptr %3775, align 8, !tbaa !6
  %.not3248 = icmp eq ptr %3776, null
  br i1 %.not3248, label %3782, label %3777

3777:                                             ; preds = %3773
  %3778 = getelementptr inbounds i8, ptr %.33120, i64 -336
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3778, i32 noundef 1, i32 noundef 120, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.69)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3778, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.69)
  %3779 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %0)
  br i1 %3779, label %3780, label %3782

3780:                                             ; preds = %3777
  %3781 = load ptr, ptr %3775, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3778, ptr noundef nonnull align 8 dereferenceable(21) %3781)
  br label %3782

3782:                                             ; preds = %3777, %3780, %3773
  %3783 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %3784 = load ptr, ptr %3783, align 8, !tbaa !6
  store ptr %3784, ptr %46, align 8, !tbaa !6
  %3785 = getelementptr inbounds i8, ptr %.33120, i64 -336
  %3786 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3784, i64 noundef 0) #11
  %3787 = load ptr, ptr %3786, align 8, !tbaa !149
  %3788 = load ptr, ptr %3787, align 8, !tbaa !17
  %3789 = getelementptr inbounds i8, ptr %3788, i64 48
  %3790 = load ptr, ptr %3789, align 8
  %3791 = call noundef nonnull align 8 dereferenceable(40) ptr %3790(ptr noundef nonnull align 8 dereferenceable(144) %3787)
  %3792 = load i32, ptr %3774, align 8, !tbaa !6
  %3793 = call noundef zeroext i1 @_ZN7glslang13TParseContext14voidErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_10TBasicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3785, ptr noundef nonnull align 8 dereferenceable(40) %3791, i32 noundef %3792)
  %3794 = load i32, ptr %3774, align 8, !tbaa !6
  %3795 = getelementptr inbounds i8, ptr %.33120, i64 -520
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3785, i32 noundef %3794, ptr noundef nonnull align 8 dereferenceable(72) %3795)
  %3796 = load ptr, ptr %46, align 8, !tbaa !6
  %3797 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3796) #11
  %.not3582 = icmp eq i64 %3797, 0
  br i1 %.not3582, label %.thread3331, label %.lr.ph3570

.lr.ph3570:                                       ; preds = %3782, %3826
  %3798 = phi i64 [ %3828, %3826 ], [ 0, %3782 ]
  %.031143569 = phi i32 [ %3827, %3826 ], [ 0, %3782 ]
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %32) #11
  call void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %32, ptr noundef nonnull align 8 dereferenceable(232) %3774)
  %3799 = load ptr, ptr %46, align 8, !tbaa !6
  %3800 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3799, i64 noundef %3798) #11
  %3801 = load ptr, ptr %3800, align 8, !tbaa !149
  %3802 = load ptr, ptr %3801, align 8, !tbaa !17
  %3803 = getelementptr inbounds i8, ptr %3802, i64 48
  %3804 = load ptr, ptr %3803, align 8
  %3805 = invoke noundef nonnull align 8 dereferenceable(40) ptr %3804(ptr noundef nonnull align 8 dereferenceable(144) %3801)
          to label %3806 unwind label %3832

3806:                                             ; preds = %.lr.ph3570
  invoke void @_ZN7glslang5TType12setFieldNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144) %32, ptr noundef nonnull align 8 dereferenceable(40) %3805)
          to label %3807 unwind label %3832

3807:                                             ; preds = %3806
  %3808 = load ptr, ptr %46, align 8, !tbaa !6
  %3809 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3808, i64 noundef %3798) #11
  %3810 = load ptr, ptr %3809, align 8, !tbaa !149
  %3811 = load ptr, ptr %3810, align 8, !tbaa !17
  %3812 = getelementptr inbounds i8, ptr %3811, i64 160
  %3813 = load ptr, ptr %3812, align 8
  %3814 = invoke noundef ptr %3813(ptr noundef nonnull align 8 dereferenceable(144) %3810)
          to label %3815 unwind label %3832

3815:                                             ; preds = %3807
  call void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %32, ptr noundef %3814)
  %3816 = load ptr, ptr %3775, align 8, !tbaa !6
  invoke void @_ZN7glslang5TType19copyArrayInnerSizesEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %32, ptr noundef %3816)
          to label %3817 unwind label %3832

3817:                                             ; preds = %3815
  %3818 = load ptr, ptr %46, align 8, !tbaa !6
  %3819 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3818, i64 noundef %3798) #11
  %3820 = getelementptr inbounds i8, ptr %3819, i64 8
  %3821 = call noundef ptr @_ZN7glslang5TType13getArraySizesEv(ptr noundef nonnull align 8 dereferenceable(144) %32)
  invoke void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3820, ptr noundef %3821)
          to label %3822 unwind label %3832

3822:                                             ; preds = %3817
  %3823 = load ptr, ptr %46, align 8, !tbaa !6
  %3824 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3823, i64 noundef %3798) #11
  %3825 = load ptr, ptr %3824, align 8, !tbaa !149
  invoke void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144) %3825, ptr noundef nonnull align 8 dereferenceable(144) %32)
          to label %3826 unwind label %3832

3826:                                             ; preds = %3822
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %32) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %32) #11
  %3827 = add i32 %.031143569, 1
  %3828 = zext i32 %3827 to i64
  %3829 = load ptr, ptr %46, align 8, !tbaa !6
  %3830 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3829) #11
  %3831 = icmp ugt i64 %3830, %3828
  br i1 %3831, label %.lr.ph3570, label %.thread3331, !llvm.loop !153

3832:                                             ; preds = %3822, %3817, %3815, %3807, %3806, %.lr.ph3570
  %3833 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %32) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %32) #11
  br label %5349

3834:                                             ; preds = %206
  %3835 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %3836 = getelementptr inbounds i8, ptr %.33120, i64 -352
  %3837 = load ptr, ptr %3836, align 8, !tbaa !6
  %.not3247 = icmp eq ptr %3837, null
  br i1 %.not3247, label %3843, label %3838

3838:                                             ; preds = %3834
  %3839 = getelementptr inbounds i8, ptr %.33120, i64 -336
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3839, i32 noundef 1, i32 noundef 120, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.69)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3839, i32 noundef 8, i32 noundef 300, ptr noundef null, ptr noundef nonnull @.str.69)
  %3840 = call noundef zeroext i1 @_ZNK7glslang14TParseVersions11isEsProfileEv(ptr noundef nonnull align 8 dereferenceable(192) %0)
  br i1 %3840, label %3841, label %3843

3841:                                             ; preds = %3838
  %3842 = load ptr, ptr %3836, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3839, ptr noundef nonnull align 8 dereferenceable(21) %3842)
  br label %3843

3843:                                             ; preds = %3838, %3841, %3834
  %3844 = getelementptr inbounds i8, ptr %.33120, i64 -240
  %3845 = load ptr, ptr %3844, align 8, !tbaa !6
  store ptr %3845, ptr %46, align 8, !tbaa !6
  %3846 = getelementptr inbounds i8, ptr %.33120, i64 -816
  call void @_ZN7glslang13TParseContext20memberQualifierCheckERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(232) %3846)
  %3847 = getelementptr inbounds i8, ptr %.33120, i64 -336
  %3848 = load ptr, ptr %3844, align 8, !tbaa !6
  %3849 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3848, i64 noundef 0) #11
  %3850 = load ptr, ptr %3849, align 8, !tbaa !149
  %3851 = load ptr, ptr %3850, align 8, !tbaa !17
  %3852 = getelementptr inbounds i8, ptr %3851, i64 48
  %3853 = load ptr, ptr %3852, align 8
  %3854 = call noundef nonnull align 8 dereferenceable(40) ptr %3853(ptr noundef nonnull align 8 dereferenceable(144) %3850)
  %3855 = load i32, ptr %3835, align 8, !tbaa !6
  %3856 = call noundef zeroext i1 @_ZN7glslang13TParseContext14voidErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_10TBasicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3847, ptr noundef nonnull align 8 dereferenceable(40) %3854, i32 noundef %3855)
  %3857 = getelementptr inbounds i8, ptr %.33120, i64 -520
  %3858 = getelementptr inbounds i8, ptr %.33120, i64 -808
  call void @_ZN7glslang13TParseContext15mergeQualifiersERKNS_10TSourceLocERNS_10TQualifierERKS4_b(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3847, ptr noundef nonnull align 8 dereferenceable(72) %3857, ptr noundef nonnull align 8 dereferenceable(72) %3858, i1 noundef zeroext true)
  %3859 = load i32, ptr %3835, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3847, i32 noundef %3859, ptr noundef nonnull align 8 dereferenceable(72) %3857)
  %3860 = load ptr, ptr %46, align 8, !tbaa !6
  %3861 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3860) #11
  %.not3581 = icmp eq i64 %3861, 0
  br i1 %.not3581, label %.thread3331, label %.lr.ph

.lr.ph:                                           ; preds = %3843, %3890
  %3862 = phi i64 [ %3892, %3890 ], [ 0, %3843 ]
  %.031133568 = phi i32 [ %3891, %3890 ], [ 0, %3843 ]
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %33) #11
  call void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %33, ptr noundef nonnull align 8 dereferenceable(232) %3835)
  %3863 = load ptr, ptr %46, align 8, !tbaa !6
  %3864 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3863, i64 noundef %3862) #11
  %3865 = load ptr, ptr %3864, align 8, !tbaa !149
  %3866 = load ptr, ptr %3865, align 8, !tbaa !17
  %3867 = getelementptr inbounds i8, ptr %3866, i64 48
  %3868 = load ptr, ptr %3867, align 8
  %3869 = invoke noundef nonnull align 8 dereferenceable(40) ptr %3868(ptr noundef nonnull align 8 dereferenceable(144) %3865)
          to label %3870 unwind label %3896

3870:                                             ; preds = %.lr.ph
  invoke void @_ZN7glslang5TType12setFieldNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144) %33, ptr noundef nonnull align 8 dereferenceable(40) %3869)
          to label %3871 unwind label %3896

3871:                                             ; preds = %3870
  %3872 = load ptr, ptr %46, align 8, !tbaa !6
  %3873 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3872, i64 noundef %3862) #11
  %3874 = load ptr, ptr %3873, align 8, !tbaa !149
  %3875 = load ptr, ptr %3874, align 8, !tbaa !17
  %3876 = getelementptr inbounds i8, ptr %3875, i64 160
  %3877 = load ptr, ptr %3876, align 8
  %3878 = invoke noundef ptr %3877(ptr noundef nonnull align 8 dereferenceable(144) %3874)
          to label %3879 unwind label %3896

3879:                                             ; preds = %3871
  call void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %33, ptr noundef %3878)
  %3880 = load ptr, ptr %3836, align 8, !tbaa !6
  invoke void @_ZN7glslang5TType19copyArrayInnerSizesEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %33, ptr noundef %3880)
          to label %3881 unwind label %3896

3881:                                             ; preds = %3879
  %3882 = load ptr, ptr %46, align 8, !tbaa !6
  %3883 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3882, i64 noundef %3862) #11
  %3884 = getelementptr inbounds i8, ptr %3883, i64 8
  %3885 = call noundef ptr @_ZN7glslang5TType13getArraySizesEv(ptr noundef nonnull align 8 dereferenceable(144) %33)
  invoke void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3884, ptr noundef %3885)
          to label %3886 unwind label %3896

3886:                                             ; preds = %3881
  %3887 = load ptr, ptr %46, align 8, !tbaa !6
  %3888 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEEixEm(ptr noundef nonnull align 8 dereferenceable(32) %3887, i64 noundef %3862) #11
  %3889 = load ptr, ptr %3888, align 8, !tbaa !149
  invoke void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144) %3889, ptr noundef nonnull align 8 dereferenceable(144) %33)
          to label %3890 unwind label %3896

3890:                                             ; preds = %3886
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %33) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %33) #11
  %3891 = add i32 %.031133568, 1
  %3892 = zext i32 %3891 to i64
  %3893 = load ptr, ptr %46, align 8, !tbaa !6
  %3894 = call noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %3893) #11
  %3895 = icmp ugt i64 %3894, %3892
  br i1 %3895, label %.lr.ph, label %.thread3331, !llvm.loop !154

3896:                                             ; preds = %3886, %3881, %3879, %3871, %3870, %.lr.ph
  %3897 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %33) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %33) #11
  br label %5349

3898:                                             ; preds = %206
  %3899 = call noundef ptr @_ZN7glslang7TVectorINS_8TTypeLocEEnwEm(i64 noundef 32)
  invoke void @_ZN7glslang7TVectorINS_8TTypeLocEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3899)
          to label %3900 unwind label %3902

3900:                                             ; preds = %3898
  store ptr %3899, ptr %46, align 8, !tbaa !6
  %3901 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %3899, ptr noundef nonnull align 8 dereferenceable(32) %3901)
  br label %.thread3331

3902:                                             ; preds = %3898
  %3903 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang7TVectorINS_8TTypeLocEEdlEPv(ptr noundef %3899) #11
  br label %5349

3904:                                             ; preds = %206
  %3905 = load ptr, ptr %46, align 8, !tbaa !6
  %3906 = getelementptr inbounds i8, ptr %.33120, i64 48
  call void @_ZNSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE9push_backERKS1_(ptr noundef nonnull align 8 dereferenceable(32) %3905, ptr noundef nonnull align 8 dereferenceable(32) %3906)
  br label %.thread3331

3907:                                             ; preds = %206
  %3908 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %3908, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %3909 unwind label %3915

3909:                                             ; preds = %3907
  store ptr %3908, ptr %46, align 8, !tbaa !6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i64 24, i1 false), !tbaa.struct !96
  %3910 = getelementptr inbounds i8, ptr %.33120, i64 24
  %3911 = load ptr, ptr %3910, align 8, !tbaa !6
  %3912 = load ptr, ptr %3908, align 8, !tbaa !17
  %3913 = getelementptr inbounds i8, ptr %3912, i64 32
  %3914 = load ptr, ptr %3913, align 8
  call void %3914(ptr noundef nonnull align 8 dereferenceable(144) %3908, ptr noundef nonnull align 8 dereferenceable(40) %3911)
  br label %.thread3331

3915:                                             ; preds = %3907
  %3916 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %3908) #11
  br label %5349

3917:                                             ; preds = %206
  %3918 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %3919 = getelementptr inbounds i8, ptr %.33120, i64 48
  %3920 = load ptr, ptr %3919, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %3918, ptr noundef %3920)
  %3921 = call noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef 144)
  invoke void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144) %3921, i32 noundef 0, i32 noundef 0, i32 noundef 1, i32 noundef 0, i32 noundef 0, i1 noundef zeroext false)
          to label %3922 unwind label %3930

3922:                                             ; preds = %3917
  store ptr %3921, ptr %46, align 8, !tbaa !6
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %3918, i64 24, i1 false), !tbaa.struct !96
  %3923 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %3924 = load ptr, ptr %3923, align 8, !tbaa !6
  %3925 = load ptr, ptr %3921, align 8, !tbaa !17
  %3926 = getelementptr inbounds i8, ptr %3925, i64 32
  %3927 = load ptr, ptr %3926, align 8
  call void %3927(ptr noundef nonnull align 8 dereferenceable(144) %3921, ptr noundef nonnull align 8 dereferenceable(40) %3924)
  %3928 = load ptr, ptr %46, align 8, !tbaa !6
  %3929 = load ptr, ptr %3919, align 8, !tbaa !6
  call void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144) %3928, ptr noundef %3929)
  br label %.thread3331

3930:                                             ; preds = %3917
  %3931 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypedlEPv(ptr noundef %3921) #11
  br label %5349

3932:                                             ; preds = %206
  %3933 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3934 = load ptr, ptr %3933, align 8, !tbaa !6
  store ptr %3934, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3935:                                             ; preds = %206
  %3936 = getelementptr inbounds i8, ptr %.33120, i64 -576
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3936, i32 noundef -9, ptr noundef nonnull @.str.173)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3936, i32 noundef -9, i32 noundef 420, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.173)
  %3937 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %3938 = load ptr, ptr %3937, align 8, !tbaa !6
  store ptr %3938, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3939:                                             ; preds = %206
  %3940 = getelementptr inbounds i8, ptr %.33120, i64 -864
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3940, i32 noundef -9, ptr noundef nonnull @.str.173)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3940, i32 noundef -9, i32 noundef 420, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.173)
  %3941 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %3942 = load ptr, ptr %3941, align 8, !tbaa !6
  store ptr %3942, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3943:                                             ; preds = %206
  %3944 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3944, i32 noundef 8, i32 noundef 0, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.175)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3944, i32 noundef -9, i32 noundef 0, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.175)
  %3945 = load ptr, ptr %45, align 8, !tbaa !19
  %3946 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %3945, ptr noundef nonnull align 8 dereferenceable(24) %3944)
  store ptr %3946, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3947:                                             ; preds = %206
  %3948 = load ptr, ptr %45, align 8, !tbaa !19
  %3949 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3950 = load ptr, ptr %3949, align 8, !tbaa !6
  %3951 = load ptr, ptr %3950, align 8, !tbaa !17
  %3952 = load ptr, ptr %3951, align 8
  %3953 = call noundef nonnull align 8 dereferenceable(24) ptr %3952(ptr noundef nonnull align 8 dereferenceable(32) %3950)
  %3954 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %3948, ptr noundef null, ptr noundef nonnull %3950, ptr noundef nonnull align 8 dereferenceable(24) %3953)
  store ptr %3954, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3955:                                             ; preds = %206
  %3956 = load ptr, ptr %45, align 8, !tbaa !19
  %3957 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %3958 = load ptr, ptr %3957, align 8, !tbaa !6
  %3959 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3960 = load ptr, ptr %3959, align 8, !tbaa !6
  %3961 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %3956, ptr noundef %3958, ptr noundef %3960)
  store ptr %3961, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3962:                                             ; preds = %206
  %3963 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3964 = load ptr, ptr %3963, align 8, !tbaa !6
  store ptr %3964, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3965:                                             ; preds = %206
  %3966 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3967 = load ptr, ptr %3966, align 8, !tbaa !6
  store ptr %3967, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3968:                                             ; preds = %206
  %3969 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3970 = load ptr, ptr %3969, align 8, !tbaa !6
  store ptr %3970, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3971:                                             ; preds = %206
  %3972 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3973 = load ptr, ptr %3972, align 8, !tbaa !6
  store ptr %3973, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3974:                                             ; preds = %206
  %3975 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3976 = load ptr, ptr %3975, align 8, !tbaa !6
  store ptr %3976, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3977:                                             ; preds = %206
  %3978 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3979 = load ptr, ptr %3978, align 8, !tbaa !6
  store ptr %3979, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3980:                                             ; preds = %206
  %3981 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3982 = load ptr, ptr %3981, align 8, !tbaa !6
  store ptr %3982, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3983:                                             ; preds = %206
  %3984 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3985 = load ptr, ptr %3984, align 8, !tbaa !6
  store ptr %3985, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3986:                                             ; preds = %206
  %3987 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3988 = load ptr, ptr %3987, align 8, !tbaa !6
  store ptr %3988, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3989:                                             ; preds = %206
  %3990 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3991 = load ptr, ptr %3990, align 8, !tbaa !6
  store ptr %3991, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3992:                                             ; preds = %206
  %3993 = getelementptr inbounds i8, ptr %.33120, i64 32
  %3994 = load ptr, ptr %3993, align 8, !tbaa !6
  store ptr %3994, ptr %44, align 8, !tbaa !6
  br label %.thread3331

3995:                                             ; preds = %206
  %3996 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3996, i32 noundef 4, ptr noundef nonnull @.str.177)
  %3997 = load ptr, ptr %0, align 8, !tbaa !17
  %3998 = getelementptr inbounds i8, ptr %3997, i64 40
  %3999 = load ptr, ptr %3998, align 8
  call void %3999(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %3996, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL36E_GL_EXT_demote_to_helper_invocationE, ptr noundef nonnull @.str.177)
  %4000 = load ptr, ptr %45, align 8, !tbaa !19
  %4001 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4000, i32 noundef 457, ptr noundef nonnull align 8 dereferenceable(24) %3996)
  store ptr %4001, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4002:                                             ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4003:                                             ; preds = %206
  %4004 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %4004)
  %4005 = load i32, ptr %59, align 8, !tbaa !155
  %4006 = add nsw i32 %4005, 1
  store i32 %4006, ptr %59, align 8, !tbaa !155
  br label %.thread3331

4007:                                             ; preds = %206
  %4008 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %4008, ptr noundef nonnull %53)
  %4009 = load i32, ptr %59, align 8, !tbaa !155
  %4010 = add nsw i32 %4009, -1
  store i32 %4010, ptr %59, align 8, !tbaa !155
  br label %.thread3331

4011:                                             ; preds = %206
  %4012 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4013 = load ptr, ptr %4012, align 8, !tbaa !6
  %.not3245 = icmp eq ptr %4013, null
  br i1 %.not3245, label %4027, label %4014

4014:                                             ; preds = %4011
  %4015 = load ptr, ptr %4013, align 8, !tbaa !17
  %4016 = getelementptr inbounds i8, ptr %4015, i64 48
  %4017 = load ptr, ptr %4016, align 8
  %4018 = call noundef ptr %4017(ptr noundef nonnull align 8 dereferenceable(32) %4013)
  %.not3246 = icmp eq ptr %4018, null
  %.pre3785 = load ptr, ptr %4012, align 8, !tbaa !6
  br i1 %.not3246, label %4027, label %4019

4019:                                             ; preds = %4014
  %4020 = load ptr, ptr %.pre3785, align 8, !tbaa !17
  %4021 = getelementptr inbounds i8, ptr %4020, i64 48
  %4022 = load ptr, ptr %4021, align 8
  %4023 = call noundef ptr %4022(ptr noundef nonnull align 8 dereferenceable(32) %.pre3785)
  %4024 = load ptr, ptr %4023, align 8, !tbaa !17
  %4025 = getelementptr inbounds i8, ptr %4024, i64 392
  %4026 = load ptr, ptr %4025, align 8
  call void %4026(ptr noundef nonnull align 8 dereferenceable(352) %4023, i32 noundef 1)
  %.pre3784 = load ptr, ptr %4012, align 8, !tbaa !6
  br label %4027

4027:                                             ; preds = %4019, %4014, %4011
  %4028 = phi ptr [ %.pre3784, %4019 ], [ %.pre3785, %4014 ], [ null, %4011 ]
  store ptr %4028, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4029:                                             ; preds = %206
  %4030 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4031 = load ptr, ptr %4030, align 8, !tbaa !6
  store ptr %4031, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4032:                                             ; preds = %206
  %4033 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4034 = load ptr, ptr %4033, align 8, !tbaa !6
  store ptr %4034, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4035:                                             ; preds = %206
  %4036 = load i32, ptr %66, align 8, !tbaa !101
  %4037 = add nsw i32 %4036, 1
  store i32 %4037, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4038:                                             ; preds = %206
  %4039 = load i32, ptr %66, align 8, !tbaa !101
  %4040 = add nsw i32 %4039, -1
  store i32 %4040, ptr %66, align 8, !tbaa !101
  %4041 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4042 = load ptr, ptr %4041, align 8, !tbaa !6
  store ptr %4042, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4043:                                             ; preds = %206
  %4044 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %4044)
  %4045 = load i32, ptr %59, align 8, !tbaa !155
  %4046 = add nsw i32 %4045, 1
  store i32 %4046, ptr %59, align 8, !tbaa !155
  %4047 = load i32, ptr %66, align 8, !tbaa !101
  %4048 = add nsw i32 %4047, 1
  store i32 %4048, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4049:                                             ; preds = %206
  %4050 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %4050, ptr noundef nonnull %53)
  %4051 = load i32, ptr %59, align 8, !tbaa !155
  %4052 = add nsw i32 %4051, -1
  store i32 %4052, ptr %59, align 8, !tbaa !155
  %4053 = load i32, ptr %66, align 8, !tbaa !101
  %4054 = add nsw i32 %4053, -1
  store i32 %4054, ptr %66, align 8, !tbaa !101
  %4055 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4056 = load ptr, ptr %4055, align 8, !tbaa !6
  store ptr %4056, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4057:                                             ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4058:                                             ; preds = %206
  %4059 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4060 = load ptr, ptr %4059, align 8, !tbaa !6
  %.not3243 = icmp eq ptr %4060, null
  br i1 %.not3243, label %4074, label %4061

4061:                                             ; preds = %4058
  %4062 = load ptr, ptr %4060, align 8, !tbaa !17
  %4063 = getelementptr inbounds i8, ptr %4062, i64 48
  %4064 = load ptr, ptr %4063, align 8
  %4065 = call noundef ptr %4064(ptr noundef nonnull align 8 dereferenceable(32) %4060)
  %.not3244 = icmp eq ptr %4065, null
  %.pre3783 = load ptr, ptr %4059, align 8, !tbaa !6
  br i1 %.not3244, label %4074, label %4066

4066:                                             ; preds = %4061
  %4067 = load ptr, ptr %.pre3783, align 8, !tbaa !17
  %4068 = getelementptr inbounds i8, ptr %4067, i64 48
  %4069 = load ptr, ptr %4068, align 8
  %4070 = call noundef ptr %4069(ptr noundef nonnull align 8 dereferenceable(32) %.pre3783)
  %4071 = load ptr, ptr %4070, align 8, !tbaa !17
  %4072 = getelementptr inbounds i8, ptr %4071, i64 392
  %4073 = load ptr, ptr %4072, align 8
  call void %4073(ptr noundef nonnull align 8 dereferenceable(352) %4070, i32 noundef 1)
  %.pre3782 = load ptr, ptr %4059, align 8, !tbaa !6
  br label %4074

4074:                                             ; preds = %4066, %4061, %4058
  %4075 = phi ptr [ %.pre3782, %4066 ], [ %.pre3783, %4061 ], [ null, %4058 ]
  store ptr %4075, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4076:                                             ; preds = %206
  %4077 = load ptr, ptr %45, align 8, !tbaa !19
  %4078 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4079 = load ptr, ptr %4078, align 8, !tbaa !6
  %4080 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %4077, ptr noundef %4079)
  store ptr %4080, ptr %44, align 8, !tbaa !6
  %4081 = load ptr, ptr %4078, align 8, !tbaa !6
  %.not3241 = icmp eq ptr %4081, null
  br i1 %.not3241, label %.thread3331, label %4082

4082:                                             ; preds = %4076
  %4083 = load ptr, ptr %4081, align 8, !tbaa !17
  %4084 = getelementptr inbounds i8, ptr %4083, i64 104
  %4085 = load ptr, ptr %4084, align 8
  %4086 = call noundef ptr %4085(ptr noundef nonnull align 8 dereferenceable(32) %4081)
  %.not3242 = icmp eq ptr %4086, null
  br i1 %.not3242, label %.thread3331, label %4087

4087:                                             ; preds = %4082
  %4088 = load ptr, ptr %4078, align 8, !tbaa !6
  %4089 = load ptr, ptr %4088, align 8, !tbaa !17
  %4090 = getelementptr inbounds i8, ptr %4089, i64 104
  %4091 = load ptr, ptr %4090, align 8
  %4092 = call noundef ptr %4091(ptr noundef nonnull align 8 dereferenceable(32) %4088)
  %4093 = call noundef i32 @_ZNK7glslang13TIntermBranch9getFlowOpEv(ptr noundef nonnull align 8 dereferenceable(48) %4092)
  %4094 = icmp eq i32 %4093, 463
  br i1 %4094, label %4103, label %4095

4095:                                             ; preds = %4087
  %4096 = load ptr, ptr %4078, align 8, !tbaa !6
  %4097 = load ptr, ptr %4096, align 8, !tbaa !17
  %4098 = getelementptr inbounds i8, ptr %4097, i64 104
  %4099 = load ptr, ptr %4098, align 8
  %4100 = call noundef ptr %4099(ptr noundef nonnull align 8 dereferenceable(32) %4096)
  %4101 = call noundef i32 @_ZNK7glslang13TIntermBranch9getFlowOpEv(ptr noundef nonnull align 8 dereferenceable(48) %4100)
  %4102 = icmp eq i32 %4101, 464
  br i1 %4102, label %4103, label %.thread3331

4103:                                             ; preds = %4095, %4087
  %4104 = load ptr, ptr %4078, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext23wrapupSwitchSubsequenceEPNS_16TIntermAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef null, ptr noundef %4104)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4105:                                             ; preds = %206
  %4106 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4107 = load ptr, ptr %4106, align 8, !tbaa !6
  %.not3238 = icmp eq ptr %4107, null
  br i1 %.not3238, label %4139, label %4108

4108:                                             ; preds = %4105
  %4109 = load ptr, ptr %4107, align 8, !tbaa !17
  %4110 = getelementptr inbounds i8, ptr %4109, i64 104
  %4111 = load ptr, ptr %4110, align 8
  %4112 = call noundef ptr %4111(ptr noundef nonnull align 8 dereferenceable(32) %4107)
  %.not3239 = icmp eq ptr %4112, null
  %.pre3781 = load ptr, ptr %4106, align 8, !tbaa !6
  br i1 %.not3239, label %4139, label %4113

4113:                                             ; preds = %4108
  %4114 = load ptr, ptr %.pre3781, align 8, !tbaa !17
  %4115 = getelementptr inbounds i8, ptr %4114, i64 104
  %4116 = load ptr, ptr %4115, align 8
  %4117 = call noundef ptr %4116(ptr noundef nonnull align 8 dereferenceable(32) %.pre3781)
  %4118 = call noundef i32 @_ZNK7glslang13TIntermBranch9getFlowOpEv(ptr noundef nonnull align 8 dereferenceable(48) %4117)
  %4119 = icmp eq i32 %4118, 463
  br i1 %4119, label %4128, label %4120

4120:                                             ; preds = %4113
  %4121 = load ptr, ptr %4106, align 8, !tbaa !6
  %4122 = load ptr, ptr %4121, align 8, !tbaa !17
  %4123 = getelementptr inbounds i8, ptr %4122, i64 104
  %4124 = load ptr, ptr %4123, align 8
  %4125 = call noundef ptr %4124(ptr noundef nonnull align 8 dereferenceable(32) %4121)
  %4126 = call noundef i32 @_ZNK7glslang13TIntermBranch9getFlowOpEv(ptr noundef nonnull align 8 dereferenceable(48) %4125)
  %4127 = icmp eq i32 %4126, 464
  br i1 %4127, label %4128, label %._crit_edge3780

._crit_edge3780:                                  ; preds = %4120
  %.pre = load ptr, ptr %4106, align 8, !tbaa !6
  br label %4139

4128:                                             ; preds = %4120, %4113
  %4129 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4130 = load ptr, ptr %4129, align 8, !tbaa !6
  %.not3240 = icmp eq ptr %4130, null
  br i1 %.not3240, label %4136, label %4131

4131:                                             ; preds = %4128
  %4132 = load ptr, ptr %4130, align 8, !tbaa !17
  %4133 = getelementptr inbounds i8, ptr %4132, i64 48
  %4134 = load ptr, ptr %4133, align 8
  %4135 = call noundef ptr %4134(ptr noundef nonnull align 8 dereferenceable(32) %4130)
  br label %4136

4136:                                             ; preds = %4128, %4131
  %4137 = phi ptr [ %4135, %4131 ], [ null, %4128 ]
  %4138 = load ptr, ptr %4106, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext23wrapupSwitchSubsequenceEPNS_16TIntermAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %4137, ptr noundef %4138)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4139:                                             ; preds = %._crit_edge3780, %4108, %4105
  %4140 = phi ptr [ %.pre, %._crit_edge3780 ], [ %.pre3781, %4108 ], [ null, %4105 ]
  %4141 = load ptr, ptr %45, align 8, !tbaa !19
  %4142 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4143 = load ptr, ptr %4142, align 8, !tbaa !6
  %4144 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %4141, ptr noundef %4143, ptr noundef %4140)
  store ptr %4144, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4145:                                             ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4146:                                             ; preds = %206
  %4147 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4148 = load ptr, ptr %4147, align 8, !tbaa !6
  store ptr %4148, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4149:                                             ; preds = %206
  %4150 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4151 = load ptr, ptr %4150, align 8, !tbaa !6
  store ptr %4151, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4152:                                             ; preds = %206
  %4153 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4154 = load ptr, ptr %4153, align 8, !tbaa !6
  %4155 = load ptr, ptr %4154, align 8, !tbaa !17
  %4156 = load ptr, ptr %4155, align 8
  %4157 = call noundef nonnull align 8 dereferenceable(24) ptr %4156(ptr noundef nonnull align 8 dereferenceable(32) %4154)
  %4158 = load ptr, ptr %0, align 8, !tbaa !17
  %4159 = getelementptr inbounds i8, ptr %4158, i64 40
  %4160 = load ptr, ptr %4159, align 8
  call void %4160(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %4157, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL32E_GL_EXT_control_flow_attributesE, ptr noundef nonnull @.str.64)
  %4161 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4162 = load ptr, ptr %4161, align 8, !tbaa !6
  %4163 = load ptr, ptr %4153, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext25handleSelectionAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 1 %4162, ptr noundef %4163)
  %4164 = load ptr, ptr %4153, align 8, !tbaa !6
  store ptr %4164, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4165:                                             ; preds = %206
  %4166 = getelementptr inbounds i8, ptr %.33120, i64 -1152
  %4167 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4168 = load ptr, ptr %4167, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4166, ptr noundef %4168)
  %4169 = load ptr, ptr %45, align 8, !tbaa !19
  %4170 = load ptr, ptr %4167, align 8, !tbaa !6
  %4171 = getelementptr inbounds i8, ptr %.33120, i64 32
  %.sroa.0.0.copyload = load ptr, ptr %4171, align 8, !tbaa !9
  %.sroa.2.0..sroa_idx = getelementptr inbounds i8, ptr %.33120, i64 40
  %.sroa.2.0.copyload = load ptr, ptr %.sroa.2.0..sroa_idx, align 8, !tbaa !9
  %4172 = call noundef ptr @_ZN7glslang13TIntermediate12addSelectionEPNS_12TIntermTypedENS_15TIntermNodePairERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4169, ptr noundef %4170, ptr %.sroa.0.0.copyload, ptr %.sroa.2.0.copyload, ptr noundef nonnull align 8 dereferenceable(24) %4166)
  store ptr %4172, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4173:                                             ; preds = %206
  %4174 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4175 = load ptr, ptr %4174, align 8, !tbaa !6
  store ptr %4175, ptr %44, align 8, !tbaa !6
  %4176 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4177 = load ptr, ptr %4176, align 8, !tbaa !6
  store ptr %4177, ptr %64, align 8, !tbaa !6
  br label %.thread3331

4178:                                             ; preds = %206
  %4179 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4180 = load ptr, ptr %4179, align 8, !tbaa !6
  store ptr %4180, ptr %44, align 8, !tbaa !6
  store ptr null, ptr %64, align 8, !tbaa !6
  br label %.thread3331

4181:                                             ; preds = %206
  %4182 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4183 = load ptr, ptr %4182, align 8, !tbaa !6
  store ptr %4183, ptr %44, align 8, !tbaa !6
  %4184 = load ptr, ptr %4183, align 8, !tbaa !17
  %4185 = load ptr, ptr %4184, align 8
  %4186 = call noundef nonnull align 8 dereferenceable(24) ptr %4185(ptr noundef nonnull align 8 dereferenceable(32) %4183)
  %4187 = load ptr, ptr %4182, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4186, ptr noundef %4187)
  br label %.thread3331

4188:                                             ; preds = %206
  %4189 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %4190 = getelementptr inbounds i8, ptr %.33120, i64 -816
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4189, ptr noundef nonnull align 8 dereferenceable(232) %4190)
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %34) #11
  call void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144) %34, ptr noundef nonnull align 8 dereferenceable(232) %4190)
  %4191 = getelementptr inbounds i8, ptr %.33120, i64 -552
  %4192 = load ptr, ptr %4191, align 8, !tbaa !6
  %4193 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4194 = load ptr, ptr %4193, align 8, !tbaa !6
  %4195 = invoke noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4189, ptr noundef nonnull align 8 dereferenceable(40) %4192, ptr noundef nonnull align 8 dereferenceable(232) %4190, ptr noundef null, ptr noundef %4194)
          to label %4196 unwind label %4202

4196:                                             ; preds = %4188
  %.not3237 = icmp eq ptr %4195, null
  br i1 %.not3237, label %4204, label %4197

4197:                                             ; preds = %4196
  %4198 = load ptr, ptr %4195, align 8, !tbaa !17
  %4199 = getelementptr inbounds i8, ptr %4198, i64 24
  %4200 = load ptr, ptr %4199, align 8
  %4201 = invoke noundef ptr %4200(ptr noundef nonnull align 8 dereferenceable(32) %4195)
          to label %4204 unwind label %4202

4202:                                             ; preds = %4197, %4188
  %4203 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %34) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %34) #11
  br label %5349

4204:                                             ; preds = %4196, %4197
  %storemerge = phi ptr [ %4201, %4197 ], [ null, %4196 ]
  store ptr %storemerge, ptr %44, align 8, !tbaa !6
  call void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %34) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %34) #11
  br label %.thread3331

4205:                                             ; preds = %206
  %4206 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4207 = load ptr, ptr %4206, align 8, !tbaa !6
  store ptr %4207, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4208:                                             ; preds = %206
  %4209 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4210 = load ptr, ptr %4209, align 8, !tbaa !6
  %4211 = load ptr, ptr %4210, align 8, !tbaa !17
  %4212 = load ptr, ptr %4211, align 8
  %4213 = call noundef nonnull align 8 dereferenceable(24) ptr %4212(ptr noundef nonnull align 8 dereferenceable(32) %4210)
  %4214 = load ptr, ptr %0, align 8, !tbaa !17
  %4215 = getelementptr inbounds i8, ptr %4214, i64 40
  %4216 = load ptr, ptr %4215, align 8
  call void %4216(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %4213, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL32E_GL_EXT_control_flow_attributesE, ptr noundef nonnull @.str.64)
  %4217 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4218 = load ptr, ptr %4217, align 8, !tbaa !6
  %4219 = load ptr, ptr %4209, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext22handleSwitchAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 1 %4218, ptr noundef %4219)
  %4220 = load ptr, ptr %4209, align 8, !tbaa !6
  store ptr %4220, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4221:                                             ; preds = %206
  %4222 = load i32, ptr %66, align 8, !tbaa !101
  %4223 = add nsw i32 %4222, 1
  store i32 %4223, ptr %66, align 8, !tbaa !101
  %4224 = load i32, ptr %59, align 8, !tbaa !155
  %4225 = add nsw i32 %4224, 1
  store i32 %4225, ptr %59, align 8, !tbaa !155
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #11
  %4226 = call noundef ptr @_ZN7glslang7TVectorIP11TIntermNodeEnwEm(i64 noundef 32)
  invoke void @_ZN7glslang7TVectorIP11TIntermNodeEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4226)
          to label %4227 unwind label %4229

4227:                                             ; preds = %4221
  store ptr %4226, ptr %35, align 8, !tbaa !9
  call void @_ZNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE9push_backEOS6_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(8) %35)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #11
  call void @_ZNSt7__cxx114listIiN7glslang14pool_allocatorIiEEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(32) %67, ptr noundef nonnull align 4 dereferenceable(4) %59)
  %4228 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %4228)
  br label %.thread3331

4229:                                             ; preds = %4221
  %4230 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7glslang7TVectorIP11TIntermNodeEdlEPv(ptr noundef %4226) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #11
  br label %5349

4231:                                             ; preds = %206
  %4232 = getelementptr inbounds i8, ptr %.33120, i64 -2016
  %4233 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %4234 = load ptr, ptr %4233, align 8, !tbaa !6
  %4235 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4236 = load ptr, ptr %4235, align 8, !tbaa !6
  %.not3236 = icmp eq ptr %4236, null
  br i1 %.not3236, label %4242, label %4237

4237:                                             ; preds = %4231
  %4238 = load ptr, ptr %4236, align 8, !tbaa !17
  %4239 = getelementptr inbounds i8, ptr %4238, i64 48
  %4240 = load ptr, ptr %4239, align 8
  %4241 = call noundef ptr %4240(ptr noundef nonnull align 8 dereferenceable(32) %4236)
  br label %4242

4242:                                             ; preds = %4231, %4237
  %4243 = phi ptr [ %4241, %4237 ], [ null, %4231 ]
  %4244 = call noundef ptr @_ZN7glslang13TParseContext9addSwitchERKNS_10TSourceLocEPNS_12TIntermTypedEPNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4232, ptr noundef %4234, ptr noundef %4243)
  store ptr %4244, ptr %44, align 8, !tbaa !6
  %4245 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE4backEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #11
  %4246 = load ptr, ptr %4245, align 8, !tbaa !9
  %4247 = icmp eq ptr %4246, null
  br i1 %4247, label %4249, label %4248

4248:                                             ; preds = %4242
  call void @_ZNSt6vectorIP11TIntermNodeN7glslang14pool_allocatorIS1_EEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4246) #11
  call void @_ZN7glslang7TVectorIP11TIntermNodeEdlEPv(ptr noundef nonnull %4246) #11
  br label %4249

4249:                                             ; preds = %4248, %4242
  call void @_ZNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE8pop_backEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #11
  call void @_ZNSt7__cxx114listIiN7glslang14pool_allocatorIiEEE8pop_backEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  %4250 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %4250, ptr noundef nonnull %53)
  %4251 = load i32, ptr %59, align 8, !tbaa !155
  %4252 = add nsw i32 %4251, -1
  store i32 %4252, ptr %59, align 8, !tbaa !155
  %4253 = load i32, ptr %66, align 8, !tbaa !101
  %4254 = add nsw i32 %4253, -1
  store i32 %4254, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4255:                                             ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4256:                                             ; preds = %206
  %4257 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4258 = load ptr, ptr %4257, align 8, !tbaa !6
  store ptr %4258, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4259:                                             ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  %4260 = call noundef i64 @_ZNKSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  %4261 = icmp eq i64 %4260, 0
  br i1 %4261, label %4262, label %4267

4262:                                             ; preds = %4259
  %4263 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %4264 = load ptr, ptr %0, align 8, !tbaa !17
  %4265 = getelementptr inbounds i8, ptr %4264, i64 336
  %4266 = load ptr, ptr %4265, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4266(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4263, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.21)
  br label %.thread3331

4267:                                             ; preds = %4259
  %4268 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4backEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  %4269 = load i32, ptr %4268, align 4, !tbaa !13
  %4270 = load i32, ptr %59, align 8, !tbaa !155
  %.not3235 = icmp eq i32 %4269, %4270
  br i1 %.not3235, label %4276, label %4271

4271:                                             ; preds = %4267
  %4272 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %4273 = load ptr, ptr %0, align 8, !tbaa !17
  %4274 = getelementptr inbounds i8, ptr %4273, i64 336
  %4275 = load ptr, ptr %4274, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4275(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4272, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.21)
  br label %.thread3331

4276:                                             ; preds = %4267
  %4277 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4278 = load ptr, ptr %4277, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18constantValueCheckEPNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %4278, ptr noundef nonnull @.str.179)
  %4279 = load ptr, ptr %4277, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext12integerCheckEPKNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %4279, ptr noundef nonnull @.str.179)
  %4280 = load ptr, ptr %45, align 8, !tbaa !19
  %4281 = load ptr, ptr %4277, align 8, !tbaa !6
  %4282 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %4283 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorEPNS_12TIntermTypedERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4280, i32 noundef 463, ptr noundef %4281, ptr noundef nonnull align 8 dereferenceable(24) %4282)
  store ptr %4283, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4284:                                             ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  %4285 = call noundef i64 @_ZNKSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  %4286 = icmp eq i64 %4285, 0
  br i1 %4286, label %4287, label %4292

4287:                                             ; preds = %4284
  %4288 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4289 = load ptr, ptr %0, align 8, !tbaa !17
  %4290 = getelementptr inbounds i8, ptr %4289, i64 336
  %4291 = load ptr, ptr %4290, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4291(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4288, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.21)
  br label %.thread3331

4292:                                             ; preds = %4284
  %4293 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4backEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #11
  %4294 = load i32, ptr %4293, align 4, !tbaa !13
  %4295 = load i32, ptr %59, align 8, !tbaa !155
  %.not3234 = icmp eq i32 %4294, %4295
  br i1 %.not3234, label %4301, label %4296

4296:                                             ; preds = %4292
  %4297 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4298 = load ptr, ptr %0, align 8, !tbaa !17
  %4299 = getelementptr inbounds i8, ptr %4298, i64 336
  %4300 = load ptr, ptr %4299, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4300(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4297, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.21)
  br label %.thread3331

4301:                                             ; preds = %4292
  %4302 = load ptr, ptr %45, align 8, !tbaa !19
  %4303 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4304 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4302, i32 noundef 464, ptr noundef nonnull align 8 dereferenceable(24) %4303)
  store ptr %4304, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4305:                                             ; preds = %206
  %4306 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4307 = load ptr, ptr %4306, align 8, !tbaa !6
  store ptr %4307, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4308:                                             ; preds = %206
  %4309 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4310 = load ptr, ptr %4309, align 8, !tbaa !6
  %4311 = load ptr, ptr %4310, align 8, !tbaa !17
  %4312 = load ptr, ptr %4311, align 8
  %4313 = call noundef nonnull align 8 dereferenceable(24) ptr %4312(ptr noundef nonnull align 8 dereferenceable(32) %4310)
  %4314 = load ptr, ptr %0, align 8, !tbaa !17
  %4315 = getelementptr inbounds i8, ptr %4314, i64 40
  %4316 = load ptr, ptr %4315, align 8
  call void %4316(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %4313, i32 noundef 1, ptr noundef nonnull @_ZN7glslangL32E_GL_EXT_control_flow_attributesE, ptr noundef nonnull @.str.64)
  %4317 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4318 = load ptr, ptr %4317, align 8, !tbaa !6
  %4319 = load ptr, ptr %4309, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext20handleLoopAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 1 %4318, ptr noundef %4319)
  %4320 = load ptr, ptr %4309, align 8, !tbaa !6
  store ptr %4320, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4321:                                             ; preds = %206
  %4322 = load ptr, ptr %65, align 8, !tbaa !156
  %4323 = getelementptr inbounds i8, ptr %4322, i64 1
  %4324 = load i8, ptr %4323, align 1, !tbaa !157, !range !41, !noundef !42
  %4325 = trunc nuw i8 %4324 to i1
  br i1 %4325, label %4331, label %4326

4326:                                             ; preds = %4321
  %4327 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4328 = load ptr, ptr %0, align 8, !tbaa !17
  %4329 = getelementptr inbounds i8, ptr %4328, i64 336
  %4330 = load ptr, ptr %4329, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4330(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4327, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.21)
  br label %4331

4331:                                             ; preds = %4326, %4321
  %4332 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %4332)
  %4333 = load <2 x i32>, ptr %59, align 8, !tbaa !13
  %4334 = add nsw <2 x i32> %4333, <i32 1, i32 1>
  store <2 x i32> %4334, ptr %59, align 8, !tbaa !13
  %4335 = load i32, ptr %66, align 8, !tbaa !101
  %4336 = add nsw i32 %4335, 1
  store i32 %4336, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4337:                                             ; preds = %206
  %4338 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %4338, ptr noundef nonnull %53)
  %4339 = load ptr, ptr %45, align 8, !tbaa !19
  %4340 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4341 = load ptr, ptr %4340, align 8, !tbaa !6
  %4342 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4343 = load ptr, ptr %4342, align 8, !tbaa !6
  %4344 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  %4345 = call noundef ptr @_ZN7glslang13TIntermediate7addLoopEP11TIntermNodePNS_12TIntermTypedES4_bRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4339, ptr noundef %4341, ptr noundef %4343, ptr noundef null, i1 noundef zeroext true, ptr noundef nonnull align 8 dereferenceable(24) %4344)
  store ptr %4345, ptr %44, align 8, !tbaa !6
  %4346 = load <2 x i32>, ptr %59, align 8, !tbaa !13
  %4347 = add nsw <2 x i32> %4346, <i32 -1, i32 -1>
  store <2 x i32> %4347, ptr %59, align 8, !tbaa !13
  %4348 = load i32, ptr %66, align 8, !tbaa !101
  %4349 = add nsw i32 %4348, -1
  store i32 %4349, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4350:                                             ; preds = %206
  %4351 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %4351)
  %4352 = load <2 x i32>, ptr %59, align 8, !tbaa !13
  %4353 = add nsw <2 x i32> %4352, <i32 1, i32 1>
  store <2 x i32> %4353, ptr %59, align 8, !tbaa !13
  %4354 = load i32, ptr %66, align 8, !tbaa !101
  %4355 = add nsw i32 %4354, 1
  store i32 %4355, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4356:                                             ; preds = %206
  %4357 = load ptr, ptr %65, align 8, !tbaa !156
  %4358 = getelementptr inbounds i8, ptr %4357, i64 1
  %4359 = load i8, ptr %4358, align 1, !tbaa !157, !range !41, !noundef !42
  %4360 = trunc nuw i8 %4359 to i1
  br i1 %4360, label %4366, label %4361

4361:                                             ; preds = %4356
  %4362 = getelementptr inbounds i8, ptr %.33120, i64 -2016
  %4363 = load ptr, ptr %0, align 8, !tbaa !17
  %4364 = getelementptr inbounds i8, ptr %4363, i64 336
  %4365 = load ptr, ptr %4364, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4365(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4362, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.21)
  br label %4366

4366:                                             ; preds = %4361, %4356
  %4367 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4368 = load ptr, ptr %4367, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef %4368)
  %4369 = load ptr, ptr %45, align 8, !tbaa !19
  %4370 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %4371 = load ptr, ptr %4370, align 8, !tbaa !6
  %4372 = load ptr, ptr %4367, align 8, !tbaa !6
  %4373 = getelementptr inbounds i8, ptr %.33120, i64 -1152
  %4374 = call noundef ptr @_ZN7glslang13TIntermediate7addLoopEP11TIntermNodePNS_12TIntermTypedES4_bRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4369, ptr noundef %4371, ptr noundef %4372, ptr noundef null, i1 noundef zeroext false, ptr noundef nonnull align 8 dereferenceable(24) %4373)
  store ptr %4374, ptr %44, align 8, !tbaa !6
  %4375 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %4375, ptr noundef nonnull %53)
  %4376 = load <2 x i32>, ptr %59, align 8, !tbaa !13
  %4377 = add nsw <2 x i32> %4376, <i32 -1, i32 -1>
  store <2 x i32> %4377, ptr %59, align 8, !tbaa !13
  %4378 = load i32, ptr %66, align 8, !tbaa !101
  %4379 = add nsw i32 %4378, -1
  store i32 %4379, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4380:                                             ; preds = %206
  %4381 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %4381)
  %4382 = load <2 x i32>, ptr %59, align 8, !tbaa !13
  %4383 = add nsw <2 x i32> %4382, <i32 1, i32 1>
  store <2 x i32> %4383, ptr %59, align 8, !tbaa !13
  %4384 = load i32, ptr %66, align 8, !tbaa !101
  %4385 = add nsw i32 %4384, 1
  store i32 %4385, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4386:                                             ; preds = %206
  %4387 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %4387, ptr noundef nonnull %53)
  %4388 = load ptr, ptr %45, align 8, !tbaa !19
  %4389 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %4390 = load ptr, ptr %4389, align 8, !tbaa !6
  %4391 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  %4392 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNodeRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4388, ptr noundef %4390, ptr noundef nonnull align 8 dereferenceable(24) %4391)
  store ptr %4392, ptr %44, align 8, !tbaa !6
  %4393 = load ptr, ptr %45, align 8, !tbaa !19
  %4394 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4395 = load ptr, ptr %4394, align 8, !tbaa !6
  %4396 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4397 = load ptr, ptr %4396, align 8, !tbaa !6
  %4398 = getelementptr inbounds i8, ptr %.33120, i64 -536
  %4399 = load ptr, ptr %4398, align 8, !tbaa !6
  %4400 = getelementptr inbounds i8, ptr %.33120, i64 -1728
  %4401 = call noundef ptr @_ZN7glslang13TIntermediate7addLoopEP11TIntermNodePNS_12TIntermTypedES4_bRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4393, ptr noundef %4395, ptr noundef %4397, ptr noundef %4399, i1 noundef zeroext true, ptr noundef nonnull align 8 dereferenceable(24) %4400)
  %4402 = load ptr, ptr %65, align 8, !tbaa !156
  %4403 = load i8, ptr %4402, align 1, !tbaa !158, !range !41, !noundef !42
  %4404 = trunc nuw i8 %4403 to i1
  br i1 %4404, label %4407, label %4405

4405:                                             ; preds = %4386
  %4406 = load ptr, ptr %4389, align 8, !tbaa !6
  call void @_ZN7glslang13TParseContext18inductiveLoopCheckERKNS_10TSourceLocEP11TIntermNodePNS_11TIntermLoopE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4400, ptr noundef %4406, ptr noundef %4401)
  br label %4407

4407:                                             ; preds = %4405, %4386
  %4408 = load ptr, ptr %45, align 8, !tbaa !19
  %4409 = load ptr, ptr %44, align 8, !tbaa !6
  %4410 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4408, ptr noundef %4409, ptr noundef %4401, ptr noundef nonnull align 8 dereferenceable(24) %4400)
  store ptr %4410, ptr %44, align 8, !tbaa !6
  %4411 = load ptr, ptr %4410, align 8, !tbaa !17
  %4412 = getelementptr inbounds i8, ptr %4411, i64 48
  %4413 = load ptr, ptr %4412, align 8
  %4414 = call noundef ptr %4413(ptr noundef nonnull align 8 dereferenceable(32) %4410)
  %4415 = load ptr, ptr %4414, align 8, !tbaa !17
  %4416 = getelementptr inbounds i8, ptr %4415, i64 392
  %4417 = load ptr, ptr %4416, align 8
  call void %4417(ptr noundef nonnull align 8 dereferenceable(352) %4414, i32 noundef 1)
  %4418 = load <2 x i32>, ptr %59, align 8, !tbaa !13
  %4419 = add nsw <2 x i32> %4418, <i32 -1, i32 -1>
  store <2 x i32> %4419, ptr %59, align 8, !tbaa !13
  %4420 = load i32, ptr %66, align 8, !tbaa !101
  %4421 = add nsw i32 %4420, -1
  store i32 %4421, ptr %66, align 8, !tbaa !101
  br label %.thread3331

4422:                                             ; preds = %206
  %4423 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4424 = load ptr, ptr %4423, align 8, !tbaa !6
  store ptr %4424, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4425:                                             ; preds = %206
  %4426 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4427 = load ptr, ptr %4426, align 8, !tbaa !6
  store ptr %4427, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4428:                                             ; preds = %206
  %4429 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4430 = load ptr, ptr %4429, align 8, !tbaa !6
  store ptr %4430, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4431:                                             ; preds = %206
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4432:                                             ; preds = %206
  %4433 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4434 = load ptr, ptr %4433, align 8, !tbaa !6
  store ptr %4434, ptr %44, align 8, !tbaa !6
  store ptr null, ptr %64, align 8, !tbaa !6
  br label %.thread3331

4435:                                             ; preds = %206
  %4436 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4437 = load ptr, ptr %4436, align 8, !tbaa !6
  store ptr %4437, ptr %44, align 8, !tbaa !6
  %4438 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4439 = load ptr, ptr %4438, align 8, !tbaa !6
  store ptr %4439, ptr %64, align 8, !tbaa !6
  br label %.thread3331

4440:                                             ; preds = %206
  %4441 = load i32, ptr %62, align 4, !tbaa !159
  %4442 = icmp slt i32 %4441, 1
  br i1 %4442, label %4443, label %4448

4443:                                             ; preds = %4440
  %4444 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4445 = load ptr, ptr %0, align 8, !tbaa !17
  %4446 = getelementptr inbounds i8, ptr %4445, i64 336
  %4447 = load ptr, ptr %4446, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4447(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4444, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.21)
  br label %4448

4448:                                             ; preds = %4443, %4440
  %4449 = load ptr, ptr %45, align 8, !tbaa !19
  %4450 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4451 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4449, i32 noundef 462, ptr noundef nonnull align 8 dereferenceable(24) %4450)
  store ptr %4451, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4452:                                             ; preds = %206
  %4453 = load i32, ptr %62, align 4, !tbaa !159
  %4454 = sext i32 %4453 to i64
  %4455 = call noundef i64 @_ZNKSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #11
  %4456 = sub nsw i64 0, %4454
  %4457 = icmp eq i64 %4455, %4456
  br i1 %4457, label %4458, label %4463

4458:                                             ; preds = %4452
  %4459 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4460 = load ptr, ptr %0, align 8, !tbaa !17
  %4461 = getelementptr inbounds i8, ptr %4460, i64 336
  %4462 = load ptr, ptr %4461, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4462(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4459, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.21)
  br label %4463

4463:                                             ; preds = %4458, %4452
  %4464 = load ptr, ptr %45, align 8, !tbaa !19
  %4465 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4466 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4464, i32 noundef 461, ptr noundef nonnull align 8 dereferenceable(24) %4465)
  store ptr %4466, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4467:                                             ; preds = %206
  %4468 = load ptr, ptr %45, align 8, !tbaa !19
  %4469 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4470 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4468, i32 noundef 460, ptr noundef nonnull align 8 dereferenceable(24) %4469)
  store ptr %4470, ptr %44, align 8, !tbaa !6
  %4471 = load ptr, ptr %51, align 8, !tbaa !160
  %4472 = load ptr, ptr %4471, align 8, !tbaa !17
  %4473 = getelementptr inbounds i8, ptr %4472, i64 56
  %4474 = load ptr, ptr %4473, align 8
  %4475 = call noundef i32 %4474(ptr noundef nonnull align 8 dereferenceable(144) %4471)
  %.not3233 = icmp eq i32 %4475, 0
  br i1 %.not3233, label %4480, label %4476

4476:                                             ; preds = %4467
  %4477 = load ptr, ptr %0, align 8, !tbaa !17
  %4478 = getelementptr inbounds i8, ptr %4477, i64 336
  %4479 = load ptr, ptr %4478, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4479(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4469, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.21)
  br label %4480

4480:                                             ; preds = %4476, %4467
  %4481 = load i8, ptr %60, align 8, !tbaa !161, !range !41, !noundef !42
  %4482 = trunc nuw i8 %4481 to i1
  br i1 %4482, label %4483, label %.thread3331

4483:                                             ; preds = %4480
  store i8 1, ptr %61, align 1, !tbaa !162
  br label %.thread3331

4484:                                             ; preds = %206
  %4485 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %4486 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4487 = load ptr, ptr %4486, align 8, !tbaa !6
  %4488 = call noundef ptr @_ZN7glslang13TParseContext17handleReturnValueERKNS_10TSourceLocEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4485, ptr noundef %4487)
  store ptr %4488, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4489:                                             ; preds = %206
  %4490 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %4490, i32 noundef 4, ptr noundef nonnull @.str.189)
  %4491 = load ptr, ptr %45, align 8, !tbaa !19
  %4492 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4491, i32 noundef 455, ptr noundef nonnull align 8 dereferenceable(24) %4490)
  store ptr %4492, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4493:                                             ; preds = %206
  %4494 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %4494, i32 noundef 4, ptr noundef nonnull @.str.190)
  %4495 = load ptr, ptr %45, align 8, !tbaa !19
  %4496 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4495, i32 noundef 456, ptr noundef nonnull align 8 dereferenceable(24) %4494)
  store ptr %4496, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4497:                                             ; preds = %206
  %4498 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %4498, i32 noundef 8, ptr noundef nonnull @.str.191)
  %4499 = load ptr, ptr %45, align 8, !tbaa !19
  %4500 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4499, i32 noundef 458, ptr noundef nonnull align 8 dereferenceable(24) %4498)
  store ptr %4500, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4501:                                             ; preds = %206
  %4502 = getelementptr inbounds i8, ptr %.33120, i64 -288
  call void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %4502, i32 noundef 8, ptr noundef nonnull @.str.192)
  %4503 = load ptr, ptr %45, align 8, !tbaa !19
  %4504 = call noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4503, i32 noundef 459, ptr noundef nonnull align 8 dereferenceable(24) %4502)
  store ptr %4504, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4505:                                             ; preds = %206
  %4506 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4507 = load ptr, ptr %4506, align 8, !tbaa !6
  store ptr %4507, ptr %44, align 8, !tbaa !6
  %4508 = load ptr, ptr %45, align 8, !tbaa !19
  call void @_ZN7glslang13TIntermediate11setTreeRootEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %4508, ptr noundef %4507)
  br label %.thread3331

4509:                                             ; preds = %206
  %4510 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4511 = load ptr, ptr %4510, align 8, !tbaa !6
  %.not3232 = icmp eq ptr %4511, null
  br i1 %.not3232, label %.thread3331, label %4512

4512:                                             ; preds = %4509
  %4513 = load ptr, ptr %45, align 8, !tbaa !19
  %4514 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4515 = load ptr, ptr %4514, align 8, !tbaa !6
  %4516 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %4513, ptr noundef %4515, ptr noundef nonnull %4511)
  store ptr %4516, ptr %44, align 8, !tbaa !6
  %4517 = load ptr, ptr %45, align 8, !tbaa !19
  call void @_ZN7glslang13TIntermediate11setTreeRootEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %4517, ptr noundef %4516)
  br label %.thread3331

4518:                                             ; preds = %206
  %4519 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4520 = load ptr, ptr %4519, align 8, !tbaa !6
  store ptr %4520, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4521:                                             ; preds = %206
  %4522 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4523 = load ptr, ptr %4522, align 8, !tbaa !6
  store ptr %4523, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4524:                                             ; preds = %206
  call void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef -9, ptr noundef nonnull @.str.193)
  call void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i32 noundef -9, i32 noundef 460, ptr noundef null, ptr noundef nonnull @.str.193)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4525:                                             ; preds = %206
  %4526 = getelementptr inbounds i8, ptr %.33120, i64 48
  %4527 = load ptr, ptr %4526, align 8, !tbaa !6
  %4528 = call noundef ptr @_ZN7glslang13TParseContext24handleFunctionDeclaratorERKNS_10TSourceLocERNS_9TFunctionEb(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(328) %4527, i1 noundef zeroext false)
  store ptr %4528, ptr %4526, align 8, !tbaa !6
  %4529 = call noundef ptr @_ZN7glslang13TParseContext24handleFunctionDefinitionERKNS_10TSourceLocERNS_9TFunctionE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %.33120, ptr noundef nonnull align 8 dereferenceable(328) %4528)
  %4530 = getelementptr inbounds i8, ptr %.33120, i64 32
  store ptr %4529, ptr %4530, align 8, !tbaa !6
  %4531 = load i32, ptr %57, align 4, !tbaa !163
  %4532 = icmp eq i32 %4531, 8
  br i1 %4532, label %4533, label %.thread3331

4533:                                             ; preds = %4525
  %4534 = load i32, ptr %58, align 8, !tbaa !164
  %4535 = icmp eq i32 %4534, 100
  br i1 %4535, label %4536, label %.thread3331

4536:                                             ; preds = %4533
  %4537 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40) %4537)
  %4538 = load i32, ptr %59, align 8, !tbaa !155
  %4539 = add nsw i32 %4538, 1
  store i32 %4539, ptr %59, align 8, !tbaa !155
  br label %.thread3331

4540:                                             ; preds = %206
  %4541 = load ptr, ptr %51, align 8, !tbaa !160
  %4542 = load ptr, ptr %4541, align 8, !tbaa !17
  %4543 = getelementptr inbounds i8, ptr %4542, i64 56
  %4544 = load ptr, ptr %4543, align 8
  %4545 = call noundef i32 %4544(ptr noundef nonnull align 8 dereferenceable(144) %4541)
  %.not3231 = icmp eq i32 %4545, 0
  br i1 %.not3231, label %4561, label %4546

4546:                                             ; preds = %4540
  %4547 = load i8, ptr %52, align 8, !tbaa !165, !range !41, !noundef !42
  %4548 = trunc nuw i8 %4547 to i1
  br i1 %4548, label %4561, label %4549

4549:                                             ; preds = %4546
  %4550 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %4551 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %4552 = load ptr, ptr %4551, align 8, !tbaa !6
  %4553 = load ptr, ptr %4552, align 8, !tbaa !17
  %4554 = getelementptr inbounds i8, ptr %4553, i64 24
  %4555 = load ptr, ptr %4554, align 8
  %4556 = call noundef nonnull align 8 dereferenceable(40) ptr %4555(ptr noundef nonnull align 8 dereferenceable(33) %4552)
  %4557 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %4556) #11
  %4558 = load ptr, ptr %0, align 8, !tbaa !17
  %4559 = getelementptr inbounds i8, ptr %4558, i64 336
  %4560 = load ptr, ptr %4559, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4560(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4550, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.21, ptr noundef %4557)
  br label %4561

4561:                                             ; preds = %4549, %4546, %4540
  %4562 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %4562, ptr noundef nonnull %53)
  %4563 = load ptr, ptr %45, align 8, !tbaa !19
  %4564 = getelementptr inbounds i8, ptr %.33120, i64 -576
  %4565 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4566 = load ptr, ptr %4565, align 8, !tbaa !6
  %4567 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4568 = load ptr, ptr %4567, align 8, !tbaa !6
  %4569 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %4563, ptr noundef %4566, ptr noundef %4568)
  store ptr %4569, ptr %44, align 8, !tbaa !6
  %4570 = load ptr, ptr %45, align 8, !tbaa !19
  %4571 = getelementptr inbounds i8, ptr %.33120, i64 -528
  %4572 = load ptr, ptr %4571, align 8, !tbaa !6
  %4573 = load ptr, ptr %4572, align 8, !tbaa !17
  %4574 = getelementptr inbounds i8, ptr %4573, i64 96
  %4575 = load ptr, ptr %4574, align 8
  %4576 = call noundef nonnull align 8 dereferenceable(144) ptr %4575(ptr noundef nonnull align 8 dereferenceable(328) %4572)
  %4577 = call noundef ptr @_ZN7glslang13TIntermediate20setAggregateOperatorEP11TIntermNodeNS_9TOperatorERKNS_5TTypeERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784) %4570, ptr noundef %4569, i32 noundef 4, ptr noundef nonnull align 8 dereferenceable(144) %4576, ptr noundef nonnull align 8 dereferenceable(24) %4564)
  %4578 = load ptr, ptr %44, align 8, !tbaa !6
  %4579 = load ptr, ptr %4578, align 8, !tbaa !17
  %4580 = getelementptr inbounds i8, ptr %4579, i64 48
  %4581 = load ptr, ptr %4580, align 8
  %4582 = call noundef ptr %4581(ptr noundef nonnull align 8 dereferenceable(32) %4578)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %36) #11
  %4583 = load ptr, ptr %4571, align 8, !tbaa !6
  %4584 = load ptr, ptr %4583, align 8, !tbaa !17
  %4585 = getelementptr inbounds i8, ptr %4584, i64 48
  %4586 = load ptr, ptr %4585, align 8
  %4587 = call noundef nonnull align 8 dereferenceable(40) ptr %4586(ptr noundef nonnull align 8 dereferenceable(328) %4583)
  %4588 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40) %4587) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #11
  call void @_ZN7glslang14pool_allocatorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37)
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEC2IS5_EEPKcRKS5_(ptr noundef nonnull align 8 dereferenceable(40) %36, ptr noundef %4588, ptr noundef nonnull align 8 dereferenceable(8) %37)
  %4589 = load ptr, ptr %4582, align 8, !tbaa !17
  %4590 = getelementptr inbounds i8, ptr %4589, i64 416
  %4591 = load ptr, ptr %4590, align 8
  invoke void %4591(ptr noundef nonnull align 8 dereferenceable(352) %4582, ptr noundef nonnull align 8 dereferenceable(40) %36)
          to label %4592 unwind label %4621

4592:                                             ; preds = %4561
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %36) #11
  %4593 = load ptr, ptr %44, align 8, !tbaa !6
  %4594 = load ptr, ptr %4593, align 8, !tbaa !17
  %4595 = getelementptr inbounds i8, ptr %4594, i64 48
  %4596 = load ptr, ptr %4595, align 8
  %4597 = call noundef ptr %4596(ptr noundef nonnull align 8 dereferenceable(32) %4593)
  %4598 = load i8, ptr %54, align 8, !tbaa !166, !range !41, !noundef !42
  %4599 = trunc nuw i8 %4598 to i1
  call void @_ZN7glslang16TIntermAggregate11setOptimizeEb(ptr noundef nonnull align 8 dereferenceable(352) %4597, i1 noundef zeroext %4599)
  %4600 = load ptr, ptr %44, align 8, !tbaa !6
  %4601 = load ptr, ptr %4600, align 8, !tbaa !17
  %4602 = getelementptr inbounds i8, ptr %4601, i64 48
  %4603 = load ptr, ptr %4602, align 8
  %4604 = call noundef ptr %4603(ptr noundef nonnull align 8 dereferenceable(32) %4600)
  %4605 = load i8, ptr %55, align 1, !tbaa !167, !range !41, !noundef !42
  %4606 = trunc nuw i8 %4605 to i1
  call void @_ZN7glslang16TIntermAggregate8setDebugEb(ptr noundef nonnull align 8 dereferenceable(352) %4604, i1 noundef zeroext %4606)
  %4607 = load ptr, ptr %44, align 8, !tbaa !6
  %4608 = load ptr, ptr %4607, align 8, !tbaa !17
  %4609 = getelementptr inbounds i8, ptr %4608, i64 48
  %4610 = load ptr, ptr %4609, align 8
  %4611 = call noundef ptr %4610(ptr noundef nonnull align 8 dereferenceable(32) %4607)
  call void @_ZN7glslang16TIntermAggregate14setPragmaTableERKNS_12TPragmaTableE(ptr noundef nonnull align 8 dereferenceable(352) %4611, ptr noundef nonnull align 8 dereferenceable(56) %56)
  store ptr null, ptr %51, align 8, !tbaa !160
  %4612 = load i32, ptr %57, align 4, !tbaa !163
  %4613 = icmp eq i32 %4612, 8
  br i1 %4613, label %4614, label %.thread3331

4614:                                             ; preds = %4592
  %4615 = load i32, ptr %58, align 8, !tbaa !164
  %4616 = icmp eq i32 %4615, 100
  br i1 %4616, label %4617, label %.thread3331

4617:                                             ; preds = %4614
  %4618 = load ptr, ptr %47, align 8, !tbaa !43
  call void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40) %4618, ptr noundef nonnull %53)
  %4619 = load i32, ptr %59, align 8, !tbaa !155
  %4620 = add nsw i32 %4619, -1
  store i32 %4620, ptr %59, align 8, !tbaa !155
  br label %.thread3331

4621:                                             ; preds = %4561
  %4622 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %36) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %36) #11
  br label %5349

4623:                                             ; preds = %206
  %4624 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4625 = load ptr, ptr %4624, align 8, !tbaa !6
  store ptr %4625, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4626:                                             ; preds = %206
  %4627 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4628 = load ptr, ptr %4627, align 8, !tbaa !6
  store ptr %4628, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4629:                                             ; preds = %206
  %4630 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4631 = load ptr, ptr %4630, align 8, !tbaa !6
  %4632 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4633 = load ptr, ptr %4632, align 8, !tbaa !6
  %4634 = call noundef ptr @_ZNK7glslang13TParseContext15mergeAttributesEPNS_5TListINS_14TAttributeArgsEEES4_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %4631, ptr noundef %4633)
  store ptr %4634, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4635:                                             ; preds = %206
  %4636 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4637 = load ptr, ptr %4636, align 8, !tbaa !6
  %4638 = call noundef ptr @_ZNK7glslang13TParseContext14makeAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(40) %4637)
  store ptr %4638, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4639:                                             ; preds = %206
  %4640 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4641 = load ptr, ptr %4640, align 8, !tbaa !6
  %4642 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4643 = load ptr, ptr %4642, align 8, !tbaa !6
  %4644 = call noundef ptr @_ZNK7glslang13TParseContext14makeAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(40) %4641, ptr noundef %4643)
  store ptr %4644, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4645:                                             ; preds = %206
  %4646 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4647 = load ptr, ptr %4646, align 8, !tbaa !6
  store ptr %4647, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4648:                                             ; preds = %206
  %4649 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %4650 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4651 = load ptr, ptr %4650, align 8, !tbaa !6
  %4652 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4653 = load ptr, ptr %4652, align 8, !tbaa !6
  %4654 = call noundef ptr @_ZN7glslang13TParseContext22mergeSpirvRequirementsERKNS_10TSourceLocEPNS_17TSpirvRequirementES5_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4649, ptr noundef %4651, ptr noundef %4653)
  store ptr %4654, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4655:                                             ; preds = %206
  %4656 = getelementptr inbounds i8, ptr %.33120, i64 -864
  %4657 = getelementptr inbounds i8, ptr %.33120, i64 -1128
  %4658 = load ptr, ptr %4657, align 8, !tbaa !6
  %4659 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4660 = load ptr, ptr %4659, align 8, !tbaa !6
  %4661 = load ptr, ptr %4660, align 8, !tbaa !17
  %4662 = getelementptr inbounds i8, ptr %4661, i64 48
  %4663 = load ptr, ptr %4662, align 8
  %4664 = call noundef ptr %4663(ptr noundef nonnull align 8 dereferenceable(32) %4660)
  %4665 = call noundef ptr @_ZN7glslang13TParseContext20makeSpirvRequirementERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_16TIntermAggregateESF_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4656, ptr noundef nonnull align 8 dereferenceable(40) %4658, ptr noundef %4664, ptr noundef null)
  store ptr %4665, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4666:                                             ; preds = %206
  %4667 = getelementptr inbounds i8, ptr %.33120, i64 -864
  %4668 = getelementptr inbounds i8, ptr %.33120, i64 -1128
  %4669 = load ptr, ptr %4668, align 8, !tbaa !6
  %4670 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4671 = load ptr, ptr %4670, align 8, !tbaa !6
  %4672 = load ptr, ptr %4671, align 8, !tbaa !17
  %4673 = getelementptr inbounds i8, ptr %4672, i64 48
  %4674 = load ptr, ptr %4673, align 8
  %4675 = call noundef ptr %4674(ptr noundef nonnull align 8 dereferenceable(32) %4671)
  %4676 = call noundef ptr @_ZN7glslang13TParseContext20makeSpirvRequirementERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_16TIntermAggregateESF_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %4667, ptr noundef nonnull align 8 dereferenceable(40) %4669, ptr noundef null, ptr noundef %4675)
  store ptr %4676, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4677:                                             ; preds = %206
  %4678 = load ptr, ptr %45, align 8, !tbaa !19
  %4679 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4680 = load ptr, ptr %4679, align 8, !tbaa !6
  %4681 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4678, ptr noundef %4680, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  %4682 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %4678, ptr noundef %4681)
  store ptr %4682, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4683:                                             ; preds = %206
  %4684 = load ptr, ptr %45, align 8, !tbaa !19
  %4685 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4686 = load ptr, ptr %4685, align 8, !tbaa !6
  %4687 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4688 = load ptr, ptr %4687, align 8, !tbaa !6
  %4689 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4684, ptr noundef %4688, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  %4690 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %4684, ptr noundef %4686, ptr noundef %4689)
  store ptr %4690, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4691:                                             ; preds = %206
  %4692 = load ptr, ptr %45, align 8, !tbaa !19
  %4693 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4694 = load i32, ptr %4693, align 8, !tbaa !6
  %4695 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4692, i32 noundef %4694, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  %4696 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %4692, ptr noundef %4695)
  store ptr %4696, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4697:                                             ; preds = %206
  %4698 = load ptr, ptr %45, align 8, !tbaa !19
  %4699 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4700 = load ptr, ptr %4699, align 8, !tbaa !6
  %4701 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4702 = load i32, ptr %4701, align 8, !tbaa !6
  %4703 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4698, i32 noundef %4702, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  %4704 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %4698, ptr noundef %4700, ptr noundef %4703)
  store ptr %4704, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4705:                                             ; preds = %206
  %4706 = load ptr, ptr %45, align 8, !tbaa !19
  %4707 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %4708 = load i32, ptr %4707, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %4706, i32 noundef %4708, ptr noundef null)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4709:                                             ; preds = %206
  %4710 = load ptr, ptr %45, align 8, !tbaa !19
  %4711 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %4712 = load ptr, ptr %4711, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %4710, ptr noundef %4712)
  %4713 = load ptr, ptr %45, align 8, !tbaa !19
  %4714 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %4715 = load i32, ptr %4714, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %4713, i32 noundef %4715, ptr noundef null)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4716:                                             ; preds = %206
  %4717 = load ptr, ptr %45, align 8, !tbaa !19
  %4718 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4719 = load i32, ptr %4718, align 8, !tbaa !6
  %4720 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4721 = load ptr, ptr %4720, align 8, !tbaa !6
  %4722 = load ptr, ptr %4721, align 8, !tbaa !17
  %4723 = getelementptr inbounds i8, ptr %4722, i64 48
  %4724 = load ptr, ptr %4723, align 8
  %4725 = call noundef ptr %4724(ptr noundef nonnull align 8 dereferenceable(32) %4721)
  call void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %4717, i32 noundef %4719, ptr noundef %4725)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4726:                                             ; preds = %206
  %4727 = load ptr, ptr %45, align 8, !tbaa !19
  %4728 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %4729 = load ptr, ptr %4728, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %4727, ptr noundef %4729)
  %4730 = load ptr, ptr %45, align 8, !tbaa !19
  %4731 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4732 = load i32, ptr %4731, align 8, !tbaa !6
  %4733 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4734 = load ptr, ptr %4733, align 8, !tbaa !6
  %4735 = load ptr, ptr %4734, align 8, !tbaa !17
  %4736 = getelementptr inbounds i8, ptr %4735, i64 48
  %4737 = load ptr, ptr %4736, align 8
  %4738 = call noundef ptr %4737(ptr noundef nonnull align 8 dereferenceable(32) %4734)
  call void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %4730, i32 noundef %4732, ptr noundef %4738)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4739:                                             ; preds = %206
  %4740 = load ptr, ptr %45, align 8, !tbaa !19
  %4741 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4742 = load i32, ptr %4741, align 8, !tbaa !6
  %4743 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4744 = load ptr, ptr %4743, align 8, !tbaa !6
  %4745 = load ptr, ptr %4744, align 8, !tbaa !17
  %4746 = getelementptr inbounds i8, ptr %4745, i64 48
  %4747 = load ptr, ptr %4746, align 8
  %4748 = call noundef ptr %4747(ptr noundef nonnull align 8 dereferenceable(32) %4744)
  call void @_ZN7glslang13TIntermediate26insertSpirvExecutionModeIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %4740, i32 noundef %4742, ptr noundef %4748)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4749:                                             ; preds = %206
  %4750 = load ptr, ptr %45, align 8, !tbaa !19
  %4751 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %4752 = load ptr, ptr %4751, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %4750, ptr noundef %4752)
  %4753 = load ptr, ptr %45, align 8, !tbaa !19
  %4754 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4755 = load i32, ptr %4754, align 8, !tbaa !6
  %4756 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4757 = load ptr, ptr %4756, align 8, !tbaa !6
  %4758 = load ptr, ptr %4757, align 8, !tbaa !17
  %4759 = getelementptr inbounds i8, ptr %4758, i64 48
  %4760 = load ptr, ptr %4759, align 8
  %4761 = call noundef ptr %4760(ptr noundef nonnull align 8 dereferenceable(32) %4757)
  call void @_ZN7glslang13TIntermediate26insertSpirvExecutionModeIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784) %4753, i32 noundef %4755, ptr noundef %4761)
  store ptr null, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4762:                                             ; preds = %206
  %4763 = load ptr, ptr %45, align 8, !tbaa !19
  %4764 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4765 = load ptr, ptr %4764, align 8, !tbaa !6
  %4766 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %4763, ptr noundef %4765)
  store ptr %4766, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4767:                                             ; preds = %206
  %4768 = load ptr, ptr %45, align 8, !tbaa !19
  %4769 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4770 = load ptr, ptr %4769, align 8, !tbaa !6
  %4771 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4772 = load ptr, ptr %4771, align 8, !tbaa !6
  %4773 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %4768, ptr noundef %4770, ptr noundef %4772)
  store ptr %4773, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4774:                                             ; preds = %206
  %4775 = load ptr, ptr %45, align 8, !tbaa !19
  %4776 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4777 = load double, ptr %4776, align 8, !tbaa !6
  %4778 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4775, double noundef %4777, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %4778, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4779:                                             ; preds = %206
  %4780 = load ptr, ptr %45, align 8, !tbaa !19
  %4781 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4782 = load i32, ptr %4781, align 8, !tbaa !6
  %4783 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4780, i32 noundef %4782, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %4783, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4784:                                             ; preds = %206
  %4785 = load ptr, ptr %45, align 8, !tbaa !19
  %4786 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4787 = load i32, ptr %4786, align 8, !tbaa !6
  %4788 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4785, i32 noundef %4787, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %4788, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4789:                                             ; preds = %206
  %4790 = load ptr, ptr %45, align 8, !tbaa !19
  %4791 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4792 = load i8, ptr %4791, align 8, !tbaa !6, !range !41, !noundef !42
  %4793 = trunc nuw i8 %4792 to i1
  %4794 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4790, i1 noundef zeroext %4793, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %4794, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4795:                                             ; preds = %206
  %4796 = load ptr, ptr %45, align 8, !tbaa !19
  %4797 = getelementptr inbounds i8, ptr %.33120, i64 24
  %4798 = load ptr, ptr %4797, align 8, !tbaa !6
  %4799 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %4796, ptr noundef %4798, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %4799, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4800:                                             ; preds = %206
  %4801 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4802 = load ptr, ptr %4801, align 8, !tbaa !6
  %4803 = load ptr, ptr %4802, align 8, !tbaa !17
  %4804 = getelementptr inbounds i8, ptr %4803, i64 256
  %4805 = load ptr, ptr %4804, align 8
  %4806 = call noundef i32 %4805(ptr noundef nonnull align 8 dereferenceable(176) %4802)
  %.not3226 = icmp eq i32 %4806, 1
  br i1 %.not3226, label %4845, label %4807

4807:                                             ; preds = %4800
  %4808 = load ptr, ptr %4801, align 8, !tbaa !6
  %4809 = load ptr, ptr %4808, align 8, !tbaa !17
  %4810 = getelementptr inbounds i8, ptr %4809, i64 256
  %4811 = load ptr, ptr %4810, align 8
  %4812 = call noundef i32 %4811(ptr noundef nonnull align 8 dereferenceable(176) %4808)
  %.not3227 = icmp eq i32 %4812, 8
  br i1 %.not3227, label %4845, label %4813

4813:                                             ; preds = %4807
  %4814 = load ptr, ptr %4801, align 8, !tbaa !6
  %4815 = load ptr, ptr %4814, align 8, !tbaa !17
  %4816 = getelementptr inbounds i8, ptr %4815, i64 256
  %4817 = load ptr, ptr %4816, align 8
  %4818 = call noundef i32 %4817(ptr noundef nonnull align 8 dereferenceable(176) %4814)
  %.not3228 = icmp eq i32 %4818, 9
  br i1 %.not3228, label %4845, label %4819

4819:                                             ; preds = %4813
  %4820 = load ptr, ptr %4801, align 8, !tbaa !6
  %4821 = load ptr, ptr %4820, align 8, !tbaa !17
  %4822 = getelementptr inbounds i8, ptr %4821, i64 256
  %4823 = load ptr, ptr %4822, align 8
  %4824 = call noundef i32 %4823(ptr noundef nonnull align 8 dereferenceable(176) %4820)
  %.not3229 = icmp eq i32 %4824, 12
  br i1 %.not3229, label %4845, label %4825

4825:                                             ; preds = %4819
  %4826 = load ptr, ptr %4801, align 8, !tbaa !6
  %4827 = load ptr, ptr %4826, align 8, !tbaa !17
  %4828 = getelementptr inbounds i8, ptr %4827, i64 256
  %4829 = load ptr, ptr %4828, align 8
  %4830 = call noundef i32 %4829(ptr noundef nonnull align 8 dereferenceable(176) %4826)
  %.not3230 = icmp eq i32 %4830, 21
  br i1 %.not3230, label %4845, label %4831

4831:                                             ; preds = %4825
  %4832 = load ptr, ptr %4801, align 8, !tbaa !6
  %4833 = load ptr, ptr %4832, align 8, !tbaa !17
  %4834 = load ptr, ptr %4833, align 8
  %4835 = call noundef nonnull align 8 dereferenceable(24) ptr %4834(ptr noundef nonnull align 8 dereferenceable(32) %4832)
  %4836 = load ptr, ptr %4801, align 8, !tbaa !6
  %4837 = load ptr, ptr %4836, align 8, !tbaa !17
  %4838 = getelementptr inbounds i8, ptr %4837, i64 240
  %4839 = load ptr, ptr %4838, align 8
  %4840 = call noundef nonnull align 8 dereferenceable(144) ptr %4839(ptr noundef nonnull align 8 dereferenceable(176) %4836)
  %4841 = call noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144) %4840)
  %4842 = load ptr, ptr %0, align 8, !tbaa !17
  %4843 = getelementptr inbounds i8, ptr %4842, i64 336
  %4844 = load ptr, ptr %4843, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4844(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4835, ptr noundef nonnull @.str.195, ptr noundef %4841, ptr noundef nonnull @.str.21)
  br label %4845

4845:                                             ; preds = %4831, %4825, %4819, %4813, %4807, %4800
  %4846 = load ptr, ptr %45, align 8, !tbaa !19
  %4847 = load ptr, ptr %4801, align 8, !tbaa !6
  %4848 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %4846, ptr noundef %4847)
  store ptr %4848, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4849:                                             ; preds = %206
  %4850 = getelementptr inbounds i8, ptr %.33120, i64 32
  %4851 = load ptr, ptr %4850, align 8, !tbaa !6
  %4852 = load ptr, ptr %4851, align 8, !tbaa !17
  %4853 = getelementptr inbounds i8, ptr %4852, i64 256
  %4854 = load ptr, ptr %4853, align 8
  %4855 = call noundef i32 %4854(ptr noundef nonnull align 8 dereferenceable(176) %4851)
  %.not3221 = icmp eq i32 %4855, 1
  br i1 %.not3221, label %4894, label %4856

4856:                                             ; preds = %4849
  %4857 = load ptr, ptr %4850, align 8, !tbaa !6
  %4858 = load ptr, ptr %4857, align 8, !tbaa !17
  %4859 = getelementptr inbounds i8, ptr %4858, i64 256
  %4860 = load ptr, ptr %4859, align 8
  %4861 = call noundef i32 %4860(ptr noundef nonnull align 8 dereferenceable(176) %4857)
  %.not3222 = icmp eq i32 %4861, 8
  br i1 %.not3222, label %4894, label %4862

4862:                                             ; preds = %4856
  %4863 = load ptr, ptr %4850, align 8, !tbaa !6
  %4864 = load ptr, ptr %4863, align 8, !tbaa !17
  %4865 = getelementptr inbounds i8, ptr %4864, i64 256
  %4866 = load ptr, ptr %4865, align 8
  %4867 = call noundef i32 %4866(ptr noundef nonnull align 8 dereferenceable(176) %4863)
  %.not3223 = icmp eq i32 %4867, 9
  br i1 %.not3223, label %4894, label %4868

4868:                                             ; preds = %4862
  %4869 = load ptr, ptr %4850, align 8, !tbaa !6
  %4870 = load ptr, ptr %4869, align 8, !tbaa !17
  %4871 = getelementptr inbounds i8, ptr %4870, i64 256
  %4872 = load ptr, ptr %4871, align 8
  %4873 = call noundef i32 %4872(ptr noundef nonnull align 8 dereferenceable(176) %4869)
  %.not3224 = icmp eq i32 %4873, 12
  br i1 %.not3224, label %4894, label %4874

4874:                                             ; preds = %4868
  %4875 = load ptr, ptr %4850, align 8, !tbaa !6
  %4876 = load ptr, ptr %4875, align 8, !tbaa !17
  %4877 = getelementptr inbounds i8, ptr %4876, i64 256
  %4878 = load ptr, ptr %4877, align 8
  %4879 = call noundef i32 %4878(ptr noundef nonnull align 8 dereferenceable(176) %4875)
  %.not3225 = icmp eq i32 %4879, 21
  br i1 %.not3225, label %4894, label %4880

4880:                                             ; preds = %4874
  %4881 = load ptr, ptr %4850, align 8, !tbaa !6
  %4882 = load ptr, ptr %4881, align 8, !tbaa !17
  %4883 = load ptr, ptr %4882, align 8
  %4884 = call noundef nonnull align 8 dereferenceable(24) ptr %4883(ptr noundef nonnull align 8 dereferenceable(32) %4881)
  %4885 = load ptr, ptr %4850, align 8, !tbaa !6
  %4886 = load ptr, ptr %4885, align 8, !tbaa !17
  %4887 = getelementptr inbounds i8, ptr %4886, i64 240
  %4888 = load ptr, ptr %4887, align 8
  %4889 = call noundef nonnull align 8 dereferenceable(144) ptr %4888(ptr noundef nonnull align 8 dereferenceable(176) %4885)
  %4890 = call noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144) %4889)
  %4891 = load ptr, ptr %0, align 8, !tbaa !17
  %4892 = getelementptr inbounds i8, ptr %4891, i64 336
  %4893 = load ptr, ptr %4892, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %4893(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %4884, ptr noundef nonnull @.str.195, ptr noundef %4890, ptr noundef nonnull @.str.21)
  br label %4894

4894:                                             ; preds = %4880, %4874, %4868, %4862, %4856, %4849
  %4895 = load ptr, ptr %45, align 8, !tbaa !19
  %4896 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %4897 = load ptr, ptr %4896, align 8, !tbaa !6
  %4898 = load ptr, ptr %4850, align 8, !tbaa !6
  %4899 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %4895, ptr noundef %4897, ptr noundef %4898)
  store ptr %4899, ptr %44, align 8, !tbaa !6
  br label %.thread3331

4900:                                             ; preds = %206
  %4901 = getelementptr inbounds i8, ptr %.33120, i64 -864
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4901, i1 noundef zeroext false)
  %4902 = load i64, ptr %49, align 8
  %4903 = and i64 %4902, -64
  %4904 = or disjoint i64 %4903, 8
  store i64 %4904, ptr %49, align 8
  %4905 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %4906 = load i32, ptr %4905, align 8, !tbaa !6
  store i32 %4906, ptr %50, align 4, !tbaa !6
  br label %.thread3331

4907:                                             ; preds = %206
  %4908 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4908, i1 noundef zeroext false)
  %4909 = load ptr, ptr %45, align 8, !tbaa !19
  %4910 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %4911 = load ptr, ptr %4910, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %4909, ptr noundef %4911)
  %4912 = load i64, ptr %49, align 8
  %4913 = and i64 %4912, -64
  %4914 = or disjoint i64 %4913, 8
  store i64 %4914, ptr %49, align 8
  %4915 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %4916 = load i32, ptr %4915, align 8, !tbaa !6
  store i32 %4916, ptr %50, align 4, !tbaa !6
  br label %.thread3331

4917:                                             ; preds = %206
  %4918 = getelementptr inbounds i8, ptr %.33120, i64 -864
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4918, i1 noundef zeroext false)
  %4919 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %4920 = load i32, ptr %4919, align 8, !tbaa !6
  call void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef %4920, ptr noundef null)
  br label %.thread3331

4921:                                             ; preds = %206
  %4922 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4922, i1 noundef zeroext false)
  %4923 = load ptr, ptr %45, align 8, !tbaa !19
  %4924 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %4925 = load ptr, ptr %4924, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %4923, ptr noundef %4925)
  %4926 = getelementptr inbounds i8, ptr %.33120, i64 -264
  %4927 = load i32, ptr %4926, align 8, !tbaa !6
  call void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef %4927, ptr noundef null)
  br label %.thread3331

4928:                                             ; preds = %206
  %4929 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4929, i1 noundef zeroext false)
  %4930 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4931 = load i32, ptr %4930, align 8, !tbaa !6
  %4932 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4933 = load ptr, ptr %4932, align 8, !tbaa !6
  %4934 = load ptr, ptr %4933, align 8, !tbaa !17
  %4935 = getelementptr inbounds i8, ptr %4934, i64 48
  %4936 = load ptr, ptr %4935, align 8
  %4937 = call noundef ptr %4936(ptr noundef nonnull align 8 dereferenceable(32) %4933)
  call void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef %4931, ptr noundef %4937)
  br label %.thread3331

4938:                                             ; preds = %206
  %4939 = getelementptr inbounds i8, ptr %.33120, i64 -2016
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4939, i1 noundef zeroext false)
  %4940 = load ptr, ptr %45, align 8, !tbaa !19
  %4941 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %4942 = load ptr, ptr %4941, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %4940, ptr noundef %4942)
  %4943 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4944 = load i32, ptr %4943, align 8, !tbaa !6
  %4945 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4946 = load ptr, ptr %4945, align 8, !tbaa !6
  %4947 = load ptr, ptr %4946, align 8, !tbaa !17
  %4948 = getelementptr inbounds i8, ptr %4947, i64 48
  %4949 = load ptr, ptr %4948, align 8
  %4950 = call noundef ptr %4949(ptr noundef nonnull align 8 dereferenceable(32) %4946)
  call void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef %4944, ptr noundef %4950)
  br label %.thread3331

4951:                                             ; preds = %206
  %4952 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4952, i1 noundef zeroext false)
  %4953 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4954 = load i32, ptr %4953, align 8, !tbaa !6
  %4955 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4956 = load ptr, ptr %4955, align 8, !tbaa !6
  %4957 = load ptr, ptr %4956, align 8, !tbaa !17
  %4958 = getelementptr inbounds i8, ptr %4957, i64 48
  %4959 = load ptr, ptr %4958, align 8
  %4960 = call noundef ptr %4959(ptr noundef nonnull align 8 dereferenceable(32) %4956)
  call void @_ZN7glslang10TQualifier18setSpirvDecorateIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef %4954, ptr noundef %4960)
  br label %.thread3331

4961:                                             ; preds = %206
  %4962 = getelementptr inbounds i8, ptr %.33120, i64 -2016
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4962, i1 noundef zeroext false)
  %4963 = load ptr, ptr %45, align 8, !tbaa !19
  %4964 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %4965 = load ptr, ptr %4964, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %4963, ptr noundef %4965)
  %4966 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4967 = load i32, ptr %4966, align 8, !tbaa !6
  %4968 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4969 = load ptr, ptr %4968, align 8, !tbaa !6
  %4970 = load ptr, ptr %4969, align 8, !tbaa !17
  %4971 = getelementptr inbounds i8, ptr %4970, i64 48
  %4972 = load ptr, ptr %4971, align 8
  %4973 = call noundef ptr %4972(ptr noundef nonnull align 8 dereferenceable(32) %4969)
  call void @_ZN7glslang10TQualifier18setSpirvDecorateIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef %4967, ptr noundef %4973)
  br label %.thread3331

4974:                                             ; preds = %206
  %4975 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4975, i1 noundef zeroext false)
  %4976 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4977 = load i32, ptr %4976, align 8, !tbaa !6
  %4978 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4979 = load ptr, ptr %4978, align 8, !tbaa !6
  %4980 = load ptr, ptr %4979, align 8, !tbaa !17
  %4981 = getelementptr inbounds i8, ptr %4980, i64 48
  %4982 = load ptr, ptr %4981, align 8
  %4983 = call noundef ptr %4982(ptr noundef nonnull align 8 dereferenceable(32) %4979)
  call void @_ZN7glslang10TQualifier22setSpirvDecorateStringEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef %4977, ptr noundef %4983)
  br label %.thread3331

4984:                                             ; preds = %206
  %4985 = getelementptr inbounds i8, ptr %.33120, i64 -2016
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %4985, i1 noundef zeroext false)
  %4986 = load ptr, ptr %45, align 8, !tbaa !19
  %4987 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %4988 = load ptr, ptr %4987, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %4986, ptr noundef %4988)
  %4989 = getelementptr inbounds i8, ptr %.33120, i64 -840
  %4990 = load i32, ptr %4989, align 8, !tbaa !6
  %4991 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %4992 = load ptr, ptr %4991, align 8, !tbaa !6
  %4993 = load ptr, ptr %4992, align 8, !tbaa !17
  %4994 = getelementptr inbounds i8, ptr %4993, i64 48
  %4995 = load ptr, ptr %4994, align 8
  %4996 = call noundef ptr %4995(ptr noundef nonnull align 8 dereferenceable(32) %4992)
  call void @_ZN7glslang10TQualifier22setSpirvDecorateStringEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72) %48, i32 noundef %4990, ptr noundef %4996)
  br label %.thread3331

4997:                                             ; preds = %206
  %4998 = load ptr, ptr %45, align 8, !tbaa !19
  %4999 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5000 = load ptr, ptr %4999, align 8, !tbaa !6
  %5001 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %4998, ptr noundef %5000)
  store ptr %5001, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5002:                                             ; preds = %206
  %5003 = load ptr, ptr %45, align 8, !tbaa !19
  %5004 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %5005 = load ptr, ptr %5004, align 8, !tbaa !6
  %5006 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5007 = load ptr, ptr %5006, align 8, !tbaa !6
  %5008 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %5003, ptr noundef %5005, ptr noundef %5007)
  store ptr %5008, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5009:                                             ; preds = %206
  %5010 = load ptr, ptr %45, align 8, !tbaa !19
  %5011 = getelementptr inbounds i8, ptr %.33120, i64 24
  %5012 = load double, ptr %5011, align 8, !tbaa !6
  %5013 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %5010, double noundef %5012, i32 noundef 1, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %5013, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5014:                                             ; preds = %206
  %5015 = load ptr, ptr %45, align 8, !tbaa !19
  %5016 = getelementptr inbounds i8, ptr %.33120, i64 24
  %5017 = load i32, ptr %5016, align 8, !tbaa !6
  %5018 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %5015, i32 noundef %5017, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %5018, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5019:                                             ; preds = %206
  %5020 = load ptr, ptr %45, align 8, !tbaa !19
  %5021 = getelementptr inbounds i8, ptr %.33120, i64 24
  %5022 = load i32, ptr %5021, align 8, !tbaa !6
  %5023 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %5020, i32 noundef %5022, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %5023, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5024:                                             ; preds = %206
  %5025 = load ptr, ptr %45, align 8, !tbaa !19
  %5026 = getelementptr inbounds i8, ptr %.33120, i64 24
  %5027 = load i8, ptr %5026, align 8, !tbaa !6, !range !41, !noundef !42
  %5028 = trunc nuw i8 %5027 to i1
  %5029 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %5025, i1 noundef zeroext %5028, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  store ptr %5029, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5030:                                             ; preds = %206
  %5031 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5032 = load ptr, ptr %5031, align 8, !tbaa !6
  %5033 = load ptr, ptr %5032, align 8, !tbaa !17
  %5034 = getelementptr inbounds i8, ptr %5033, i64 256
  %5035 = load ptr, ptr %5034, align 8
  %5036 = call noundef i32 %5035(ptr noundef nonnull align 8 dereferenceable(176) %5032)
  %.not3217 = icmp eq i32 %5036, 1
  br i1 %.not3217, label %5069, label %5037

5037:                                             ; preds = %5030
  %5038 = load ptr, ptr %5031, align 8, !tbaa !6
  %5039 = load ptr, ptr %5038, align 8, !tbaa !17
  %5040 = getelementptr inbounds i8, ptr %5039, i64 256
  %5041 = load ptr, ptr %5040, align 8
  %5042 = call noundef i32 %5041(ptr noundef nonnull align 8 dereferenceable(176) %5038)
  %.not3218 = icmp eq i32 %5042, 8
  br i1 %.not3218, label %5069, label %5043

5043:                                             ; preds = %5037
  %5044 = load ptr, ptr %5031, align 8, !tbaa !6
  %5045 = load ptr, ptr %5044, align 8, !tbaa !17
  %5046 = getelementptr inbounds i8, ptr %5045, i64 256
  %5047 = load ptr, ptr %5046, align 8
  %5048 = call noundef i32 %5047(ptr noundef nonnull align 8 dereferenceable(176) %5044)
  %.not3219 = icmp eq i32 %5048, 9
  br i1 %.not3219, label %5069, label %5049

5049:                                             ; preds = %5043
  %5050 = load ptr, ptr %5031, align 8, !tbaa !6
  %5051 = load ptr, ptr %5050, align 8, !tbaa !17
  %5052 = getelementptr inbounds i8, ptr %5051, i64 256
  %5053 = load ptr, ptr %5052, align 8
  %5054 = call noundef i32 %5053(ptr noundef nonnull align 8 dereferenceable(176) %5050)
  %.not3220 = icmp eq i32 %5054, 12
  br i1 %.not3220, label %5069, label %5055

5055:                                             ; preds = %5049
  %5056 = load ptr, ptr %5031, align 8, !tbaa !6
  %5057 = load ptr, ptr %5056, align 8, !tbaa !17
  %5058 = load ptr, ptr %5057, align 8
  %5059 = call noundef nonnull align 8 dereferenceable(24) ptr %5058(ptr noundef nonnull align 8 dereferenceable(32) %5056)
  %5060 = load ptr, ptr %5031, align 8, !tbaa !6
  %5061 = load ptr, ptr %5060, align 8, !tbaa !17
  %5062 = getelementptr inbounds i8, ptr %5061, i64 240
  %5063 = load ptr, ptr %5062, align 8
  %5064 = call noundef nonnull align 8 dereferenceable(144) ptr %5063(ptr noundef nonnull align 8 dereferenceable(176) %5060)
  %5065 = call noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144) %5064)
  %5066 = load ptr, ptr %0, align 8, !tbaa !17
  %5067 = getelementptr inbounds i8, ptr %5066, i64 336
  %5068 = load ptr, ptr %5067, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %5068(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %5059, ptr noundef nonnull @.str.195, ptr noundef %5065, ptr noundef nonnull @.str.21)
  br label %5069

5069:                                             ; preds = %5055, %5049, %5043, %5037, %5030
  %5070 = load ptr, ptr %45, align 8, !tbaa !19
  %5071 = load ptr, ptr %5031, align 8, !tbaa !6
  %5072 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %5070, ptr noundef %5071)
  store ptr %5072, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5073:                                             ; preds = %206
  %5074 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5075 = load ptr, ptr %5074, align 8, !tbaa !6
  %5076 = load ptr, ptr %5075, align 8, !tbaa !17
  %5077 = getelementptr inbounds i8, ptr %5076, i64 256
  %5078 = load ptr, ptr %5077, align 8
  %5079 = call noundef i32 %5078(ptr noundef nonnull align 8 dereferenceable(176) %5075)
  %.not3213 = icmp eq i32 %5079, 1
  br i1 %.not3213, label %5112, label %5080

5080:                                             ; preds = %5073
  %5081 = load ptr, ptr %5074, align 8, !tbaa !6
  %5082 = load ptr, ptr %5081, align 8, !tbaa !17
  %5083 = getelementptr inbounds i8, ptr %5082, i64 256
  %5084 = load ptr, ptr %5083, align 8
  %5085 = call noundef i32 %5084(ptr noundef nonnull align 8 dereferenceable(176) %5081)
  %.not3214 = icmp eq i32 %5085, 8
  br i1 %.not3214, label %5112, label %5086

5086:                                             ; preds = %5080
  %5087 = load ptr, ptr %5074, align 8, !tbaa !6
  %5088 = load ptr, ptr %5087, align 8, !tbaa !17
  %5089 = getelementptr inbounds i8, ptr %5088, i64 256
  %5090 = load ptr, ptr %5089, align 8
  %5091 = call noundef i32 %5090(ptr noundef nonnull align 8 dereferenceable(176) %5087)
  %.not3215 = icmp eq i32 %5091, 9
  br i1 %.not3215, label %5112, label %5092

5092:                                             ; preds = %5086
  %5093 = load ptr, ptr %5074, align 8, !tbaa !6
  %5094 = load ptr, ptr %5093, align 8, !tbaa !17
  %5095 = getelementptr inbounds i8, ptr %5094, i64 256
  %5096 = load ptr, ptr %5095, align 8
  %5097 = call noundef i32 %5096(ptr noundef nonnull align 8 dereferenceable(176) %5093)
  %.not3216 = icmp eq i32 %5097, 12
  br i1 %.not3216, label %5112, label %5098

5098:                                             ; preds = %5092
  %5099 = load ptr, ptr %5074, align 8, !tbaa !6
  %5100 = load ptr, ptr %5099, align 8, !tbaa !17
  %5101 = load ptr, ptr %5100, align 8
  %5102 = call noundef nonnull align 8 dereferenceable(24) ptr %5101(ptr noundef nonnull align 8 dereferenceable(32) %5099)
  %5103 = load ptr, ptr %5074, align 8, !tbaa !6
  %5104 = load ptr, ptr %5103, align 8, !tbaa !17
  %5105 = getelementptr inbounds i8, ptr %5104, i64 240
  %5106 = load ptr, ptr %5105, align 8
  %5107 = call noundef nonnull align 8 dereferenceable(144) ptr %5106(ptr noundef nonnull align 8 dereferenceable(176) %5103)
  %5108 = call noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144) %5107)
  %5109 = load ptr, ptr %0, align 8, !tbaa !17
  %5110 = getelementptr inbounds i8, ptr %5109, i64 336
  %5111 = load ptr, ptr %5110, align 8
  call void (ptr, ptr, ptr, ptr, ptr, ...) %5111(ptr noundef nonnull align 8 dereferenceable(1176) %0, ptr noundef nonnull align 8 dereferenceable(24) %5102, ptr noundef nonnull @.str.195, ptr noundef %5108, ptr noundef nonnull @.str.21)
  br label %5112

5112:                                             ; preds = %5098, %5092, %5086, %5080, %5073
  %5113 = load ptr, ptr %45, align 8, !tbaa !19
  %5114 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %5115 = load ptr, ptr %5114, align 8, !tbaa !6
  %5116 = load ptr, ptr %5074, align 8, !tbaa !6
  %5117 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %5113, ptr noundef %5115, ptr noundef %5116)
  store ptr %5117, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5118:                                             ; preds = %206
  %5119 = load ptr, ptr %45, align 8, !tbaa !19
  %5120 = getelementptr inbounds i8, ptr %.33120, i64 24
  %5121 = load ptr, ptr %5120, align 8, !tbaa !6
  %5122 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %5119, ptr noundef %5121, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  %5123 = call noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784) %5119, ptr noundef %5122)
  store ptr %5123, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5124:                                             ; preds = %206
  %5125 = load ptr, ptr %45, align 8, !tbaa !19
  %5126 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %5127 = load ptr, ptr %5126, align 8, !tbaa !6
  %5128 = getelementptr inbounds i8, ptr %.33120, i64 24
  %5129 = load ptr, ptr %5128, align 8, !tbaa !6
  %5130 = call noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784) %5125, ptr noundef %5129, ptr noundef nonnull align 8 dereferenceable(24) %.33120, i1 noundef zeroext true)
  %5131 = call noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784) %5125, ptr noundef %5127, ptr noundef %5130)
  store ptr %5131, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5132:                                             ; preds = %206
  %5133 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  %5134 = load ptr, ptr %47, align 8, !tbaa !43
  %5135 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5134)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %5133, i1 noundef zeroext %5135)
  %5136 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %5137 = load ptr, ptr %5136, align 8, !tbaa !6
  %5138 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %5139 = load ptr, ptr %5138, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(44) %5137, ptr noundef %5139)
  br label %.thread3331

5140:                                             ; preds = %206
  %5141 = getelementptr inbounds i8, ptr %.33120, i64 -2016
  %5142 = load ptr, ptr %47, align 8, !tbaa !43
  %5143 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5142)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %5141, i1 noundef zeroext %5143)
  %5144 = load ptr, ptr %45, align 8, !tbaa !19
  %5145 = getelementptr inbounds i8, ptr %.33120, i64 -1408
  %5146 = load ptr, ptr %5145, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %5144, ptr noundef %5146)
  %5147 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %5148 = load ptr, ptr %5147, align 8, !tbaa !6
  %5149 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %5150 = load ptr, ptr %5149, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(44) %5148, ptr noundef %5150)
  br label %.thread3331

5151:                                             ; preds = %206
  %5152 = getelementptr inbounds i8, ptr %.33120, i64 -864
  %5153 = load ptr, ptr %47, align 8, !tbaa !43
  %5154 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5153)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %5152, i1 noundef zeroext %5154)
  %5155 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %5156 = load ptr, ptr %5155, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(44) %5156, ptr noundef null)
  br label %.thread3331

5157:                                             ; preds = %206
  %5158 = getelementptr inbounds i8, ptr %.33120, i64 -1440
  %5159 = load ptr, ptr %47, align 8, !tbaa !43
  %5160 = call noundef zeroext i1 @_ZN7glslang12TSymbolTable13atGlobalLevelEv(ptr noundef nonnull align 8 dereferenceable(40) %5159)
  call void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(24) %5158, i1 noundef zeroext %5160)
  %5161 = load ptr, ptr %45, align 8, !tbaa !19
  %5162 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %5163 = load ptr, ptr %5162, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %5161, ptr noundef %5163)
  %5164 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %5165 = load ptr, ptr %5164, align 8, !tbaa !6
  call void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232) %46, ptr noundef nonnull align 8 dereferenceable(44) %5165, ptr noundef null)
  br label %.thread3331

5166:                                             ; preds = %206
  %5167 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5168 = load ptr, ptr %5167, align 8, !tbaa !6
  store ptr %5168, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5169:                                             ; preds = %206
  %5170 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %5171 = load ptr, ptr %5170, align 8, !tbaa !6
  %5172 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5173 = load ptr, ptr %5172, align 8, !tbaa !6
  %5174 = call noundef ptr @_ZN7glslang13TParseContext24mergeSpirvTypeParametersEPNS_7TVectorINS_19TSpirvTypeParameterEEES4_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %5171, ptr noundef %5173)
  store ptr %5174, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5175:                                             ; preds = %206
  %5176 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5177 = load ptr, ptr %5176, align 8, !tbaa !6
  %5178 = load ptr, ptr %5177, align 8, !tbaa !17
  %5179 = load ptr, ptr %5178, align 8
  %5180 = call noundef nonnull align 8 dereferenceable(24) ptr %5179(ptr noundef nonnull align 8 dereferenceable(32) %5177)
  %5181 = load ptr, ptr %5176, align 8, !tbaa !6
  %5182 = load ptr, ptr %5181, align 8, !tbaa !17
  %5183 = getelementptr inbounds i8, ptr %5182, i64 40
  %5184 = load ptr, ptr %5183, align 8
  %5185 = call noundef ptr %5184(ptr noundef nonnull align 8 dereferenceable(32) %5181)
  %5186 = call noundef ptr @_ZN7glslang13TParseContext23makeSpirvTypeParametersERKNS_10TSourceLocEPKNS_20TIntermConstantUnionE(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %5180, ptr noundef %5185)
  store ptr %5186, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5187:                                             ; preds = %206
  %5188 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %5189 = load ptr, ptr %5188, align 8, !tbaa !6
  store ptr %5189, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5190:                                             ; preds = %206
  %5191 = load ptr, ptr %45, align 8, !tbaa !19
  %5192 = getelementptr inbounds i8, ptr %.33120, i64 -832
  %5193 = load ptr, ptr %5192, align 8, !tbaa !6
  call void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784) %5191, ptr noundef %5193)
  %5194 = getelementptr inbounds i8, ptr %.33120, i64 -256
  %5195 = load ptr, ptr %5194, align 8, !tbaa !6
  store ptr %5195, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5196:                                             ; preds = %206
  %5197 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5198 = load ptr, ptr %5197, align 8, !tbaa !6
  store ptr %5198, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5199:                                             ; preds = %206
  %5200 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %5201 = getelementptr inbounds i8, ptr %.33120, i64 -544
  %5202 = load ptr, ptr %5201, align 8, !tbaa !6
  %5203 = getelementptr inbounds i8, ptr %.33120, i64 32
  %5204 = load ptr, ptr %5203, align 8, !tbaa !6
  %5205 = call noundef ptr @_ZN7glslang13TParseContext21mergeSpirvInstructionERKNS_10TSourceLocEPNS_17TSpirvInstructionES5_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %5200, ptr noundef %5202, ptr noundef %5204)
  store ptr %5205, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5206:                                             ; preds = %206
  %5207 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %5208 = getelementptr inbounds i8, ptr %.33120, i64 -552
  %5209 = load ptr, ptr %5208, align 8, !tbaa !6
  %5210 = getelementptr inbounds i8, ptr %.33120, i64 24
  %5211 = load ptr, ptr %5210, align 8, !tbaa !6
  %5212 = call noundef ptr @_ZN7glslang13TParseContext20makeSpirvInstructionERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %5207, ptr noundef nonnull align 8 dereferenceable(40) %5209, ptr noundef nonnull align 8 dereferenceable(40) %5211)
  store ptr %5212, ptr %44, align 8, !tbaa !6
  br label %.thread3331

5213:                                             ; preds = %206
  %5214 = getelementptr inbounds i8, ptr %.33120, i64 -288
  %5215 = getelementptr inbounds i8, ptr %.33120, i64 -552
  %5216 = load ptr, ptr %5215, align 8, !tbaa !6
  %5217 = getelementptr inbounds i8, ptr %.33120, i64 24
  %5218 = load i32, ptr %5217, align 8, !tbaa !6
  %5219 = call noundef ptr @_ZN7glslang13TParseContext20makeSpirvInstructionERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEi(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull align 8 dereferenceable(24) %5214, ptr noundef nonnull align 8 dereferenceable(40) %5216, i32 noundef %5218)
  store ptr %5219, ptr %44, align 8, !tbaa !6
  br label %.thread3331

.thread3331:                                      ; preds = %3890, %3826, %._crit_edge, %3843, %3782, %3719, %1534, %1536, %3647, %3654, %1418, %1421, %519, %526, %502, %509, %207, %213, %229, %234, %239, %247, %253, %258, %266, %274, %282, %290, %299, %315, %320, %328, %331, %338, %341, %347, %356, %365, %381, %382, %384, %386, %388, %391, %409, %430, %432, %515, %539, %549, %584, %585, %586, %587, %591, %627, %650, %679, %726, %791, %807, %823, %839, %853, %867, %881, %884, %930, %988, %989, %990, %991, %995, %996, %997, %1001, %1005, %1009, %1013, %1017, %1046, %1050, %1055, %1069, %1089, %1091, %1100, %1104, %1110, %1118, %1122, %1128, %1136, %1138, %1150, %1154, %1158, %1161, %1170, %1178, %1189, %1192, %1266, %1294, %1306, %1336, %1354, %1383, %1401, %1425, %1426, %1432, %1441, %1456, %1469, %1471, %1476, %1484, %1497, %1515, %1547, %1550, %1553, %1556, %1559, %1562, %1565, %1575, %1578, %1581, %1584, %1586, %1588, %1592, %1595, %1602, %1605, %1608, %1617, %1620, %1622, %1624, %1632, %1634, %1636, %1638, %1640, %1646, %1652, %1656, %1660, %1664, %1668, %1672, %1676, %1679, %1683, %1687, %1691, %1728, %1731, %1734, %1738, %1742, %1746, %1750, %1754, %1758, %1762, %1766, %1770, %1774, %1777, %1783, %1789, %1795, %1801, %1807, %1813, %1816, %1819, %1822, %1825, %1832, %1840, %1843, %1854, %1871, %1877, %1887, %1890, %1899, %1902, %1903, %1908, %1918, %1928, %1931, %1934, %1937, %1943, %1946, %1949, %1952, %1955, %1958, %1961, %1964, %1967, %1970, %1973, %1979, %1985, %1991, %1994, %1997, %2000, %2003, %2006, %2009, %2012, %2015, %2018, %2021, %2024, %2034, %2037, %2045, %2053, %2061, %2069, %2077, %2085, %2093, %2101, %2109, %2117, %2132, %2142, %2152, %2155, %2163, %2171, %2179, %2187, %2195, %2203, %2211, %2219, %2227, %2235, %2243, %2251, %2259, %2267, %2275, %2283, %2291, %2299, %2307, %2315, %2323, %2331, %2339, %2347, %2355, %2363, %2371, %2379, %2387, %2395, %2403, %2411, %2426, %2436, %2446, %2456, %2466, %2476, %2486, %2496, %2506, %2516, %2526, %2536, %2539, %2547, %2555, %2563, %2571, %2579, %2587, %2595, %2603, %2611, %2619, %2627, %2635, %2643, %2651, %2659, %2667, %2675, %2683, %2691, %2699, %2707, %2715, %2723, %2731, %2739, %2747, %2755, %2763, %2771, %2779, %2787, %2795, %2803, %2811, %2819, %2827, %2830, %2833, %2836, %2842, %2845, %2848, %2851, %2854, %2857, %2860, %2863, %2866, %2869, %2872, %2875, %2878, %2881, %2889, %2897, %2905, %2913, %2921, %2929, %2937, %2945, %2953, %2961, %2969, %2977, %2985, %2988, %2991, %2994, %2997, %3000, %3003, %3006, %3009, %3012, %3015, %3018, %3021, %3024, %3027, %3030, %3033, %3036, %3039, %3042, %3045, %3048, %3051, %3054, %3057, %3060, %3063, %3066, %3069, %3072, %3075, %3078, %3081, %3084, %3092, %3100, %3103, %3106, %3109, %3117, %3120, %3123, %3126, %3134, %3137, %3140, %3143, %3151, %3154, %3157, %3160, %3168, %3176, %3184, %3192, %3195, %3203, %3211, %3219, %3222, %3225, %3228, %3231, %3234, %3242, %3245, %3248, %3251, %3259, %3262, %3265, %3268, %3276, %3279, %3282, %3285, %3293, %3296, %3299, %3302, %3310, %3313, %3316, %3319, %3327, %3330, %3333, %3336, %3344, %3347, %3350, %3353, %3361, %3364, %3367, %3370, %3378, %3381, %3384, %3387, %3395, %3398, %3401, %3404, %3412, %3415, %3418, %3421, %3429, %3432, %3435, %3438, %3446, %3449, %3452, %3455, %3463, %3466, %3469, %3472, %3480, %3483, %3486, %3489, %3492, %3495, %3498, %3501, %3504, %3507, %3510, %3513, %3516, %3519, %3522, %3525, %3528, %3531, %3534, %3537, %3540, %3543, %3546, %3549, %3552, %3557, %3562, %3565, %3568, %3576, %3584, %3587, %3590, %3593, %3596, %3606, %3616, %3626, %3632, %3661, %3664, %3667, %3670, %3695, %3699, %3707, %3716, %3900, %3904, %3909, %3922, %3932, %3935, %3939, %3943, %3947, %3955, %3962, %3965, %3968, %3971, %3974, %3977, %3980, %3983, %3986, %3989, %3992, %3995, %4002, %4003, %4007, %4027, %4029, %4032, %4035, %4038, %4043, %4049, %4057, %4074, %4145, %4146, %4149, %4152, %4165, %4173, %4178, %4181, %4204, %4205, %4208, %4227, %4249, %4255, %4256, %4305, %4308, %4331, %4337, %4350, %4366, %4380, %4407, %4422, %4425, %4428, %4431, %4432, %4435, %4448, %4463, %4484, %4489, %4493, %4497, %4501, %4505, %4518, %4521, %4524, %4623, %4626, %4629, %4635, %4639, %4645, %4648, %4655, %4666, %4677, %4683, %4691, %4697, %4705, %4709, %4716, %4726, %4739, %4749, %4762, %4767, %4774, %4779, %4784, %4789, %4795, %4845, %4894, %4900, %4907, %4917, %4921, %4928, %4938, %4951, %4961, %4974, %4984, %4997, %5002, %5009, %5014, %5019, %5024, %5069, %5112, %5118, %5124, %5132, %5140, %5151, %5157, %5166, %5169, %5175, %5187, %5190, %5196, %5199, %5206, %5213, %223, %216, %377, %369, %571, %578, %567, %602, %594, %612, %604, %625, %614, %638, %630, %648, %640, %664, %653, %677, %666, %690, %682, %701, %693, %712, %704, %723, %715, %757, %729, %788, %760, %805, %794, %821, %810, %837, %826, %850, %842, %864, %856, %878, %870, %923, %887, %981, %933, %1039, %1020, %1210, %1213, %1204, %1225, %1232, %1236, %1544, %1540, %.thread3329, %1726, %1724, %4103, %4095, %4082, %4076, %4139, %4136, %4271, %4276, %4262, %4296, %4301, %4287, %4483, %4480, %4512, %4509, %4536, %4533, %4525, %4617, %4614, %4592, %206
  %5220 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3292 = icmp eq i32 %5220, 0
  br i1 %.not3292, label %.thread3331._crit_edge, label %5221

.thread3331._crit_edge:                           ; preds = %.thread3331
  %.phi.trans.insert = getelementptr inbounds [685 x i16], ptr @_ZL4yyr1, i64 0, i64 %198
  %.pre3788 = load i16, ptr %.phi.trans.insert, align 2, !tbaa !15
  br label %5230

5221:                                             ; preds = %.thread3331
  %5222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5222, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.196) #12
  %5224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5225 = getelementptr inbounds [685 x i16], ptr @_ZL4yyr1, i64 0, i64 %198
  %5226 = load i16, ptr %5225, align 2, !tbaa !15
  %5227 = sext i16 %5226 to i32
  call void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef %5224, i32 noundef %5227, ptr noundef nonnull %5, ptr noundef %0)
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5228, ptr noundef nonnull @.str.7) #12
  br label %5230

5230:                                             ; preds = %.thread3331._crit_edge, %5221
  %5231 = phi i16 [ %.pre3788, %.thread3331._crit_edge ], [ %5226, %5221 ]
  %5232 = sub nsw i64 0, %201
  %5233 = getelementptr inbounds %union.YYSTYPE, ptr %.33120, i64 %5232
  %5234 = getelementptr inbounds i16, ptr %.33103, i64 %5232
  %5235 = getelementptr inbounds i8, ptr %5233, i64 288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5235, ptr noundef nonnull align 8 dereferenceable(288) %5, i64 288, i1 false), !tbaa.struct !5
  %5236 = sext i16 %5231 to i64
  %5237 = add nsw i64 %5236, -456
  %5238 = getelementptr inbounds [131 x i16], ptr @_ZL7yypgoto, i64 0, i64 %5237
  %5239 = load i16, ptr %5238, align 2, !tbaa !15
  %5240 = sext i16 %5239 to i32
  %5241 = load i16, ptr %5234, align 2, !tbaa !15
  %5242 = sext i16 %5241 to i32
  %5243 = add nsw i32 %5242, %5240
  %or.cond5 = icmp ult i32 %5243, 12470
  br i1 %or.cond5, label %5244, label %5251

5244:                                             ; preds = %5230
  %5245 = zext nneg i32 %5243 to i64
  %5246 = getelementptr inbounds [12470 x i16], ptr @_ZL7yycheck, i64 0, i64 %5245
  %5247 = load i16, ptr %5246, align 2, !tbaa !15
  %5248 = icmp eq i16 %5247, %5241
  br i1 %5248, label %5249, label %5251

5249:                                             ; preds = %5244
  %5250 = getelementptr inbounds [12470 x i16], ptr @_ZL7yytable, i64 0, i64 %5245
  br label %5253

5251:                                             ; preds = %5244, %5230
  %5252 = getelementptr inbounds [131 x i16], ptr @_ZL9yydefgoto, i64 0, i64 %5237
  br label %5253

5253:                                             ; preds = %5251, %5249
  %.in = phi ptr [ %5250, %5249 ], [ %5252, %5251 ]
  %5254 = load i16, ptr %.in, align 2, !tbaa !15
  %5255 = sext i16 %5254 to i32
  br label %87

5256:                                             ; preds = %192
  %5257 = icmp eq i32 %.4, -2
  br i1 %5257, label %5264, label %5258

5258:                                             ; preds = %5256
  %or.cond7 = icmp ult i32 %.4, 711
  br i1 %or.cond7, label %5259, label %5264

5259:                                             ; preds = %5258
  %5260 = zext nneg i32 %.4 to i64
  %5261 = getelementptr inbounds [711 x i16], ptr @_ZL11yytranslate, i64 0, i64 %5260
  %5262 = load i16, ptr %5261, align 2, !tbaa !15
  %5263 = sext i16 %5262 to i32
  br label %5264

5264:                                             ; preds = %5259, %5258, %5256
  %5265 = phi i32 [ -2, %5256 ], [ %5263, %5259 ], [ 2, %5258 ]
  switch i32 %.13088, label %.thread3339 [
    i32 0, label %5266
    i32 3, label %5280
  ]

5266:                                             ; preds = %5264
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #11
  store ptr %.33103, ptr %38, align 8, !tbaa !168
  store i32 %5265, ptr %86, align 8, !tbaa !171
  %5267 = call noundef i32 @_ZL14yysyntax_errorPlPPcPK12yypcontext_t(ptr noundef nonnull %8, ptr noundef nonnull %7, ptr noundef nonnull %38)
  switch i32 %5267, label %5278 [
    i32 0, label %.thread3335
    i32 -1, label %5269
  ]

.thread3335:                                      ; preds = %5266
  %5268 = load ptr, ptr %7, align 8, !tbaa !9
  call void @_ZN7glslang13TParseContext11parserErrorEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %5268)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #11
  br label %.thread3339

5269:                                             ; preds = %5266
  %5270 = load ptr, ptr %7, align 8, !tbaa !9
  %.not3294 = icmp eq ptr %5270, %6
  br i1 %.not3294, label %5272, label %5271

5271:                                             ; preds = %5269
  call void @free(ptr noundef %5270) #11
  br label %5272

5272:                                             ; preds = %5271, %5269
  %5273 = load i64, ptr %8, align 8, !tbaa !11
  %5274 = call noalias ptr @malloc(i64 noundef %5273) #13
  store ptr %5274, ptr %7, align 8, !tbaa !9
  %.not3295 = icmp eq ptr %5274, null
  br i1 %.not3295, label %.thread3332, label %5275

5275:                                             ; preds = %5272
  %5276 = call noundef i32 @_ZL14yysyntax_errorPlPPcPK12yypcontext_t(ptr noundef nonnull %8, ptr noundef nonnull %7, ptr noundef nonnull %38)
  %5277 = load ptr, ptr %7, align 8, !tbaa !9
  br label %5278

.thread3332:                                      ; preds = %5272
  store ptr %6, ptr %7, align 8, !tbaa !9
  store i64 128, ptr %8, align 8, !tbaa !11
  call void @_ZN7glslang13TParseContext11parserErrorEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull @.str.197)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #11
  br label %.thread3313

5278:                                             ; preds = %5266, %5275
  %.03077 = phi ptr [ %5277, %5275 ], [ @.str.197, %5266 ]
  %.0 = phi i32 [ %5276, %5275 ], [ %5267, %5266 ]
  call void @_ZN7glslang13TParseContext11parserErrorEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef %.03077)
  %5279 = icmp eq i32 %.0, -2
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #11
  br i1 %5279, label %.thread3313, label %.thread3339

5280:                                             ; preds = %5264
  %5281 = icmp slt i32 %.4, 1
  br i1 %5281, label %5282, label %5284

5282:                                             ; preds = %5280
  %5283 = icmp eq i32 %.4, 0
  br i1 %5283, label %.thread3357, label %.thread3339

5284:                                             ; preds = %5280
  call void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef nonnull @.str.198, i32 noundef %5265, ptr noundef nonnull %2, ptr noundef %0)
  br label %.thread3339

.thread3339:                                      ; preds = %5264, %5278, %.thread3335, %150, %5282, %5284
  %.6 = phi i32 [ %.4, %5282 ], [ -2, %5284 ], [ 257, %150 ], [ %.4, %.thread3335 ], [ %.4, %5278 ], [ %.4, %5264 ]
  br label %5285

5285:                                             ; preds = %5311, %.thread3339
  %5286 = phi i16 [ %134, %.thread3339 ], [ %.pre3791, %5311 ]
  %.43121 = phi ptr [ %.33120, %.thread3339 ], [ %5305, %5311 ]
  %.43104 = phi ptr [ %.33103, %.thread3339 ], [ %5306, %5311 ]
  %.23086 = phi i32 [ %.13085, %.thread3339 ], [ %5308, %5311 ]
  %5287 = sext i32 %.23086 to i64
  %5288 = add i16 %5286, 1
  %or.cond9 = icmp ult i16 %5288, 12470
  br i1 %or.cond9, label %5289, label %5299

5289:                                             ; preds = %5285
  %5290 = sext i16 %5286 to i64
  %5291 = add nsw i64 %5290, 1
  %5292 = getelementptr inbounds [12470 x i16], ptr @_ZL7yycheck, i64 0, i64 %5291
  %5293 = load i16, ptr %5292, align 2, !tbaa !15
  %5294 = icmp eq i16 %5293, 1
  br i1 %5294, label %5295, label %5299

5295:                                             ; preds = %5289
  %5296 = getelementptr inbounds [12470 x i16], ptr @_ZL7yytable, i64 0, i64 %5291
  %5297 = load i16, ptr %5296, align 2, !tbaa !15
  %5298 = icmp sgt i16 %5297, 0
  br i1 %5298, label %5312, label %5299

5299:                                             ; preds = %5289, %5295, %5285
  %5300 = icmp eq ptr %.43104, %.33096
  br i1 %5300, label %.loopexit, label %5301

5301:                                             ; preds = %5299
  %5302 = getelementptr inbounds [930 x i16], ptr @_ZL6yystos, i64 0, i64 %5287
  %5303 = load i16, ptr %5302, align 2, !tbaa !15
  %5304 = sext i16 %5303 to i32
  call void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef nonnull @.str.199, i32 noundef %5304, ptr noundef nonnull %.43121, ptr noundef %0)
  %5305 = getelementptr inbounds i8, ptr %.43121, i64 -288
  %5306 = getelementptr inbounds i8, ptr %.43104, i64 -2
  %5307 = load i16, ptr %5306, align 2, !tbaa !15
  %5308 = sext i16 %5307 to i32
  %5309 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3297 = icmp eq i32 %5309, 0
  br i1 %.not3297, label %5311, label %5310

5310:                                             ; preds = %5301
  call void @_ZL14yy_stack_printPsS_(ptr noundef %.33096, ptr noundef nonnull %5306)
  br label %5311

5311:                                             ; preds = %5310, %5301
  %.phi.trans.insert3789 = sext i16 %5307 to i64
  %.phi.trans.insert3790 = getelementptr inbounds [930 x i16], ptr @_ZL6yypact, i64 0, i64 %.phi.trans.insert3789
  %.pre3791 = load i16, ptr %.phi.trans.insert3790, align 2, !tbaa !15
  br label %5285, !llvm.loop !172

5312:                                             ; preds = %5295
  %5313 = zext nneg i16 %5297 to i32
  %5314 = getelementptr inbounds i8, ptr %.43121, i64 288
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(288) %5314, ptr noundef nonnull align 8 dereferenceable(288) %2, i64 288, i1 false), !tbaa.struct !5
  %5315 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3296 = icmp eq i32 %5315, 0
  br i1 %.not3296, label %87, label %5316

5316:                                             ; preds = %5312
  %5317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5317, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.8) #12
  %5319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5320 = zext nneg i16 %5297 to i64
  %5321 = getelementptr inbounds [930 x i16], ptr @_ZL6yystos, i64 0, i64 %5320
  %5322 = load i16, ptr %5321, align 2, !tbaa !15
  %5323 = sext i16 %5322 to i32
  call void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef %5319, i32 noundef %5323, ptr noundef nonnull %5314, ptr noundef %0)
  %5324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5324, ptr noundef nonnull @.str.7) #12
  br label %87

.thread3313:                                      ; preds = %107, %100, %5278, %.thread3332
  %.63123 = phi ptr [ %.33120, %.thread3332 ], [ %.13118, %107 ], [ %.13118, %100 ], [ %.33120, %5278 ]
  %.63106 = phi ptr [ %.33103, %.thread3332 ], [ %.13101, %107 ], [ %.13101, %100 ], [ %.33103, %5278 ]
  %.53098 = phi ptr [ %.33096, %.thread3332 ], [ %.03093, %107 ], [ %.03093, %100 ], [ %.33096, %5278 ]
  %.8 = phi i32 [ %.4, %.thread3332 ], [ %.1, %107 ], [ %.1, %100 ], [ %.4, %5278 ]
  call void @_ZN7glslang13TParseContext11parserErrorEPKc(ptr noundef nonnull align 8 dereferenceable(24912) %0, ptr noundef nonnull @.str.200)
  br label %.loopexit

.loopexit:                                        ; preds = %129, %.thread3320, %5299, %.thread3313
  %.03127 = phi i32 [ 2, %.thread3313 ], [ 1, %5299 ], [ 1, %129 ], [ 0, %.thread3320 ]
  %.73124 = phi ptr [ %.63123, %.thread3313 ], [ %.43121, %5299 ], [ %124, %129 ], [ %.33120, %.thread3320 ]
  %.73107 = phi ptr [ %.63106, %.thread3313 ], [ %.43104, %5299 ], [ %122, %129 ], [ %.33103, %.thread3320 ]
  %.63099 = phi ptr [ %.53098, %.thread3313 ], [ %.33096, %5299 ], [ %111, %129 ], [ %.33096, %.thread3320 ]
  %.9 = phi i32 [ %.8, %.thread3313 ], [ %.6, %5299 ], [ %.1, %.thread3320 ], [ %.1, %129 ]
  %.not3298 = icmp eq i32 %.9, -2
  br i1 %.not3298, label %5333, label %5326

5326:                                             ; preds = %.loopexit
  %or.cond11 = icmp ult i32 %.9, 711
  br i1 %or.cond11, label %.thread3357, label %5331

.thread3357:                                      ; preds = %5282, %5326
  %.0312733483372 = phi i32 [ %.03127, %5326 ], [ 1, %5282 ]
  %.7312433503370 = phi ptr [ %.73124, %5326 ], [ %.33120, %5282 ]
  %.7310733523368 = phi ptr [ %.73107, %5326 ], [ %.33103, %5282 ]
  %.6309933543366 = phi ptr [ %.63099, %5326 ], [ %.33096, %5282 ]
  %.933563364 = phi i32 [ %.9, %5326 ], [ 0, %5282 ]
  %5327 = zext nneg i32 %.933563364 to i64
  %5328 = getelementptr inbounds [711 x i16], ptr @_ZL11yytranslate, i64 0, i64 %5327
  %5329 = load i16, ptr %5328, align 2, !tbaa !15
  %5330 = sext i16 %5329 to i32
  br label %5331

5331:                                             ; preds = %5326, %.thread3357
  %.0312733483371 = phi i32 [ %.0312733483372, %.thread3357 ], [ %.03127, %5326 ]
  %.7312433503369 = phi ptr [ %.7312433503370, %.thread3357 ], [ %.73124, %5326 ]
  %.7310733523367 = phi ptr [ %.7310733523368, %.thread3357 ], [ %.73107, %5326 ]
  %.6309933543365 = phi ptr [ %.6309933543366, %.thread3357 ], [ %.63099, %5326 ]
  %5332 = phi i32 [ %5330, %.thread3357 ], [ 2, %5326 ]
  call void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef nonnull @.str.201, i32 noundef %5332, ptr noundef nonnull %2, ptr noundef %0)
  br label %5333

5333:                                             ; preds = %5331, %.loopexit
  %.630993355 = phi ptr [ %.6309933543365, %5331 ], [ %.63099, %.loopexit ]
  %.731073353 = phi ptr [ %.7310733523367, %5331 ], [ %.73107, %.loopexit ]
  %.731243351 = phi ptr [ %.7312433503369, %5331 ], [ %.73124, %.loopexit ]
  %.031273349 = phi i32 [ %.0312733483371, %5331 ], [ %.03127, %.loopexit ]
  %5334 = load i32, ptr @yydebug, align 4, !tbaa !13
  %.not3299 = icmp eq i32 %5334, 0
  br i1 %.not3299, label %5336, label %5335

5335:                                             ; preds = %5333
  call void @_ZL14yy_stack_printPsS_(ptr noundef %.630993355, ptr noundef nonnull %.731073353)
  br label %5336

5336:                                             ; preds = %5335, %5333
  %.not33003575 = icmp eq ptr %.731073353, %.630993355
  br i1 %.not33003575, label %._crit_edge3580, label %.lr.ph3579

.lr.ph3579:                                       ; preds = %5336, %.lr.ph3579
  %.831083577 = phi ptr [ %5343, %.lr.ph3579 ], [ %.731073353, %5336 ]
  %.831253576 = phi ptr [ %5342, %.lr.ph3579 ], [ %.731243351, %5336 ]
  %5337 = load i16, ptr %.831083577, align 2, !tbaa !15
  %5338 = sext i16 %5337 to i64
  %5339 = getelementptr inbounds [930 x i16], ptr @_ZL6yystos, i64 0, i64 %5338
  %5340 = load i16, ptr %5339, align 2, !tbaa !15
  %5341 = sext i16 %5340 to i32
  call void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef nonnull @.str.202, i32 noundef %5341, ptr noundef nonnull %.831253576, ptr noundef %0)
  %5342 = getelementptr inbounds i8, ptr %.831253576, i64 -288
  %5343 = getelementptr inbounds i8, ptr %.831083577, i64 -2
  %.not3300 = icmp eq ptr %5343, %.630993355
  br i1 %.not3300, label %._crit_edge3580, label %.lr.ph3579, !llvm.loop !173

._crit_edge3580:                                  ; preds = %.lr.ph3579, %5336
  %.not3301 = icmp eq ptr %.630993355, %3
  br i1 %.not3301, label %5345, label %5344

5344:                                             ; preds = %._crit_edge3580
  call void @free(ptr noundef %.630993355) #11
  br label %5345

5345:                                             ; preds = %5344, %._crit_edge3580
  %5346 = load ptr, ptr %7, align 8, !tbaa !9
  %.not3302 = icmp eq ptr %5346, %6
  br i1 %.not3302, label %5348, label %5347

5347:                                             ; preds = %5345
  call void @free(ptr noundef %5346) #11
  br label %5348

5348:                                             ; preds = %5345, %5347
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 57600, ptr nonnull %4) #11
  call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %3) #11
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %2) #11
  ret i32 %.031273349

5349:                                             ; preds = %3691, %3693, %493, %514, %463, %4621, %4229, %4202, %3930, %3915, %3902, %3896, %3832, %3715, %1916, %1885, %1872, %1603, %1423, %1319, %1295, %1271, %1152, %1045, %987, %929, %428, %405
  %.pn3289 = phi { ptr, i32 } [ %4622, %4621 ], [ %4230, %4229 ], [ %4203, %4202 ], [ %3931, %3930 ], [ %3916, %3915 ], [ %3903, %3902 ], [ %3897, %3896 ], [ %3833, %3832 ], [ %.pn, %3715 ], [ %1917, %1916 ], [ %1886, %1885 ], [ %1873, %1872 ], [ %1604, %1603 ], [ %1424, %1423 ], [ %1320, %1319 ], [ %1296, %1295 ], [ %.pn3264, %1271 ], [ %1153, %1152 ], [ %.pn3269, %1045 ], [ %.pn3271, %987 ], [ %.pn3273, %929 ], [ %429, %428 ], [ %406, %405 ], [ %.pn3286, %514 ], [ %.pn3283.pn, %463 ], [ %.pn3280.pn, %493 ], [ %3694, %3693 ], [ %3692, %3691 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %6) #11
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 57600, ptr nonnull %4) #11
  call void @llvm.lifetime.end.p0(i64 400, ptr nonnull %3) #11
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %2) #11
  resume { ptr, i32 } %.pn3289
}

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare hidden void @_ZL14yy_stack_printPsS_(ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite)
declare noalias noundef ptr @malloc(i64 noundef) local_unnamed_addr #5

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

; Function Attrs: mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite)
declare void @free(ptr allocptr nocapture noundef) local_unnamed_addr #6

declare noundef i32 @_Z5yylexP7YYSTYPERN7glslang13TParseContextE(ptr noundef, ptr noundef nonnull align 8 dereferenceable(24912)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL15yy_symbol_printP8_IO_FILE15yysymbol_kind_tPK7YYSTYPEPN7glslang13TParseContextE(ptr noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL15yy_reduce_printPsP7YYSTYPEiPN7glslang13TParseContextE(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #0

declare noundef ptr @_ZN7glslang13TParseContext14handleVariableERKNS_10TSourceLocEPNS_7TSymbolEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang20TIntermConstantUnion13setExpressionEv(ptr noundef nonnull align 8 dereferenceable(193)) local_unnamed_addr #4 align 2

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEdNS_10TBasicTypeERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), double noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEiRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEjRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEbRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i1 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionExRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i64 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEyRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i64 noundef, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEsRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i16 noundef signext, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TIntermediate16addConstantUnionEtRKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(1784), i16 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #7

declare void @_ZN7glslang14TParseVersions14requireProfileERKNS_10TSourceLocEiPKc(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef) local_unnamed_addr #7

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

declare noundef ptr @_ZN7glslang13TParseContext24handleBracketDereferenceERKNS_10TSourceLocEPNS_12TIntermTypedES5_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext20handleDotDereferenceERKNS_10TSourceLocEPNS_12TIntermTypedERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext13variableCheckERPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext15handleUnaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext12integerCheckEPKNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext18handleFunctionCallERKNS_10TSourceLocEPNS_9TFunctionEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang5TTypenwEm(i64 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TTypeC2ENS_10TBasicTypeENS_17TStorageQualifierEiiib(ptr noundef nonnull align 8 dereferenceable(144), i32 noundef, i32 noundef, i32 noundef, i32 noundef, i32 noundef, i1 noundef zeroext) unnamed_addr #0 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang5TTypedlEPv(ptr noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TType11shallowCopyERKS0_(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #0 align 2

declare noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext21handleConstructorCallERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang7TSymbolnwEm(i64 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang9TFunctionC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeENS_9TOperatorE(ptr noundef nonnull align 8 dereferenceable(328), ptr noundef, ptr noundef nonnull align 8 dereferenceable(144), i32 noundef) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang5TTypeD2Ev(ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang7TSymboldlEPv(ptr noundef) local_unnamed_addr #4 align 2

declare void @_ZN7glslang13TParseContext18reservedErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang14NewPoolTStringB5cxx11EPKc(ptr noundef) local_unnamed_addr #8

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #4 align 2

declare noundef ptr @_ZN7glslang13TParseContext16handleBinaryMathERKNS_10TSourceLocEPKcNS_9TOperatorEPNS_12TIntermTypedES8_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext16arrayObjectCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext11opaqueCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext19specializationCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext14referenceCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TIntermediate12addSelectionEPNS_12TIntermTypedES2_S2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext13binaryOpErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7glslang12TIntermTyped17getCompleteStringB5cxx11Eb(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176), i1 noundef zeroext) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK7glslang13TIntermediate15getEnhancedMsgsEv(ptr noundef nonnull align 8 dereferenceable(1784)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEED2Ev(ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #4 align 2

declare void @_ZN7glslang13TParseContext27storage16BitAssignmentCheckERKNS_10TSourceLocERKNS_5TTypeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext9addAssignERKNS_10TSourceLocENS_9TOperatorEPNS_12TIntermTypedES6_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext11assignErrorERKNS_10TSourceLocEPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext31samplerConstructorLocationCheckERKNS_10TSourceLocEPKcP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TIntermediate8addCommaEPNS_12TIntermTypedES2_RKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext18constantValueCheckEPNS_12TIntermTypedEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext24handleFunctionDeclaratorERKNS_10TSourceLocERNS_9TFunctionEb(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(328), i1 noundef zeroext) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext11globalCheckERKNS_10TSourceLocEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiPKcS5_(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang12TSymbolTable28setPreviousDefaultPrecisionsEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) local_unnamed_addr #0 align 2

declare void @_ZN7glslang13TParseContext19setDefaultPrecisionERKNS_10TSourceLocERNS_11TPublicTypeENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232), i32 noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext12declareBlockERKNS_10TSourceLocERNS_7TVectorINS_8TTypeLocEEEPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext23globalQualifierFixCheckERKNS_10TSourceLocERNS_10TQualifierEb(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), i1 noundef zeroext) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext33updateStandaloneQualifierDefaultsERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext20checkNoShaderLayoutsERKNS_10TSourceLocERKNS_17TShaderQualifiersE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(88)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext22addQualifierToExistingERKNS_10TSourceLocENS_10TQualifierERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef byval(%"class.glslang::TQualifier") align 8, ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #7

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

declare void @_ZN7glslang13TParseContext22addQualifierToExistingERKNS_10TSourceLocENS_10TQualifierERNS_7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef byval(%"class.glslang::TQualifier") align 8, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext16nestedBlockCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEnwEm(i64 noundef) local_unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang7TVectorIPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEEdlEPv(ptr noundef) local_unnamed_addr #4 align 2

declare void @_ZN7glslang13TParseContext24handleFunctionAttributesERKNS_10TSourceLocERKNS_5TListINS_14TAttributeArgsEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1) local_unnamed_addr #7

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN7glslang25GetStorageQualifierStringENS_17TStorageQualifierE(i32 noundef) local_unnamed_addr #9

declare void @_ZN7glslang13TParseContext22arraySizeRequiredCheckERKNS_10TSourceLocERKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(21)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TTypeC2ERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef nonnull align 8 dereferenceable(232)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNK7glslang17TParseContextBase20renameShaderFunctionERPNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(1176), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang5TType18transferArraySizesEPNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TType19copyArrayInnerSizesEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef) local_unnamed_addr #0 align 2

declare void @_ZN7glslang13TParseContext24arrayOfArrayVersionCheckERKNS_10TSourceLocEPKNS_11TArraySizesE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext23precisionQualifierCheckERKNS_10TSourceLocENS_10TBasicTypeERNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext18parameterTypeCheckERKNS_10TSourceLocENS_17TStorageQualifierERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext13paramCheckFixERKNS_10TSourceLocERKNS_10TQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext20paramCheckFixStorageERKNS_10TSourceLocERKNS_17TStorageQualifierERNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext15declareVariableERKNS_10TSourceLocERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_11TPublicTypeEPNS_11TArraySizesEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(232), ptr noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext19declareTypeDefaultsERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext24globalQualifierTypeCheckERKNS_10TSourceLocERKNS_10TQualifierERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #7

declare noundef zeroext i1 @_ZN7glslang13TParseContext19arrayQualifierErrorERKNS_10TSourceLocERKNS_10TQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang17TShaderQualifiers5mergeERKS0_(ptr noundef nonnull align 4 dereferenceable(88), ptr noundef nonnull align 4 dereferenceable(88)) local_unnamed_addr #4 align 2

declare void @_ZN7glslang13TParseContext15mergeQualifiersERKNS_10TSourceLocERNS_10TQualifierERKS4_b(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(72), i1 noundef zeroext) local_unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK7glslang10TQualifier15isInterpolationEv(ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang11TPublicType4initERKNS_10TSourceLocEb(ptr noundef nonnull align 8 dereferenceable(232), ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #0 align 2

declare void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE15EShLanguageMaskPKc(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang14TParseVersions12requireStageERKNS_10TSourceLocE11EShLanguagePKc(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext27mergeObjectLayoutQualifiersERNS_10TQualifierERKS1_b(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(72), ptr noundef nonnull align 8 dereferenceable(72), i1 noundef zeroext) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232), ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext18setLayoutQualifierERKNS_10TSourceLocERNS_11TPublicTypeERNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang14pool_allocatorIcEC2Ev(ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEC2IS5_EEPKcRKS5_(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef, ptr noundef nonnull align 8 dereferenceable(8)) unnamed_addr #0 align 2

declare void @_ZN7glslang14TParseVersions15profileRequiresERKNS_10TSourceLocEiiiPKPKcS5_(ptr noundef nonnull align 8 dereferenceable(192), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef, i32 noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext23checkPrecisionQualifierERKNS_10TSourceLocENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef) local_unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang10TQualifier19setSpirvByReferenceEv(ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang10TQualifier15setSpirvLiteralEv(ptr noundef nonnull align 8 dereferenceable(72)) local_unnamed_addr #4 align 2

declare noundef i32 @_ZN7glslang13TParseContext19getDefaultPrecisionERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang11TArraySizesnwEm(i64 noundef) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang11TArraySizesC2Ev(ptr noundef nonnull align 8 dereferenceable(21)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang11TArraySizesdlEPv(ptr noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang11TArraySizes12addInnerSizeEv(ptr noundef nonnull align 8 dereferenceable(21)) local_unnamed_addr #0 align 2

declare void @_ZN7glslang13TParseContext14arraySizeCheckERKNS_10TSourceLocEPNS_12TIntermTypedERNS_10TArraySizeEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang11TArraySizes12addInnerSizeENS_10TArraySizeE(ptr noundef nonnull align 8 dereferenceable(21), i32, ptr) local_unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang11TPublicType9setVectorEi(ptr noundef nonnull align 8 dereferenceable(232), i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang11TPublicType9setMatrixEii(ptr noundef nonnull align 8 dereferenceable(232), i32 noundef, i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler3setENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler10setTextureENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler14setPureSamplerEb(ptr noundef nonnull align 4 dereferenceable(4), i1 noundef zeroext) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler8setImageENS_10TBasicTypeENS_11TSamplerDimEbbb(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang8TSampler10setSubpassENS_10TBasicTypeEb(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef, i1 noundef zeroext) local_unnamed_addr #4 align 2

declare void @_ZN7glslang13TParseContext15structTypeCheckERKNS_10TSourceLocERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext24handlePrecisionQualifierERKNS_10TSourceLocERNS_10TQualifierENS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(72), i32 noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext17nestedStructCheckERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TTypeC2EPNS_7TVectorINS_8TTypeLocEEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef, ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

declare void @_ZN7glslang13TParseContext16structArrayCheckERKNS_10TSourceLocERKNS_5TTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang9TVariableC2EPKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEERKNS_5TTypeEb(ptr noundef nonnull align 8 dereferenceable(228), ptr noundef, ptr noundef nonnull align 8 dereferenceable(144), i1 noundef zeroext) unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN7glslang12TSymbolTable6insertERNS_7TSymbolE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(33)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt6vectorIN7glslang8TTypeLocENS0_14pool_allocatorIS1_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 align 2

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

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

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

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

declare noundef zeroext i1 @_ZN7glslang13TParseContext14voidErrorCheckERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEENS_10TBasicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), i32 noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang5TType12setFieldNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(144), ptr noundef nonnull align 8 dereferenceable(40)) unnamed_addr #0 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef ptr @_ZN7glslang5TType13getArraySizesEv(ptr noundef nonnull align 8 dereferenceable(144)) unnamed_addr #4 align 2

declare void @_ZN7glslang13TParseContext20memberQualifierCheckERNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang7TVectorINS_8TTypeLocEEnwEm(i64 noundef) local_unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang7TVectorINS_8TTypeLocEEdlEPv(ptr noundef) local_unnamed_addr #4 align 2

declare noundef ptr @_ZN7glslang13TIntermediate13makeAggregateERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TIntermediate13growAggregateEP11TIntermNodeS2_(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang12TSymbolTable4pushEv(ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #0 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7glslang12TSymbolTable3popEPNS_19TPrecisionQualifierE(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) local_unnamed_addr #0 align 2

declare noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef) local_unnamed_addr #7

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

declare void @_ZN7glslang13TParseContext23wrapupSwitchSubsequenceEPNS_16TIntermAggregateEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext25handleSelectionAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 1, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TIntermediate12addSelectionEPNS_12TIntermTypedENS_15TIntermNodePairERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr, ptr, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext9boolCheckERKNS_10TSourceLocERKNS_11TPublicTypeE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(232)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext22handleSwitchAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 1, ptr noundef) local_unnamed_addr #7

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZN7glslang7TVectorIP11TIntermNodeEnwEm(i64 noundef) local_unnamed_addr #0 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang7TVectorIP11TIntermNodeEdlEPv(ptr noundef) local_unnamed_addr #4 align 2

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

declare noundef ptr @_ZN7glslang13TParseContext9addSwitchERKNS_10TSourceLocEPNS_12TIntermTypedEPNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #7

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt7__cxx114listIiN7glslang14pool_allocatorIiEEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 align 2

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

declare noundef ptr @_ZN7glslang13TIntermediate9addBranchENS_9TOperatorEPNS_12TIntermTypedERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext20handleLoopAttributesERKNS_5TListINS_14TAttributeArgsEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 1, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TIntermediate7addLoopEP11TIntermNodePNS_12TIntermTypedES4_bRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef, ptr noundef, i1 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TIntermediate13makeAggregateEP11TIntermNodeRKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

declare void @_ZN7glslang13TParseContext18inductiveLoopCheckERKNS_10TSourceLocEP11TIntermNodePNS_11TIntermLoopE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZNKSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4 align 2

declare noundef ptr @_ZN7glslang13TParseContext17handleReturnValueERKNS_10TSourceLocEPNS_12TIntermTypedE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang13TIntermediate11setTreeRootEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef) local_unnamed_addr #4 align 2

declare noundef ptr @_ZN7glslang13TParseContext24handleFunctionDefinitionERKNS_10TSourceLocERNS_9TFunctionE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(328)) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TIntermediate20setAggregateOperatorEP11TIntermNodeNS_9TOperatorERKNS_5TTypeERKNS_10TSourceLocE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef, i32 noundef, ptr noundef nonnull align 8 dereferenceable(144), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang16TIntermAggregate11setOptimizeEb(ptr noundef nonnull align 8 dereferenceable(352), i1 noundef zeroext) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN7glslang16TIntermAggregate8setDebugEb(ptr noundef nonnull align 8 dereferenceable(352), i1 noundef zeroext) local_unnamed_addr #4 align 2

declare void @_ZN7glslang16TIntermAggregate14setPragmaTableERKNS_12TPragmaTableE(ptr noundef nonnull align 8 dereferenceable(352), ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TParseContext15mergeAttributesEPNS_5TListINS_14TAttributeArgsEEES4_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TParseContext14makeAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #7

declare noundef ptr @_ZNK7glslang13TParseContext14makeAttributesERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEP11TIntermNode(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext22mergeSpirvRequirementsERKNS_10TSourceLocEPNS_17TSpirvRequirementES5_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext20makeSpirvRequirementERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEPKNS_16TIntermAggregateESF_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TIntermediate24insertSpirvExecutionModeEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TIntermediate22insertSpirvRequirementEPKNS_17TSpirvRequirementE(ptr noundef nonnull align 8 dereferenceable(1784), ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang13TIntermediate26insertSpirvExecutionModeIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(1784), i32 noundef, ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local noundef ptr @_ZNK7glslang5TType14getBasicStringEv(ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #0 align 2

declare void @_ZN7glslang10TQualifier16setSpirvDecorateEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang10TQualifier18setSpirvDecorateIdEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang10TQualifier22setSpirvDecorateStringEiPKNS_16TIntermAggregateE(ptr noundef nonnull align 8 dereferenceable(72), i32 noundef, ptr noundef) local_unnamed_addr #7

declare void @_ZN7glslang11TPublicType12setSpirvTypeERKNS_17TSpirvInstructionEPKNS_7TVectorINS_19TSpirvTypeParameterEEE(ptr noundef nonnull align 8 dereferenceable(232), ptr noundef nonnull align 8 dereferenceable(44), ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext24mergeSpirvTypeParametersEPNS_7TVectorINS_19TSpirvTypeParameterEEES4_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext23makeSpirvTypeParametersERKNS_10TSourceLocEPKNS_20TIntermConstantUnionE(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext21mergeSpirvInstructionERKNS_10TSourceLocEPNS_17TSpirvInstructionES5_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext20makeSpirvInstructionERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEESC_(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 8 dereferenceable(40)) local_unnamed_addr #7

declare noundef ptr @_ZN7glslang13TParseContext20makeSpirvInstructionERKNS_10TSourceLocERKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEi(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(40), i32 noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare hidden noundef i32 @_ZL14yysyntax_errorPlPPcPK12yypcontext_t(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

declare void @_ZN7glslang13TParseContext11parserErrorEPKc(ptr noundef nonnull align 8 dereferenceable(24912), ptr noundef) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare hidden void @_ZL10yydestructPKc15yysymbol_kind_tP7YYSTYPEPN7glslang13TParseContextE(ptr noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.smin.i64(i64, i64) #10

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.usub.sat.i32(i32, i32) #10

attributes #0 = { 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 #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { 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 #5 = { mustprogress nofree nounwind willreturn allockind("alloc,uninitialized") allocsize(0) memory(inaccessiblemem: readwrite) "alloc-family"="malloc" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #11 = { nounwind }
attributes #12 = { cold nounwind }
attributes #13 = { nounwind allocsize(0) }

!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 = !{i64 0, i64 288, !6}
!6 = !{!7, !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"long", !7, i64 0}
!13 = !{!14, !14, i64 0}
!14 = !{!"int", !7, i64 0}
!15 = !{!16, !16, i64 0}
!16 = !{!"short", !7, i64 0}
!17 = !{!18, !18, i64 0}
!18 = !{!"vtable pointer", !8, i64 0}
!19 = !{!20, !10, i64 56}
!20 = !{!"_ZTSN7glslang14TParseVersionsE", !21, i64 8, !22, i64 12, !10, i64 16, !14, i64 24, !23, i64 28, !24, i64 32, !10, i64 56, !25, i64 64, !35, i64 120, !40, i64 176, !14, i64 180, !10, i64 184}
!21 = !{!"bool", !7, i64 0}
!22 = !{!"_ZTS8EProfile", !7, i64 0}
!23 = !{!"_ZTS11EShLanguage", !7, i64 0}
!24 = !{!"_ZTSN7glslang10SpvVersionE", !14, i64 0, !14, i64 4, !14, i64 8, !14, i64 12, !21, 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", !10, 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, !12, i64 32}
!33 = !{!"_ZTSSt18_Rb_tree_node_base", !34, i64 0, !10, i64 8, !10, i64 16, !10, i64 24}
!34 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!35 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEEjSt4lessIS7_EEE", !36, i64 0}
!36 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEEjSt4lessIS7_ENS5_ISt4pairIKS7_jEEEE", !37, i64 0}
!37 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_jESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE", !38, i64 0}
!38 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_jESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE13_Rb_tree_implISE_Lb1EEE", !39, i64 0, !30, i64 8, !32, i64 16}
!39 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEEjEEEE", !10, i64 0}
!40 = !{!"_ZTS11EShMessages", !7, i64 0}
!41 = !{i8 0, i8 2}
!42 = !{}
!43 = !{!44, !10, i64 200}
!44 = !{!"_ZTSN7glslang17TParseContextBaseE", !20, i64 0, !10, i64 192, !10, i64 200, !14, i64 208, !14, i64 212, !14, i64 216, !14, i64 220, !14, i64 224, !10, i64 232, !21, i64 240, !21, i64 241, !45, i64 248, !52, i64 280, !57, i64 312, !14, i64 376, !14, i64 380, !21, i64 384, !64, i64 392, !10, i64 424, !10, i64 432, !70, i64 440, !10, i64 824, !72, i64 832, !75, i64 872, !77, i64 904, !78, i64 936, !79, i64 968, !80, i64 1000, !10, i64 1032, !14, i64 1040, !14, i64 1044, !14, i64 1048, !81, i64 1056, !14, i64 1112, !88, i64 1120}
!45 = !{!"_ZTSN7glslang5TListIPNS_7TVectorIP11TIntermNodeEEEE", !46, i64 0}
!46 = !{!"_ZTSNSt7__cxx114listIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEEE", !47, i64 0}
!47 = !{!"_ZTSNSt7__cxx1110_List_baseIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEEE", !48, i64 0}
!48 = !{!"_ZTSNSt7__cxx1110_List_baseIPN7glslang7TVectorIP11TIntermNodeEENS1_14pool_allocatorIS6_EEE10_List_implE", !49, i64 0, !50, i64 8}
!49 = !{!"_ZTSN7glslang14pool_allocatorISt10_List_nodeIPNS_7TVectorIP11TIntermNodeEEEEE", !10, i64 0}
!50 = !{!"_ZTSNSt8__detail17_List_node_headerE", !51, i64 0, !12, i64 16}
!51 = !{!"_ZTSNSt8__detail15_List_node_baseE", !10, i64 0, !10, i64 8}
!52 = !{!"_ZTSN7glslang5TListIiEE", !53, i64 0}
!53 = !{!"_ZTSNSt7__cxx114listIiN7glslang14pool_allocatorIiEEEE", !54, i64 0}
!54 = !{!"_ZTSNSt7__cxx1110_List_baseIiN7glslang14pool_allocatorIiEEEE", !55, i64 0}
!55 = !{!"_ZTSNSt7__cxx1110_List_baseIiN7glslang14pool_allocatorIiEEE10_List_implE", !56, i64 0, !50, i64 8}
!56 = !{!"_ZTSN7glslang14pool_allocatorISt10_List_nodeIiEEE", !10, i64 0}
!57 = !{!"_ZTSN7glslang7TPragmaE", !21, i64 0, !21, i64 1, !58, i64 8}
!58 = !{!"_ZTSN7glslang12TPragmaTableE", !59, i64 0}
!59 = !{!"_ZTSN7glslang4TMapINSt7__cxx1112basic_stringIcSt11char_traitsIcENS_14pool_allocatorIcEEEES7_St4lessIS7_EEE", !60, i64 0}
!60 = !{!"_ZTSSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEES7_St4lessIS7_ENS5_ISt4pairIKS7_S7_EEEE", !61, i64 0}
!61 = !{!"_ZTSSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_S7_ESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE", !62, i64 0}
!62 = !{!"_ZTSNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEESt4pairIKS7_S7_ESt10_Select1stISA_ESt4lessIS7_ENS5_ISA_EEE13_Rb_tree_implISE_Lb1EEE", !63, i64 0, !30, i64 8, !32, i64 16}
!63 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_IcEEEES8_EEEE", !10, i64 0}
!64 = !{!"_ZTSN7glslang7TVectorIPNS_7TSymbolEEE", !65, i64 0}
!65 = !{!"_ZTSSt6vectorIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE", !66, i64 0}
!66 = !{!"_ZTSSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE12_Vector_implE", !68, i64 0, !69, i64 8}
!68 = !{!"_ZTSN7glslang14pool_allocatorIPNS_7TSymbolEEE", !10, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseIPN7glslang7TSymbolENS0_14pool_allocatorIS2_EEE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!70 = !{!"_ZTS16TBuiltInResource", !14, i64 0, !14, i64 4, !14, i64 8, !14, i64 12, !14, i64 16, !14, i64 20, !14, i64 24, !14, i64 28, !14, i64 32, !14, i64 36, !14, i64 40, !14, i64 44, !14, i64 48, !14, i64 52, !14, i64 56, !14, i64 60, !14, i64 64, !14, i64 68, !14, i64 72, !14, i64 76, !14, i64 80, !14, i64 84, !14, i64 88, !14, i64 92, !14, i64 96, !14, i64 100, !14, i64 104, !14, i64 108, !14, i64 112, !14, i64 116, !14, i64 120, !14, i64 124, !14, i64 128, !14, i64 132, !14, i64 136, !14, i64 140, !14, i64 144, !14, i64 148, !14, i64 152, !14, i64 156, !14, i64 160, !14, i64 164, !14, i64 168, !14, i64 172, !14, i64 176, !14, i64 180, !14, i64 184, !14, i64 188, !14, i64 192, !14, i64 196, !14, i64 200, !14, i64 204, !14, i64 208, !14, i64 212, !14, i64 216, !14, i64 220, !14, i64 224, !14, i64 228, !14, i64 232, !14, i64 236, !14, i64 240, !14, i64 244, !14, i64 248, !14, i64 252, !14, i64 256, !14, i64 260, !14, i64 264, !14, i64 268, !14, i64 272, !14, i64 276, !14, i64 280, !14, i64 284, !14, i64 288, !14, i64 292, !14, i64 296, !14, i64 300, !14, i64 304, !14, i64 308, !14, i64 312, !14, i64 316, !14, i64 320, !14, i64 324, !14, i64 328, !14, i64 332, !14, i64 336, !14, i64 340, !14, i64 344, !14, i64 348, !14, i64 352, !14, i64 356, !14, i64 360, !14, i64 364, !14, i64 368, !71, i64 372}
!71 = !{!"_ZTS7TLimits", !21, i64 0, !21, i64 1, !21, i64 2, !21, i64 3, !21, i64 4, !21, i64 5, !21, i64 6, !21, i64 7, !21, i64 8}
!72 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEEE", !73, i64 0, !12, i64 16, !7, i64 24}
!73 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcEN7glslang14pool_allocatorIcEEE12_Alloc_hiderE", !74, i64 0, !10, i64 8}
!74 = !{!"_ZTSN7glslang14pool_allocatorIcEE", !10, i64 0}
!75 = !{!"_ZTSSt8functionIFviibiPKcEE", !76, i64 0, !10, i64 24}
!76 = !{!"_ZTSSt14_Function_base", !7, i64 0, !10, i64 16}
!77 = !{!"_ZTSSt8functionIFviRKN7glslang7TVectorINSt7__cxx1112basic_stringIcSt11char_traitsIcENS0_14pool_allocatorIcEEEEEEEE", !76, i64 0, !10, i64 24}
!78 = !{!"_ZTSSt8functionIFviiPKcEE", !76, i64 0, !10, i64 24}
!79 = !{!"_ZTSSt8functionIFviPKcS1_EE", !76, i64 0, !10, i64 24}
!80 = !{!"_ZTSSt8functionIFviPKcEE", !76, i64 0, !10, i64 24}
!81 = !{!"_ZTSN7glslang4TMapIiPNS_9TVariableESt4lessIiEEE", !82, i64 0}
!82 = !{!"_ZTSSt3mapIiPN7glslang9TVariableESt4lessIiENS0_14pool_allocatorISt4pairIKiS2_EEEE", !83, i64 0}
!83 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiPN7glslang9TVariableEESt10_Select1stIS5_ESt4lessIiENS2_14pool_allocatorIS5_EEE", !84, i64 0}
!84 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiPN7glslang9TVariableEESt10_Select1stIS5_ESt4lessIiENS2_14pool_allocatorIS5_EEE13_Rb_tree_implIS9_Lb1EEE", !85, i64 0, !86, i64 8, !32, i64 16}
!85 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKiPNS_9TVariableEEEEE", !10, i64 0}
!86 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIiEE", !87, i64 0}
!87 = !{!"_ZTSSt4lessIiE"}
!88 = !{!"_ZTSN7glslang4TMapIiiSt4lessIiEEE", !89, i64 0}
!89 = !{!"_ZTSSt3mapIiiSt4lessIiEN7glslang14pool_allocatorISt4pairIKiiEEEE", !90, i64 0}
!90 = !{!"_ZTSSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiEN7glslang14pool_allocatorIS2_EEE", !91, i64 0}
!91 = !{!"_ZTSNSt8_Rb_treeIiSt4pairIKiiESt10_Select1stIS2_ESt4lessIiEN7glslang14pool_allocatorIS2_EEE13_Rb_tree_implIS6_Lb1EEE", !92, i64 0, !86, i64 8, !32, i64 16}
!92 = !{!"_ZTSN7glslang14pool_allocatorISt13_Rb_tree_nodeISt4pairIKiiEEEE", !10, i64 0}
!93 = !{i64 0, i64 8, !9, i64 8, i64 4, !13, i64 12, i64 4, !13, i64 16, i64 4, !13, i64 24, i64 4, !94, i64 32, i64 16, !6, i64 48, i64 232, !6, i64 280, i64 8, !9}
!94 = !{!95, !95, i64 0}
!95 = !{!"_ZTSN7glslang9TOperatorE", !7, i64 0}
!96 = !{i64 0, i64 8, !9, i64 8, i64 4, !13, i64 12, i64 4, !13, i64 16, i64 4, !13}
!97 = !{!98, !10, i64 0}
!98 = !{!"_ZTSN7glslang10TParameterE", !10, i64 0, !10, i64 8, !10, i64 16}
!99 = !{!98, !10, i64 8}
!100 = !{!98, !10, i64 16}
!101 = !{!44, !14, i64 224}
!102 = !{!44, !14, i64 220}
!103 = !{!104, !10, i64 1184}
!104 = !{!"_ZTSN7glslang13TParseContextE", !44, i64 0, !21, i64 1176, !10, i64 1184, !105, i64 1192, !7, i64 1264, !70, i64 1352, !10, i64 1736, !7, i64 1744, !112, i64 24272, !105, i64 24288, !105, i64 24360, !105, i64 24432, !105, i64 24504, !105, i64 24576, !72, i64 24648, !10, i64 24688, !21, i64 24696, !113, i64 24704, !118, i64 24752, !124, i64 24784, !124, i64 24832, !64, i64 24880}
!105 = !{!"_ZTSN7glslang10TQualifierE", !10, i64 0, !106, i64 8, !107, i64 8, !107, i64 9, !108, i64 11, !21, i64 11, !21, i64 11, !21, i64 11, !21, i64 11, !21, i64 11, !21, i64 12, !21, i64 12, !21, i64 12, !21, i64 12, !21, i64 12, !21, i64 12, !21, i64 12, !21, i64 12, !21, i64 13, !21, i64 13, !21, i64 13, !21, i64 13, !21, i64 13, !21, i64 13, !21, i64 13, !21, i64 13, !21, i64 14, !21, i64 14, !21, i64 14, !21, i64 14, !21, i64 14, !21, i64 14, !21, i64 14, !21, i64 14, !21, i64 15, !21, i64 15, !21, i64 15, !109, i64 15, !110, i64 16, !14, i64 20, !14, i64 24, !14, i64 28, !14, i64 29, !14, i64 29, !14, i64 32, !14, i64 34, !14, i64 35, !14, i64 36, !14, i64 36, !14, i64 38, !14, i64 40, !14, i64 41, !14, i64 42, !111, i64 44, !21, i64 45, !21, i64 46, !21, i64 47, !21, i64 48, !14, i64 52, !21, i64 56, !14, i64 60, !10, i64 64}
!106 = !{!"_ZTSN7glslang17TStorageQualifierE", !7, i64 0}
!107 = !{!"_ZTSN7glslang16TBuiltInVariableE", !7, i64 0}
!108 = !{!"_ZTSN7glslang19TPrecisionQualifierE", !7, i64 0}
!109 = !{!"_ZTSN7glslang13TLayoutMatrixE", !7, i64 0}
!110 = !{!"_ZTSN7glslang14TLayoutPackingE", !7, i64 0}
!111 = !{!"_ZTSN7glslang13TLayoutFormatE", !7, i64 0}
!112 = !{!"_ZTSN7glslang17TPrecisionManagerE", !21, i64 8, !21, i64 9, !21, i64 10, !21, i64 11}
!113 = !{!"_ZTSSt3setIxSt4lessIxESaIxEE", !114, i64 0}
!114 = !{!"_ZTSSt8_Rb_treeIxxSt9_IdentityIxESt4lessIxESaIxEE", !115, i64 0}
!115 = !{!"_ZTSNSt8_Rb_treeIxxSt9_IdentityIxESt4lessIxESaIxEE13_Rb_tree_implIS3_Lb1EEE", !116, i64 0, !32, i64 8}
!116 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIxEE", !117, i64 0}
!117 = !{!"_ZTSSt4lessIxE"}
!118 = !{!"_ZTSN7glslang7TVectorIPNS_12TIntermTypedEEE", !119, i64 0}
!119 = !{!"_ZTSSt6vectorIPN7glslang12TIntermTypedENS0_14pool_allocatorIS2_EEE", !120, i64 0}
!120 = !{!"_ZTSSt12_Vector_baseIPN7glslang12TIntermTypedENS0_14pool_allocatorIS2_EEE", !121, i64 0}
!121 = !{!"_ZTSNSt12_Vector_baseIPN7glslang12TIntermTypedENS0_14pool_allocatorIS2_EEE12_Vector_implE", !122, i64 0, !123, i64 8}
!122 = !{!"_ZTSN7glslang14pool_allocatorIPNS_12TIntermTypedEEE", !10, i64 0}
!123 = !{!"_ZTSNSt12_Vector_baseIPN7glslang12TIntermTypedENS0_14pool_allocatorIS2_EEE17_Vector_impl_dataE", !10, i64 0, !10, i64 8, !10, i64 16}
!124 = !{!"_ZTSSt3mapIPKN7glslang7TVectorINS0_8TTypeLocEEES_ImS5_St4lessImESaISt4pairIKmS5_EEES6_IS5_ESaIS8_IKS5_SC_EEE", !125, i64 0}
!125 = !{!"_ZTSSt8_Rb_treeIPKN7glslang7TVectorINS0_8TTypeLocEEESt4pairIKS5_St3mapImS5_St4lessImESaIS6_IKmS5_EEEESt10_Select1stISF_ES9_IS5_ESaISF_EE", !126, i64 0}
!126 = !{!"_ZTSNSt8_Rb_treeIPKN7glslang7TVectorINS0_8TTypeLocEEESt4pairIKS5_St3mapImS5_St4lessImESaIS6_IKmS5_EEEESt10_Select1stISF_ES9_IS5_ESaISF_EE13_Rb_tree_implISI_Lb1EEE", !127, i64 0, !32, i64 8}
!127 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIPKN7glslang7TVectorINS1_8TTypeLocEEEEE", !128, i64 0}
!128 = !{!"_ZTSSt4lessIPKN7glslang7TVectorINS0_8TTypeLocEEEE"}
!129 = !{i64 0, i64 8, !9, i64 8, i64 8, !6, i64 16, i64 1, !6, i64 20, i64 4, !13, i64 24, i64 4, !13, i64 28, i64 8, !6, i64 36, i64 8, !6, i64 44, i64 1, !6, i64 45, i64 1, !130, i64 46, i64 1, !130, i64 47, i64 1, !130, i64 48, i64 1, !130, i64 52, i64 4, !13, i64 56, i64 1, !130, i64 60, i64 4, !13, i64 64, i64 8, !9}
!130 = !{!21, !21, i64 0}
!131 = !{!106, !106, i64 0}
!132 = !{i64 0, i64 4, !133, i64 4, i64 4, !6, i64 8, i64 8, !9, i64 16, i64 8, !6, i64 24, i64 1, !6, i64 28, i64 4, !13, i64 32, i64 4, !13, i64 36, i64 8, !6, i64 44, i64 8, !6, i64 52, i64 1, !6, i64 53, i64 1, !130, i64 54, i64 1, !130, i64 55, i64 1, !130, i64 56, i64 1, !130, i64 60, i64 4, !13, i64 64, i64 1, !130, i64 68, i64 4, !13, i64 72, i64 8, !9, i64 80, i64 4, !135, i64 84, i64 1, !130, i64 85, i64 1, !130, i64 88, i64 4, !13, i64 92, i64 4, !13, i64 96, i64 4, !137, i64 100, i64 4, !139, i64 104, i64 1, !130, i64 108, i64 12, !6, i64 120, i64 3, !6, i64 124, i64 12, !6, i64 136, i64 1, !130, i64 137, i64 1, !130, i64 140, i64 4, !141, i64 144, i64 1, !130, i64 148, i64 4, !13, i64 152, i64 4, !143, i64 156, i64 1, !130, i64 157, i64 1, !130, i64 158, i64 1, !130, i64 160, i64 4, !13, i64 164, i64 1, !130, i64 168, i64 2, !6, i64 176, i64 8, !9, i64 184, i64 8, !9, i64 192, i64 8, !9, i64 200, i64 4, !13, i64 204, i64 4, !13, i64 208, i64 4, !13, i64 216, i64 8, !9, i64 224, i64 8, !9}
!133 = !{!134, !134, i64 0}
!134 = !{!"_ZTSN7glslang10TBasicTypeE", !7, i64 0}
!135 = !{!136, !136, i64 0}
!136 = !{!"_ZTSN7glslang15TLayoutGeometryE", !7, i64 0}
!137 = !{!138, !138, i64 0}
!138 = !{!"_ZTSN7glslang14TVertexSpacingE", !7, i64 0}
!139 = !{!140, !140, i64 0}
!140 = !{!"_ZTSN7glslang12TVertexOrderE", !7, i64 0}
!141 = !{!142, !142, i64 0}
!142 = !{!"_ZTSN7glslang12TLayoutDepthE", !7, i64 0}
!143 = !{!144, !144, i64 0}
!144 = !{!"_ZTSN7glslang18TInterlockOrderingE", !7, i64 0}
!145 = !{!20, !23, i64 28}
!146 = !{!44, !14, i64 216}
!147 = distinct !{!147, !148}
!148 = !{!"llvm.loop.mustprogress"}
!149 = !{!150, !10, i64 0}
!150 = !{!"_ZTSN7glslang8TTypeLocE", !10, i64 0, !151, i64 8}
!151 = !{!"_ZTSN7glslang10TSourceLocE", !10, i64 0, !14, i64 8, !14, i64 12, !14, i64 16}
!152 = distinct !{!152, !148}
!153 = distinct !{!153, !148}
!154 = distinct !{!154, !148}
!155 = !{!44, !14, i64 208}
!156 = !{!104, !10, i64 1736}
!157 = !{!71, !21, i64 1}
!158 = !{!71, !21, i64 0}
!159 = !{!44, !14, i64 212}
!160 = !{!44, !10, i64 232}
!161 = !{!104, !21, i64 1176}
!162 = !{!44, !21, i64 241}
!163 = !{!20, !22, i64 12}
!164 = !{!20, !14, i64 24}
!165 = !{!44, !21, i64 240}
!166 = !{!44, !21, i64 312}
!167 = !{!44, !21, i64 313}
!168 = !{!169, !10, i64 0}
!169 = !{!"_ZTS12yypcontext_t", !10, i64 0, !170, i64 8}
!170 = !{!"_ZTS15yysymbol_kind_t", !7, i64 0}
!171 = !{!169, !170, i64 8}
!172 = distinct !{!172, !148}
!173 = distinct !{!173, !148}


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