Edit

kc3-lang/angle/src/compiler/translator/SymbolTable_autogen.cpp

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2018-10-26 16:16:53
    Hash : fefaba5b
    Message : Regenerate hashes for the builtin symbol table. BUG=chromium:890539 Change-Id: Ia5bdf652dc37a466560071b4fe2cdc7d89ff941f Reviewed-on: https://chromium-review.googlesource.com/c/1302837 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>

  • src/compiler/translator/SymbolTable_autogen.cpp
  • // GENERATED FILE - DO NOT EDIT.
    // Generated by gen_builtin_symbols.py using data from builtin_variables.json and
    // builtin_function_declarations.txt.
    //
    // Copyright 2018 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    // SymbolTable_autogen.cpp:
    //   Compile-time initialized built-ins.
    
    #include "compiler/translator/SymbolTable.h"
    
    #include "angle_gl.h"
    #include "compiler/translator/ImmutableString.h"
    #include "compiler/translator/StaticType.h"
    #include "compiler/translator/Symbol.h"
    #include "compiler/translator/SymbolTable.h"
    #include "compiler/translator/tree_util/BuiltIn_autogen.h"
    
    namespace sh
    {
    
    // Since some of the BuiltInId declarations are used outside of constexpr expressions, we need to
    // have these definitions without an initializer. C++17 should eventually remove the need for this.
    constexpr const TSymbolUniqueId BuiltInId::radians_Float1;
    constexpr const TSymbolUniqueId BuiltInId::radians_Float2;
    constexpr const TSymbolUniqueId BuiltInId::radians_Float3;
    constexpr const TSymbolUniqueId BuiltInId::radians_Float4;
    constexpr const TSymbolUniqueId BuiltInId::degrees_Float1;
    constexpr const TSymbolUniqueId BuiltInId::degrees_Float2;
    constexpr const TSymbolUniqueId BuiltInId::degrees_Float3;
    constexpr const TSymbolUniqueId BuiltInId::degrees_Float4;
    constexpr const TSymbolUniqueId BuiltInId::sin_Float1;
    constexpr const TSymbolUniqueId BuiltInId::sin_Float2;
    constexpr const TSymbolUniqueId BuiltInId::sin_Float3;
    constexpr const TSymbolUniqueId BuiltInId::sin_Float4;
    constexpr const TSymbolUniqueId BuiltInId::cos_Float1;
    constexpr const TSymbolUniqueId BuiltInId::cos_Float2;
    constexpr const TSymbolUniqueId BuiltInId::cos_Float3;
    constexpr const TSymbolUniqueId BuiltInId::cos_Float4;
    constexpr const TSymbolUniqueId BuiltInId::tan_Float1;
    constexpr const TSymbolUniqueId BuiltInId::tan_Float2;
    constexpr const TSymbolUniqueId BuiltInId::tan_Float3;
    constexpr const TSymbolUniqueId BuiltInId::tan_Float4;
    constexpr const TSymbolUniqueId BuiltInId::asin_Float1;
    constexpr const TSymbolUniqueId BuiltInId::asin_Float2;
    constexpr const TSymbolUniqueId BuiltInId::asin_Float3;
    constexpr const TSymbolUniqueId BuiltInId::asin_Float4;
    constexpr const TSymbolUniqueId BuiltInId::acos_Float1;
    constexpr const TSymbolUniqueId BuiltInId::acos_Float2;
    constexpr const TSymbolUniqueId BuiltInId::acos_Float3;
    constexpr const TSymbolUniqueId BuiltInId::acos_Float4;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float1;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float2;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float3;
    constexpr const TSymbolUniqueId BuiltInId::atan_Float4;
    constexpr const TSymbolUniqueId BuiltInId::sinh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::sinh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::sinh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::sinh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::cosh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::cosh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::cosh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::cosh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::tanh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::tanh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::tanh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::tanh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::asinh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::asinh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::asinh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::asinh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::acosh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::acosh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::acosh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::acosh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::atanh_Float1;
    constexpr const TSymbolUniqueId BuiltInId::atanh_Float2;
    constexpr const TSymbolUniqueId BuiltInId::atanh_Float3;
    constexpr const TSymbolUniqueId BuiltInId::atanh_Float4;
    constexpr const TSymbolUniqueId BuiltInId::pow_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::pow_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::pow_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::pow_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::exp_Float1;
    constexpr const TSymbolUniqueId BuiltInId::exp_Float2;
    constexpr const TSymbolUniqueId BuiltInId::exp_Float3;
    constexpr const TSymbolUniqueId BuiltInId::exp_Float4;
    constexpr const TSymbolUniqueId BuiltInId::log_Float1;
    constexpr const TSymbolUniqueId BuiltInId::log_Float2;
    constexpr const TSymbolUniqueId BuiltInId::log_Float3;
    constexpr const TSymbolUniqueId BuiltInId::log_Float4;
    constexpr const TSymbolUniqueId BuiltInId::exp2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::exp2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::exp2_Float3;
    constexpr const TSymbolUniqueId BuiltInId::exp2_Float4;
    constexpr const TSymbolUniqueId BuiltInId::log2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::log2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::log2_Float3;
    constexpr const TSymbolUniqueId BuiltInId::log2_Float4;
    constexpr const TSymbolUniqueId BuiltInId::sqrt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::sqrt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::sqrt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::sqrt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::inversesqrt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::inversesqrt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::inversesqrt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::inversesqrt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::abs_Float1;
    constexpr const TSymbolUniqueId BuiltInId::abs_Float2;
    constexpr const TSymbolUniqueId BuiltInId::abs_Float3;
    constexpr const TSymbolUniqueId BuiltInId::abs_Float4;
    constexpr const TSymbolUniqueId BuiltInId::abs_Int1;
    constexpr const TSymbolUniqueId BuiltInId::abs_Int2;
    constexpr const TSymbolUniqueId BuiltInId::abs_Int3;
    constexpr const TSymbolUniqueId BuiltInId::abs_Int4;
    constexpr const TSymbolUniqueId BuiltInId::sign_Float1;
    constexpr const TSymbolUniqueId BuiltInId::sign_Float2;
    constexpr const TSymbolUniqueId BuiltInId::sign_Float3;
    constexpr const TSymbolUniqueId BuiltInId::sign_Float4;
    constexpr const TSymbolUniqueId BuiltInId::sign_Int1;
    constexpr const TSymbolUniqueId BuiltInId::sign_Int2;
    constexpr const TSymbolUniqueId BuiltInId::sign_Int3;
    constexpr const TSymbolUniqueId BuiltInId::sign_Int4;
    constexpr const TSymbolUniqueId BuiltInId::floor_Float1;
    constexpr const TSymbolUniqueId BuiltInId::floor_Float2;
    constexpr const TSymbolUniqueId BuiltInId::floor_Float3;
    constexpr const TSymbolUniqueId BuiltInId::floor_Float4;
    constexpr const TSymbolUniqueId BuiltInId::trunc_Float1;
    constexpr const TSymbolUniqueId BuiltInId::trunc_Float2;
    constexpr const TSymbolUniqueId BuiltInId::trunc_Float3;
    constexpr const TSymbolUniqueId BuiltInId::trunc_Float4;
    constexpr const TSymbolUniqueId BuiltInId::round_Float1;
    constexpr const TSymbolUniqueId BuiltInId::round_Float2;
    constexpr const TSymbolUniqueId BuiltInId::round_Float3;
    constexpr const TSymbolUniqueId BuiltInId::round_Float4;
    constexpr const TSymbolUniqueId BuiltInId::roundEven_Float1;
    constexpr const TSymbolUniqueId BuiltInId::roundEven_Float2;
    constexpr const TSymbolUniqueId BuiltInId::roundEven_Float3;
    constexpr const TSymbolUniqueId BuiltInId::roundEven_Float4;
    constexpr const TSymbolUniqueId BuiltInId::ceil_Float1;
    constexpr const TSymbolUniqueId BuiltInId::ceil_Float2;
    constexpr const TSymbolUniqueId BuiltInId::ceil_Float3;
    constexpr const TSymbolUniqueId BuiltInId::ceil_Float4;
    constexpr const TSymbolUniqueId BuiltInId::fract_Float1;
    constexpr const TSymbolUniqueId BuiltInId::fract_Float2;
    constexpr const TSymbolUniqueId BuiltInId::fract_Float3;
    constexpr const TSymbolUniqueId BuiltInId::fract_Float4;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::mod_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::min_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::min_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::min_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::min_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::min_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::min_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::min_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::min_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::min_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::min_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::min_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::min_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::min_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::min_Int4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::min_UInt4_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::max_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::max_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::max_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::max_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::max_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::max_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::max_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::max_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::max_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::max_Int4_Int1;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt2_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt3_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::max_UInt4_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float2_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float3_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float4_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int2_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int3_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::clamp_Int4_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt2_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt3_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt4_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt2_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt3_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::clamp_UInt4_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float1_Float1_Bool1;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::step_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::step_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::step_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::step_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::step_Float1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::step_Float1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::step_Float1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::modf_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::modf_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::modf_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::modf_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::isnan_Float1;
    constexpr const TSymbolUniqueId BuiltInId::isnan_Float2;
    constexpr const TSymbolUniqueId BuiltInId::isnan_Float3;
    constexpr const TSymbolUniqueId BuiltInId::isnan_Float4;
    constexpr const TSymbolUniqueId BuiltInId::isinf_Float1;
    constexpr const TSymbolUniqueId BuiltInId::isinf_Float2;
    constexpr const TSymbolUniqueId BuiltInId::isinf_Float3;
    constexpr const TSymbolUniqueId BuiltInId::isinf_Float4;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToInt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToInt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToInt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToInt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToUint_Float1;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToUint_Float2;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToUint_Float3;
    constexpr const TSymbolUniqueId BuiltInId::floatBitsToUint_Float4;
    constexpr const TSymbolUniqueId BuiltInId::intBitsToFloat_Int1;
    constexpr const TSymbolUniqueId BuiltInId::intBitsToFloat_Int2;
    constexpr const TSymbolUniqueId BuiltInId::intBitsToFloat_Int3;
    constexpr const TSymbolUniqueId BuiltInId::intBitsToFloat_Int4;
    constexpr const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::frexp_Float1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::frexp_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::frexp_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::frexp_Float4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::ldexp_Float1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::ldexp_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::ldexp_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::ldexp_Float4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::packSnorm2x16_Float2;
    constexpr const TSymbolUniqueId BuiltInId::packUnorm2x16_Float2;
    constexpr const TSymbolUniqueId BuiltInId::packHalf2x16_Float2;
    constexpr const TSymbolUniqueId BuiltInId::unpackSnorm2x16_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::unpackUnorm2x16_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::unpackHalf2x16_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::packUnorm4x8_Float4;
    constexpr const TSymbolUniqueId BuiltInId::packSnorm4x8_Float4;
    constexpr const TSymbolUniqueId BuiltInId::unpackUnorm4x8_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::unpackSnorm4x8_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::length_Float1;
    constexpr const TSymbolUniqueId BuiltInId::length_Float2;
    constexpr const TSymbolUniqueId BuiltInId::length_Float3;
    constexpr const TSymbolUniqueId BuiltInId::length_Float4;
    constexpr const TSymbolUniqueId BuiltInId::distance_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::distance_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::distance_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::distance_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::dot_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dot_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dot_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dot_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::cross_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::normalize_Float1;
    constexpr const TSymbolUniqueId BuiltInId::normalize_Float2;
    constexpr const TSymbolUniqueId BuiltInId::normalize_Float3;
    constexpr const TSymbolUniqueId BuiltInId::normalize_Float4;
    constexpr const TSymbolUniqueId BuiltInId::faceforward_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::faceforward_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::faceforward_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::faceforward_Float4_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::reflect_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::reflect_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::reflect_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::reflect_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::refract_Float1_Float1_Float1;
    constexpr const TSymbolUniqueId BuiltInId::refract_Float2_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::refract_Float3_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::refract_Float4_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x2_Float2x2;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x3_Float3x3;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x4_Float4x4;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x3_Float2x3;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x2_Float3x2;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x4_Float2x4;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x2_Float4x2;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x4_Float3x4;
    constexpr const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x3_Float4x3;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float2;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float3;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float2;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float4;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float3;
    constexpr const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float2x2;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float3x3;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float4x4;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float3x2;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float2x3;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float4x2;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float2x4;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float4x3;
    constexpr const TSymbolUniqueId BuiltInId::transpose_Float3x4;
    constexpr const TSymbolUniqueId BuiltInId::determinant_Float2x2;
    constexpr const TSymbolUniqueId BuiltInId::determinant_Float3x3;
    constexpr const TSymbolUniqueId BuiltInId::determinant_Float4x4;
    constexpr const TSymbolUniqueId BuiltInId::inverse_Float2x2;
    constexpr const TSymbolUniqueId BuiltInId::inverse_Float3x3;
    constexpr const TSymbolUniqueId BuiltInId::inverse_Float4x4;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::lessThan_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::lessThanEqual_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThan_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::equal_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::equal_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::equal_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::equal_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::equal_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::equal_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::equal_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::equal_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::equal_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::equal_Bool2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::equal_Bool3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::equal_Bool4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Float4_Float4;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Bool2_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Bool3_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::notEqual_Bool4_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::any_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::any_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::any_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::all_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::all_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::all_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::notFunc_Bool2;
    constexpr const TSymbolUniqueId BuiltInId::notFunc_Bool3;
    constexpr const TSymbolUniqueId BuiltInId::notFunc_Bool4;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_Int4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_Int1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_Int2_Int2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_Int3_Int3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_Int4_Int4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt1_UInt1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt2_UInt2_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt3_UInt3_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt4_UInt4_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_Int2;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_Int3;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_Int4;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_Int1;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_Int2;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_Int3;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_Int4;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::bitCount_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_Int1;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_Int2;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_Int3;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_Int4;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::findLSB_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_Int1;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_Int2;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_Int3;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_Int4;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::findMSB_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::uaddCarry_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::uaddCarry_UInt2_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::uaddCarry_UInt3_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::uaddCarry_UInt4_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::usubBorrow_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::usubBorrow_UInt2_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::usubBorrow_UInt3_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::usubBorrow_UInt4_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::umulExtended_UInt1_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::umulExtended_UInt2_UInt2_UInt2_UInt2;
    constexpr const TSymbolUniqueId BuiltInId::umulExtended_UInt3_UInt3_UInt3_UInt3;
    constexpr const TSymbolUniqueId BuiltInId::umulExtended_UInt4_UInt4_UInt4_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imulExtended_Int1_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imulExtended_Int2_Int2_Int2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::imulExtended_Int3_Int3_Int3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imulExtended_Int4_Int4_Int4_Int4;
    constexpr const TSymbolUniqueId BuiltInId::texture2D_Sampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureCube_SamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2D_SamplerExternalOES1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_SamplerExternalOES1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_SamplerExternalOES1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture2DRect_Sampler2DRect1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DRectProj_Sampler2DRect1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2DRectProj_Sampler2DRect1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DRect1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2DRect1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2DRect1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture2DGradEXT_Sampler2D1_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture2D_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureCube_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdxExt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdxExt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dFdxExt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dFdxExt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::dFdyExt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdyExt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dFdyExt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dFdyExt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::fwidthExt_Float1;
    constexpr const TSymbolUniqueId BuiltInId::fwidthExt_Float2;
    constexpr const TSymbolUniqueId BuiltInId::fwidthExt_Float3;
    constexpr const TSymbolUniqueId BuiltInId::fwidthExt_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture2DLodEXT_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjLodEXT_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjLodEXT_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureCubeLodEXT_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DLod_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjLod_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture2DProjLod_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureCubeLod_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler3D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler3D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler3D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler3D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler3D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler3D1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_Sampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_Sampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_ISampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_USampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DShadow1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeShadow1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DArrayShadow1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2DShadow1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler3D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler3D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler3D1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCube1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISamplerCube1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USamplerCube1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DArray1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DShadow1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeShadow1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DArrayShadow1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_ISampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_USampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_ISampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_USampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_ISampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_USampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2D1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler3D1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler2D1_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler3D1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_SamplerCube1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DArray1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2D1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2D1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler3D1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_Sampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_ISampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSizeExt_USampler2DMS1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_Sampler2DMSArray1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMSArray1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DMSArray1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler3D1_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler3D1_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler3D1_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float4_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler3D1_Float4_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2D1_Float2_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler3D1_Float3_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2DArray1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2D1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2D1_Float4_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler3D1_Float4_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler2D1_Int2_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler3D1_Int3_Int1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3;
    constexpr const TSymbolUniqueId
        BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2D1_Float2_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler3D1_Float3_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerExternalOES1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerExternalOES1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_SamplerExternalOES1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4;
    constexpr const TSymbolUniqueId BuiltInId::rgb_2_yuv_Float3_YuvCscStandardEXT1;
    constexpr const TSymbolUniqueId BuiltInId::yuv_2_rgb_Float3_YuvCscStandardEXT1;
    constexpr const TSymbolUniqueId BuiltInId::textureSize_SamplerExternal2DY2YEXT1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler2D1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler3D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USamplerCube1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_ISampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_USampler2DArray1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_ISampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_USampler3D1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_Sampler2DShadow1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerCubeShadow1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerExternalOES1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4_Float1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_Sampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_ISampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetchExt_USampler2DMS1_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMSArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMSArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMSArray1_Int3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2D1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2D1_Float2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2D1_Float2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2D1_Float2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2DArray1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArray1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISampler2DArray1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USampler2DArray1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCube1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCube1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_ISamplerCube1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_USamplerCube1_Float3_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DShadow1_Float2;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArrayShadow1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeShadow1_Float3;
    constexpr const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1;
    constexpr const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2;
    constexpr const TSymbolUniqueId
        BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::dFdx_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdx_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dFdx_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dFdx_Float4;
    constexpr const TSymbolUniqueId BuiltInId::dFdy_Float1;
    constexpr const TSymbolUniqueId BuiltInId::dFdy_Float2;
    constexpr const TSymbolUniqueId BuiltInId::dFdy_Float3;
    constexpr const TSymbolUniqueId BuiltInId::dFdy_Float4;
    constexpr const TSymbolUniqueId BuiltInId::fwidth_Float1;
    constexpr const TSymbolUniqueId BuiltInId::fwidth_Float2;
    constexpr const TSymbolUniqueId BuiltInId::fwidth_Float3;
    constexpr const TSymbolUniqueId BuiltInId::fwidth_Float4;
    constexpr const TSymbolUniqueId BuiltInId::atomicCounter_AtomicCounter1;
    constexpr const TSymbolUniqueId BuiltInId::atomicCounterIncrement_AtomicCounter1;
    constexpr const TSymbolUniqueId BuiltInId::atomicCounterDecrement_AtomicCounter1;
    constexpr const TSymbolUniqueId BuiltInId::atomicAdd_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicAdd_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicMin_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicMin_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicMax_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicMax_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicAnd_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicAnd_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicOr_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicOr_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicXor_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicXor_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicExchange_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicExchange_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::atomicCompSwap_UInt1_UInt1_UInt1;
    constexpr const TSymbolUniqueId BuiltInId::atomicCompSwap_Int1_Int1_Int1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_Image2D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImage2D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage2D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_Image3D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImage3D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage3D1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_Image2DArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImage2DArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImage2DArray1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_ImageCube1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_IImageCube1;
    constexpr const TSymbolUniqueId BuiltInId::imageSize_UImageCube1;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_Image2D1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImage2D1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage2D1_Int2;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_Image3D1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImage3D1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage3D1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_Image2DArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImage2DArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImage2DArray1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_ImageCube1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_IImageCube1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageLoad_UImageCube1_Int3;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_Image2D1_Int2_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImage2D1_Int2_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage2D1_Int2_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_Image3D1_Int3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImage3D1_Int3_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage3D1_Int3_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_Image2DArray1_Int3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImage2DArray1_Int3_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImage2DArray1_Int3_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_ImageCube1_Int3_Float4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_IImageCube1_Int3_Int4;
    constexpr const TSymbolUniqueId BuiltInId::imageStore_UImageCube1_Int3_UInt4;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrier;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrierAtomicCounter;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrierBuffer;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrierImage;
    constexpr const TSymbolUniqueId BuiltInId::barrier;
    constexpr const TSymbolUniqueId BuiltInId::memoryBarrierShared;
    constexpr const TSymbolUniqueId BuiltInId::groupMemoryBarrier;
    constexpr const TSymbolUniqueId BuiltInId::EmitVertex;
    constexpr const TSymbolUniqueId BuiltInId::EndPrimitive;
    constexpr const TSymbolUniqueId BuiltInId::gl_DepthRangeParameters;
    constexpr const TSymbolUniqueId BuiltInId::gl_DepthRange;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexAttribs;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexUniformVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentUniformVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVaryingVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxDrawBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxDualSourceDrawBuffersEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexOutputVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentInputVectors;
    constexpr const TSymbolUniqueId BuiltInId::gl_MinProgramTexelOffset;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxProgramTexelOffset;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedShaderOutputResources;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeWorkGroupCount;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeWorkGroupSize;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeUniformComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxComputeAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxAtomicCounterBindings;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxVertexAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxFragmentAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxCombinedAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxAtomicCounterBufferSize;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryInputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryOutputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryImageUniforms;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryTextureImageUnits;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryOutputVertices;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryTotalOutputComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryUniformComponents;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryAtomicCounters;
    constexpr const TSymbolUniqueId BuiltInId::gl_MaxGeometryAtomicCounterBuffers;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragCoord;
    constexpr const TSymbolUniqueId BuiltInId::gl_FrontFacing;
    constexpr const TSymbolUniqueId BuiltInId::gl_PointCoord;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragColor;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragData;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragDepth;
    constexpr const TSymbolUniqueId BuiltInId::gl_SecondaryFragColorEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_SecondaryFragDataEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_FragDepthEXT;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragData;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragColor;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragDataNV;
    constexpr const TSymbolUniqueId BuiltInId::gl_LastFragColorARM;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveID;
    constexpr const TSymbolUniqueId BuiltInId::gl_Layer;
    constexpr const TSymbolUniqueId BuiltInId::gl_Position;
    constexpr const TSymbolUniqueId BuiltInId::gl_PointSize;
    constexpr const TSymbolUniqueId BuiltInId::gl_InstanceID;
    constexpr const TSymbolUniqueId BuiltInId::gl_VertexID;
    constexpr const TSymbolUniqueId BuiltInId::gl_ViewportIndex;
    constexpr const TSymbolUniqueId BuiltInId::gl_LayerVS;
    constexpr const TSymbolUniqueId BuiltInId::gl_DrawID;
    constexpr const TSymbolUniqueId BuiltInId::gl_NumWorkGroups;
    constexpr const TSymbolUniqueId BuiltInId::gl_WorkGroupSize;
    constexpr const TSymbolUniqueId BuiltInId::gl_WorkGroupID;
    constexpr const TSymbolUniqueId BuiltInId::gl_LocalInvocationID;
    constexpr const TSymbolUniqueId BuiltInId::gl_GlobalInvocationID;
    constexpr const TSymbolUniqueId BuiltInId::gl_LocalInvocationIndex;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDIn;
    constexpr const TSymbolUniqueId BuiltInId::gl_InvocationID;
    constexpr const TSymbolUniqueId BuiltInId::gl_PrimitiveIDGS;
    constexpr const TSymbolUniqueId BuiltInId::gl_LayerGS;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertex;
    constexpr const TSymbolUniqueId BuiltInId::gl_in;
    constexpr const TSymbolUniqueId BuiltInId::gl_PerVertexOutBlock;
    constexpr const TSymbolUniqueId BuiltInId::gl_PositionGS;
    constexpr const TSymbolUniqueId BuiltInId::gl_ViewID_OVR;
    constexpr const TSymbolUniqueId BuiltInId::gl_ViewID_OVRESSL1;
    
    const int TSymbolTable::kLastBuiltInId = 1024;
    
    namespace BuiltInName
    {
    
    constexpr const ImmutableString _empty("");
    constexpr const ImmutableString EmitVertex("EmitVertex");
    constexpr const ImmutableString EndPrimitive("EndPrimitive");
    constexpr const ImmutableString abs("abs");
    constexpr const ImmutableString acos("acos");
    constexpr const ImmutableString acosh("acosh");
    constexpr const ImmutableString all("all");
    constexpr const ImmutableString any("any");
    constexpr const ImmutableString asin("asin");
    constexpr const ImmutableString asinh("asinh");
    constexpr const ImmutableString atan("atan");
    constexpr const ImmutableString atanh("atanh");
    constexpr const ImmutableString atomicAdd("atomicAdd");
    constexpr const ImmutableString atomicAnd("atomicAnd");
    constexpr const ImmutableString atomicCompSwap("atomicCompSwap");
    constexpr const ImmutableString atomicCompSwap_0D0D0D("atomicCompSwap(0D0D0D");
    constexpr const ImmutableString atomicCounter("atomicCounter");
    constexpr const ImmutableString atomicCounterDecrement("atomicCounterDecrement");
    constexpr const ImmutableString atomicCounterIncrement("atomicCounterIncrement");
    constexpr const ImmutableString atomicExchange("atomicExchange");
    constexpr const ImmutableString atomicMax("atomicMax");
    constexpr const ImmutableString atomicMin("atomicMin");
    constexpr const ImmutableString atomicOr("atomicOr");
    constexpr const ImmutableString atomicXor("atomicXor");
    constexpr const ImmutableString barrier("barrier");
    constexpr const ImmutableString bitCount("bitCount");
    constexpr const ImmutableString bitfieldExtract("bitfieldExtract");
    constexpr const ImmutableString bitfieldExtract_0D0C0C("bitfieldExtract(0D0C0C");
    constexpr const ImmutableString bitfieldExtract_1C0C0C("bitfieldExtract(1C0C0C");
    constexpr const ImmutableString bitfieldExtract_3C0C0C("bitfieldExtract(3C0C0C");
    constexpr const ImmutableString bitfieldInsert("bitfieldInsert");
    constexpr const ImmutableString bitfieldInsert_0C0C0C0C("bitfieldInsert(0C0C0C0C");
    constexpr const ImmutableString bitfieldInsert_0D0D0C0C("bitfieldInsert(0D0D0C0C");
    constexpr const ImmutableString bitfieldInsert_1C1C0C0C("bitfieldInsert(1C1C0C0C");
    constexpr const ImmutableString bitfieldInsert_1D1D0C0C("bitfieldInsert(1D1D0C0C");
    constexpr const ImmutableString bitfieldInsert_2C2C0C0C("bitfieldInsert(2C2C0C0C");
    constexpr const ImmutableString bitfieldInsert_2D2D0C0C("bitfieldInsert(2D2D0C0C");
    constexpr const ImmutableString bitfieldInsert_3C3C0C0C("bitfieldInsert(3C3C0C0C");
    constexpr const ImmutableString bitfieldInsert_3D3D0C0C("bitfieldInsert(3D3D0C0C");
    constexpr const ImmutableString bitfieldReverse("bitfieldReverse");
    constexpr const ImmutableString ceil("ceil");
    constexpr const ImmutableString clamp("clamp");
    constexpr const ImmutableString clamp_0D0D0D("clamp(0D0D0D");
    constexpr const ImmutableString clamp_1B0B0B("clamp(1B0B0B");
    constexpr const ImmutableString clamp_1B1B1B("clamp(1B1B1B");
    constexpr const ImmutableString clamp_1C0C0C("clamp(1C0C0C");
    constexpr const ImmutableString clamp_1C1C1C("clamp(1C1C1C");
    constexpr const ImmutableString clamp_1D1D1D("clamp(1D1D1D");
    constexpr const ImmutableString clamp_2C2C2C("clamp(2C2C2C");
    constexpr const ImmutableString clamp_3B0B0B("clamp(3B0B0B");
    constexpr const ImmutableString clamp_3C0C0C("clamp(3C0C0C");
    constexpr const ImmutableString clamp_3D0D0D("clamp(3D0D0D");
    constexpr const ImmutableString cos("cos");
    constexpr const ImmutableString cosh("cosh");
    constexpr const ImmutableString cross("cross");
    constexpr const ImmutableString dFdx("dFdx");
    constexpr const ImmutableString dFdxExt("dFdx");
    constexpr const ImmutableString dFdy("dFdy");
    constexpr const ImmutableString dFdyExt("dFdy");
    constexpr const ImmutableString degrees("degrees");
    constexpr const ImmutableString determinant("determinant");
    constexpr const ImmutableString diff("diff");
    constexpr const ImmutableString distance("distance");
    constexpr const ImmutableString dot("dot");
    constexpr const ImmutableString equal("equal");
    constexpr const ImmutableString exp("exp");
    constexpr const ImmutableString exp2("exp2");
    constexpr const ImmutableString faceforward("faceforward");
    constexpr const ImmutableString faceforward_1B1B1B("faceforward(1B1B1B");
    constexpr const ImmutableString faceforward_2B2B2B("faceforward(2B2B2B");
    constexpr const ImmutableString faceforward_3B3B3B("faceforward(3B3B3B");
    constexpr const ImmutableString far("far");
    constexpr const ImmutableString findLSB("findLSB");
    constexpr const ImmutableString findMSB("findMSB");
    constexpr const ImmutableString floatBitsToInt("floatBitsToInt");
    constexpr const ImmutableString floatBitsToUint("floatBitsToUint");
    constexpr const ImmutableString floor("floor");
    constexpr const ImmutableString fract("fract");
    constexpr const ImmutableString frexp("frexp");
    constexpr const ImmutableString frexp_3B3C("frexp(3B3C");
    constexpr const ImmutableString fwidth("fwidth");
    constexpr const ImmutableString fwidthExt("fwidth");
    constexpr const ImmutableString gl_DepthRange("gl_DepthRange");
    constexpr const ImmutableString gl_DepthRangeParameters("gl_DepthRangeParameters");
    constexpr const ImmutableString gl_DrawID("gl_DrawID");
    constexpr const ImmutableString gl_FragColor("gl_FragColor");
    constexpr const ImmutableString gl_FragCoord("gl_FragCoord");
    constexpr const ImmutableString gl_FragData("gl_FragData");
    constexpr const ImmutableString gl_FragDepth("gl_FragDepth");
    constexpr const ImmutableString gl_FragDepthEXT("gl_FragDepthEXT");
    constexpr const ImmutableString gl_FrontFacing("gl_FrontFacing");
    constexpr const ImmutableString gl_GlobalInvocationID("gl_GlobalInvocationID");
    constexpr const ImmutableString gl_InstanceID("gl_InstanceID");
    constexpr const ImmutableString gl_InvocationID("gl_InvocationID");
    constexpr const ImmutableString gl_LastFragColor("gl_LastFragColor");
    constexpr const ImmutableString gl_LastFragColorARM("gl_LastFragColorARM");
    constexpr const ImmutableString gl_LastFragData("gl_LastFragData");
    constexpr const ImmutableString gl_Layer("gl_Layer");
    constexpr const ImmutableString gl_LocalInvocationID("gl_LocalInvocationID");
    constexpr const ImmutableString gl_LocalInvocationIndex("gl_LocalInvocationIndex");
    constexpr const ImmutableString gl_MaxAtomicCounterBindings("gl_MaxAtomicCounterBindings");
    constexpr const ImmutableString gl_MaxAtomicCounterBufferSize("gl_MaxAtomicCounterBufferSize");
    constexpr const ImmutableString gl_MaxCombinedAtomicCounterBuffers(
        "gl_MaxCombinedAtomicCounterBuffers");
    constexpr const ImmutableString gl_MaxCombinedAtomicCounters("gl_MaxCombinedAtomicCounters");
    constexpr const ImmutableString gl_MaxCombinedImageUniforms("gl_MaxCombinedImageUniforms");
    constexpr const ImmutableString gl_MaxCombinedShaderOutputResources(
        "gl_MaxCombinedShaderOutputResources");
    constexpr const ImmutableString gl_MaxCombinedTextureImageUnits("gl_MaxCombinedTextureImageUnits");
    constexpr const ImmutableString gl_MaxComputeAtomicCounterBuffers(
        "gl_MaxComputeAtomicCounterBuffers");
    constexpr const ImmutableString gl_MaxComputeAtomicCounters("gl_MaxComputeAtomicCounters");
    constexpr const ImmutableString gl_MaxComputeImageUniforms("gl_MaxComputeImageUniforms");
    constexpr const ImmutableString gl_MaxComputeTextureImageUnits("gl_MaxComputeTextureImageUnits");
    constexpr const ImmutableString gl_MaxComputeUniformComponents("gl_MaxComputeUniformComponents");
    constexpr const ImmutableString gl_MaxComputeWorkGroupCount("gl_MaxComputeWorkGroupCount");
    constexpr const ImmutableString gl_MaxComputeWorkGroupSize("gl_MaxComputeWorkGroupSize");
    constexpr const ImmutableString gl_MaxDrawBuffers("gl_MaxDrawBuffers");
    constexpr const ImmutableString gl_MaxDualSourceDrawBuffersEXT("gl_MaxDualSourceDrawBuffersEXT");
    constexpr const ImmutableString gl_MaxFragmentAtomicCounterBuffers(
        "gl_MaxFragmentAtomicCounterBuffers");
    constexpr const ImmutableString gl_MaxFragmentAtomicCounters("gl_MaxFragmentAtomicCounters");
    constexpr const ImmutableString gl_MaxFragmentImageUniforms("gl_MaxFragmentImageUniforms");
    constexpr const ImmutableString gl_MaxFragmentInputVectors("gl_MaxFragmentInputVectors");
    constexpr const ImmutableString gl_MaxFragmentUniformVectors("gl_MaxFragmentUniformVectors");
    constexpr const ImmutableString gl_MaxGeometryAtomicCounterBuffers(
        "gl_MaxGeometryAtomicCounterBuffers");
    constexpr const ImmutableString gl_MaxGeometryAtomicCounters("gl_MaxGeometryAtomicCounters");
    constexpr const ImmutableString gl_MaxGeometryImageUniforms("gl_MaxGeometryImageUniforms");
    constexpr const ImmutableString gl_MaxGeometryInputComponents("gl_MaxGeometryInputComponents");
    constexpr const ImmutableString gl_MaxGeometryOutputComponents("gl_MaxGeometryOutputComponents");
    constexpr const ImmutableString gl_MaxGeometryOutputVertices("gl_MaxGeometryOutputVertices");
    constexpr const ImmutableString gl_MaxGeometryTextureImageUnits("gl_MaxGeometryTextureImageUnits");
    constexpr const ImmutableString gl_MaxGeometryTotalOutputComponents(
        "gl_MaxGeometryTotalOutputComponents");
    constexpr const ImmutableString gl_MaxGeometryUniformComponents("gl_MaxGeometryUniformComponents");
    constexpr const ImmutableString gl_MaxImageUnits("gl_MaxImageUnits");
    constexpr const ImmutableString gl_MaxProgramTexelOffset("gl_MaxProgramTexelOffset");
    constexpr const ImmutableString gl_MaxTextureImageUnits("gl_MaxTextureImageUnits");
    constexpr const ImmutableString gl_MaxVaryingVectors("gl_MaxVaryingVectors");
    constexpr const ImmutableString gl_MaxVertexAtomicCounterBuffers(
        "gl_MaxVertexAtomicCounterBuffers");
    constexpr const ImmutableString gl_MaxVertexAtomicCounters("gl_MaxVertexAtomicCounters");
    constexpr const ImmutableString gl_MaxVertexAttribs("gl_MaxVertexAttribs");
    constexpr const ImmutableString gl_MaxVertexImageUniforms("gl_MaxVertexImageUniforms");
    constexpr const ImmutableString gl_MaxVertexOutputVectors("gl_MaxVertexOutputVectors");
    constexpr const ImmutableString gl_MaxVertexTextureImageUnits("gl_MaxVertexTextureImageUnits");
    constexpr const ImmutableString gl_MaxVertexUniformVectors("gl_MaxVertexUniformVectors");
    constexpr const ImmutableString gl_MinProgramTexelOffset("gl_MinProgramTexelOffset");
    constexpr const ImmutableString gl_NumWorkGroups("gl_NumWorkGroups");
    constexpr const ImmutableString gl_PerVertex("gl_PerVertex");
    constexpr const ImmutableString gl_PointCoord("gl_PointCoord");
    constexpr const ImmutableString gl_PointSize("gl_PointSize");
    constexpr const ImmutableString gl_Position("gl_Position");
    constexpr const ImmutableString gl_PrimitiveID("gl_PrimitiveID");
    constexpr const ImmutableString gl_PrimitiveIDIn("gl_PrimitiveIDIn");
    constexpr const ImmutableString gl_SecondaryFragColorEXT("gl_SecondaryFragColorEXT");
    constexpr const ImmutableString gl_SecondaryFragDataEXT("gl_SecondaryFragDataEXT");
    constexpr const ImmutableString gl_VertexID("gl_VertexID");
    constexpr const ImmutableString gl_ViewID_OVR("gl_ViewID_OVR");
    constexpr const ImmutableString gl_ViewportIndex("gl_ViewportIndex");
    constexpr const ImmutableString gl_WorkGroupID("gl_WorkGroupID");
    constexpr const ImmutableString gl_WorkGroupSize("gl_WorkGroupSize");
    constexpr const ImmutableString gl_in("gl_in");
    constexpr const ImmutableString greaterThan("greaterThan");
    constexpr const ImmutableString greaterThanEqual("greaterThanEqual");
    constexpr const ImmutableString groupMemoryBarrier("groupMemoryBarrier");
    constexpr const ImmutableString imageLoad("imageLoad");
    constexpr const ImmutableString imageSize("imageSize");
    constexpr const ImmutableString imageStore("imageStore");
    constexpr const ImmutableString imageStore_0h1C3D("imageStore(0h1C3D");
    constexpr const ImmutableString imageStore_0j2C3C("imageStore(0j2C3C");
    constexpr const ImmutableString imageStore_0l2C3B("imageStore(0l2C3B");
    constexpr const ImmutableString imageStore_0n2C3D("imageStore(0n2C3D");
    constexpr const ImmutableString imageStore_0p2C3C("imageStore(0p2C3C");
    constexpr const ImmutableString imulExtended("imulExtended");
    constexpr const ImmutableString imulExtended_0C0C0C0C("imulExtended(0C0C0C0C");
    constexpr const ImmutableString imulExtended_1C1C1C1C("imulExtended(1C1C1C1C");
    constexpr const ImmutableString imulExtended_2C2C2C2C("imulExtended(2C2C2C2C");
    constexpr const ImmutableString imulExtended_3C3C3C3C("imulExtended(3C3C3C3C");
    constexpr const ImmutableString intBitsToFloat("intBitsToFloat");
    constexpr const ImmutableString inverse("inverse");
    constexpr const ImmutableString inversesqrt("inversesqrt");
    constexpr const ImmutableString isinf("isinf");
    constexpr const ImmutableString isnan("isnan");
    constexpr const ImmutableString ldexp("ldexp");
    constexpr const ImmutableString length("length");
    constexpr const ImmutableString lessThan("lessThan");
    constexpr const ImmutableString lessThanEqual("lessThanEqual");
    constexpr const ImmutableString log("log");
    constexpr const ImmutableString log2("log2");
    constexpr const ImmutableString matrixCompMult("matrixCompMult");
    constexpr const ImmutableString max("max");
    constexpr const ImmutableString memoryBarrier("memoryBarrier");
    constexpr const ImmutableString memoryBarrierAtomicCounter("memoryBarrierAtomicCounter");
    constexpr const ImmutableString memoryBarrierBuffer("memoryBarrierBuffer");
    constexpr const ImmutableString memoryBarrierImage("memoryBarrierImage");
    constexpr const ImmutableString memoryBarrierShared("memoryBarrierShared");
    constexpr const ImmutableString min("min");
    constexpr const ImmutableString mix("mix");
    constexpr const ImmutableString mix_0B0B0E("mix(0B0B0E");
    constexpr const ImmutableString mix_1B1B1B("mix(1B1B1B");
    constexpr const ImmutableString mix_1B1B1E("mix(1B1B1E");
    constexpr const ImmutableString mix_3B3B0B("mix(3B3B0B");
    constexpr const ImmutableString mix_3B3B3B("mix(3B3B3B");
    constexpr const ImmutableString mod("mod");
    constexpr const ImmutableString modf("modf");
    constexpr const ImmutableString near("near");
    constexpr const ImmutableString normalize("normalize");
    constexpr const ImmutableString notEqual("notEqual");
    constexpr const ImmutableString notFunc("not");
    constexpr const ImmutableString outerProduct("outerProduct");
    constexpr const ImmutableString packHalf2x16("packHalf2x16");
    constexpr const ImmutableString packSnorm2x16("packSnorm2x16");
    constexpr const ImmutableString packSnorm4x8("packSnorm4x8");
    constexpr const ImmutableString packUnorm2x16("packUnorm2x16");
    constexpr const ImmutableString packUnorm4x8("packUnorm4x8");
    constexpr const ImmutableString pow("pow");
    constexpr const ImmutableString radians("radians");
    constexpr const ImmutableString reflect("reflect");
    constexpr const ImmutableString refract("refract");
    constexpr const ImmutableString refract_3B3B0B("refract(3B3B0B");
    constexpr const ImmutableString rgb_2_yuv("rgb_2_yuv");
    constexpr const ImmutableString round("round");
    constexpr const ImmutableString roundEven("roundEven");
    constexpr const ImmutableString sign("sign");
    constexpr const ImmutableString sin("sin");
    constexpr const ImmutableString sinh("sinh");
    constexpr const ImmutableString smoothstep("smoothstep");
    constexpr const ImmutableString smoothstep_0B0B3B("smoothstep(0B0B3B");
    constexpr const ImmutableString smoothstep_1B1B1B("smoothstep(1B1B1B");
    constexpr const ImmutableString smoothstep_3B3B3B("smoothstep(3B3B3B");
    constexpr const ImmutableString sqrt("sqrt");
    constexpr const ImmutableString step("step");
    constexpr const ImmutableString tan("tan");
    constexpr const ImmutableString tanh("tanh");
    constexpr const ImmutableString texelFetch("texelFetch");
    constexpr const ImmutableString texelFetchExt("texelFetch");
    constexpr const ImmutableString texelFetchExt_0O1C0C("texelFetch(0O1C0C");
    constexpr const ImmutableString texelFetchOffset("texelFetchOffset");
    constexpr const ImmutableString texelFetchOffset_0H1C0C1C("texelFetchOffset(0H1C0C1C");
    constexpr const ImmutableString texelFetchOffset_0I2C0C2C("texelFetchOffset(0I2C0C2C");
    constexpr const ImmutableString texelFetchOffset_0K2C0C1C("texelFetchOffset(0K2C0C1C");
    constexpr const ImmutableString texelFetchOffset_0Q1C0C1C("texelFetchOffset(0Q1C0C1C");
    constexpr const ImmutableString texelFetchOffset_0R2C0C2C("texelFetchOffset(0R2C0C2C");
    constexpr const ImmutableString texelFetchOffset_0T2C0C1C("texelFetchOffset(0T2C0C1C");
    constexpr const ImmutableString texelFetchOffset_0W1C0C1C("texelFetchOffset(0W1C0C1C");
    constexpr const ImmutableString texelFetchOffset_0X2C0C2C("texelFetchOffset(0X2C0C2C");
    constexpr const ImmutableString texelFetchOffset_0Z2C0C1C("texelFetchOffset(0Z2C0C1C");
    constexpr const ImmutableString texelFetch_0H1C0C("texelFetch(0H1C0C");
    constexpr const ImmutableString texelFetch_0I2C0C("texelFetch(0I2C0C");
    constexpr const ImmutableString texelFetch_0K2C0C("texelFetch(0K2C0C");
    constexpr const ImmutableString texelFetch_0L1C0C("texelFetch(0L1C0C");
    constexpr const ImmutableString texelFetch_0O1C0C("texelFetch(0O1C0C");
    constexpr const ImmutableString texelFetch_0P2C0C("texelFetch(0P2C0C");
    constexpr const ImmutableString texelFetch_0Q1C0C("texelFetch(0Q1C0C");
    constexpr const ImmutableString texelFetch_0T2C0C("texelFetch(0T2C0C");
    constexpr const ImmutableString texelFetch_0V2C0C("texelFetch(0V2C0C");
    constexpr const ImmutableString texelFetch_0X2C0C("texelFetch(0X2C0C");
    constexpr const ImmutableString texelFetch_0Z2C0C("texelFetch(0Z2C0C");
    constexpr const ImmutableString texture("texture");
    constexpr const ImmutableString texture2D("texture2D");
    constexpr const ImmutableString texture2DGradEXT("texture2DGradEXT");
    constexpr const ImmutableString texture2DGradEXT_0H1B1B1B("texture2DGradEXT(0H1B1B1B");
    constexpr const ImmutableString texture2DLod("texture2DLod");
    constexpr const ImmutableString texture2DLodEXT("texture2DLodEXT");
    constexpr const ImmutableString texture2DLodEXT_0H1B0B("texture2DLodEXT(0H1B0B");
    constexpr const ImmutableString texture2DLod_0H1B0B("texture2DLod(0H1B0B");
    constexpr const ImmutableString texture2DProj("texture2DProj");
    constexpr const ImmutableString texture2DProjGradEXT("texture2DProjGradEXT");
    constexpr const ImmutableString texture2DProjGradEXT_0H2B1B1B("texture2DProjGradEXT(0H2B1B1B");
    constexpr const ImmutableString texture2DProjGradEXT_0H3B1B1B("texture2DProjGradEXT(0H3B1B1B");
    constexpr const ImmutableString texture2DProjLod("texture2DProjLod");
    constexpr const ImmutableString texture2DProjLodEXT("texture2DProjLodEXT");
    constexpr const ImmutableString texture2DProjLodEXT_0H2B0B("texture2DProjLodEXT(0H2B0B");
    constexpr const ImmutableString texture2DProjLod_0H2B0B("texture2DProjLod(0H2B0B");
    constexpr const ImmutableString texture2DProj_0H2B0B("texture2DProj(0H2B0B");
    constexpr const ImmutableString texture2DRect("texture2DRect");
    constexpr const ImmutableString texture2DRectProj("texture2DRectProj");
    constexpr const ImmutableString textureCube("textureCube");
    constexpr const ImmutableString textureCubeGradEXT("textureCubeGradEXT");
    constexpr const ImmutableString textureCubeGradEXT_0J2B2B2B("textureCubeGradEXT(0J2B2B2B");
    constexpr const ImmutableString textureCubeLod("textureCubeLod");
    constexpr const ImmutableString textureCubeLodEXT("textureCubeLodEXT");
    constexpr const ImmutableString textureGather("textureGather");
    constexpr const ImmutableString textureGatherOffset("textureGatherOffset");
    constexpr const ImmutableString textureGatherOffset_0H1B1C0C("textureGatherOffset(0H1B1C0C");
    constexpr const ImmutableString textureGatherOffset_0K2B1C0C("textureGatherOffset(0K2B1C0C");
    constexpr const ImmutableString textureGatherOffset_0Q1B1C0C("textureGatherOffset(0Q1B1C0C");
    constexpr const ImmutableString textureGatherOffset_0T2B1C("textureGatherOffset(0T2B1C");
    constexpr const ImmutableString textureGatherOffset_0T2B1C0C("textureGatherOffset(0T2B1C0C");
    constexpr const ImmutableString textureGatherOffset_0W1B1C("textureGatherOffset(0W1B1C");
    constexpr const ImmutableString textureGatherOffset_0W1B1C0C("textureGatherOffset(0W1B1C0C");
    constexpr const ImmutableString textureGatherOffset_0Z2B1C0C("textureGatherOffset(0Z2B1C0C");
    constexpr const ImmutableString textureGatherOffset_0c1B0B1C("textureGatherOffset(0c1B0B1C");
    constexpr const ImmutableString textureGatherOffset_0e2B0B1C("textureGatherOffset(0e2B0B1C");
    constexpr const ImmutableString textureGather_0J2B0C("textureGather(0J2B0C");
    constexpr const ImmutableString textureGather_0S2B0C("textureGather(0S2B0C");
    constexpr const ImmutableString textureGather_0T2B0C("textureGather(0T2B0C");
    constexpr const ImmutableString textureGather_0Z2B0C("textureGather(0Z2B0C");
    constexpr const ImmutableString textureGrad("textureGrad");
    constexpr const ImmutableString textureGradOffset("textureGradOffset");
    constexpr const ImmutableString textureGradOffset_0H1B1B1B1C("textureGradOffset(0H1B1B1B1C");
    constexpr const ImmutableString textureGradOffset_0I2B2B2B2C("textureGradOffset(0I2B2B2B2C");
    constexpr const ImmutableString textureGradOffset_0K2B1B1B1C("textureGradOffset(0K2B1B1B1C");
    constexpr const ImmutableString textureGradOffset_0Q1B1B1B1C("textureGradOffset(0Q1B1B1B1C");
    constexpr const ImmutableString textureGradOffset_0R2B2B2B2C("textureGradOffset(0R2B2B2B2C");
    constexpr const ImmutableString textureGradOffset_0T2B1B1B1C("textureGradOffset(0T2B1B1B1C");
    constexpr const ImmutableString textureGradOffset_0W1B1B1B1C("textureGradOffset(0W1B1B1B1C");
    constexpr const ImmutableString textureGradOffset_0X2B2B2B2C("textureGradOffset(0X2B2B2B2C");
    constexpr const ImmutableString textureGradOffset_0Z2B1B1B1C("textureGradOffset(0Z2B1B1B1C");
    constexpr const ImmutableString textureGradOffset_0c2B1B1B1C("textureGradOffset(0c2B1B1B1C");
    constexpr const ImmutableString textureGradOffset_0e3B1B1B1C("textureGradOffset(0e3B1B1B1C");
    constexpr const ImmutableString textureGrad_0H1B1B1B("textureGrad(0H1B1B1B");
    constexpr const ImmutableString textureGrad_0I2B2B2B("textureGrad(0I2B2B2B");
    constexpr const ImmutableString textureGrad_0J2B2B2B("textureGrad(0J2B2B2B");
    constexpr const ImmutableString textureGrad_0K2B1B1B("textureGrad(0K2B1B1B");
    constexpr const ImmutableString textureGrad_0Q1B1B1B("textureGrad(0Q1B1B1B");
    constexpr const ImmutableString textureGrad_0R2B2B2B("textureGrad(0R2B2B2B");
    constexpr const ImmutableString textureGrad_0S2B2B2B("textureGrad(0S2B2B2B");
    constexpr const ImmutableString textureGrad_0T2B1B1B("textureGrad(0T2B1B1B");
    constexpr const ImmutableString textureGrad_0W1B1B1B("textureGrad(0W1B1B1B");
    constexpr const ImmutableString textureGrad_0X2B2B2B("textureGrad(0X2B2B2B");
    constexpr const ImmutableString textureGrad_0Y2B2B2B("textureGrad(0Y2B2B2B");
    constexpr const ImmutableString textureGrad_0Z2B1B1B("textureGrad(0Z2B1B1B");
    constexpr const ImmutableString textureGrad_0c2B1B1B("textureGrad(0c2B1B1B");
    constexpr const ImmutableString textureGrad_0d3B2B2B("textureGrad(0d3B2B2B");
    constexpr const ImmutableString textureGrad_0e3B1B1B("textureGrad(0e3B1B1B");
    constexpr const ImmutableString textureLod("textureLod");
    constexpr const ImmutableString textureLodOffset("textureLodOffset");
    constexpr const ImmutableString textureLodOffset_0H1B0B1C("textureLodOffset(0H1B0B1C");
    constexpr const ImmutableString textureLodOffset_0I2B0B2C("textureLodOffset(0I2B0B2C");
    constexpr const ImmutableString textureLodOffset_0K2B0B1C("textureLodOffset(0K2B0B1C");
    constexpr const ImmutableString textureLodOffset_0Q1B0B1C("textureLodOffset(0Q1B0B1C");
    constexpr const ImmutableString textureLodOffset_0R2B0B2C("textureLodOffset(0R2B0B2C");
    constexpr const ImmutableString textureLodOffset_0T2B0B1C("textureLodOffset(0T2B0B1C");
    constexpr const ImmutableString textureLodOffset_0W1B0B1C("textureLodOffset(0W1B0B1C");
    constexpr const ImmutableString textureLodOffset_0X2B0B2C("textureLodOffset(0X2B0B2C");
    constexpr const ImmutableString textureLodOffset_0Z2B0B1C("textureLodOffset(0Z2B0B1C");
    constexpr const ImmutableString textureLodOffset_0c2B0B1C("textureLodOffset(0c2B0B1C");
    constexpr const ImmutableString textureLod_0J2B0B("textureLod(0J2B0B");
    constexpr const ImmutableString textureLod_0Q1B0B("textureLod(0Q1B0B");
    constexpr const ImmutableString textureLod_0S2B0B("textureLod(0S2B0B");
    constexpr const ImmutableString textureLod_0W1B0B("textureLod(0W1B0B");
    constexpr const ImmutableString textureLod_0Y2B0B("textureLod(0Y2B0B");
    constexpr const ImmutableString textureLod_0Z2B0B("textureLod(0Z2B0B");
    constexpr const ImmutableString textureOffset("textureOffset");
    constexpr const ImmutableString textureOffset_0H1B1C0B("textureOffset(0H1B1C0B");
    constexpr const ImmutableString textureOffset_0I2B2C0B("textureOffset(0I2B2C0B");
    constexpr const ImmutableString textureOffset_0K2B1C0B("textureOffset(0K2B1C0B");
    constexpr const ImmutableString textureOffset_0Q1B1C0B("textureOffset(0Q1B1C0B");
    constexpr const ImmutableString textureOffset_0R2B2C0B("textureOffset(0R2B2C0B");
    constexpr const ImmutableString textureOffset_0T2B1C0B("textureOffset(0T2B1C0B");
    constexpr const ImmutableString textureOffset_0W1B1C0B("textureOffset(0W1B1C0B");
    constexpr const ImmutableString textureOffset_0X2B2C("textureOffset(0X2B2C");
    constexpr const ImmutableString textureOffset_0X2B2C0B("textureOffset(0X2B2C0B");
    constexpr const ImmutableString textureOffset_0Z2B1C0B("textureOffset(0Z2B1C0B");
    constexpr const ImmutableString textureOffset_0c2B1C0B("textureOffset(0c2B1C0B");
    constexpr const ImmutableString textureProj("textureProj");
    constexpr const ImmutableString textureProjGrad("textureProjGrad");
    constexpr const ImmutableString textureProjGradOffset("textureProjGradOffset");
    constexpr const ImmutableString textureProjGradOffset_0H2B1B1B1C(
        "textureProjGradOffset(0H2B1B1B1C");
    constexpr const ImmutableString textureProjGradOffset_0H3B1B1B1C(
        "textureProjGradOffset(0H3B1B1B1C");
    constexpr const ImmutableString textureProjGradOffset_0I3B2B2B2C(
        "textureProjGradOffset(0I3B2B2B2C");
    constexpr const ImmutableString textureProjGradOffset_0Q2B1B1B1C(
        "textureProjGradOffset(0Q2B1B1B1C");
    constexpr const ImmutableString textureProjGradOffset_0Q3B1B1B1C(
        "textureProjGradOffset(0Q3B1B1B1C");
    constexpr const ImmutableString textureProjGradOffset_0R3B2B2B2C(
        "textureProjGradOffset(0R3B2B2B2C");
    constexpr const ImmutableString textureProjGradOffset_0W2B1B1B1C(
        "textureProjGradOffset(0W2B1B1B1C");
    constexpr const ImmutableString textureProjGradOffset_0W3B1B1B1C(
        "textureProjGradOffset(0W3B1B1B1C");
    constexpr const ImmutableString textureProjGradOffset_0X3B2B2B2C(
        "textureProjGradOffset(0X3B2B2B2C");
    constexpr const ImmutableString textureProjGradOffset_0c3B1B1B1C(
        "textureProjGradOffset(0c3B1B1B1C");
    constexpr const ImmutableString textureProjGrad_0H2B1B1B("textureProjGrad(0H2B1B1B");
    constexpr const ImmutableString textureProjGrad_0H3B1B1B("textureProjGrad(0H3B1B1B");
    constexpr const ImmutableString textureProjGrad_0I3B2B2B("textureProjGrad(0I3B2B2B");
    constexpr const ImmutableString textureProjGrad_0Q2B1B1B("textureProjGrad(0Q2B1B1B");
    constexpr const ImmutableString textureProjGrad_0Q3B1B1B("textureProjGrad(0Q3B1B1B");
    constexpr const ImmutableString textureProjGrad_0R3B2B2B("textureProjGrad(0R3B2B2B");
    constexpr const ImmutableString textureProjGrad_0W2B1B1B("textureProjGrad(0W2B1B1B");
    constexpr const ImmutableString textureProjGrad_0W3B1B1B("textureProjGrad(0W3B1B1B");
    constexpr const ImmutableString textureProjGrad_0X3B2B2B("textureProjGrad(0X3B2B2B");
    constexpr const ImmutableString textureProjGrad_0c3B1B1B("textureProjGrad(0c3B1B1B");
    constexpr const ImmutableString textureProjLod("textureProjLod");
    constexpr const ImmutableString textureProjLodOffset("textureProjLodOffset");
    constexpr const ImmutableString textureProjLodOffset_0H2B0B1C("textureProjLodOffset(0H2B0B1C");
    constexpr const ImmutableString textureProjLodOffset_0H3B0B1C("textureProjLodOffset(0H3B0B1C");
    constexpr const ImmutableString textureProjLodOffset_0I3B0B2C("textureProjLodOffset(0I3B0B2C");
    constexpr const ImmutableString textureProjLodOffset_0Q2B0B1C("textureProjLodOffset(0Q2B0B1C");
    constexpr const ImmutableString textureProjLodOffset_0Q3B0B1C("textureProjLodOffset(0Q3B0B1C");
    constexpr const ImmutableString textureProjLodOffset_0R3B0B2C("textureProjLodOffset(0R3B0B2C");
    constexpr const ImmutableString textureProjLodOffset_0W2B0B1C("textureProjLodOffset(0W2B0B1C");
    constexpr const ImmutableString textureProjLodOffset_0W3B0B1C("textureProjLodOffset(0W3B0B1C");
    constexpr const ImmutableString textureProjLodOffset_0X3B0B2C("textureProjLodOffset(0X3B0B2C");
    constexpr const ImmutableString textureProjLodOffset_0c3B0B1C("textureProjLodOffset(0c3B0B1C");
    constexpr const ImmutableString textureProjLod_0H3B0B("textureProjLod(0H3B0B");
    constexpr const ImmutableString textureProjLod_0I3B0B("textureProjLod(0I3B0B");
    constexpr const ImmutableString textureProjLod_0Q2B0B("textureProjLod(0Q2B0B");
    constexpr const ImmutableString textureProjLod_0Q3B0B("textureProjLod(0Q3B0B");
    constexpr const ImmutableString textureProjOffset("textureProjOffset");
    constexpr const ImmutableString textureProjOffset_0H2B1C("textureProjOffset(0H2B1C");
    constexpr const ImmutableString textureProjOffset_0H2B1C0B("textureProjOffset(0H2B1C0B");
    constexpr const ImmutableString textureProjOffset_0H3B1C("textureProjOffset(0H3B1C");
    constexpr const ImmutableString textureProjOffset_0H3B1C0B("textureProjOffset(0H3B1C0B");
    constexpr const ImmutableString textureProjOffset_0I3B2C0B("textureProjOffset(0I3B2C0B");
    constexpr const ImmutableString textureProjOffset_0Q2B1C("textureProjOffset(0Q2B1C");
    constexpr const ImmutableString textureProjOffset_0Q2B1C0B("textureProjOffset(0Q2B1C0B");
    constexpr const ImmutableString textureProjOffset_0Q3B1C("textureProjOffset(0Q3B1C");
    constexpr const ImmutableString textureProjOffset_0Q3B1C0B("textureProjOffset(0Q3B1C0B");
    constexpr const ImmutableString textureProjOffset_0R3B2C0B("textureProjOffset(0R3B2C0B");
    constexpr const ImmutableString textureProjOffset_0W2B1C0B("textureProjOffset(0W2B1C0B");
    constexpr const ImmutableString textureProjOffset_0W3B1C("textureProjOffset(0W3B1C");
    constexpr const ImmutableString textureProjOffset_0W3B1C0B("textureProjOffset(0W3B1C0B");
    constexpr const ImmutableString textureProjOffset_0X3B2C("textureProjOffset(0X3B2C");
    constexpr const ImmutableString textureProjOffset_0X3B2C0B("textureProjOffset(0X3B2C0B");
    constexpr const ImmutableString textureProjOffset_0c3B1C0B("textureProjOffset(0c3B1C0B");
    constexpr const ImmutableString textureProj_0Q2B0B("textureProj(0Q2B0B");
    constexpr const ImmutableString textureProj_0R3B0B("textureProj(0R3B0B");
    constexpr const ImmutableString textureProj_0X3B0B("textureProj(0X3B0B");
    constexpr const ImmutableString textureSize("textureSize");
    constexpr const ImmutableString textureSizeExt("textureSize");
    constexpr const ImmutableString texture_0Q1B0B("texture(0Q1B0B");
    constexpr const ImmutableString texture_0c2B0B("texture(0c2B0B");
    constexpr const ImmutableString texture_0d3B0B("texture(0d3B0B");
    constexpr const ImmutableString transpose("transpose");
    constexpr const ImmutableString trunc("trunc");
    constexpr const ImmutableString uaddCarry("uaddCarry");
    constexpr const ImmutableString uaddCarry_2D2D2D("uaddCarry(2D2D2D");
    constexpr const ImmutableString uaddCarry_3D3D3D("uaddCarry(3D3D3D");
    constexpr const ImmutableString uintBitsToFloat("uintBitsToFloat");
    constexpr const ImmutableString umulExtended("umulExtended");
    constexpr const ImmutableString umulExtended_0D0D0D0D("umulExtended(0D0D0D0D");
    constexpr const ImmutableString umulExtended_1D1D1D1D("umulExtended(1D1D1D1D");
    constexpr const ImmutableString umulExtended_2D2D2D2D("umulExtended(2D2D2D2D");
    constexpr const ImmutableString umulExtended_3D3D3D3D("umulExtended(3D3D3D3D");
    constexpr const ImmutableString unpackHalf2x16("unpackHalf2x16");
    constexpr const ImmutableString unpackSnorm2x16("unpackSnorm2x16");
    constexpr const ImmutableString unpackSnorm4x8("unpackSnorm4x8");
    constexpr const ImmutableString unpackUnorm2x16("unpackUnorm2x16");
    constexpr const ImmutableString unpackUnorm4x8("unpackUnorm4x8");
    constexpr const ImmutableString usubBorrow("usubBorrow");
    constexpr const ImmutableString usubBorrow_0D0D0D("usubBorrow(0D0D0D");
    constexpr const ImmutableString usubBorrow_1D1D1D("usubBorrow(1D1D1D");
    constexpr const ImmutableString usubBorrow_3D3D3D("usubBorrow(3D3D3D");
    constexpr const ImmutableString yuv_2_rgb("yuv_2_rgb");
    
    }  // namespace BuiltInName
    
    // TODO(oetuaho): Would be nice to make this a class instead of a namespace so that we could friend
    // this from TVariable. Now symbol constructors taking an id have to be public even though they're
    // not supposed to be accessible from outside of here. http://anglebug.com/2390
    namespace BuiltInVariable
    {
    
    constexpr const TVariable kVar_gl_DrawID(BuiltInId::gl_DrawID,
                                             BuiltInName::gl_DrawID,
                                             SymbolType::BuiltIn,
                                             TExtension::ANGLE_multi_draw,
                                             StaticType::Get<EbtInt, EbpHigh, EvqDrawID, 1, 1>());
    constexpr const TVariable kVar_gl_FragColor(
        BuiltInId::gl_FragColor,
        BuiltInName::gl_FragColor,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtFloat, EbpMedium, EvqFragColor, 4, 1>());
    constexpr const TVariable kVar_gl_FragCoord(
        BuiltInId::gl_FragCoord,
        BuiltInName::gl_FragCoord,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtFloat, EbpMedium, EvqFragCoord, 4, 1>());
    constexpr const TVariable kVar_gl_FragDepth(
        BuiltInId::gl_FragDepth,
        BuiltInName::gl_FragDepth,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtFloat, EbpHigh, EvqFragDepth, 1, 1>());
    constexpr const TVariable kVar_gl_FrontFacing(
        BuiltInId::gl_FrontFacing,
        BuiltInName::gl_FrontFacing,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtBool, EbpUndefined, EvqFrontFacing, 1, 1>());
    constexpr const TVariable kVar_gl_GlobalInvocationID(
        BuiltInId::gl_GlobalInvocationID,
        BuiltInName::gl_GlobalInvocationID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobalInvocationID, 3, 1>());
    constexpr const TVariable kVar_gl_InstanceID(
        BuiltInId::gl_InstanceID,
        BuiltInName::gl_InstanceID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>());
    constexpr const TVariable kVar_gl_InvocationID(
        BuiltInId::gl_InvocationID,
        BuiltInName::gl_InvocationID,
        SymbolType::BuiltIn,
        TExtension::EXT_geometry_shader,
        StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
    constexpr const TVariable kVar_gl_LastFragColor(
        BuiltInId::gl_LastFragColor,
        BuiltInName::gl_LastFragColor,
        SymbolType::BuiltIn,
        TExtension::NV_shader_framebuffer_fetch,
        StaticType::Get<EbtFloat, EbpMedium, EvqLastFragColor, 4, 1>());
    constexpr const TVariable kVar_gl_LastFragColorARM(
        BuiltInId::gl_LastFragColorARM,
        BuiltInName::gl_LastFragColorARM,
        SymbolType::BuiltIn,
        TExtension::ARM_shader_framebuffer_fetch,
        StaticType::Get<EbtFloat, EbpMedium, EvqLastFragColor, 4, 1>());
    constexpr const TVariable kVar_gl_Layer(BuiltInId::gl_Layer,
                                            BuiltInName::gl_Layer,
                                            SymbolType::BuiltIn,
                                            TExtension::EXT_geometry_shader,
                                            StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
    constexpr const TVariable kVar_gl_LayerGS(BuiltInId::gl_LayerGS,
                                              BuiltInName::gl_Layer,
                                              SymbolType::BuiltIn,
                                              TExtension::EXT_geometry_shader,
                                              StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
    constexpr const TVariable kVar_gl_LayerVS(BuiltInId::gl_LayerVS,
                                              BuiltInName::gl_Layer,
                                              SymbolType::BuiltIn,
                                              TExtension::UNDEFINED,
                                              StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
    constexpr const TVariable kVar_gl_LocalInvocationID(
        BuiltInId::gl_LocalInvocationID,
        BuiltInName::gl_LocalInvocationID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqLocalInvocationID, 3, 1>());
    constexpr const TVariable kVar_gl_LocalInvocationIndex(
        BuiltInId::gl_LocalInvocationIndex,
        BuiltInName::gl_LocalInvocationIndex,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqLocalInvocationIndex, 1, 1>());
    constexpr const TVariable kVar_gl_NumWorkGroups(
        BuiltInId::gl_NumWorkGroups,
        BuiltInName::gl_NumWorkGroups,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqNumWorkGroups, 3, 1>());
    constexpr const TVariable kVar_gl_PointCoord(
        BuiltInId::gl_PointCoord,
        BuiltInName::gl_PointCoord,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtFloat, EbpMedium, EvqPointCoord, 2, 1>());
    constexpr const TVariable kVar_gl_PointSize(
        BuiltInId::gl_PointSize,
        BuiltInName::gl_PointSize,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtFloat, EbpMedium, EvqPointSize, 1, 1>());
    constexpr const TVariable kVar_gl_Position(BuiltInId::gl_Position,
                                               BuiltInName::gl_Position,
                                               SymbolType::BuiltIn,
                                               TExtension::UNDEFINED,
                                               StaticType::Get<EbtFloat, EbpHigh, EvqPosition, 4, 1>());
    constexpr const TVariable kVar_gl_PrimitiveID(
        BuiltInId::gl_PrimitiveID,
        BuiltInName::gl_PrimitiveID,
        SymbolType::BuiltIn,
        TExtension::EXT_geometry_shader,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
    constexpr const TVariable kVar_gl_PrimitiveIDGS(
        BuiltInId::gl_PrimitiveIDGS,
        BuiltInName::gl_PrimitiveID,
        SymbolType::BuiltIn,
        TExtension::EXT_geometry_shader,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
    constexpr const TVariable kVar_gl_PrimitiveIDIn(
        BuiltInId::gl_PrimitiveIDIn,
        BuiltInName::gl_PrimitiveIDIn,
        SymbolType::BuiltIn,
        TExtension::EXT_geometry_shader,
        StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveIDIn, 1, 1>());
    constexpr const TVariable kVar_gl_SecondaryFragColorEXT(
        BuiltInId::gl_SecondaryFragColorEXT,
        BuiltInName::gl_SecondaryFragColorEXT,
        SymbolType::BuiltIn,
        TExtension::EXT_blend_func_extended,
        StaticType::Get<EbtFloat, EbpMedium, EvqSecondaryFragColorEXT, 4, 1>());
    constexpr const TVariable kVar_gl_VertexID(BuiltInId::gl_VertexID,
                                               BuiltInName::gl_VertexID,
                                               SymbolType::BuiltIn,
                                               TExtension::UNDEFINED,
                                               StaticType::Get<EbtInt, EbpHigh, EvqVertexID, 1, 1>());
    constexpr const TVariable kVar_gl_ViewID_OVR(
        BuiltInId::gl_ViewID_OVR,
        BuiltInName::gl_ViewID_OVR,
        SymbolType::BuiltIn,
        TExtension::OVR_multiview,
        StaticType::Get<EbtUInt, EbpHigh, EvqViewIDOVR, 1, 1>());
    constexpr const TVariable kVar_gl_ViewID_OVRESSL1(
        BuiltInId::gl_ViewID_OVRESSL1,
        BuiltInName::gl_ViewID_OVR,
        SymbolType::BuiltIn,
        TExtension::OVR_multiview,
        StaticType::Get<EbtInt, EbpHigh, EvqViewIDOVR, 1, 1>());
    constexpr const TVariable kVar_gl_ViewportIndex(
        BuiltInId::gl_ViewportIndex,
        BuiltInName::gl_ViewportIndex,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtInt, EbpHigh, EvqViewportIndex, 1, 1>());
    constexpr const TVariable kVar_gl_WorkGroupID(
        BuiltInId::gl_WorkGroupID,
        BuiltInName::gl_WorkGroupID,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqWorkGroupID, 3, 1>());
    constexpr const TVariable kVar_gl_WorkGroupSize(
        BuiltInId::gl_WorkGroupSize,
        BuiltInName::gl_WorkGroupSize,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUInt, EbpUndefined, EvqWorkGroupSize, 3, 1>());
    constexpr const TVariable kVar_pt0B(BuiltInId::pt0B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0C(BuiltInId::pt0C,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0D(BuiltInId::pt0D,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0E(BuiltInId::pt0E,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0F(
        BuiltInId::pt0F,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtAtomicCounter, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0G(
        BuiltInId::pt0G,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtYuvCscStandardEXT, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0H(BuiltInId::pt0H,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0I(BuiltInId::pt0I,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0J(
        BuiltInId::pt0J,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0K(
        BuiltInId::pt0K,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0L(
        BuiltInId::pt0L,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerExternalOES, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0M(
        BuiltInId::pt0M,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerExternal2DY2YEXT, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0N(
        BuiltInId::pt0N,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DRect, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0O(
        BuiltInId::pt0O,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0P(
        BuiltInId::pt0P,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0Q(
        BuiltInId::pt0Q,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISampler2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0R(
        BuiltInId::pt0R,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISampler3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0S(
        BuiltInId::pt0S,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0T(
        BuiltInId::pt0T,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0U(
        BuiltInId::pt0U,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0V(
        BuiltInId::pt0V,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtISampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0W(
        BuiltInId::pt0W,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0X(
        BuiltInId::pt0X,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0Y(
        BuiltInId::pt0Y,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0Z(
        BuiltInId::pt0Z,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0a(
        BuiltInId::pt0a,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0b(
        BuiltInId::pt0b,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0c(
        BuiltInId::pt0c,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DShadow, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0d(
        BuiltInId::pt0d,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSamplerCubeShadow, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0e(
        BuiltInId::pt0e,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtSampler2DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0f(BuiltInId::pt0f,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtImage2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0g(BuiltInId::pt0g,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtIImage2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0h(BuiltInId::pt0h,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUImage2D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0i(BuiltInId::pt0i,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtImage3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0j(BuiltInId::pt0j,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtIImage3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0k(BuiltInId::pt0k,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUImage3D, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0l(
        BuiltInId::pt0l,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0m(
        BuiltInId::pt0m,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtIImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0n(
        BuiltInId::pt0n,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0o(BuiltInId::pt0o,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtImageCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0p(
        BuiltInId::pt0p,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtIImageCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt0q(
        BuiltInId::pt0q,
        BuiltInName::_empty,
        SymbolType::BuiltIn,
        TExtension::UNDEFINED,
        StaticType::Get<EbtUImageCube, EbpUndefined, EvqGlobal, 1, 1>());
    constexpr const TVariable kVar_pt1B(BuiltInId::pt1B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>());
    constexpr const TVariable kVar_pt1C(BuiltInId::pt1C,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>());
    constexpr const TVariable kVar_pt1D(BuiltInId::pt1D,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>());
    constexpr const TVariable kVar_pt1E(BuiltInId::pt1E,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>());
    constexpr const TVariable kVar_pt2B(BuiltInId::pt2B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>());
    constexpr const TVariable kVar_pt2C(BuiltInId::pt2C,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>());
    constexpr const TVariable kVar_pt2D(BuiltInId::pt2D,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>());
    constexpr const TVariable kVar_pt2E(BuiltInId::pt2E,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>());
    constexpr const TVariable kVar_pt3B(BuiltInId::pt3B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>());
    constexpr const TVariable kVar_pt3C(BuiltInId::pt3C,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>());
    constexpr const TVariable kVar_pt3D(BuiltInId::pt3D,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>());
    constexpr const TVariable kVar_pt3E(BuiltInId::pt3E,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>());
    constexpr const TVariable kVar_pt5B(BuiltInId::pt5B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>());
    constexpr const TVariable kVar_pt6B(BuiltInId::pt6B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>());
    constexpr const TVariable kVar_pt7B(BuiltInId::pt7B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>());
    constexpr const TVariable kVar_pt9B(BuiltInId::pt9B,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>());
    constexpr const TVariable kVar_ptAB(BuiltInId::ptAB,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>());
    constexpr const TVariable kVar_ptBB(BuiltInId::ptBB,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>());
    constexpr const TVariable kVar_ptDB(BuiltInId::ptDB,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>());
    constexpr const TVariable kVar_ptEB(BuiltInId::ptEB,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>());
    constexpr const TVariable kVar_ptFB(BuiltInId::ptFB,
                                        BuiltInName::_empty,
                                        SymbolType::BuiltIn,
                                        TExtension::UNDEFINED,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>());
    constexpr const TVariable kVar_pt_io_0C(BuiltInId::pt_io_0C,
                                            BuiltInName::_empty,
                                            SymbolType::BuiltIn,
                                            TExtension::UNDEFINED,
                                            StaticType::Get<EbtInt, EbpUndefined, EvqInOut, 1, 1>());
    constexpr const TVariable kVar_pt_io_0D(BuiltInId::pt_io_0D,
                                            BuiltInName::_empty,
                                            SymbolType::BuiltIn,
                                            TExtension::UNDEFINED,
                                            StaticType::Get<EbtUInt, EbpUndefined, EvqInOut, 1, 1>());
    constexpr const TVariable kVar_pt_o_0B(BuiltInId::pt_o_0B,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 1, 1>());
    constexpr const TVariable kVar_pt_o_0C(BuiltInId::pt_o_0C,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqOut, 1, 1>());
    constexpr const TVariable kVar_pt_o_0D(BuiltInId::pt_o_0D,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 1, 1>());
    constexpr const TVariable kVar_pt_o_1B(BuiltInId::pt_o_1B,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 2, 1>());
    constexpr const TVariable kVar_pt_o_1C(BuiltInId::pt_o_1C,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqOut, 2, 1>());
    constexpr const TVariable kVar_pt_o_1D(BuiltInId::pt_o_1D,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 2, 1>());
    constexpr const TVariable kVar_pt_o_2B(BuiltInId::pt_o_2B,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 3, 1>());
    constexpr const TVariable kVar_pt_o_2C(BuiltInId::pt_o_2C,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqOut, 3, 1>());
    constexpr const TVariable kVar_pt_o_2D(BuiltInId::pt_o_2D,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 3, 1>());
    constexpr const TVariable kVar_pt_o_3B(BuiltInId::pt_o_3B,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 4, 1>());
    constexpr const TVariable kVar_pt_o_3C(BuiltInId::pt_o_3C,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqOut, 4, 1>());
    constexpr const TVariable kVar_pt_o_3D(BuiltInId::pt_o_3D,
                                           BuiltInName::_empty,
                                           SymbolType::BuiltIn,
                                           TExtension::UNDEFINED,
                                           StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 4, 1>());
    
    const TVariable *gl_DrawID()
    {
        return &kVar_gl_DrawID;
    }
    
    const TVariable *gl_FragColor()
    {
        return &kVar_gl_FragColor;
    }
    
    const TVariable *gl_FragCoord()
    {
        return &kVar_gl_FragCoord;
    }
    
    const TVariable *gl_FragDepth()
    {
        return &kVar_gl_FragDepth;
    }
    
    const TVariable *gl_FrontFacing()
    {
        return &kVar_gl_FrontFacing;
    }
    
    const TVariable *gl_GlobalInvocationID()
    {
        return &kVar_gl_GlobalInvocationID;
    }
    
    const TVariable *gl_InstanceID()
    {
        return &kVar_gl_InstanceID;
    }
    
    const TVariable *gl_InvocationID()
    {
        return &kVar_gl_InvocationID;
    }
    
    const TVariable *gl_LastFragColor()
    {
        return &kVar_gl_LastFragColor;
    }
    
    const TVariable *gl_LastFragColorARM()
    {
        return &kVar_gl_LastFragColorARM;
    }
    
    const TVariable *gl_Layer()
    {
        return &kVar_gl_Layer;
    }
    
    const TVariable *gl_LayerGS()
    {
        return &kVar_gl_LayerGS;
    }
    
    const TVariable *gl_LayerVS()
    {
        return &kVar_gl_LayerVS;
    }
    
    const TVariable *gl_LocalInvocationID()
    {
        return &kVar_gl_LocalInvocationID;
    }
    
    const TVariable *gl_LocalInvocationIndex()
    {
        return &kVar_gl_LocalInvocationIndex;
    }
    
    const TVariable *gl_NumWorkGroups()
    {
        return &kVar_gl_NumWorkGroups;
    }
    
    const TVariable *gl_PointCoord()
    {
        return &kVar_gl_PointCoord;
    }
    
    const TVariable *gl_PointSize()
    {
        return &kVar_gl_PointSize;
    }
    
    const TVariable *gl_Position()
    {
        return &kVar_gl_Position;
    }
    
    const TVariable *gl_PrimitiveID()
    {
        return &kVar_gl_PrimitiveID;
    }
    
    const TVariable *gl_PrimitiveIDGS()
    {
        return &kVar_gl_PrimitiveIDGS;
    }
    
    const TVariable *gl_PrimitiveIDIn()
    {
        return &kVar_gl_PrimitiveIDIn;
    }
    
    const TVariable *gl_SecondaryFragColorEXT()
    {
        return &kVar_gl_SecondaryFragColorEXT;
    }
    
    const TVariable *gl_VertexID()
    {
        return &kVar_gl_VertexID;
    }
    
    const TVariable *gl_ViewID_OVR()
    {
        return &kVar_gl_ViewID_OVR;
    }
    
    const TVariable *gl_ViewID_OVRESSL1()
    {
        return &kVar_gl_ViewID_OVRESSL1;
    }
    
    const TVariable *gl_ViewportIndex()
    {
        return &kVar_gl_ViewportIndex;
    }
    
    const TVariable *gl_WorkGroupID()
    {
        return &kVar_gl_WorkGroupID;
    }
    
    const TVariable *gl_WorkGroupSize()
    {
        return &kVar_gl_WorkGroupSize;
    }
    
    };  // namespace BuiltInVariable
    
    namespace BuiltInParameters
    {
    
    constexpr const TVariable **empty      = nullptr;
    constexpr const TVariable *p0B0B0B[3]  = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt0B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0B0B0E[3]  = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt0B,
                                             &BuiltInVariable::kVar_pt0E};
    constexpr const TVariable *p0B0B1B[3]  = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt0B,
                                             &BuiltInVariable::kVar_pt1B};
    constexpr const TVariable *p0B0B2B[3]  = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt0B,
                                             &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p0B0B3B[3]  = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt0B,
                                             &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p0B0C[2]    = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0B1B[2]    = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt1B};
    constexpr const TVariable *p0B2B[2]    = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p0B3B[2]    = {&BuiltInVariable::kVar_pt0B, &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p0B_o_0B[2] = {&BuiltInVariable::kVar_pt0B,
                                              &BuiltInVariable::kVar_pt_o_0B};
    constexpr const TVariable *p0B_o_0C[2] = {&BuiltInVariable::kVar_pt0B,
                                              &BuiltInVariable::kVar_pt_o_0C};
    constexpr const TVariable *p0C0C0C0C[4] = {&BuiltInVariable::kVar_pt0C, &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0C0C_o_0C_o_0C[4] = {
        &BuiltInVariable::kVar_pt0C, &BuiltInVariable::kVar_pt0C, &BuiltInVariable::kVar_pt_o_0C,
        &BuiltInVariable::kVar_pt_o_0C};
    constexpr const TVariable *p0D0C0C[3]   = {&BuiltInVariable::kVar_pt0D, &BuiltInVariable::kVar_pt0C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0D0D0C0C[4] = {&BuiltInVariable::kVar_pt0D, &BuiltInVariable::kVar_pt0D,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0D0D0D[3]   = {&BuiltInVariable::kVar_pt0D, &BuiltInVariable::kVar_pt0D,
                                             &BuiltInVariable::kVar_pt0D};
    constexpr const TVariable *p0D0D_o_0D_o_0D[4] = {
        &BuiltInVariable::kVar_pt0D, &BuiltInVariable::kVar_pt0D, &BuiltInVariable::kVar_pt_o_0D,
        &BuiltInVariable::kVar_pt_o_0D};
    constexpr const TVariable *p0F[1]   = {&BuiltInVariable::kVar_pt0F};
    constexpr const TVariable *p0H0C[2] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0H1B0B1C[4] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0H1B0C[3]   = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt1B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0H1B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0H1B1C0B[4] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0H1B1C0C[4] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0H1C0C1C[4] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0H2B0B1C[4] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0H2B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0H2B1C0B[4] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0H3B0B1C[4] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0H3B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0H3B1C0B[4] = {&BuiltInVariable::kVar_pt0H, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0I0C[2] = {&BuiltInVariable::kVar_pt0I, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0I2B0B2C[4] = {&BuiltInVariable::kVar_pt0I, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0I2B2B2B2C[5] = {
        &BuiltInVariable::kVar_pt0I, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
        &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0I2B2C0B[4] = {&BuiltInVariable::kVar_pt0I, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0I2C0C2C[4] = {&BuiltInVariable::kVar_pt0I, &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0I3B0B2C[4] = {&BuiltInVariable::kVar_pt0I, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0I3B2B2B2C[5] = {
        &BuiltInVariable::kVar_pt0I, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
        &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0I3B2C0B[4] = {&BuiltInVariable::kVar_pt0I, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0J0C[2]   = {&BuiltInVariable::kVar_pt0J, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0J2B0B[3] = {&BuiltInVariable::kVar_pt0J, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0J2B0C[3] = {&BuiltInVariable::kVar_pt0J, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0J2B2B2B[4] = {&BuiltInVariable::kVar_pt0J, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p0K0C[2] = {&BuiltInVariable::kVar_pt0K, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0K2B0B1C[4] = {&BuiltInVariable::kVar_pt0K, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0K2B0C[3]   = {&BuiltInVariable::kVar_pt0K, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0K2B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0K, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0K2B1C0B[4] = {&BuiltInVariable::kVar_pt0K, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0K2B1C0C[4] = {&BuiltInVariable::kVar_pt0K, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0K2C0C1C[4] = {&BuiltInVariable::kVar_pt0K, &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0L0C[2]   = {&BuiltInVariable::kVar_pt0L, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0L1B0B[3] = {&BuiltInVariable::kVar_pt0L, &BuiltInVariable::kVar_pt1B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0L1C0C[3] = {&BuiltInVariable::kVar_pt0L, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0L2B0B[3] = {&BuiltInVariable::kVar_pt0L, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0L3B0B[3] = {&BuiltInVariable::kVar_pt0L, &BuiltInVariable::kVar_pt3B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0M0C[2]   = {&BuiltInVariable::kVar_pt0M, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0M1B0B[3] = {&BuiltInVariable::kVar_pt0M, &BuiltInVariable::kVar_pt1B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0M1C0C[3] = {&BuiltInVariable::kVar_pt0M, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0M2B0B[3] = {&BuiltInVariable::kVar_pt0M, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0M3B0B[3] = {&BuiltInVariable::kVar_pt0M, &BuiltInVariable::kVar_pt3B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0N1B[2]   = {&BuiltInVariable::kVar_pt0N, &BuiltInVariable::kVar_pt1B};
    constexpr const TVariable *p0N2B[2]   = {&BuiltInVariable::kVar_pt0N, &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p0N3B[2]   = {&BuiltInVariable::kVar_pt0N, &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p0O1C0C[3] = {&BuiltInVariable::kVar_pt0O, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0P2C0C[3] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Q0C[2]   = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Q1B0B1C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Q1B0C[3]   = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Q1B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Q1B1C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0Q1B1C0C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Q1C0C1C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Q2B0B1C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Q2B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Q2B1C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0Q3B0B1C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Q3B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Q3B1C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0R0C[2] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0R2B0B2C[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0R2B2B2B2C[5] = {
        &BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
        &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0R2B2C0B[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0R2C0C2C[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0R3B0B2C[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0R3B2B2B2C[5] = {
        &BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
        &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0R3B2C0B[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0S0C[2]   = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0S2B0B[3] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0S2B0C[3] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0S2B2B2B[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p0T0C[2] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0T2B0B1C[4] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0T2B0C[3]   = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0T2B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0T2B1C0B[4] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0T2B1C0C[4] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0T2C0C1C[4] = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0U1C0C[3]   = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0V2C0C[3]   = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0W0C[2] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0W1B0B1C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0W1B0C[3]   = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0W1B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0W1B1C0B[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0W1B1C0C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0W1C0C1C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0W2B0B1C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0W2B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0W2B1C0B[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0W3B0B1C[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0W3B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0W3B1C0B[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0X0C[2] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0X2B0B2C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0X2B2B2B2C[5] = {
        &BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
        &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0X2B2C0B[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0X2C0C2C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0X3B0B2C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0X3B2B2B2C[5] = {
        &BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
        &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p0X3B2C0B[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0Y0C[2]   = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Y2B0B[3] = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0Y2B0C[3] = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Y2B2B2B[4] = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p0Z0C[2] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Z2B0B1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Z2B0C[3]   = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Z2B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0Z2B1C0B[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0Z2B1C0C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0Z2C0C1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0a1C0C[3]   = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0b2C0C[3]   = {&BuiltInVariable::kVar_pt0b, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0c0C[2] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0c1B0B1C[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt1B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0c2B0B1C[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0c2B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0c2B1C0B[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0c3B0B1C[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0c3B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0c3B1C0B[4] = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0d0C[2]   = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0d2B0B[3] = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0d3B0B[3] = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt3B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p0d3B2B2B[4] = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt3B,
                                               &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p0e0C[2] = {&BuiltInVariable::kVar_pt0e, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p0e2B0B1C[4] = {&BuiltInVariable::kVar_pt0e, &BuiltInVariable::kVar_pt2B,
                                               &BuiltInVariable::kVar_pt0B,
                                               &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0e3B1B1B1C[5] = {
        &BuiltInVariable::kVar_pt0e, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
        &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p0f1C3B[3]  = {&BuiltInVariable::kVar_pt0f, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p0g1C3C[3]  = {&BuiltInVariable::kVar_pt0g, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt3C};
    constexpr const TVariable *p0h1C3D[3]  = {&BuiltInVariable::kVar_pt0h, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt3D};
    constexpr const TVariable *p0i2C3B[3]  = {&BuiltInVariable::kVar_pt0i, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p0j2C3C[3]  = {&BuiltInVariable::kVar_pt0j, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3C};
    constexpr const TVariable *p0k2C3D[3]  = {&BuiltInVariable::kVar_pt0k, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3D};
    constexpr const TVariable *p0l2C3B[3]  = {&BuiltInVariable::kVar_pt0l, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p0m2C3C[3]  = {&BuiltInVariable::kVar_pt0m, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3C};
    constexpr const TVariable *p0n2C3D[3]  = {&BuiltInVariable::kVar_pt0n, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3D};
    constexpr const TVariable *p0o2C3B[3]  = {&BuiltInVariable::kVar_pt0o, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p0p2C3C[3]  = {&BuiltInVariable::kVar_pt0p, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3C};
    constexpr const TVariable *p0q2C3D[3]  = {&BuiltInVariable::kVar_pt0q, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt3D};
    constexpr const TVariable *p1B0B0B[3]  = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt0B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p1B1B0B[3]  = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p1B1B1B[3]  = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
                                             &BuiltInVariable::kVar_pt1B};
    constexpr const TVariable *p1B1B1E[3]  = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
                                             &BuiltInVariable::kVar_pt1E};
    constexpr const TVariable *p1B1C[2]    = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p1B2B[2]    = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p1B3B[2]    = {&BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p1B_o_1B[2] = {&BuiltInVariable::kVar_pt1B,
                                              &BuiltInVariable::kVar_pt_o_1B};
    constexpr const TVariable *p1B_o_1C[2] = {&BuiltInVariable::kVar_pt1B,
                                              &BuiltInVariable::kVar_pt_o_1C};
    constexpr const TVariable *p1C0C0C[3]  = {&BuiltInVariable::kVar_pt1C, &BuiltInVariable::kVar_pt0C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p1C1C0C0C[4] = {&BuiltInVariable::kVar_pt1C, &BuiltInVariable::kVar_pt1C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p1C1C1C[3]   = {&BuiltInVariable::kVar_pt1C, &BuiltInVariable::kVar_pt1C,
                                             &BuiltInVariable::kVar_pt1C};
    constexpr const TVariable *p1C1C_o_1C_o_1C[4] = {
        &BuiltInVariable::kVar_pt1C, &BuiltInVariable::kVar_pt1C, &BuiltInVariable::kVar_pt_o_1C,
        &BuiltInVariable::kVar_pt_o_1C};
    constexpr const TVariable *p1D0C0C[3]   = {&BuiltInVariable::kVar_pt1D, &BuiltInVariable::kVar_pt0C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p1D0D0D[3]   = {&BuiltInVariable::kVar_pt1D, &BuiltInVariable::kVar_pt0D,
                                             &BuiltInVariable::kVar_pt0D};
    constexpr const TVariable *p1D1D0C0C[4] = {&BuiltInVariable::kVar_pt1D, &BuiltInVariable::kVar_pt1D,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p1D1D1D[3]   = {&BuiltInVariable::kVar_pt1D, &BuiltInVariable::kVar_pt1D,
                                             &BuiltInVariable::kVar_pt1D};
    constexpr const TVariable *p1D1D_o_1D_o_1D[4] = {
        &BuiltInVariable::kVar_pt1D, &BuiltInVariable::kVar_pt1D, &BuiltInVariable::kVar_pt_o_1D,
        &BuiltInVariable::kVar_pt_o_1D};
    constexpr const TVariable *p1E1E[2]    = {&BuiltInVariable::kVar_pt1E, &BuiltInVariable::kVar_pt1E};
    constexpr const TVariable *p2B0B0B[3]  = {&BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt0B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p2B0G[2]    = {&BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt0G};
    constexpr const TVariable *p2B1B[2]    = {&BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B};
    constexpr const TVariable *p2B2B0B[3]  = {&BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p2B2B2B[3]  = {&BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p2B2B2E[3]  = {&BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
                                             &BuiltInVariable::kVar_pt2E};
    constexpr const TVariable *p2B2C[2]    = {&BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p2B3B[2]    = {&BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p2B_o_2B[2] = {&BuiltInVariable::kVar_pt2B,
                                              &BuiltInVariable::kVar_pt_o_2B};
    constexpr const TVariable *p2B_o_2C[2] = {&BuiltInVariable::kVar_pt2B,
                                              &BuiltInVariable::kVar_pt_o_2C};
    constexpr const TVariable *p2C0C0C[3]  = {&BuiltInVariable::kVar_pt2C, &BuiltInVariable::kVar_pt0C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p2C2C0C0C[4] = {&BuiltInVariable::kVar_pt2C, &BuiltInVariable::kVar_pt2C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p2C2C2C[3]   = {&BuiltInVariable::kVar_pt2C, &BuiltInVariable::kVar_pt2C,
                                             &BuiltInVariable::kVar_pt2C};
    constexpr const TVariable *p2C2C_o_2C_o_2C[4] = {
        &BuiltInVariable::kVar_pt2C, &BuiltInVariable::kVar_pt2C, &BuiltInVariable::kVar_pt_o_2C,
        &BuiltInVariable::kVar_pt_o_2C};
    constexpr const TVariable *p2D0C0C[3]   = {&BuiltInVariable::kVar_pt2D, &BuiltInVariable::kVar_pt0C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p2D0D0D[3]   = {&BuiltInVariable::kVar_pt2D, &BuiltInVariable::kVar_pt0D,
                                             &BuiltInVariable::kVar_pt0D};
    constexpr const TVariable *p2D2D0C0C[4] = {&BuiltInVariable::kVar_pt2D, &BuiltInVariable::kVar_pt2D,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p2D2D2D[3]   = {&BuiltInVariable::kVar_pt2D, &BuiltInVariable::kVar_pt2D,
                                             &BuiltInVariable::kVar_pt2D};
    constexpr const TVariable *p2D2D_o_2D_o_2D[4] = {
        &BuiltInVariable::kVar_pt2D, &BuiltInVariable::kVar_pt2D, &BuiltInVariable::kVar_pt_o_2D,
        &BuiltInVariable::kVar_pt_o_2D};
    constexpr const TVariable *p2E2E[2]    = {&BuiltInVariable::kVar_pt2E, &BuiltInVariable::kVar_pt2E};
    constexpr const TVariable *p3B0B0B[3]  = {&BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt0B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p3B1B[2]    = {&BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B};
    constexpr const TVariable *p3B2B[2]    = {&BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B};
    constexpr const TVariable *p3B3B0B[3]  = {&BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt3B,
                                             &BuiltInVariable::kVar_pt0B};
    constexpr const TVariable *p3B3B3B[3]  = {&BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt3B,
                                             &BuiltInVariable::kVar_pt3B};
    constexpr const TVariable *p3B3B3E[3]  = {&BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt3B,
                                             &BuiltInVariable::kVar_pt3E};
    constexpr const TVariable *p3B3C[2]    = {&BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt3C};
    constexpr const TVariable *p3B_o_3B[2] = {&BuiltInVariable::kVar_pt3B,
                                              &BuiltInVariable::kVar_pt_o_3B};
    constexpr const TVariable *p3B_o_3C[2] = {&BuiltInVariable::kVar_pt3B,
                                              &BuiltInVariable::kVar_pt_o_3C};
    constexpr const TVariable *p3C0C0C[3]  = {&BuiltInVariable::kVar_pt3C, &BuiltInVariable::kVar_pt0C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p3C3C0C0C[4] = {&BuiltInVariable::kVar_pt3C, &BuiltInVariable::kVar_pt3C,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p3C3C3C[3]   = {&BuiltInVariable::kVar_pt3C, &BuiltInVariable::kVar_pt3C,
                                             &BuiltInVariable::kVar_pt3C};
    constexpr const TVariable *p3C3C_o_3C_o_3C[4] = {
        &BuiltInVariable::kVar_pt3C, &BuiltInVariable::kVar_pt3C, &BuiltInVariable::kVar_pt_o_3C,
        &BuiltInVariable::kVar_pt_o_3C};
    constexpr const TVariable *p3D0C0C[3]   = {&BuiltInVariable::kVar_pt3D, &BuiltInVariable::kVar_pt0C,
                                             &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p3D0D0D[3]   = {&BuiltInVariable::kVar_pt3D, &BuiltInVariable::kVar_pt0D,
                                             &BuiltInVariable::kVar_pt0D};
    constexpr const TVariable *p3D3D0C0C[4] = {&BuiltInVariable::kVar_pt3D, &BuiltInVariable::kVar_pt3D,
                                               &BuiltInVariable::kVar_pt0C,
                                               &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p3D3D3D[3]   = {&BuiltInVariable::kVar_pt3D, &BuiltInVariable::kVar_pt3D,
                                             &BuiltInVariable::kVar_pt3D};
    constexpr const TVariable *p3D3D_o_3D_o_3D[4] = {
        &BuiltInVariable::kVar_pt3D, &BuiltInVariable::kVar_pt3D, &BuiltInVariable::kVar_pt_o_3D,
        &BuiltInVariable::kVar_pt_o_3D};
    constexpr const TVariable *p3E3E[2] = {&BuiltInVariable::kVar_pt3E, &BuiltInVariable::kVar_pt3E};
    constexpr const TVariable *p5B5B[2] = {&BuiltInVariable::kVar_pt5B, &BuiltInVariable::kVar_pt5B};
    constexpr const TVariable *p6B6B[2] = {&BuiltInVariable::kVar_pt6B, &BuiltInVariable::kVar_pt6B};
    constexpr const TVariable *p7B7B[2] = {&BuiltInVariable::kVar_pt7B, &BuiltInVariable::kVar_pt7B};
    constexpr const TVariable *p9B9B[2] = {&BuiltInVariable::kVar_pt9B, &BuiltInVariable::kVar_pt9B};
    constexpr const TVariable *pABAB[2] = {&BuiltInVariable::kVar_ptAB, &BuiltInVariable::kVar_ptAB};
    constexpr const TVariable *pBBBB[2] = {&BuiltInVariable::kVar_ptBB, &BuiltInVariable::kVar_ptBB};
    constexpr const TVariable *pDBDB[2] = {&BuiltInVariable::kVar_ptDB, &BuiltInVariable::kVar_ptDB};
    constexpr const TVariable *pEBEB[2] = {&BuiltInVariable::kVar_ptEB, &BuiltInVariable::kVar_ptEB};
    constexpr const TVariable *pFBFB[2] = {&BuiltInVariable::kVar_ptFB, &BuiltInVariable::kVar_ptFB};
    constexpr const TVariable *p_io_0C0C0C[3] = {
        &BuiltInVariable::kVar_pt_io_0C, &BuiltInVariable::kVar_pt0C, &BuiltInVariable::kVar_pt0C};
    constexpr const TVariable *p_io_0D0D0D[3] = {
        &BuiltInVariable::kVar_pt_io_0D, &BuiltInVariable::kVar_pt0D, &BuiltInVariable::kVar_pt0D};
    
    }  // namespace BuiltInParameters
    
    namespace UnmangledBuiltIns
    {
    
    constexpr const UnmangledBuiltIn ARB_texture_rectangle(TExtension::ARB_texture_rectangle);
    constexpr const UnmangledBuiltIn EXT_YUV_target(TExtension::EXT_YUV_target);
    constexpr const UnmangledBuiltIn EXT_geometry_shader(TExtension::EXT_geometry_shader);
    constexpr const UnmangledBuiltIn EXT_shader_texture_lod(TExtension::EXT_shader_texture_lod);
    constexpr const UnmangledBuiltIn OES_standard_derivatives(TExtension::OES_standard_derivatives);
    constexpr const UnmangledBuiltIn UNDEFINED(TExtension::UNDEFINED);
    
    }  // namespace UnmangledBuiltIns
    
    // TODO(oetuaho): Would be nice to make this a class instead of a namespace so that we could friend
    // this from TFunction. Now symbol constructors taking an id have to be public even though they're
    // not supposed to be accessible from outside of here. http://anglebug.com/2390
    namespace BuiltInFunction
    {
    
    constexpr const TFunction kFunction_radians_0B(
        BuiltInId::radians_Float1,
        BuiltInName::radians,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpRadians,
        true);
    constexpr const TFunction kFunction_radians_1B(
        BuiltInId::radians_Float2,
        BuiltInName::radians,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpRadians,
        true);
    constexpr const TFunction kFunction_radians_2B(
        BuiltInId::radians_Float3,
        BuiltInName::radians,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpRadians,
        true);
    constexpr const TFunction kFunction_radians_3B(
        BuiltInId::radians_Float4,
        BuiltInName::radians,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpRadians,
        true);
    constexpr const TFunction kFunction_degrees_0B(
        BuiltInId::degrees_Float1,
        BuiltInName::degrees,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDegrees,
        true);
    constexpr const TFunction kFunction_degrees_1B(
        BuiltInId::degrees_Float2,
        BuiltInName::degrees,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpDegrees,
        true);
    constexpr const TFunction kFunction_degrees_2B(
        BuiltInId::degrees_Float3,
        BuiltInName::degrees,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpDegrees,
        true);
    constexpr const TFunction kFunction_degrees_3B(
        BuiltInId::degrees_Float4,
        BuiltInName::degrees,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpDegrees,
        true);
    constexpr const TFunction kFunction_sin_0B(
        BuiltInId::sin_Float1,
        BuiltInName::sin,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpSin,
        true);
    constexpr const TFunction kFunction_sin_1B(
        BuiltInId::sin_Float2,
        BuiltInName::sin,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpSin,
        true);
    constexpr const TFunction kFunction_sin_2B(
        BuiltInId::sin_Float3,
        BuiltInName::sin,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpSin,
        true);
    constexpr const TFunction kFunction_sin_3B(
        BuiltInId::sin_Float4,
        BuiltInName::sin,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpSin,
        true);
    constexpr const TFunction kFunction_cos_0B(
        BuiltInId::cos_Float1,
        BuiltInName::cos,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCos,
        true);
    constexpr const TFunction kFunction_cos_1B(
        BuiltInId::cos_Float2,
        BuiltInName::cos,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCos,
        true);
    constexpr const TFunction kFunction_cos_2B(
        BuiltInId::cos_Float3,
        BuiltInName::cos,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCos,
        true);
    constexpr const TFunction kFunction_cos_3B(
        BuiltInId::cos_Float4,
        BuiltInName::cos,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCos,
        true);
    constexpr const TFunction kFunction_tan_0B(
        BuiltInId::tan_Float1,
        BuiltInName::tan,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpTan,
        true);
    constexpr const TFunction kFunction_tan_1B(
        BuiltInId::tan_Float2,
        BuiltInName::tan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpTan,
        true);
    constexpr const TFunction kFunction_tan_2B(
        BuiltInId::tan_Float3,
        BuiltInName::tan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpTan,
        true);
    constexpr const TFunction kFunction_tan_3B(
        BuiltInId::tan_Float4,
        BuiltInName::tan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpTan,
        true);
    constexpr const TFunction kFunction_asin_0B(
        BuiltInId::asin_Float1,
        BuiltInName::asin,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAsin,
        true);
    constexpr const TFunction kFunction_asin_1B(
        BuiltInId::asin_Float2,
        BuiltInName::asin,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpAsin,
        true);
    constexpr const TFunction kFunction_asin_2B(
        BuiltInId::asin_Float3,
        BuiltInName::asin,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpAsin,
        true);
    constexpr const TFunction kFunction_asin_3B(
        BuiltInId::asin_Float4,
        BuiltInName::asin,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpAsin,
        true);
    constexpr const TFunction kFunction_acos_0B(
        BuiltInId::acos_Float1,
        BuiltInName::acos,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAcos,
        true);
    constexpr const TFunction kFunction_acos_1B(
        BuiltInId::acos_Float2,
        BuiltInName::acos,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpAcos,
        true);
    constexpr const TFunction kFunction_acos_2B(
        BuiltInId::acos_Float3,
        BuiltInName::acos,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpAcos,
        true);
    constexpr const TFunction kFunction_acos_3B(
        BuiltInId::acos_Float4,
        BuiltInName::acos,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpAcos,
        true);
    constexpr const TFunction kFunction_atan_0B0B(
        BuiltInId::atan_Float1_Float1,
        BuiltInName::atan,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtan,
        true);
    constexpr const TFunction kFunction_atan_1B1B(
        BuiltInId::atan_Float2_Float2,
        BuiltInName::atan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpAtan,
        true);
    constexpr const TFunction kFunction_atan_2B2B(
        BuiltInId::atan_Float3_Float3,
        BuiltInName::atan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpAtan,
        true);
    constexpr const TFunction kFunction_atan_3B3B(
        BuiltInId::atan_Float4_Float4,
        BuiltInName::atan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpAtan,
        true);
    constexpr const TFunction kFunction_atan_0B(
        BuiltInId::atan_Float1,
        BuiltInName::atan,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtan,
        true);
    constexpr const TFunction kFunction_atan_1B(
        BuiltInId::atan_Float2,
        BuiltInName::atan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpAtan,
        true);
    constexpr const TFunction kFunction_atan_2B(
        BuiltInId::atan_Float3,
        BuiltInName::atan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpAtan,
        true);
    constexpr const TFunction kFunction_atan_3B(
        BuiltInId::atan_Float4,
        BuiltInName::atan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpAtan,
        true);
    constexpr const TFunction kFunction_sinh_0B(
        BuiltInId::sinh_Float1,
        BuiltInName::sinh,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpSinh,
        true);
    constexpr const TFunction kFunction_sinh_1B(
        BuiltInId::sinh_Float2,
        BuiltInName::sinh,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpSinh,
        true);
    constexpr const TFunction kFunction_sinh_2B(
        BuiltInId::sinh_Float3,
        BuiltInName::sinh,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpSinh,
        true);
    constexpr const TFunction kFunction_sinh_3B(
        BuiltInId::sinh_Float4,
        BuiltInName::sinh,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpSinh,
        true);
    constexpr const TFunction kFunction_cosh_0B(
        BuiltInId::cosh_Float1,
        BuiltInName::cosh,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCosh,
        true);
    constexpr const TFunction kFunction_cosh_1B(
        BuiltInId::cosh_Float2,
        BuiltInName::cosh,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCosh,
        true);
    constexpr const TFunction kFunction_cosh_2B(
        BuiltInId::cosh_Float3,
        BuiltInName::cosh,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCosh,
        true);
    constexpr const TFunction kFunction_cosh_3B(
        BuiltInId::cosh_Float4,
        BuiltInName::cosh,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCosh,
        true);
    constexpr const TFunction kFunction_tanh_0B(
        BuiltInId::tanh_Float1,
        BuiltInName::tanh,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpTanh,
        true);
    constexpr const TFunction kFunction_tanh_1B(
        BuiltInId::tanh_Float2,
        BuiltInName::tanh,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpTanh,
        true);
    constexpr const TFunction kFunction_tanh_2B(
        BuiltInId::tanh_Float3,
        BuiltInName::tanh,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpTanh,
        true);
    constexpr const TFunction kFunction_tanh_3B(
        BuiltInId::tanh_Float4,
        BuiltInName::tanh,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpTanh,
        true);
    constexpr const TFunction kFunction_asinh_0B(
        BuiltInId::asinh_Float1,
        BuiltInName::asinh,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAsinh,
        true);
    constexpr const TFunction kFunction_asinh_1B(
        BuiltInId::asinh_Float2,
        BuiltInName::asinh,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpAsinh,
        true);
    constexpr const TFunction kFunction_asinh_2B(
        BuiltInId::asinh_Float3,
        BuiltInName::asinh,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpAsinh,
        true);
    constexpr const TFunction kFunction_asinh_3B(
        BuiltInId::asinh_Float4,
        BuiltInName::asinh,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpAsinh,
        true);
    constexpr const TFunction kFunction_acosh_0B(
        BuiltInId::acosh_Float1,
        BuiltInName::acosh,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAcosh,
        true);
    constexpr const TFunction kFunction_acosh_1B(
        BuiltInId::acosh_Float2,
        BuiltInName::acosh,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpAcosh,
        true);
    constexpr const TFunction kFunction_acosh_2B(
        BuiltInId::acosh_Float3,
        BuiltInName::acosh,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpAcosh,
        true);
    constexpr const TFunction kFunction_acosh_3B(
        BuiltInId::acosh_Float4,
        BuiltInName::acosh,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpAcosh,
        true);
    constexpr const TFunction kFunction_atanh_0B(
        BuiltInId::atanh_Float1,
        BuiltInName::atanh,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtanh,
        true);
    constexpr const TFunction kFunction_atanh_1B(
        BuiltInId::atanh_Float2,
        BuiltInName::atanh,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpAtanh,
        true);
    constexpr const TFunction kFunction_atanh_2B(
        BuiltInId::atanh_Float3,
        BuiltInName::atanh,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpAtanh,
        true);
    constexpr const TFunction kFunction_atanh_3B(
        BuiltInId::atanh_Float4,
        BuiltInName::atanh,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpAtanh,
        true);
    constexpr const TFunction kFunction_pow_0B0B(
        BuiltInId::pow_Float1_Float1,
        BuiltInName::pow,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPow,
        true);
    constexpr const TFunction kFunction_pow_1B1B(
        BuiltInId::pow_Float2_Float2,
        BuiltInName::pow,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpPow,
        true);
    constexpr const TFunction kFunction_pow_2B2B(
        BuiltInId::pow_Float3_Float3,
        BuiltInName::pow,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpPow,
        true);
    constexpr const TFunction kFunction_pow_3B3B(
        BuiltInId::pow_Float4_Float4,
        BuiltInName::pow,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpPow,
        true);
    constexpr const TFunction kFunction_exp_0B(
        BuiltInId::exp_Float1,
        BuiltInName::exp,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpExp,
        true);
    constexpr const TFunction kFunction_exp_1B(
        BuiltInId::exp_Float2,
        BuiltInName::exp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpExp,
        true);
    constexpr const TFunction kFunction_exp_2B(
        BuiltInId::exp_Float3,
        BuiltInName::exp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpExp,
        true);
    constexpr const TFunction kFunction_exp_3B(
        BuiltInId::exp_Float4,
        BuiltInName::exp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpExp,
        true);
    constexpr const TFunction kFunction_log_0B(
        BuiltInId::log_Float1,
        BuiltInName::log,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpLog,
        true);
    constexpr const TFunction kFunction_log_1B(
        BuiltInId::log_Float2,
        BuiltInName::log,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLog,
        true);
    constexpr const TFunction kFunction_log_2B(
        BuiltInId::log_Float3,
        BuiltInName::log,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLog,
        true);
    constexpr const TFunction kFunction_log_3B(
        BuiltInId::log_Float4,
        BuiltInName::log,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLog,
        true);
    constexpr const TFunction kFunction_exp2_0B(
        BuiltInId::exp2_Float1,
        BuiltInName::exp2,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpExp2,
        true);
    constexpr const TFunction kFunction_exp2_1B(
        BuiltInId::exp2_Float2,
        BuiltInName::exp2,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpExp2,
        true);
    constexpr const TFunction kFunction_exp2_2B(
        BuiltInId::exp2_Float3,
        BuiltInName::exp2,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpExp2,
        true);
    constexpr const TFunction kFunction_exp2_3B(
        BuiltInId::exp2_Float4,
        BuiltInName::exp2,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpExp2,
        true);
    constexpr const TFunction kFunction_log2_0B(
        BuiltInId::log2_Float1,
        BuiltInName::log2,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpLog2,
        true);
    constexpr const TFunction kFunction_log2_1B(
        BuiltInId::log2_Float2,
        BuiltInName::log2,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLog2,
        true);
    constexpr const TFunction kFunction_log2_2B(
        BuiltInId::log2_Float3,
        BuiltInName::log2,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLog2,
        true);
    constexpr const TFunction kFunction_log2_3B(
        BuiltInId::log2_Float4,
        BuiltInName::log2,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLog2,
        true);
    constexpr const TFunction kFunction_sqrt_0B(
        BuiltInId::sqrt_Float1,
        BuiltInName::sqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpSqrt,
        true);
    constexpr const TFunction kFunction_sqrt_1B(
        BuiltInId::sqrt_Float2,
        BuiltInName::sqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpSqrt,
        true);
    constexpr const TFunction kFunction_sqrt_2B(
        BuiltInId::sqrt_Float3,
        BuiltInName::sqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpSqrt,
        true);
    constexpr const TFunction kFunction_sqrt_3B(
        BuiltInId::sqrt_Float4,
        BuiltInName::sqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpSqrt,
        true);
    constexpr const TFunction kFunction_inversesqrt_0B(
        BuiltInId::inversesqrt_Float1,
        BuiltInName::inversesqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpInversesqrt,
        true);
    constexpr const TFunction kFunction_inversesqrt_1B(
        BuiltInId::inversesqrt_Float2,
        BuiltInName::inversesqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpInversesqrt,
        true);
    constexpr const TFunction kFunction_inversesqrt_2B(
        BuiltInId::inversesqrt_Float3,
        BuiltInName::inversesqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpInversesqrt,
        true);
    constexpr const TFunction kFunction_inversesqrt_3B(
        BuiltInId::inversesqrt_Float4,
        BuiltInName::inversesqrt,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpInversesqrt,
        true);
    constexpr const TFunction kFunction_abs_0B(
        BuiltInId::abs_Float1,
        BuiltInName::abs,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAbs,
        true);
    constexpr const TFunction kFunction_abs_1B(
        BuiltInId::abs_Float2,
        BuiltInName::abs,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpAbs,
        true);
    constexpr const TFunction kFunction_abs_2B(
        BuiltInId::abs_Float3,
        BuiltInName::abs,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpAbs,
        true);
    constexpr const TFunction kFunction_abs_3B(
        BuiltInId::abs_Float4,
        BuiltInName::abs,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpAbs,
        true);
    constexpr const TFunction kFunction_abs_0C(BuiltInId::abs_Int1,
                                               BuiltInName::abs,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p0C0C_o_0C_o_0C,
                                               1,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                               EOpAbs,
                                               true);
    constexpr const TFunction kFunction_abs_1C(BuiltInId::abs_Int2,
                                               BuiltInName::abs,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p1C1C_o_1C_o_1C,
                                               1,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                               EOpAbs,
                                               true);
    constexpr const TFunction kFunction_abs_2C(BuiltInId::abs_Int3,
                                               BuiltInName::abs,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p2C2C0C0C,
                                               1,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                               EOpAbs,
                                               true);
    constexpr const TFunction kFunction_abs_3C(BuiltInId::abs_Int4,
                                               BuiltInName::abs,
                                               TExtension::UNDEFINED,
                                               BuiltInParameters::p3C0C0C,
                                               1,
                                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                               EOpAbs,
                                               true);
    constexpr const TFunction kFunction_sign_0B(
        BuiltInId::sign_Float1,
        BuiltInName::sign,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpSign,
        true);
    constexpr const TFunction kFunction_sign_1B(
        BuiltInId::sign_Float2,
        BuiltInName::sign,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpSign,
        true);
    constexpr const TFunction kFunction_sign_2B(
        BuiltInId::sign_Float3,
        BuiltInName::sign,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpSign,
        true);
    constexpr const TFunction kFunction_sign_3B(
        BuiltInId::sign_Float4,
        BuiltInName::sign,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpSign,
        true);
    constexpr const TFunction kFunction_sign_0C(
        BuiltInId::sign_Int1,
        BuiltInName::sign,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpSign,
        true);
    constexpr const TFunction kFunction_sign_1C(
        BuiltInId::sign_Int2,
        BuiltInName::sign,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpSign,
        true);
    constexpr const TFunction kFunction_sign_2C(
        BuiltInId::sign_Int3,
        BuiltInName::sign,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpSign,
        true);
    constexpr const TFunction kFunction_sign_3C(
        BuiltInId::sign_Int4,
        BuiltInName::sign,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpSign,
        true);
    constexpr const TFunction kFunction_floor_0B(
        BuiltInId::floor_Float1,
        BuiltInName::floor,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFloor,
        true);
    constexpr const TFunction kFunction_floor_1B(
        BuiltInId::floor_Float2,
        BuiltInName::floor,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFloor,
        true);
    constexpr const TFunction kFunction_floor_2B(
        BuiltInId::floor_Float3,
        BuiltInName::floor,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFloor,
        true);
    constexpr const TFunction kFunction_floor_3B(
        BuiltInId::floor_Float4,
        BuiltInName::floor,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFloor,
        true);
    constexpr const TFunction kFunction_trunc_0B(
        BuiltInId::trunc_Float1,
        BuiltInName::trunc,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpTrunc,
        true);
    constexpr const TFunction kFunction_trunc_1B(
        BuiltInId::trunc_Float2,
        BuiltInName::trunc,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpTrunc,
        true);
    constexpr const TFunction kFunction_trunc_2B(
        BuiltInId::trunc_Float3,
        BuiltInName::trunc,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpTrunc,
        true);
    constexpr const TFunction kFunction_trunc_3B(
        BuiltInId::trunc_Float4,
        BuiltInName::trunc,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpTrunc,
        true);
    constexpr const TFunction kFunction_round_0B(
        BuiltInId::round_Float1,
        BuiltInName::round,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpRound,
        true);
    constexpr const TFunction kFunction_round_1B(
        BuiltInId::round_Float2,
        BuiltInName::round,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpRound,
        true);
    constexpr const TFunction kFunction_round_2B(
        BuiltInId::round_Float3,
        BuiltInName::round,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpRound,
        true);
    constexpr const TFunction kFunction_round_3B(
        BuiltInId::round_Float4,
        BuiltInName::round,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpRound,
        true);
    constexpr const TFunction kFunction_roundEven_0B(
        BuiltInId::roundEven_Float1,
        BuiltInName::roundEven,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpRoundEven,
        true);
    constexpr const TFunction kFunction_roundEven_1B(
        BuiltInId::roundEven_Float2,
        BuiltInName::roundEven,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpRoundEven,
        true);
    constexpr const TFunction kFunction_roundEven_2B(
        BuiltInId::roundEven_Float3,
        BuiltInName::roundEven,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpRoundEven,
        true);
    constexpr const TFunction kFunction_roundEven_3B(
        BuiltInId::roundEven_Float4,
        BuiltInName::roundEven,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpRoundEven,
        true);
    constexpr const TFunction kFunction_ceil_0B(
        BuiltInId::ceil_Float1,
        BuiltInName::ceil,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCeil,
        true);
    constexpr const TFunction kFunction_ceil_1B(
        BuiltInId::ceil_Float2,
        BuiltInName::ceil,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCeil,
        true);
    constexpr const TFunction kFunction_ceil_2B(
        BuiltInId::ceil_Float3,
        BuiltInName::ceil,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCeil,
        true);
    constexpr const TFunction kFunction_ceil_3B(
        BuiltInId::ceil_Float4,
        BuiltInName::ceil,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCeil,
        true);
    constexpr const TFunction kFunction_fract_0B(
        BuiltInId::fract_Float1,
        BuiltInName::fract,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFract,
        true);
    constexpr const TFunction kFunction_fract_1B(
        BuiltInId::fract_Float2,
        BuiltInName::fract,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFract,
        true);
    constexpr const TFunction kFunction_fract_2B(
        BuiltInId::fract_Float3,
        BuiltInName::fract,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFract,
        true);
    constexpr const TFunction kFunction_fract_3B(
        BuiltInId::fract_Float4,
        BuiltInName::fract,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFract,
        true);
    constexpr const TFunction kFunction_mod_0B0B(
        BuiltInId::mod_Float1_Float1,
        BuiltInName::mod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMod,
        true);
    constexpr const TFunction kFunction_mod_1B0B(
        BuiltInId::mod_Float2_Float1,
        BuiltInName::mod,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMod,
        true);
    constexpr const TFunction kFunction_mod_2B0B(
        BuiltInId::mod_Float3_Float1,
        BuiltInName::mod,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMod,
        true);
    constexpr const TFunction kFunction_mod_3B0B(
        BuiltInId::mod_Float4_Float1,
        BuiltInName::mod,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMod,
        true);
    constexpr const TFunction kFunction_mod_1B1B(
        BuiltInId::mod_Float2_Float2,
        BuiltInName::mod,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMod,
        true);
    constexpr const TFunction kFunction_mod_2B2B(
        BuiltInId::mod_Float3_Float3,
        BuiltInName::mod,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMod,
        true);
    constexpr const TFunction kFunction_mod_3B3B(
        BuiltInId::mod_Float4_Float4,
        BuiltInName::mod,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMod,
        true);
    constexpr const TFunction kFunction_min_0B0B(
        BuiltInId::min_Float1_Float1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_1B0B(
        BuiltInId::min_Float2_Float1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_2B0B(
        BuiltInId::min_Float3_Float1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_3B0B(
        BuiltInId::min_Float4_Float1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_1B1B(
        BuiltInId::min_Float2_Float2,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_2B2B(
        BuiltInId::min_Float3_Float3,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_3B3B(
        BuiltInId::min_Float4_Float4,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_0C0C(
        BuiltInId::min_Int1_Int1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_1C1C(
        BuiltInId::min_Int2_Int2,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_2C2C(
        BuiltInId::min_Int3_Int3,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_3C3C(
        BuiltInId::min_Int4_Int4,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_1C0C(
        BuiltInId::min_Int2_Int1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_2C0C(
        BuiltInId::min_Int3_Int1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_3C0C(
        BuiltInId::min_Int4_Int1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_0D0D(
        BuiltInId::min_UInt1_UInt1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0D0C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_1D1D(
        BuiltInId::min_UInt2_UInt2,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_2D2D(
        BuiltInId::min_UInt3_UInt3,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_3D3D(
        BuiltInId::min_UInt4_UInt4,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_1D0D(
        BuiltInId::min_UInt2_UInt1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_2D0D(
        BuiltInId::min_UInt3_UInt1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_min_3D0D(
        BuiltInId::min_UInt4_UInt1,
        BuiltInName::min,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMin,
        true);
    constexpr const TFunction kFunction_max_0B0B(
        BuiltInId::max_Float1_Float1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_1B0B(
        BuiltInId::max_Float2_Float1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_2B0B(
        BuiltInId::max_Float3_Float1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_3B0B(
        BuiltInId::max_Float4_Float1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_1B1B(
        BuiltInId::max_Float2_Float2,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_2B2B(
        BuiltInId::max_Float3_Float3,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_3B3B(
        BuiltInId::max_Float4_Float4,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_0C0C(
        BuiltInId::max_Int1_Int1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_1C1C(
        BuiltInId::max_Int2_Int2,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_2C2C(
        BuiltInId::max_Int3_Int3,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_3C3C(
        BuiltInId::max_Int4_Int4,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_1C0C(
        BuiltInId::max_Int2_Int1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_2C0C(
        BuiltInId::max_Int3_Int1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_3C0C(
        BuiltInId::max_Int4_Int1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_0D0D(
        BuiltInId::max_UInt1_UInt1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0D0C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_1D1D(
        BuiltInId::max_UInt2_UInt2,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_2D2D(
        BuiltInId::max_UInt3_UInt3,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_3D3D(
        BuiltInId::max_UInt4_UInt4,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_1D0D(
        BuiltInId::max_UInt2_UInt1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_2D0D(
        BuiltInId::max_UInt3_UInt1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_max_3D0D(
        BuiltInId::max_UInt4_UInt1,
        BuiltInName::max,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMax,
        true);
    constexpr const TFunction kFunction_clamp_0B0B0B(
        BuiltInId::clamp_Float1_Float1_Float1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_1B0B0B(
        BuiltInId::clamp_Float2_Float1_Float1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B0B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_2B0B0B(
        BuiltInId::clamp_Float3_Float1_Float1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B0B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_3B0B0B(
        BuiltInId::clamp_Float4_Float1_Float1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_1B1B1B(
        BuiltInId::clamp_Float2_Float2_Float2,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B1B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_2B2B2B(
        BuiltInId::clamp_Float3_Float3_Float3,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B2B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_3B3B3B(
        BuiltInId::clamp_Float4_Float4_Float4,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B3B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_0C0C0C(
        BuiltInId::clamp_Int1_Int1_Int1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_1C0C0C(
        BuiltInId::clamp_Int2_Int1_Int1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_2C0C0C(
        BuiltInId::clamp_Int3_Int1_Int1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_3C0C0C(
        BuiltInId::clamp_Int4_Int1_Int1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_1C1C1C(
        BuiltInId::clamp_Int2_Int2_Int2,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_2C2C2C(
        BuiltInId::clamp_Int3_Int3_Int3,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C2C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_3C3C3C(
        BuiltInId::clamp_Int4_Int4_Int4,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_0D0D0D(
        BuiltInId::clamp_UInt1_UInt1_UInt1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0D0D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_1D0D0D(
        BuiltInId::clamp_UInt2_UInt1_UInt1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0D0D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_2D0D0D(
        BuiltInId::clamp_UInt3_UInt1_UInt1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D0D0D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_3D0D0D(
        BuiltInId::clamp_UInt4_UInt1_UInt1,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0D0D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_1D1D1D(
        BuiltInId::clamp_UInt2_UInt2_UInt2,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D1D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_2D2D2D(
        BuiltInId::clamp_UInt3_UInt3_UInt3,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D2D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_clamp_3D3D3D(
        BuiltInId::clamp_UInt4_UInt4_UInt4,
        BuiltInName::clamp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D3D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpClamp,
        true);
    constexpr const TFunction kFunction_mix_0B0B0B(
        BuiltInId::mix_Float1_Float1_Float1,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_1B1B0B(
        BuiltInId::mix_Float2_Float2_Float1,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_2B2B0B(
        BuiltInId::mix_Float3_Float3_Float1,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_3B3B0B(
        BuiltInId::mix_Float4_Float4_Float1,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_1B1B1B(
        BuiltInId::mix_Float2_Float2_Float2,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B1B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_2B2B2B(
        BuiltInId::mix_Float3_Float3_Float3,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B2B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_3B3B3B(
        BuiltInId::mix_Float4_Float4_Float4,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B3B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_0B0B0E(
        BuiltInId::mix_Float1_Float1_Bool1,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B0E,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_1B1B1E(
        BuiltInId::mix_Float2_Float2_Bool2,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B1E,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_2B2B2E(
        BuiltInId::mix_Float3_Float3_Bool3,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B2E,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_mix_3B3B3E(
        BuiltInId::mix_Float4_Float4_Bool4,
        BuiltInName::mix,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B3E,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpMix,
        true);
    constexpr const TFunction kFunction_step_0B0B(
        BuiltInId::step_Float1_Float1,
        BuiltInName::step,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpStep,
        true);
    constexpr const TFunction kFunction_step_1B1B(
        BuiltInId::step_Float2_Float2,
        BuiltInName::step,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpStep,
        true);
    constexpr const TFunction kFunction_step_2B2B(
        BuiltInId::step_Float3_Float3,
        BuiltInName::step,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpStep,
        true);
    constexpr const TFunction kFunction_step_3B3B(
        BuiltInId::step_Float4_Float4,
        BuiltInName::step,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpStep,
        true);
    constexpr const TFunction kFunction_step_0B1B(
        BuiltInId::step_Float1_Float2,
        BuiltInName::step,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpStep,
        true);
    constexpr const TFunction kFunction_step_0B2B(
        BuiltInId::step_Float1_Float3,
        BuiltInName::step,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpStep,
        true);
    constexpr const TFunction kFunction_step_0B3B(
        BuiltInId::step_Float1_Float4,
        BuiltInName::step,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpStep,
        true);
    constexpr const TFunction kFunction_smoothstep_0B0B0B(
        BuiltInId::smoothstep_Float1_Float1_Float1,
        BuiltInName::smoothstep,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpSmoothstep,
        true);
    constexpr const TFunction kFunction_smoothstep_1B1B1B(
        BuiltInId::smoothstep_Float2_Float2_Float2,
        BuiltInName::smoothstep,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B1B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpSmoothstep,
        true);
    constexpr const TFunction kFunction_smoothstep_2B2B2B(
        BuiltInId::smoothstep_Float3_Float3_Float3,
        BuiltInName::smoothstep,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B2B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpSmoothstep,
        true);
    constexpr const TFunction kFunction_smoothstep_3B3B3B(
        BuiltInId::smoothstep_Float4_Float4_Float4,
        BuiltInName::smoothstep,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B3B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpSmoothstep,
        true);
    constexpr const TFunction kFunction_smoothstep_0B0B1B(
        BuiltInId::smoothstep_Float1_Float1_Float2,
        BuiltInName::smoothstep,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpSmoothstep,
        true);
    constexpr const TFunction kFunction_smoothstep_0B0B2B(
        BuiltInId::smoothstep_Float1_Float1_Float3,
        BuiltInName::smoothstep,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B2B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpSmoothstep,
        true);
    constexpr const TFunction kFunction_smoothstep_0B0B3B(
        BuiltInId::smoothstep_Float1_Float1_Float4,
        BuiltInName::smoothstep,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B3B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpSmoothstep,
        true);
    constexpr const TFunction kFunction_modf_0B0B(
        BuiltInId::modf_Float1_Float1,
        BuiltInName::modf,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B_o_0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpModf,
        false);
    constexpr const TFunction kFunction_modf_1B1B(
        BuiltInId::modf_Float2_Float2,
        BuiltInName::modf,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B_o_1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpModf,
        false);
    constexpr const TFunction kFunction_modf_2B2B(
        BuiltInId::modf_Float3_Float3,
        BuiltInName::modf,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpModf,
        false);
    constexpr const TFunction kFunction_modf_3B3B(
        BuiltInId::modf_Float4_Float4,
        BuiltInName::modf,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B_o_3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpModf,
        false);
    constexpr const TFunction kFunction_isnan_0B(
        BuiltInId::isnan_Float1,
        BuiltInName::isnan,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpIsnan,
        true);
    constexpr const TFunction kFunction_isnan_1B(
        BuiltInId::isnan_Float2,
        BuiltInName::isnan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpIsnan,
        true);
    constexpr const TFunction kFunction_isnan_2B(
        BuiltInId::isnan_Float3,
        BuiltInName::isnan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpIsnan,
        true);
    constexpr const TFunction kFunction_isnan_3B(
        BuiltInId::isnan_Float4,
        BuiltInName::isnan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpIsnan,
        true);
    constexpr const TFunction kFunction_isinf_0B(
        BuiltInId::isinf_Float1,
        BuiltInName::isinf,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpIsinf,
        true);
    constexpr const TFunction kFunction_isinf_1B(
        BuiltInId::isinf_Float2,
        BuiltInName::isinf,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpIsinf,
        true);
    constexpr const TFunction kFunction_isinf_2B(
        BuiltInId::isinf_Float3,
        BuiltInName::isinf,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpIsinf,
        true);
    constexpr const TFunction kFunction_isinf_3B(
        BuiltInId::isinf_Float4,
        BuiltInName::isinf,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpIsinf,
        true);
    constexpr const TFunction kFunction_floatBitsToInt_0B(
        BuiltInId::floatBitsToInt_Float1,
        BuiltInName::floatBitsToInt,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFloatBitsToInt,
        true);
    constexpr const TFunction kFunction_floatBitsToInt_1B(
        BuiltInId::floatBitsToInt_Float2,
        BuiltInName::floatBitsToInt,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFloatBitsToInt,
        true);
    constexpr const TFunction kFunction_floatBitsToInt_2B(
        BuiltInId::floatBitsToInt_Float3,
        BuiltInName::floatBitsToInt,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFloatBitsToInt,
        true);
    constexpr const TFunction kFunction_floatBitsToInt_3B(
        BuiltInId::floatBitsToInt_Float4,
        BuiltInName::floatBitsToInt,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFloatBitsToInt,
        true);
    constexpr const TFunction kFunction_floatBitsToUint_0B(
        BuiltInId::floatBitsToUint_Float1,
        BuiltInName::floatBitsToUint,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFloatBitsToUint,
        true);
    constexpr const TFunction kFunction_floatBitsToUint_1B(
        BuiltInId::floatBitsToUint_Float2,
        BuiltInName::floatBitsToUint,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFloatBitsToUint,
        true);
    constexpr const TFunction kFunction_floatBitsToUint_2B(
        BuiltInId::floatBitsToUint_Float3,
        BuiltInName::floatBitsToUint,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFloatBitsToUint,
        true);
    constexpr const TFunction kFunction_floatBitsToUint_3B(
        BuiltInId::floatBitsToUint_Float4,
        BuiltInName::floatBitsToUint,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFloatBitsToUint,
        true);
    constexpr const TFunction kFunction_intBitsToFloat_0C(
        BuiltInId::intBitsToFloat_Int1,
        BuiltInName::intBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpIntBitsToFloat,
        true);
    constexpr const TFunction kFunction_intBitsToFloat_1C(
        BuiltInId::intBitsToFloat_Int2,
        BuiltInName::intBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpIntBitsToFloat,
        true);
    constexpr const TFunction kFunction_intBitsToFloat_2C(
        BuiltInId::intBitsToFloat_Int3,
        BuiltInName::intBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpIntBitsToFloat,
        true);
    constexpr const TFunction kFunction_intBitsToFloat_3C(
        BuiltInId::intBitsToFloat_Int4,
        BuiltInName::intBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpIntBitsToFloat,
        true);
    constexpr const TFunction kFunction_uintBitsToFloat_0D(
        BuiltInId::uintBitsToFloat_UInt1,
        BuiltInName::uintBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpUintBitsToFloat,
        true);
    constexpr const TFunction kFunction_uintBitsToFloat_1D(
        BuiltInId::uintBitsToFloat_UInt2,
        BuiltInName::uintBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUintBitsToFloat,
        true);
    constexpr const TFunction kFunction_uintBitsToFloat_2D(
        BuiltInId::uintBitsToFloat_UInt3,
        BuiltInName::uintBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpUintBitsToFloat,
        true);
    constexpr const TFunction kFunction_uintBitsToFloat_3D(
        BuiltInId::uintBitsToFloat_UInt4,
        BuiltInName::uintBitsToFloat,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpUintBitsToFloat,
        true);
    constexpr const TFunction kFunction_frexp_0B0C(
        BuiltInId::frexp_Float1_Int1,
        BuiltInName::frexp,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B_o_0C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFrexp,
        false);
    constexpr const TFunction kFunction_frexp_1B1C(
        BuiltInId::frexp_Float2_Int2,
        BuiltInName::frexp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B_o_1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFrexp,
        false);
    constexpr const TFunction kFunction_frexp_2B2C(
        BuiltInId::frexp_Float3_Int3,
        BuiltInName::frexp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFrexp,
        false);
    constexpr const TFunction kFunction_frexp_3B3C(
        BuiltInId::frexp_Float4_Int4,
        BuiltInName::frexp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B_o_3C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFrexp,
        false);
    constexpr const TFunction kFunction_ldexp_0B0C(
        BuiltInId::ldexp_Float1_Int1,
        BuiltInName::ldexp,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpLdexp,
        true);
    constexpr const TFunction kFunction_ldexp_1B1C(
        BuiltInId::ldexp_Float2_Int2,
        BuiltInName::ldexp,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLdexp,
        true);
    constexpr const TFunction kFunction_ldexp_2B2C(
        BuiltInId::ldexp_Float3_Int3,
        BuiltInName::ldexp,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLdexp,
        true);
    constexpr const TFunction kFunction_ldexp_3B3C(
        BuiltInId::ldexp_Float4_Int4,
        BuiltInName::ldexp,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLdexp,
        true);
    constexpr const TFunction kFunction_packSnorm2x16_1B(
        BuiltInId::packSnorm2x16_Float2,
        BuiltInName::packSnorm2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackSnorm2x16,
        true);
    constexpr const TFunction kFunction_packUnorm2x16_1B(
        BuiltInId::packUnorm2x16_Float2,
        BuiltInName::packUnorm2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackUnorm2x16,
        true);
    constexpr const TFunction kFunction_packHalf2x16_1B(
        BuiltInId::packHalf2x16_Float2,
        BuiltInName::packHalf2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackHalf2x16,
        true);
    constexpr const TFunction kFunction_unpackSnorm2x16_0D(
        BuiltInId::unpackSnorm2x16_UInt1,
        BuiltInName::unpackSnorm2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUnpackSnorm2x16,
        true);
    constexpr const TFunction kFunction_unpackUnorm2x16_0D(
        BuiltInId::unpackUnorm2x16_UInt1,
        BuiltInName::unpackUnorm2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUnpackUnorm2x16,
        true);
    constexpr const TFunction kFunction_unpackHalf2x16_0D(
        BuiltInId::unpackHalf2x16_UInt1,
        BuiltInName::unpackHalf2x16,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUnpackHalf2x16,
        true);
    constexpr const TFunction kFunction_packUnorm4x8_3B(
        BuiltInId::packUnorm4x8_Float4,
        BuiltInName::packUnorm4x8,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackUnorm4x8,
        true);
    constexpr const TFunction kFunction_packSnorm4x8_3B(
        BuiltInId::packSnorm4x8_Float4,
        BuiltInName::packSnorm4x8,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpPackSnorm4x8,
        true);
    constexpr const TFunction kFunction_unpackUnorm4x8_0D(
        BuiltInId::unpackUnorm4x8_UInt1,
        BuiltInName::unpackUnorm4x8,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpUnpackUnorm4x8,
        true);
    constexpr const TFunction kFunction_unpackSnorm4x8_0D(
        BuiltInId::unpackSnorm4x8_UInt1,
        BuiltInName::unpackSnorm4x8,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpUnpackSnorm4x8,
        true);
    constexpr const TFunction kFunction_length_0B(
        BuiltInId::length_Float1,
        BuiltInName::length,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpLength,
        true);
    constexpr const TFunction kFunction_length_1B(
        BuiltInId::length_Float2,
        BuiltInName::length,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpLength,
        true);
    constexpr const TFunction kFunction_length_2B(
        BuiltInId::length_Float3,
        BuiltInName::length,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpLength,
        true);
    constexpr const TFunction kFunction_length_3B(
        BuiltInId::length_Float4,
        BuiltInName::length,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpLength,
        true);
    constexpr const TFunction kFunction_distance_0B0B(
        BuiltInId::distance_Float1_Float1,
        BuiltInName::distance,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDistance,
        true);
    constexpr const TFunction kFunction_distance_1B1B(
        BuiltInId::distance_Float2_Float2,
        BuiltInName::distance,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDistance,
        true);
    constexpr const TFunction kFunction_distance_2B2B(
        BuiltInId::distance_Float3_Float3,
        BuiltInName::distance,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDistance,
        true);
    constexpr const TFunction kFunction_distance_3B3B(
        BuiltInId::distance_Float4_Float4,
        BuiltInName::distance,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDistance,
        true);
    constexpr const TFunction kFunction_dot_0B0B(
        BuiltInId::dot_Float1_Float1,
        BuiltInName::dot,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDot,
        true);
    constexpr const TFunction kFunction_dot_1B1B(
        BuiltInId::dot_Float2_Float2,
        BuiltInName::dot,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDot,
        true);
    constexpr const TFunction kFunction_dot_2B2B(
        BuiltInId::dot_Float3_Float3,
        BuiltInName::dot,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDot,
        true);
    constexpr const TFunction kFunction_dot_3B3B(
        BuiltInId::dot_Float4_Float4,
        BuiltInName::dot,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDot,
        true);
    constexpr const TFunction kFunction_cross_2B2B(
        BuiltInId::cross_Float3_Float3,
        BuiltInName::cross,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCross,
        true);
    constexpr const TFunction kFunction_normalize_0B(
        BuiltInId::normalize_Float1,
        BuiltInName::normalize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpNormalize,
        true);
    constexpr const TFunction kFunction_normalize_1B(
        BuiltInId::normalize_Float2,
        BuiltInName::normalize,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpNormalize,
        true);
    constexpr const TFunction kFunction_normalize_2B(
        BuiltInId::normalize_Float3,
        BuiltInName::normalize,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpNormalize,
        true);
    constexpr const TFunction kFunction_normalize_3B(
        BuiltInId::normalize_Float4,
        BuiltInName::normalize,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpNormalize,
        true);
    constexpr const TFunction kFunction_faceforward_0B0B0B(
        BuiltInId::faceforward_Float1_Float1_Float1,
        BuiltInName::faceforward,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFaceforward,
        true);
    constexpr const TFunction kFunction_faceforward_1B1B1B(
        BuiltInId::faceforward_Float2_Float2_Float2,
        BuiltInName::faceforward,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B1B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFaceforward,
        true);
    constexpr const TFunction kFunction_faceforward_2B2B2B(
        BuiltInId::faceforward_Float3_Float3_Float3,
        BuiltInName::faceforward,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B2B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFaceforward,
        true);
    constexpr const TFunction kFunction_faceforward_3B3B3B(
        BuiltInId::faceforward_Float4_Float4_Float4,
        BuiltInName::faceforward,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B3B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFaceforward,
        true);
    constexpr const TFunction kFunction_reflect_0B0B(
        BuiltInId::reflect_Float1_Float1,
        BuiltInName::reflect,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpReflect,
        true);
    constexpr const TFunction kFunction_reflect_1B1B(
        BuiltInId::reflect_Float2_Float2,
        BuiltInName::reflect,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpReflect,
        true);
    constexpr const TFunction kFunction_reflect_2B2B(
        BuiltInId::reflect_Float3_Float3,
        BuiltInName::reflect,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpReflect,
        true);
    constexpr const TFunction kFunction_reflect_3B3B(
        BuiltInId::reflect_Float4_Float4,
        BuiltInName::reflect,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpReflect,
        true);
    constexpr const TFunction kFunction_refract_0B0B0B(
        BuiltInId::refract_Float1_Float1_Float1,
        BuiltInName::refract,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpRefract,
        true);
    constexpr const TFunction kFunction_refract_1B1B0B(
        BuiltInId::refract_Float2_Float2_Float1,
        BuiltInName::refract,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpRefract,
        true);
    constexpr const TFunction kFunction_refract_2B2B0B(
        BuiltInId::refract_Float3_Float3_Float1,
        BuiltInName::refract,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpRefract,
        true);
    constexpr const TFunction kFunction_refract_3B3B0B(
        BuiltInId::refract_Float4_Float4_Float1,
        BuiltInName::refract,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpRefract,
        true);
    constexpr const TFunction kFunction_matrixCompMult_5B5B(
        BuiltInId::matrixCompMult_Float2x2_Float2x2,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::p5B5B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_matrixCompMult_ABAB(
        BuiltInId::matrixCompMult_Float3x3_Float3x3,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pABAB,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_matrixCompMult_FBFB(
        BuiltInId::matrixCompMult_Float4x4_Float4x4,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pFBFB,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_matrixCompMult_9B9B(
        BuiltInId::matrixCompMult_Float2x3_Float2x3,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::p9B9B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_matrixCompMult_6B6B(
        BuiltInId::matrixCompMult_Float3x2_Float3x2,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::p6B6B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_matrixCompMult_DBDB(
        BuiltInId::matrixCompMult_Float2x4_Float2x4,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pDBDB,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_matrixCompMult_7B7B(
        BuiltInId::matrixCompMult_Float4x2_Float4x2,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::p7B7B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_matrixCompMult_EBEB(
        BuiltInId::matrixCompMult_Float3x4_Float3x4,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pEBEB,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_matrixCompMult_BBBB(
        BuiltInId::matrixCompMult_Float4x3_Float4x3,
        BuiltInName::matrixCompMult,
        TExtension::UNDEFINED,
        BuiltInParameters::pBBBB,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
        EOpMulMatrixComponentWise,
        true);
    constexpr const TFunction kFunction_outerProduct_1B1B(
        BuiltInId::outerProduct_Float2_Float2,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_outerProduct_2B2B(
        BuiltInId::outerProduct_Float3_Float3,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_outerProduct_3B3B(
        BuiltInId::outerProduct_Float4_Float4,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_outerProduct_2B1B(
        BuiltInId::outerProduct_Float3_Float2,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_outerProduct_1B2B(
        BuiltInId::outerProduct_Float2_Float3,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_outerProduct_3B1B(
        BuiltInId::outerProduct_Float4_Float2,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_outerProduct_1B3B(
        BuiltInId::outerProduct_Float2_Float4,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_outerProduct_3B2B(
        BuiltInId::outerProduct_Float4_Float3,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_outerProduct_2B3B(
        BuiltInId::outerProduct_Float3_Float4,
        BuiltInName::outerProduct,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
        EOpOuterProduct,
        true);
    constexpr const TFunction kFunction_transpose_5B(
        BuiltInId::transpose_Float2x2,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::p5B5B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_transpose_AB(
        BuiltInId::transpose_Float3x3,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::pABAB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_transpose_FB(
        BuiltInId::transpose_Float4x4,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::pFBFB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_transpose_6B(
        BuiltInId::transpose_Float3x2,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::p6B6B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_transpose_9B(
        BuiltInId::transpose_Float2x3,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::p9B9B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_transpose_7B(
        BuiltInId::transpose_Float4x2,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::p7B7B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_transpose_DB(
        BuiltInId::transpose_Float2x4,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::pDBDB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_transpose_BB(
        BuiltInId::transpose_Float4x3,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::pBBBB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_transpose_EB(
        BuiltInId::transpose_Float3x4,
        BuiltInName::transpose,
        TExtension::UNDEFINED,
        BuiltInParameters::pEBEB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
        EOpTranspose,
        true);
    constexpr const TFunction kFunction_determinant_5B(
        BuiltInId::determinant_Float2x2,
        BuiltInName::determinant,
        TExtension::UNDEFINED,
        BuiltInParameters::p5B5B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDeterminant,
        true);
    constexpr const TFunction kFunction_determinant_AB(
        BuiltInId::determinant_Float3x3,
        BuiltInName::determinant,
        TExtension::UNDEFINED,
        BuiltInParameters::pABAB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDeterminant,
        true);
    constexpr const TFunction kFunction_determinant_FB(
        BuiltInId::determinant_Float4x4,
        BuiltInName::determinant,
        TExtension::UNDEFINED,
        BuiltInParameters::pFBFB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDeterminant,
        true);
    constexpr const TFunction kFunction_inverse_5B(
        BuiltInId::inverse_Float2x2,
        BuiltInName::inverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p5B5B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
        EOpInverse,
        true);
    constexpr const TFunction kFunction_inverse_AB(
        BuiltInId::inverse_Float3x3,
        BuiltInName::inverse,
        TExtension::UNDEFINED,
        BuiltInParameters::pABAB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
        EOpInverse,
        true);
    constexpr const TFunction kFunction_inverse_FB(
        BuiltInId::inverse_Float4x4,
        BuiltInName::inverse,
        TExtension::UNDEFINED,
        BuiltInParameters::pFBFB,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
        EOpInverse,
        true);
    constexpr const TFunction kFunction_lessThan_1B1B(
        BuiltInId::lessThan_Float2_Float2,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThan_2B2B(
        BuiltInId::lessThan_Float3_Float3,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThan_3B3B(
        BuiltInId::lessThan_Float4_Float4,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThan_1C1C(
        BuiltInId::lessThan_Int2_Int2,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThan_2C2C(
        BuiltInId::lessThan_Int3_Int3,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThan_3C3C(
        BuiltInId::lessThan_Int4_Int4,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThan_1D1D(
        BuiltInId::lessThan_UInt2_UInt2,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThan_2D2D(
        BuiltInId::lessThan_UInt3_UInt3,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThan_3D3D(
        BuiltInId::lessThan_UInt4_UInt4,
        BuiltInName::lessThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLessThanComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_1B1B(
        BuiltInId::lessThanEqual_Float2_Float2,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_2B2B(
        BuiltInId::lessThanEqual_Float3_Float3,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_3B3B(
        BuiltInId::lessThanEqual_Float4_Float4,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_1C1C(
        BuiltInId::lessThanEqual_Int2_Int2,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_2C2C(
        BuiltInId::lessThanEqual_Int3_Int3,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_3C3C(
        BuiltInId::lessThanEqual_Int4_Int4,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_1D1D(
        BuiltInId::lessThanEqual_UInt2_UInt2,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_2D2D(
        BuiltInId::lessThanEqual_UInt3_UInt3,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_lessThanEqual_3D3D(
        BuiltInId::lessThanEqual_UInt4_UInt4,
        BuiltInName::lessThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLessThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_1B1B(
        BuiltInId::greaterThan_Float2_Float2,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_2B2B(
        BuiltInId::greaterThan_Float3_Float3,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_3B3B(
        BuiltInId::greaterThan_Float4_Float4,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_1C1C(
        BuiltInId::greaterThan_Int2_Int2,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_2C2C(
        BuiltInId::greaterThan_Int3_Int3,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_3C3C(
        BuiltInId::greaterThan_Int4_Int4,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_1D1D(
        BuiltInId::greaterThan_UInt2_UInt2,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_2D2D(
        BuiltInId::greaterThan_UInt3_UInt3,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThan_3D3D(
        BuiltInId::greaterThan_UInt4_UInt4,
        BuiltInName::greaterThan,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_1B1B(
        BuiltInId::greaterThanEqual_Float2_Float2,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_2B2B(
        BuiltInId::greaterThanEqual_Float3_Float3,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_3B3B(
        BuiltInId::greaterThanEqual_Float4_Float4,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_1C1C(
        BuiltInId::greaterThanEqual_Int2_Int2,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_2C2C(
        BuiltInId::greaterThanEqual_Int3_Int3,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_3C3C(
        BuiltInId::greaterThanEqual_Int4_Int4,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_1D1D(
        BuiltInId::greaterThanEqual_UInt2_UInt2,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_2D2D(
        BuiltInId::greaterThanEqual_UInt3_UInt3,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_greaterThanEqual_3D3D(
        BuiltInId::greaterThanEqual_UInt4_UInt4,
        BuiltInName::greaterThanEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpGreaterThanEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_1B1B(
        BuiltInId::equal_Float2_Float2,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_2B2B(
        BuiltInId::equal_Float3_Float3,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_3B3B(
        BuiltInId::equal_Float4_Float4,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_1C1C(
        BuiltInId::equal_Int2_Int2,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_2C2C(
        BuiltInId::equal_Int3_Int3,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_3C3C(
        BuiltInId::equal_Int4_Int4,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_1D1D(
        BuiltInId::equal_UInt2_UInt2,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_2D2D(
        BuiltInId::equal_UInt3_UInt3,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_3D3D(
        BuiltInId::equal_UInt4_UInt4,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_1E1E(
        BuiltInId::equal_Bool2_Bool2,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p1E1E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_2E2E(
        BuiltInId::equal_Bool3_Bool3,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p2E2E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_equal_3E3E(
        BuiltInId::equal_Bool4_Bool4,
        BuiltInName::equal,
        TExtension::UNDEFINED,
        BuiltInParameters::p3E3E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_1B1B(
        BuiltInId::notEqual_Float2_Float2,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_2B2B(
        BuiltInId::notEqual_Float3_Float3,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B2B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_3B3B(
        BuiltInId::notEqual_Float4_Float4,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B3B0B,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_1C1C(
        BuiltInId::notEqual_Int2_Int2,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_2C2C(
        BuiltInId::notEqual_Int3_Int3,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_3C3C(
        BuiltInId::notEqual_Int4_Int4,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C3C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_1D1D(
        BuiltInId::notEqual_UInt2_UInt2,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_2D2D(
        BuiltInId::notEqual_UInt3_UInt3,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_3D3D(
        BuiltInId::notEqual_UInt4_UInt4,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_1E1E(
        BuiltInId::notEqual_Bool2_Bool2,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p1E1E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_2E2E(
        BuiltInId::notEqual_Bool3_Bool3,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p2E2E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_notEqual_3E3E(
        BuiltInId::notEqual_Bool4_Bool4,
        BuiltInName::notEqual,
        TExtension::UNDEFINED,
        BuiltInParameters::p3E3E,
        2,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpNotEqualComponentWise,
        true);
    constexpr const TFunction kFunction_any_1E(
        BuiltInId::any_Bool2,
        BuiltInName::any,
        TExtension::UNDEFINED,
        BuiltInParameters::p1E1E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAny,
        true);
    constexpr const TFunction kFunction_any_2E(
        BuiltInId::any_Bool3,
        BuiltInName::any,
        TExtension::UNDEFINED,
        BuiltInParameters::p2E2E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAny,
        true);
    constexpr const TFunction kFunction_any_3E(
        BuiltInId::any_Bool4,
        BuiltInName::any,
        TExtension::UNDEFINED,
        BuiltInParameters::p3E3E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAny,
        true);
    constexpr const TFunction kFunction_all_1E(
        BuiltInId::all_Bool2,
        BuiltInName::all,
        TExtension::UNDEFINED,
        BuiltInParameters::p1E1E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAll,
        true);
    constexpr const TFunction kFunction_all_2E(
        BuiltInId::all_Bool3,
        BuiltInName::all,
        TExtension::UNDEFINED,
        BuiltInParameters::p2E2E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAll,
        true);
    constexpr const TFunction kFunction_all_3E(
        BuiltInId::all_Bool4,
        BuiltInName::all,
        TExtension::UNDEFINED,
        BuiltInParameters::p3E3E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAll,
        true);
    constexpr const TFunction kFunction_notFunc_1E(
        BuiltInId::notFunc_Bool2,
        BuiltInName::notFunc,
        TExtension::UNDEFINED,
        BuiltInParameters::p1E1E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpLogicalNotComponentWise,
        true);
    constexpr const TFunction kFunction_notFunc_2E(
        BuiltInId::notFunc_Bool3,
        BuiltInName::notFunc,
        TExtension::UNDEFINED,
        BuiltInParameters::p2E2E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpLogicalNotComponentWise,
        true);
    constexpr const TFunction kFunction_notFunc_3E(
        BuiltInId::notFunc_Bool4,
        BuiltInName::notFunc,
        TExtension::UNDEFINED,
        BuiltInParameters::p3E3E,
        1,
        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpLogicalNotComponentWise,
        true);
    constexpr const TFunction kFunction_bitfieldExtract_0C0C0C(
        BuiltInId::bitfieldExtract_Int1_Int1_Int1,
        BuiltInName::bitfieldExtract,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitfieldExtract,
        true);
    constexpr const TFunction kFunction_bitfieldExtract_1C0C0C(
        BuiltInId::bitfieldExtract_Int2_Int1_Int1,
        BuiltInName::bitfieldExtract,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitfieldExtract,
        true);
    constexpr const TFunction kFunction_bitfieldExtract_2C0C0C(
        BuiltInId::bitfieldExtract_Int3_Int1_Int1,
        BuiltInName::bitfieldExtract,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitfieldExtract,
        true);
    constexpr const TFunction kFunction_bitfieldExtract_3C0C0C(
        BuiltInId::bitfieldExtract_Int4_Int1_Int1,
        BuiltInName::bitfieldExtract,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldExtract,
        true);
    constexpr const TFunction kFunction_bitfieldExtract_0D0C0C(
        BuiltInId::bitfieldExtract_UInt1_Int1_Int1,
        BuiltInName::bitfieldExtract,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitfieldExtract,
        true);
    constexpr const TFunction kFunction_bitfieldExtract_1D0C0C(
        BuiltInId::bitfieldExtract_UInt2_Int1_Int1,
        BuiltInName::bitfieldExtract,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitfieldExtract,
        true);
    constexpr const TFunction kFunction_bitfieldExtract_2D0C0C(
        BuiltInId::bitfieldExtract_UInt3_Int1_Int1,
        BuiltInName::bitfieldExtract,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D0C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitfieldExtract,
        true);
    constexpr const TFunction kFunction_bitfieldExtract_3D0C0C(
        BuiltInId::bitfieldExtract_UInt4_Int1_Int1,
        BuiltInName::bitfieldExtract,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldExtract,
        true);
    constexpr const TFunction kFunction_bitfieldInsert_0C0C0C0C(
        BuiltInId::bitfieldInsert_Int1_Int1_Int1_Int1,
        BuiltInName::bitfieldInsert,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C0C0C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction kFunction_bitfieldInsert_1C1C0C0C(
        BuiltInId::bitfieldInsert_Int2_Int2_Int1_Int1,
        BuiltInName::bitfieldInsert,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C0C0C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction kFunction_bitfieldInsert_2C2C0C0C(
        BuiltInId::bitfieldInsert_Int3_Int3_Int1_Int1,
        BuiltInName::bitfieldInsert,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction kFunction_bitfieldInsert_3C3C0C0C(
        BuiltInId::bitfieldInsert_Int4_Int4_Int1_Int1,
        BuiltInName::bitfieldInsert,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C0C0C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction kFunction_bitfieldInsert_0D0D0C0C(
        BuiltInId::bitfieldInsert_UInt1_UInt1_Int1_Int1,
        BuiltInName::bitfieldInsert,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0D0C0C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction kFunction_bitfieldInsert_1D1D0C0C(
        BuiltInId::bitfieldInsert_UInt2_UInt2_Int1_Int1,
        BuiltInName::bitfieldInsert,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D0C0C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction kFunction_bitfieldInsert_2D2D0C0C(
        BuiltInId::bitfieldInsert_UInt3_UInt3_Int1_Int1,
        BuiltInName::bitfieldInsert,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction kFunction_bitfieldInsert_3D3D0C0C(
        BuiltInId::bitfieldInsert_UInt4_UInt4_Int1_Int1,
        BuiltInName::bitfieldInsert,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D0C0C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldInsert,
        true);
    constexpr const TFunction kFunction_bitfieldReverse_0C(
        BuiltInId::bitfieldReverse_Int1,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction kFunction_bitfieldReverse_1C(
        BuiltInId::bitfieldReverse_Int2,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction kFunction_bitfieldReverse_2C(
        BuiltInId::bitfieldReverse_Int3,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction kFunction_bitfieldReverse_3C(
        BuiltInId::bitfieldReverse_Int4,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction kFunction_bitfieldReverse_0D(
        BuiltInId::bitfieldReverse_UInt1,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction kFunction_bitfieldReverse_1D(
        BuiltInId::bitfieldReverse_UInt2,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0C0C,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction kFunction_bitfieldReverse_2D(
        BuiltInId::bitfieldReverse_UInt3,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction kFunction_bitfieldReverse_3D(
        BuiltInId::bitfieldReverse_UInt4,
        BuiltInName::bitfieldReverse,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0C0C,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitfieldReverse,
        true);
    constexpr const TFunction kFunction_bitCount_0C(
        BuiltInId::bitCount_Int1,
        BuiltInName::bitCount,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitCount,
        true);
    constexpr const TFunction kFunction_bitCount_1C(
        BuiltInId::bitCount_Int2,
        BuiltInName::bitCount,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitCount,
        true);
    constexpr const TFunction kFunction_bitCount_2C(
        BuiltInId::bitCount_Int3,
        BuiltInName::bitCount,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitCount,
        true);
    constexpr const TFunction kFunction_bitCount_3C(
        BuiltInId::bitCount_Int4,
        BuiltInName::bitCount,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitCount,
        true);
    constexpr const TFunction kFunction_bitCount_0D(
        BuiltInId::bitCount_UInt1,
        BuiltInName::bitCount,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBitCount,
        true);
    constexpr const TFunction kFunction_bitCount_1D(
        BuiltInId::bitCount_UInt2,
        BuiltInName::bitCount,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpBitCount,
        true);
    constexpr const TFunction kFunction_bitCount_2D(
        BuiltInId::bitCount_UInt3,
        BuiltInName::bitCount,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpBitCount,
        true);
    constexpr const TFunction kFunction_bitCount_3D(
        BuiltInId::bitCount_UInt4,
        BuiltInName::bitCount,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpBitCount,
        true);
    constexpr const TFunction kFunction_findLSB_0C(
        BuiltInId::findLSB_Int1,
        BuiltInName::findLSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFindLSB,
        true);
    constexpr const TFunction kFunction_findLSB_1C(
        BuiltInId::findLSB_Int2,
        BuiltInName::findLSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFindLSB,
        true);
    constexpr const TFunction kFunction_findLSB_2C(
        BuiltInId::findLSB_Int3,
        BuiltInName::findLSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFindLSB,
        true);
    constexpr const TFunction kFunction_findLSB_3C(
        BuiltInId::findLSB_Int4,
        BuiltInName::findLSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFindLSB,
        true);
    constexpr const TFunction kFunction_findLSB_0D(
        BuiltInId::findLSB_UInt1,
        BuiltInName::findLSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFindLSB,
        true);
    constexpr const TFunction kFunction_findLSB_1D(
        BuiltInId::findLSB_UInt2,
        BuiltInName::findLSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFindLSB,
        true);
    constexpr const TFunction kFunction_findLSB_2D(
        BuiltInId::findLSB_UInt3,
        BuiltInName::findLSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFindLSB,
        true);
    constexpr const TFunction kFunction_findLSB_3D(
        BuiltInId::findLSB_UInt4,
        BuiltInName::findLSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFindLSB,
        true);
    constexpr const TFunction kFunction_findMSB_0C(
        BuiltInId::findMSB_Int1,
        BuiltInName::findMSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFindMSB,
        true);
    constexpr const TFunction kFunction_findMSB_1C(
        BuiltInId::findMSB_Int2,
        BuiltInName::findMSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFindMSB,
        true);
    constexpr const TFunction kFunction_findMSB_2C(
        BuiltInId::findMSB_Int3,
        BuiltInName::findMSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFindMSB,
        true);
    constexpr const TFunction kFunction_findMSB_3C(
        BuiltInId::findMSB_Int4,
        BuiltInName::findMSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFindMSB,
        true);
    constexpr const TFunction kFunction_findMSB_0D(
        BuiltInId::findMSB_UInt1,
        BuiltInName::findMSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFindMSB,
        true);
    constexpr const TFunction kFunction_findMSB_1D(
        BuiltInId::findMSB_UInt2,
        BuiltInName::findMSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFindMSB,
        true);
    constexpr const TFunction kFunction_findMSB_2D(
        BuiltInId::findMSB_UInt3,
        BuiltInName::findMSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFindMSB,
        true);
    constexpr const TFunction kFunction_findMSB_3D(
        BuiltInId::findMSB_UInt4,
        BuiltInName::findMSB,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D0C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFindMSB,
        true);
    constexpr const TFunction kFunction_uaddCarry_0D0D0D(
        BuiltInId::uaddCarry_UInt1_UInt1_UInt1,
        BuiltInName::uaddCarry,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0D_o_0D_o_0D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpUaddCarry,
        false);
    constexpr const TFunction kFunction_uaddCarry_1D1D1D(
        BuiltInId::uaddCarry_UInt2_UInt2_UInt2,
        BuiltInName::uaddCarry,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D_o_1D_o_1D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUaddCarry,
        false);
    constexpr const TFunction kFunction_uaddCarry_2D2D2D(
        BuiltInId::uaddCarry_UInt3_UInt3_UInt3,
        BuiltInName::uaddCarry,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D_o_2D_o_2D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpUaddCarry,
        false);
    constexpr const TFunction kFunction_uaddCarry_3D3D3D(
        BuiltInId::uaddCarry_UInt4_UInt4_UInt4,
        BuiltInName::uaddCarry,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D_o_3D_o_3D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpUaddCarry,
        false);
    constexpr const TFunction kFunction_usubBorrow_0D0D0D(
        BuiltInId::usubBorrow_UInt1_UInt1_UInt1,
        BuiltInName::usubBorrow,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0D_o_0D_o_0D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpUsubBorrow,
        false);
    constexpr const TFunction kFunction_usubBorrow_1D1D1D(
        BuiltInId::usubBorrow_UInt2_UInt2_UInt2,
        BuiltInName::usubBorrow,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D_o_1D_o_1D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpUsubBorrow,
        false);
    constexpr const TFunction kFunction_usubBorrow_2D2D2D(
        BuiltInId::usubBorrow_UInt3_UInt3_UInt3,
        BuiltInName::usubBorrow,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D_o_2D_o_2D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpUsubBorrow,
        false);
    constexpr const TFunction kFunction_usubBorrow_3D3D3D(
        BuiltInId::usubBorrow_UInt4_UInt4_UInt4,
        BuiltInName::usubBorrow,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D_o_3D_o_3D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpUsubBorrow,
        false);
    constexpr const TFunction kFunction_umulExtended_0D0D0D0D(
        BuiltInId::umulExtended_UInt1_UInt1_UInt1_UInt1,
        BuiltInName::umulExtended,
        TExtension::UNDEFINED,
        BuiltInParameters::p0D0D_o_0D_o_0D,
        4,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpUmulExtended,
        false);
    constexpr const TFunction kFunction_umulExtended_1D1D1D1D(
        BuiltInId::umulExtended_UInt2_UInt2_UInt2_UInt2,
        BuiltInName::umulExtended,
        TExtension::UNDEFINED,
        BuiltInParameters::p1D1D_o_1D_o_1D,
        4,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpUmulExtended,
        false);
    constexpr const TFunction kFunction_umulExtended_2D2D2D2D(
        BuiltInId::umulExtended_UInt3_UInt3_UInt3_UInt3,
        BuiltInName::umulExtended,
        TExtension::UNDEFINED,
        BuiltInParameters::p2D2D_o_2D_o_2D,
        4,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpUmulExtended,
        false);
    constexpr const TFunction kFunction_umulExtended_3D3D3D3D(
        BuiltInId::umulExtended_UInt4_UInt4_UInt4_UInt4,
        BuiltInName::umulExtended,
        TExtension::UNDEFINED,
        BuiltInParameters::p3D3D_o_3D_o_3D,
        4,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpUmulExtended,
        false);
    constexpr const TFunction kFunction_imulExtended_0C0C0C0C(
        BuiltInId::imulExtended_Int1_Int1_Int1_Int1,
        BuiltInName::imulExtended,
        TExtension::UNDEFINED,
        BuiltInParameters::p0C0C_o_0C_o_0C,
        4,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpImulExtended,
        false);
    constexpr const TFunction kFunction_imulExtended_1C1C1C1C(
        BuiltInId::imulExtended_Int2_Int2_Int2_Int2,
        BuiltInName::imulExtended,
        TExtension::UNDEFINED,
        BuiltInParameters::p1C1C_o_1C_o_1C,
        4,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpImulExtended,
        false);
    constexpr const TFunction kFunction_imulExtended_2C2C2C2C(
        BuiltInId::imulExtended_Int3_Int3_Int3_Int3,
        BuiltInName::imulExtended,
        TExtension::UNDEFINED,
        BuiltInParameters::p2C2C_o_2C_o_2C,
        4,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpImulExtended,
        false);
    constexpr const TFunction kFunction_imulExtended_3C3C3C3C(
        BuiltInId::imulExtended_Int4_Int4_Int4_Int4,
        BuiltInName::imulExtended,
        TExtension::UNDEFINED,
        BuiltInParameters::p3C3C_o_3C_o_3C,
        4,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpImulExtended,
        false);
    constexpr const TFunction kFunction_texture2D_0H1B(
        BuiltInId::texture2D_Sampler2D1_Float2,
        BuiltInName::texture2D,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1B1B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProj_0H2B(
        BuiltInId::texture2DProj_Sampler2D1_Float3,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProj_0H3B(
        BuiltInId::texture2DProj_Sampler2D1_Float4,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureCube_0J2B(
        BuiltInId::textureCube_SamplerCube1_Float3,
        BuiltInName::textureCube,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B2B2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2D_0L1B(
        BuiltInId::texture2D_SamplerExternalOES1_Float2,
        BuiltInName::texture2D,
        TExtension::UNDEFINED,
        BuiltInParameters::p0L1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProj_0L2B(
        BuiltInId::texture2DProj_SamplerExternalOES1_Float3,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0L2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProj_0L3B(
        BuiltInId::texture2DProj_SamplerExternalOES1_Float4,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0L3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DRect_0N1B(
        BuiltInId::texture2DRect_Sampler2DRect1_Float2,
        BuiltInName::texture2DRect,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p0N1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DRectProj_0N2B(
        BuiltInId::texture2DRectProj_Sampler2DRect1_Float3,
        BuiltInName::texture2DRectProj,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p0N2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DRectProj_0N3B(
        BuiltInId::texture2DRectProj_Sampler2DRect1_Float4,
        BuiltInName::texture2DRectProj,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p0N3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0N1B(
        BuiltInId::texture_Sampler2DRect1_Float2,
        BuiltInName::texture,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p0N1B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0N2B(
        BuiltInId::textureProj_Sampler2DRect1_Float3,
        BuiltInName::textureProj,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p0N2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0N3B(
        BuiltInId::textureProj_Sampler2DRect1_Float4,
        BuiltInName::textureProj,
        TExtension::ARB_texture_rectangle,
        BuiltInParameters::p0N3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DGradEXT_0H1B1B1B(
        BuiltInId::texture2DGradEXT_Sampler2D1_Float2_Float2_Float2,
        BuiltInName::texture2DGradEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p0H1B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProjGradEXT_0H2B1B1B(
        BuiltInId::texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2,
        BuiltInName::texture2DProjGradEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p0H2B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProjGradEXT_0H3B1B1B(
        BuiltInId::texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2,
        BuiltInName::texture2DProjGradEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p0H3B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureCubeGradEXT_0J2B2B2B(
        BuiltInId::textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3,
        BuiltInName::textureCubeGradEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p0J2B2B2B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2D_0H1B0B(
        BuiltInId::texture2D_Sampler2D1_Float2_Float1,
        BuiltInName::texture2D,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProj_0H2B0B(
        BuiltInId::texture2DProj_Sampler2D1_Float3_Float1,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProj_0H3B0B(
        BuiltInId::texture2DProj_Sampler2D1_Float4_Float1,
        BuiltInName::texture2DProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureCube_0J2B0B(
        BuiltInId::textureCube_SamplerCube1_Float3_Float1,
        BuiltInName::textureCube,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_dFdxExt_0B(
        BuiltInId::dFdxExt_Float1,
        BuiltInName::dFdxExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDFdx,
        false);
    constexpr const TFunction kFunction_dFdxExt_1B(
        BuiltInId::dFdxExt_Float2,
        BuiltInName::dFdxExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpDFdx,
        false);
    constexpr const TFunction kFunction_dFdxExt_2B(
        BuiltInId::dFdxExt_Float3,
        BuiltInName::dFdxExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpDFdx,
        false);
    constexpr const TFunction kFunction_dFdxExt_3B(
        BuiltInId::dFdxExt_Float4,
        BuiltInName::dFdxExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpDFdx,
        false);
    constexpr const TFunction kFunction_dFdyExt_0B(
        BuiltInId::dFdyExt_Float1,
        BuiltInName::dFdyExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDFdy,
        false);
    constexpr const TFunction kFunction_dFdyExt_1B(
        BuiltInId::dFdyExt_Float2,
        BuiltInName::dFdyExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpDFdy,
        false);
    constexpr const TFunction kFunction_dFdyExt_2B(
        BuiltInId::dFdyExt_Float3,
        BuiltInName::dFdyExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpDFdy,
        false);
    constexpr const TFunction kFunction_dFdyExt_3B(
        BuiltInId::dFdyExt_Float4,
        BuiltInName::dFdyExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpDFdy,
        false);
    constexpr const TFunction kFunction_fwidthExt_0B(
        BuiltInId::fwidthExt_Float1,
        BuiltInName::fwidthExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFwidth,
        false);
    constexpr const TFunction kFunction_fwidthExt_1B(
        BuiltInId::fwidthExt_Float2,
        BuiltInName::fwidthExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFwidth,
        false);
    constexpr const TFunction kFunction_fwidthExt_2B(
        BuiltInId::fwidthExt_Float3,
        BuiltInName::fwidthExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFwidth,
        false);
    constexpr const TFunction kFunction_fwidthExt_3B(
        BuiltInId::fwidthExt_Float4,
        BuiltInName::fwidthExt,
        TExtension::OES_standard_derivatives,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFwidth,
        false);
    constexpr const TFunction kFunction_texture2DLodEXT_0H1B0B(
        BuiltInId::texture2DLodEXT_Sampler2D1_Float2_Float1,
        BuiltInName::texture2DLodEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p0H1B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProjLodEXT_0H2B0B(
        BuiltInId::texture2DProjLodEXT_Sampler2D1_Float3_Float1,
        BuiltInName::texture2DProjLodEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p0H2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProjLodEXT_0H3B0B(
        BuiltInId::texture2DProjLodEXT_Sampler2D1_Float4_Float1,
        BuiltInName::texture2DProjLodEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p0H3B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureCubeLodEXT_0J2B0B(
        BuiltInId::textureCubeLodEXT_SamplerCube1_Float3_Float1,
        BuiltInName::textureCubeLodEXT,
        TExtension::EXT_shader_texture_lod,
        BuiltInParameters::p0J2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DLod_0H1B0B(
        BuiltInId::texture2DLod_Sampler2D1_Float2_Float1,
        BuiltInName::texture2DLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProjLod_0H2B0B(
        BuiltInId::texture2DProjLod_Sampler2D1_Float3_Float1,
        BuiltInName::texture2DProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture2DProjLod_0H3B0B(
        BuiltInId::texture2DProjLod_Sampler2D1_Float4_Float1,
        BuiltInName::texture2DProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureCubeLod_0J2B0B(
        BuiltInId::textureCubeLod_SamplerCube1_Float3_Float1,
        BuiltInName::textureCubeLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0H1B(
        BuiltInId::texture_Sampler2D1_Float2,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1B1B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0Q1B(
        BuiltInId::texture_ISampler2D1_Float2,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B1B1B1C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0W1B(
        BuiltInId::texture_USampler2D1_Float2,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B1C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0I2B(
        BuiltInId::texture_Sampler3D1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2B0B2C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0R2B(
        BuiltInId::texture_ISampler3D1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2B0B2C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0X2B(
        BuiltInId::texture_USampler3D1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2B0B2C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0J2B(
        BuiltInId::texture_SamplerCube1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B2B2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0S2B(
        BuiltInId::texture_ISamplerCube1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0S2B0B,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0Y2B(
        BuiltInId::texture_USamplerCube1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Y2B0B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0K2B(
        BuiltInId::texture_Sampler2DArray1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0T2B(
        BuiltInId::texture_ISampler2DArray1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B1B1B1C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0Z2B(
        BuiltInId::texture_USampler2DArray1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B1B1B1C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0H2B(
        BuiltInId::textureProj_Sampler2D1_Float3,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0Q2B(
        BuiltInId::textureProj_ISampler2D1_Float3,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q2B1B1B1C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0W2B(
        BuiltInId::textureProj_USampler2D1_Float3,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W2B1C0B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0H3B(
        BuiltInId::textureProj_Sampler2D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0Q3B(
        BuiltInId::textureProj_ISampler2D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q3B1B1B1C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0W3B(
        BuiltInId::textureProj_USampler2D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W3B1B1B1C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0I3B(
        BuiltInId::textureProj_Sampler3D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I3B2C0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0R3B(
        BuiltInId::textureProj_ISampler3D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R3B0B2C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0X3B(
        BuiltInId::textureProj_USampler3D1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X3B2B2B2C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0H1B0B(
        BuiltInId::textureLod_Sampler2D1_Float2_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0Q1B0B(
        BuiltInId::textureLod_ISampler2D1_Float2_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B0B1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0W1B0B(
        BuiltInId::textureLod_USampler2D1_Float2_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B0B1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0I2B0B(
        BuiltInId::textureLod_Sampler3D1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2B0B2C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0R2B0B(
        BuiltInId::textureLod_ISampler3D1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2B0B2C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0X2B0B(
        BuiltInId::textureLod_USampler3D1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2B0B2C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0J2B0B(
        BuiltInId::textureLod_SamplerCube1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0S2B0B(
        BuiltInId::textureLod_ISamplerCube1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0S2B0B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0Y2B0B(
        BuiltInId::textureLod_USamplerCube1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Y2B0B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0K2B0B(
        BuiltInId::textureLod_Sampler2DArray1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0T2B0B(
        BuiltInId::textureLod_ISampler2DArray1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B0B1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0Z2B0B(
        BuiltInId::textureLod_USampler2DArray1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B0B1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0c2B(
        BuiltInId::texture_Sampler2DShadow1_Float3,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c2B1B1B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0d3B(
        BuiltInId::texture_SamplerCubeShadow1_Float4,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0d3B2B2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0e3B(
        BuiltInId::texture_Sampler2DArrayShadow1_Float4,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0e3B1B1B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0c3B(
        BuiltInId::textureProj_Sampler2DShadow1_Float4,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c3B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLod_0c2B0B(
        BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1,
        BuiltInName::textureLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0H0C(
        BuiltInId::textureSize_Sampler2D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0Q0C(
        BuiltInId::textureSize_ISampler2D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0W0C(
        BuiltInId::textureSize_USampler2D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0I0C(
        BuiltInId::textureSize_Sampler3D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0R0C(
        BuiltInId::textureSize_ISampler3D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0X0C(
        BuiltInId::textureSize_USampler3D1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0J0C(
        BuiltInId::textureSize_SamplerCube1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0S0C(
        BuiltInId::textureSize_ISamplerCube1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0S0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0Y0C(
        BuiltInId::textureSize_USamplerCube1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Y0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0K0C(
        BuiltInId::textureSize_Sampler2DArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0T0C(
        BuiltInId::textureSize_ISampler2DArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0Z0C(
        BuiltInId::textureSize_USampler2DArray1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0c0C(
        BuiltInId::textureSize_Sampler2DShadow1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0d0C(
        BuiltInId::textureSize_SamplerCubeShadow1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0d0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0e0C(
        BuiltInId::textureSize_Sampler2DArrayShadow1_Int1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0e0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0H2B0B(
        BuiltInId::textureProjLod_Sampler2D1_Float3_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0Q2B0B(
        BuiltInId::textureProjLod_ISampler2D1_Float3_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q2B0B1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0W2B0B(
        BuiltInId::textureProjLod_USampler2D1_Float3_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W2B0B1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0H3B0B(
        BuiltInId::textureProjLod_Sampler2D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0Q3B0B(
        BuiltInId::textureProjLod_ISampler2D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q3B0B1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0W3B0B(
        BuiltInId::textureProjLod_USampler2D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W3B0B1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0I3B0B(
        BuiltInId::textureProjLod_Sampler3D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I3B0B2C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0R3B0B(
        BuiltInId::textureProjLod_ISampler3D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R3B0B2C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0X3B0B(
        BuiltInId::textureProjLod_USampler3D1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X3B0B2C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLod_0c3B0B(
        BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1,
        BuiltInName::textureProjLod,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c3B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0H1C0C(
        BuiltInId::texelFetch_Sampler2D1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1C0C1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0Q1C0C(
        BuiltInId::texelFetch_ISampler2D1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1C0C1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0W1C0C(
        BuiltInId::texelFetch_USampler2D1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1C0C1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0I2C0C(
        BuiltInId::texelFetch_Sampler3D1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2C0C2C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0R2C0C(
        BuiltInId::texelFetch_ISampler3D1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2C0C2C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0X2C0C(
        BuiltInId::texelFetch_USampler3D1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2C0C2C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0K2C0C(
        BuiltInId::texelFetch_Sampler2DArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2C0C1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0T2C0C(
        BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2C0C1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0Z2C0C(
        BuiltInId::texelFetch_USampler2DArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2C0C1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0H1B1B1B(
        BuiltInId::textureGrad_Sampler2D1_Float2_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0Q1B1B1B(
        BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B1B1B1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0W1B1B1B(
        BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B1B1B1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0I2B2B2B(
        BuiltInId::textureGrad_Sampler3D1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2B2B2B2C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0R2B2B2B(
        BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2B2B2B2C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0X2B2B2B(
        BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2B2B2B2C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0J2B2B2B(
        BuiltInId::textureGrad_SamplerCube1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B2B2B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0S2B2B2B(
        BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0S2B2B2B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0Y2B2B2B(
        BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Y2B2B2B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0c2B1B1B(
        BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c2B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0d3B2B2B(
        BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0d3B2B2B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0K2B1B1B(
        BuiltInId::textureGrad_Sampler2DArray1_Float3_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0T2B1B1B(
        BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B1B1B1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0Z2B1B1B(
        BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B1B1B1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGrad_0e3B1B1B(
        BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2,
        BuiltInName::textureGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0e3B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0H2B1B1B(
        BuiltInId::textureProjGrad_Sampler2D1_Float3_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0Q2B1B1B(
        BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q2B1B1B1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0W2B1B1B(
        BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W2B1B1B1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0H3B1B1B(
        BuiltInId::textureProjGrad_Sampler2D1_Float4_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0Q3B1B1B(
        BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q3B1B1B1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0W3B1B1B(
        BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W3B1B1B1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0I3B2B2B(
        BuiltInId::textureProjGrad_Sampler3D1_Float4_Float3_Float3,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I3B2B2B2C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0R3B2B2B(
        BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R3B2B2B2C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0X3B2B2B(
        BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X3B2B2B2C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGrad_0c3B1B1B(
        BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2,
        BuiltInName::textureProjGrad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c3B1B1B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0O(
        BuiltInId::textureSize_Sampler2DMS1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0O1C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0U(
        BuiltInId::textureSize_ISampler2DMS1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0U1C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0a(
        BuiltInId::textureSize_USampler2DMS1,
        BuiltInName::textureSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0a1C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSizeExt_0O(
        BuiltInId::textureSizeExt_Sampler2DMS1,
        BuiltInName::textureSizeExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p0O1C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSizeExt_0U(
        BuiltInId::textureSizeExt_ISampler2DMS1,
        BuiltInName::textureSizeExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p0U1C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSizeExt_0a(
        BuiltInId::textureSizeExt_USampler2DMS1,
        BuiltInName::textureSizeExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p0a1C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0P(
        BuiltInId::textureSize_Sampler2DMSArray1,
        BuiltInName::textureSize,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p0P2C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0V(
        BuiltInId::textureSize_ISampler2DMSArray1,
        BuiltInName::textureSize,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p0V2C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0b(
        BuiltInId::textureSize_USampler2DMSArray1,
        BuiltInName::textureSize,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p0b2C0C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0H1B1C(
        BuiltInId::textureOffset_Sampler2D1_Float2_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1C0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0Q1B1C(
        BuiltInId::textureOffset_ISampler2D1_Float2_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B1C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0W1B1C(
        BuiltInId::textureOffset_USampler2D1_Float2_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B1C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0I2B2C(
        BuiltInId::textureOffset_Sampler3D1_Float3_Int3,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2B2C0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0R2B2C(
        BuiltInId::textureOffset_ISampler3D1_Float3_Int3,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2B2C0B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0X2B2C(
        BuiltInId::textureOffset_USampler3D1_Float3_Int3,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2B2C0B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0c2B1C(
        BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c2B1C0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0K2B1C(
        BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B1C0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0T2B1C(
        BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B1C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0Z2B1C(
        BuiltInId::textureOffset_USampler2DArray1_Float3_Int2,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B1C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0H2B1C(
        BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B1C0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0Q2B1C(
        BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q2B1C0B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0W2B1C(
        BuiltInId::textureProjOffset_USampler2D1_Float3_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W2B1C0B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0H3B1C(
        BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B1C0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0Q3B1C(
        BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q3B1C0B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0W3B1C(
        BuiltInId::textureProjOffset_USampler2D1_Float4_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W3B1C0B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0I3B2C(
        BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I3B2C0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0R3B2C(
        BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R3B2C0B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0X3B2C(
        BuiltInId::textureProjOffset_USampler3D1_Float4_Int3,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X3B2C0B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0c3B1C(
        BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c3B1C0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0H1B0B1C(
        BuiltInId::textureLodOffset_Sampler2D1_Float2_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B0B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0Q1B0B1C(
        BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B0B1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0W1B0B1C(
        BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B0B1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0I2B0B2C(
        BuiltInId::textureLodOffset_Sampler3D1_Float3_Float1_Int3,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2B0B2C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0R2B0B2C(
        BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2B0B2C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0X2B0B2C(
        BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2B0B2C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0c2B0B1C(
        BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c2B0B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0K2B0B1C(
        BuiltInId::textureLodOffset_Sampler2DArray1_Float3_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B0B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0T2B0B1C(
        BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B0B1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureLodOffset_0Z2B0B1C(
        BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2,
        BuiltInName::textureLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B0B1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0H2B0B1C(
        BuiltInId::textureProjLodOffset_Sampler2D1_Float3_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B0B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0Q2B0B1C(
        BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q2B0B1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0W2B0B1C(
        BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W2B0B1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0H3B0B1C(
        BuiltInId::textureProjLodOffset_Sampler2D1_Float4_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B0B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0Q3B0B1C(
        BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q3B0B1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0W3B0B1C(
        BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W3B0B1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0I3B0B2C(
        BuiltInId::textureProjLodOffset_Sampler3D1_Float4_Float1_Int3,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I3B0B2C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0R3B0B2C(
        BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R3B0B2C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0X3B0B2C(
        BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X3B0B2C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjLodOffset_0c3B0B1C(
        BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2,
        BuiltInName::textureProjLodOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c3B0B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0H1C0C1C(
        BuiltInId::texelFetchOffset_Sampler2D1_Int2_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1C0C1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0Q1C0C1C(
        BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1C0C1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0W1C0C1C(
        BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1C0C1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0I2C0C2C(
        BuiltInId::texelFetchOffset_Sampler3D1_Int3_Int1_Int3,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2C0C2C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0R2C0C2C(
        BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2C0C2C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0X2C0C2C(
        BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2C0C2C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0K2C0C1C(
        BuiltInId::texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2C0C1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0T2C0C1C(
        BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2C0C1C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchOffset_0Z2C0C1C(
        BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2,
        BuiltInName::texelFetchOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2C0C1C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0H1B1B1B1C(
        BuiltInId::textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1B1B1C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0Q1B1B1B1C(
        BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B1B1B1C,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0W1B1B1B1C(
        BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B1B1B1C,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0I2B2B2B2C(
        BuiltInId::textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2B2B2B2C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0R2B2B2B2C(
        BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2B2B2B2C,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0X2B2B2B2C(
        BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2B2B2B2C,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0c2B1B1B1C(
        BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c2B1B1B1C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0K2B1B1B1C(
        BuiltInId::textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B1B1B1C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0T2B1B1B1C(
        BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B1B1B1C,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0Z2B1B1B1C(
        BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B1B1B1C,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGradOffset_0e3B1B1B1C(
        BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2,
        BuiltInName::textureGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0e3B1B1B1C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0H2B1B1B1C(
        BuiltInId::textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B1B1B1C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0Q2B1B1B1C(
        BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q2B1B1B1C,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0W2B1B1B1C(
        BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W2B1B1B1C,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0H3B1B1B1C(
        BuiltInId::textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B1B1B1C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0Q3B1B1B1C(
        BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q3B1B1B1C,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0W3B1B1B1C(
        BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W3B1B1B1C,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0I3B2B2B2C(
        BuiltInId::textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I3B2B2B2C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0R3B2B2B2C(
        BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R3B2B2B2C,
        5,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0X3B2B2B2C(
        BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X3B2B2B2C,
        5,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjGradOffset_0c3B1B1B1C(
        BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2,
        BuiltInName::textureProjGradOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c3B1B1B1C,
        5,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0H1B1C0B(
        BuiltInId::textureOffset_Sampler2D1_Float2_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1C0B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0Q1B1C0B(
        BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B1C0B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0W1B1C0B(
        BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B1C0B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0I2B2C0B(
        BuiltInId::textureOffset_Sampler3D1_Float3_Int3_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2B2C0B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0R2B2C0B(
        BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2B2C0B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0X2B2C0B(
        BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2B2C0B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0c2B1C0B(
        BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c2B1C0B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0K2B1C0B(
        BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B1C0B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0T2B1C0B(
        BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B1C0B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureOffset_0Z2B1C0B(
        BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1,
        BuiltInName::textureOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B1C0B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0H2B1C0B(
        BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B1C0B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0Q2B1C0B(
        BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q2B1C0B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0W2B1C0B(
        BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W2B1C0B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0H3B1C0B(
        BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B1C0B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0Q3B1C0B(
        BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q3B1C0B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0W3B1C0B(
        BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W3B1C0B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0I3B2C0B(
        BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I3B2C0B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0R3B2C0B(
        BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R3B2C0B,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0X3B2C0B(
        BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X3B2C0B,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProjOffset_0c3B1C0B(
        BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1,
        BuiltInName::textureProjOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c3B1C0B,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0L1B(
        BuiltInId::texture_SamplerExternalOES1_Float2,
        BuiltInName::texture,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p0L1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0L2B(
        BuiltInId::textureProj_SamplerExternalOES1_Float3,
        BuiltInName::textureProj,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p0L2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0L3B(
        BuiltInId::textureProj_SamplerExternalOES1_Float4,
        BuiltInName::textureProj,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p0L3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0L0C(
        BuiltInId::textureSize_SamplerExternalOES1_Int1,
        BuiltInName::textureSize,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p0L0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0L1C0C(
        BuiltInId::texelFetch_SamplerExternalOES1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p0L1C0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0M1B(
        BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2,
        BuiltInName::texture,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p0M1B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0M2B(
        BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3,
        BuiltInName::textureProj,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p0M2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0M3B(
        BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4,
        BuiltInName::textureProj,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p0M3B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_rgb_2_yuv_2B0G(
        BuiltInId::rgb_2_yuv_Float3_YuvCscStandardEXT1,
        BuiltInName::rgb_2_yuv,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p2B0G,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_yuv_2_rgb_2B0G(
        BuiltInId::yuv_2_rgb_Float3_YuvCscStandardEXT1,
        BuiltInName::yuv_2_rgb,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p2B0G,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureSize_0M0C(
        BuiltInId::textureSize_SamplerExternal2DY2YEXT1_Int1,
        BuiltInName::textureSize,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p0M0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0M1C0C(
        BuiltInId::texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p0M1C0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0H1B0B(
        BuiltInId::texture_Sampler2D1_Float2_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0Q1B0B(
        BuiltInId::texture_ISampler2D1_Float2_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B0B1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0W1B0B(
        BuiltInId::texture_USampler2D1_Float2_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B0B1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0I2B0B(
        BuiltInId::texture_Sampler3D1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I2B0B2C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0R2B0B(
        BuiltInId::texture_ISampler3D1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R2B0B2C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0X2B0B(
        BuiltInId::texture_USampler3D1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X2B0B2C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0J2B0B(
        BuiltInId::texture_SamplerCube1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0S2B0B(
        BuiltInId::texture_ISamplerCube1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0S2B0B,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0Y2B0B(
        BuiltInId::texture_USamplerCube1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Y2B0B,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0K2B0B(
        BuiltInId::texture_Sampler2DArray1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0T2B0B(
        BuiltInId::texture_ISampler2DArray1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B0B1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0Z2B0B(
        BuiltInId::texture_USampler2DArray1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B0B1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0H2B0B(
        BuiltInId::textureProj_Sampler2D1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0Q2B0B(
        BuiltInId::textureProj_ISampler2D1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q2B0B1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0W2B0B(
        BuiltInId::textureProj_USampler2D1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W2B0B1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0H3B0B(
        BuiltInId::textureProj_Sampler2D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H3B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0Q3B0B(
        BuiltInId::textureProj_ISampler2D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q3B0B1C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0W3B0B(
        BuiltInId::textureProj_USampler2D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W3B0B1C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0I3B0B(
        BuiltInId::textureProj_Sampler3D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0I3B0B2C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0R3B0B(
        BuiltInId::textureProj_ISampler3D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0R3B0B2C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0X3B0B(
        BuiltInId::textureProj_USampler3D1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0X3B0B2C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0c2B0B(
        BuiltInId::texture_Sampler2DShadow1_Float3_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0d3B0B(
        BuiltInId::texture_SamplerCubeShadow1_Float4_Float1,
        BuiltInName::texture,
        TExtension::UNDEFINED,
        BuiltInParameters::p0d3B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0c3B0B(
        BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c3B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0L1B0B(
        BuiltInId::texture_SamplerExternalOES1_Float2_Float1,
        BuiltInName::texture,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p0L1B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0L2B0B(
        BuiltInId::textureProj_SamplerExternalOES1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p0L2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0L3B0B(
        BuiltInId::textureProj_SamplerExternalOES1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::OES_EGL_image_external_essl3,
        BuiltInParameters::p0L3B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texture_0M1B0B(
        BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2_Float1,
        BuiltInName::texture,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p0M1B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0M2B0B(
        BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3_Float1,
        BuiltInName::textureProj,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p0M2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureProj_0M3B0B(
        BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4_Float1,
        BuiltInName::textureProj,
        TExtension::EXT_YUV_target,
        BuiltInParameters::p0M3B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0O1C0C(
        BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0O1C0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0U1C0C(
        BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0U1C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0a1C0C(
        BuiltInId::texelFetch_USampler2DMS1_Int2_Int1,
        BuiltInName::texelFetch,
        TExtension::UNDEFINED,
        BuiltInParameters::p0a1C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchExt_0O1C0C(
        BuiltInId::texelFetchExt_Sampler2DMS1_Int2_Int1,
        BuiltInName::texelFetchExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p0O1C0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchExt_0U1C0C(
        BuiltInId::texelFetchExt_ISampler2DMS1_Int2_Int1,
        BuiltInName::texelFetchExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p0U1C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetchExt_0a1C0C(
        BuiltInId::texelFetchExt_USampler2DMS1_Int2_Int1,
        BuiltInName::texelFetchExt,
        TExtension::ANGLE_texture_multisample,
        BuiltInParameters::p0a1C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0P2C0C(
        BuiltInId::texelFetch_Sampler2DMSArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p0P2C0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0V2C0C(
        BuiltInId::texelFetch_ISampler2DMSArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p0V2C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_texelFetch_0b2C0C(
        BuiltInId::texelFetch_USampler2DMSArray1_Int3_Int1,
        BuiltInName::texelFetch,
        TExtension::OES_texture_storage_multisample_2d_array,
        BuiltInParameters::p0b2C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0H1B(
        BuiltInId::textureGather_Sampler2D1_Float2,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1B1B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0Q1B(
        BuiltInId::textureGather_ISampler2D1_Float2,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B1B1B1C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0W1B(
        BuiltInId::textureGather_USampler2D1_Float2,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B1C0C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0H1B0C(
        BuiltInId::textureGather_Sampler2D1_Float2_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0Q1B0C(
        BuiltInId::textureGather_ISampler2D1_Float2_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0W1B0C(
        BuiltInId::textureGather_USampler2D1_Float2_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0K2B(
        BuiltInId::textureGather_Sampler2DArray1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0T2B(
        BuiltInId::textureGather_ISampler2DArray1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B1B1B1C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0Z2B(
        BuiltInId::textureGather_USampler2DArray1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B1B1B1C,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0K2B0C(
        BuiltInId::textureGather_Sampler2DArray1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0T2B0C(
        BuiltInId::textureGather_ISampler2DArray1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0Z2B0C(
        BuiltInId::textureGather_USampler2DArray1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0J2B(
        BuiltInId::textureGather_SamplerCube1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B2B2B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0S2B(
        BuiltInId::textureGather_ISamplerCube1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0S2B0B,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0Y2B(
        BuiltInId::textureGather_USamplerCube1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Y2B0B,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0J2B0C(
        BuiltInId::textureGather_SamplerCube1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0J2B0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0S2B0C(
        BuiltInId::textureGather_ISamplerCube1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0S2B0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0Y2B0C(
        BuiltInId::textureGather_USamplerCube1_Float3_Int1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Y2B0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0c1B(
        BuiltInId::textureGather_Sampler2DShadow1_Float2,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c1B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0c1B0B(
        BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c1B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0e2B(
        BuiltInId::textureGather_Sampler2DArrayShadow1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0e2B0B1C,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0e2B0B(
        BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0e2B0B1C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0d2B(
        BuiltInId::textureGather_SamplerCubeShadow1_Float3,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0d2B0B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGather_0d2B0B(
        BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1,
        BuiltInName::textureGather,
        TExtension::UNDEFINED,
        BuiltInParameters::p0d2B0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0H1B1C(
        BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1C0B,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0Q1B1C(
        BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B1C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0W1B1C(
        BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B1C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0H1B1C0C(
        BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0H1B1C0C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0Q1B1C0C(
        BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Q1B1C0C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0W1B1C0C(
        BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0W1B1C0C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0K2B1C(
        BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B1C0C,
        3,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0T2B1C(
        BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B1C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0Z2B1C(
        BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B1C0C,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0K2B1C0C(
        BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0K2B1C0C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0T2B1C0C(
        BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0T2B1C0C,
        4,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0Z2B1C0C(
        BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0Z2B1C0C,
        4,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0c1B0B1C(
        BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0c1B0B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_textureGatherOffset_0e2B0B1C(
        BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2,
        BuiltInName::textureGatherOffset,
        TExtension::UNDEFINED,
        BuiltInParameters::p0e2B0B1C,
        4,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_dFdx_0B(
        BuiltInId::dFdx_Float1,
        BuiltInName::dFdx,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDFdx,
        false);
    constexpr const TFunction kFunction_dFdx_1B(
        BuiltInId::dFdx_Float2,
        BuiltInName::dFdx,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpDFdx,
        false);
    constexpr const TFunction kFunction_dFdx_2B(
        BuiltInId::dFdx_Float3,
        BuiltInName::dFdx,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpDFdx,
        false);
    constexpr const TFunction kFunction_dFdx_3B(
        BuiltInId::dFdx_Float4,
        BuiltInName::dFdx,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpDFdx,
        false);
    constexpr const TFunction kFunction_dFdy_0B(
        BuiltInId::dFdy_Float1,
        BuiltInName::dFdy,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpDFdy,
        false);
    constexpr const TFunction kFunction_dFdy_1B(
        BuiltInId::dFdy_Float2,
        BuiltInName::dFdy,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpDFdy,
        false);
    constexpr const TFunction kFunction_dFdy_2B(
        BuiltInId::dFdy_Float3,
        BuiltInName::dFdy,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpDFdy,
        false);
    constexpr const TFunction kFunction_dFdy_3B(
        BuiltInId::dFdy_Float4,
        BuiltInName::dFdy,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpDFdy,
        false);
    constexpr const TFunction kFunction_fwidth_0B(
        BuiltInId::fwidth_Float1,
        BuiltInName::fwidth,
        TExtension::UNDEFINED,
        BuiltInParameters::p0B0C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpFwidth,
        false);
    constexpr const TFunction kFunction_fwidth_1B(
        BuiltInId::fwidth_Float2,
        BuiltInName::fwidth,
        TExtension::UNDEFINED,
        BuiltInParameters::p1B1B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpFwidth,
        false);
    constexpr const TFunction kFunction_fwidth_2B(
        BuiltInId::fwidth_Float3,
        BuiltInName::fwidth,
        TExtension::UNDEFINED,
        BuiltInParameters::p2B_o_2C,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpFwidth,
        false);
    constexpr const TFunction kFunction_fwidth_3B(
        BuiltInId::fwidth_Float4,
        BuiltInName::fwidth,
        TExtension::UNDEFINED,
        BuiltInParameters::p3B0B0B,
        1,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpFwidth,
        false);
    constexpr const TFunction kFunction_atomicCounter_0F(
        BuiltInId::atomicCounter_AtomicCounter1,
        BuiltInName::atomicCounter,
        TExtension::UNDEFINED,
        BuiltInParameters::p0F,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_atomicCounterIncrement_0F(
        BuiltInId::atomicCounterIncrement_AtomicCounter1,
        BuiltInName::atomicCounterIncrement,
        TExtension::UNDEFINED,
        BuiltInParameters::p0F,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_atomicCounterDecrement_0F(
        BuiltInId::atomicCounterDecrement_AtomicCounter1,
        BuiltInName::atomicCounterDecrement,
        TExtension::UNDEFINED,
        BuiltInParameters::p0F,
        1,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_atomicAdd_0D0D(
        BuiltInId::atomicAdd_UInt1_UInt1,
        BuiltInName::atomicAdd,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicAdd,
        false);
    constexpr const TFunction kFunction_atomicAdd_0C0C(
        BuiltInId::atomicAdd_Int1_Int1,
        BuiltInName::atomicAdd,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicAdd,
        false);
    constexpr const TFunction kFunction_atomicMin_0D0D(
        BuiltInId::atomicMin_UInt1_UInt1,
        BuiltInName::atomicMin,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicMin,
        false);
    constexpr const TFunction kFunction_atomicMin_0C0C(
        BuiltInId::atomicMin_Int1_Int1,
        BuiltInName::atomicMin,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicMin,
        false);
    constexpr const TFunction kFunction_atomicMax_0D0D(
        BuiltInId::atomicMax_UInt1_UInt1,
        BuiltInName::atomicMax,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicMax,
        false);
    constexpr const TFunction kFunction_atomicMax_0C0C(
        BuiltInId::atomicMax_Int1_Int1,
        BuiltInName::atomicMax,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicMax,
        false);
    constexpr const TFunction kFunction_atomicAnd_0D0D(
        BuiltInId::atomicAnd_UInt1_UInt1,
        BuiltInName::atomicAnd,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicAnd,
        false);
    constexpr const TFunction kFunction_atomicAnd_0C0C(
        BuiltInId::atomicAnd_Int1_Int1,
        BuiltInName::atomicAnd,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicAnd,
        false);
    constexpr const TFunction kFunction_atomicOr_0D0D(
        BuiltInId::atomicOr_UInt1_UInt1,
        BuiltInName::atomicOr,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicOr,
        false);
    constexpr const TFunction kFunction_atomicOr_0C0C(
        BuiltInId::atomicOr_Int1_Int1,
        BuiltInName::atomicOr,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicOr,
        false);
    constexpr const TFunction kFunction_atomicXor_0D0D(
        BuiltInId::atomicXor_UInt1_UInt1,
        BuiltInName::atomicXor,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicXor,
        false);
    constexpr const TFunction kFunction_atomicXor_0C0C(
        BuiltInId::atomicXor_Int1_Int1,
        BuiltInName::atomicXor,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicXor,
        false);
    constexpr const TFunction kFunction_atomicExchange_0D0D(
        BuiltInId::atomicExchange_UInt1_UInt1,
        BuiltInName::atomicExchange,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0D0D0D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicExchange,
        false);
    constexpr const TFunction kFunction_atomicExchange_0C0C(
        BuiltInId::atomicExchange_Int1_Int1,
        BuiltInName::atomicExchange,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0C0C0C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicExchange,
        false);
    constexpr const TFunction kFunction_atomicCompSwap_0D0D0D(
        BuiltInId::atomicCompSwap_UInt1_UInt1_UInt1,
        BuiltInName::atomicCompSwap,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0D0D0D,
        3,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicCompSwap,
        false);
    constexpr const TFunction kFunction_atomicCompSwap_0C0C0C(
        BuiltInId::atomicCompSwap_Int1_Int1_Int1,
        BuiltInName::atomicCompSwap,
        TExtension::UNDEFINED,
        BuiltInParameters::p_io_0C0C0C,
        3,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpAtomicCompSwap,
        false);
    constexpr const TFunction kFunction_imageSize_0f(
        BuiltInId::imageSize_Image2D1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0f1C3B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0g(
        BuiltInId::imageSize_IImage2D1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0g1C3C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0h(
        BuiltInId::imageSize_UImage2D1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0h1C3D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0i(
        BuiltInId::imageSize_Image3D1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0i2C3B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0j(
        BuiltInId::imageSize_IImage3D1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0j2C3C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0k(
        BuiltInId::imageSize_UImage3D1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0k2C3D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0l(
        BuiltInId::imageSize_Image2DArray1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0l2C3B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0m(
        BuiltInId::imageSize_IImage2DArray1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0m2C3C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0n(
        BuiltInId::imageSize_UImage2DArray1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0n2C3D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0o(
        BuiltInId::imageSize_ImageCube1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0o2C3B,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0p(
        BuiltInId::imageSize_IImageCube1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0p2C3C,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageSize_0q(
        BuiltInId::imageSize_UImageCube1,
        BuiltInName::imageSize,
        TExtension::UNDEFINED,
        BuiltInParameters::p0q2C3D,
        1,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0f1C(
        BuiltInId::imageLoad_Image2D1_Int2,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0f1C3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0g1C(
        BuiltInId::imageLoad_IImage2D1_Int2,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0g1C3C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0h1C(
        BuiltInId::imageLoad_UImage2D1_Int2,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0h1C3D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0i2C(
        BuiltInId::imageLoad_Image3D1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0i2C3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0j2C(
        BuiltInId::imageLoad_IImage3D1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0j2C3C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0k2C(
        BuiltInId::imageLoad_UImage3D1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0k2C3D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0l2C(
        BuiltInId::imageLoad_Image2DArray1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0l2C3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0m2C(
        BuiltInId::imageLoad_IImage2DArray1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0m2C3C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0n2C(
        BuiltInId::imageLoad_UImage2DArray1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0n2C3D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0o2C(
        BuiltInId::imageLoad_ImageCube1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0o2C3B,
        2,
        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0p2C(
        BuiltInId::imageLoad_IImageCube1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0p2C3C,
        2,
        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageLoad_0q2C(
        BuiltInId::imageLoad_UImageCube1_Int3,
        BuiltInName::imageLoad,
        TExtension::UNDEFINED,
        BuiltInParameters::p0q2C3D,
        2,
        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0f1C3B(
        BuiltInId::imageStore_Image2D1_Int2_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0f1C3B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0g1C3C(
        BuiltInId::imageStore_IImage2D1_Int2_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0g1C3C,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0h1C3D(
        BuiltInId::imageStore_UImage2D1_Int2_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0h1C3D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0i2C3B(
        BuiltInId::imageStore_Image3D1_Int3_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0i2C3B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0j2C3C(
        BuiltInId::imageStore_IImage3D1_Int3_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0j2C3C,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0k2C3D(
        BuiltInId::imageStore_UImage3D1_Int3_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0k2C3D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0l2C3B(
        BuiltInId::imageStore_Image2DArray1_Int3_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0l2C3B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0m2C3C(
        BuiltInId::imageStore_IImage2DArray1_Int3_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0m2C3C,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0n2C3D(
        BuiltInId::imageStore_UImage2DArray1_Int3_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0n2C3D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0o2C3B(
        BuiltInId::imageStore_ImageCube1_Int3_Float4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0o2C3B,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0p2C3C(
        BuiltInId::imageStore_IImageCube1_Int3_Int4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0p2C3C,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_imageStore_0q2C3D(
        BuiltInId::imageStore_UImageCube1_Int3_UInt4,
        BuiltInName::imageStore,
        TExtension::UNDEFINED,
        BuiltInParameters::p0q2C3D,
        3,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpCallBuiltInFunction,
        false);
    constexpr const TFunction kFunction_memoryBarrier_(
        BuiltInId::memoryBarrier,
        BuiltInName::memoryBarrier,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrier,
        false);
    constexpr const TFunction kFunction_memoryBarrierAtomicCounter_(
        BuiltInId::memoryBarrierAtomicCounter,
        BuiltInName::memoryBarrierAtomicCounter,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrierAtomicCounter,
        false);
    constexpr const TFunction kFunction_memoryBarrierBuffer_(
        BuiltInId::memoryBarrierBuffer,
        BuiltInName::memoryBarrierBuffer,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrierBuffer,
        false);
    constexpr const TFunction kFunction_memoryBarrierImage_(
        BuiltInId::memoryBarrierImage,
        BuiltInName::memoryBarrierImage,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrierImage,
        false);
    constexpr const TFunction kFunction_barrier_(
        BuiltInId::barrier,
        BuiltInName::barrier,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpBarrier,
        false);
    constexpr const TFunction kFunction_memoryBarrierShared_(
        BuiltInId::memoryBarrierShared,
        BuiltInName::memoryBarrierShared,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpMemoryBarrierShared,
        false);
    constexpr const TFunction kFunction_groupMemoryBarrier_(
        BuiltInId::groupMemoryBarrier,
        BuiltInName::groupMemoryBarrier,
        TExtension::UNDEFINED,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpGroupMemoryBarrier,
        false);
    constexpr const TFunction kFunction_EmitVertex_(
        BuiltInId::EmitVertex,
        BuiltInName::EmitVertex,
        TExtension::EXT_geometry_shader,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpEmitVertex,
        false);
    constexpr const TFunction kFunction_EndPrimitive_(
        BuiltInId::EndPrimitive,
        BuiltInName::EndPrimitive,
        TExtension::EXT_geometry_shader,
        BuiltInParameters::empty,
        0,
        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
        EOpEndPrimitive,
        false);
    
    }  // namespace BuiltInFunction
    
    void TSymbolTable::initializeBuiltInVariables(sh::GLenum shaderType,
                                                  ShShaderSpec spec,
                                                  const ShBuiltInResources &resources)
    {
        const TSourceLoc zeroSourceLoc             = {0, 0, 0, 0};
        TFieldList *fields_gl_DepthRangeParameters = new TFieldList();
        fields_gl_DepthRangeParameters->push_back(
            new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::near, zeroSourceLoc,
                       SymbolType::BuiltIn));
        fields_gl_DepthRangeParameters->push_back(
            new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::far, zeroSourceLoc,
                       SymbolType::BuiltIn));
        fields_gl_DepthRangeParameters->push_back(
            new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::diff, zeroSourceLoc,
                       SymbolType::BuiltIn));
        TStructure *gl_DepthRangeParameters =
            new TStructure(BuiltInId::gl_DepthRangeParameters, BuiltInName::gl_DepthRangeParameters,
                           TExtension::UNDEFINED, fields_gl_DepthRangeParameters);
        mVar_gl_DepthRangeParameters = gl_DepthRangeParameters;
        TType *type_gl_DepthRange    = new TType(gl_DepthRangeParameters, false);
        type_gl_DepthRange->setQualifier(EvqUniform);
        type_gl_DepthRange->realize();
        mVar_gl_DepthRange =
            new TVariable(BuiltInId::gl_DepthRange, BuiltInName::gl_DepthRange, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, type_gl_DepthRange);
        mVar_gl_MaxVertexAttribs = new TVariable(
            BuiltInId::gl_MaxVertexAttribs, BuiltInName::gl_MaxVertexAttribs, SymbolType::BuiltIn,
            TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxVertexAttribs);
            mVar_gl_MaxVertexAttribs->shareConstPointer(unionArray);
        }
        mVar_gl_MaxVertexUniformVectors =
            new TVariable(BuiltInId::gl_MaxVertexUniformVectors,
                          BuiltInName::gl_MaxVertexUniformVectors, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxVertexUniformVectors);
            mVar_gl_MaxVertexUniformVectors->shareConstPointer(unionArray);
        }
        mVar_gl_MaxVertexTextureImageUnits =
            new TVariable(BuiltInId::gl_MaxVertexTextureImageUnits,
                          BuiltInName::gl_MaxVertexTextureImageUnits, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxVertexTextureImageUnits);
            mVar_gl_MaxVertexTextureImageUnits->shareConstPointer(unionArray);
        }
        mVar_gl_MaxCombinedTextureImageUnits =
            new TVariable(BuiltInId::gl_MaxCombinedTextureImageUnits,
                          BuiltInName::gl_MaxCombinedTextureImageUnits, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxCombinedTextureImageUnits);
            mVar_gl_MaxCombinedTextureImageUnits->shareConstPointer(unionArray);
        }
        mVar_gl_MaxTextureImageUnits =
            new TVariable(BuiltInId::gl_MaxTextureImageUnits, BuiltInName::gl_MaxTextureImageUnits,
                          SymbolType::BuiltIn, TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxTextureImageUnits);
            mVar_gl_MaxTextureImageUnits->shareConstPointer(unionArray);
        }
        mVar_gl_MaxFragmentUniformVectors =
            new TVariable(BuiltInId::gl_MaxFragmentUniformVectors,
                          BuiltInName::gl_MaxFragmentUniformVectors, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxFragmentUniformVectors);
            mVar_gl_MaxFragmentUniformVectors->shareConstPointer(unionArray);
        }
        mVar_gl_MaxVaryingVectors = new TVariable(
            BuiltInId::gl_MaxVaryingVectors, BuiltInName::gl_MaxVaryingVectors, SymbolType::BuiltIn,
            TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxVaryingVectors);
            mVar_gl_MaxVaryingVectors->shareConstPointer(unionArray);
        }
        mVar_gl_MaxDrawBuffers = new TVariable(
            BuiltInId::gl_MaxDrawBuffers, BuiltInName::gl_MaxDrawBuffers, SymbolType::BuiltIn,
            TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxDrawBuffers);
            mVar_gl_MaxDrawBuffers->shareConstPointer(unionArray);
        }
        mVar_gl_MaxDualSourceDrawBuffersEXT = new TVariable(
            BuiltInId::gl_MaxDualSourceDrawBuffersEXT, BuiltInName::gl_MaxDualSourceDrawBuffersEXT,
            SymbolType::BuiltIn, TExtension::EXT_blend_func_extended,
            StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxDualSourceDrawBuffers);
            mVar_gl_MaxDualSourceDrawBuffersEXT->shareConstPointer(unionArray);
        }
        mVar_gl_MaxVertexOutputVectors =
            new TVariable(BuiltInId::gl_MaxVertexOutputVectors, BuiltInName::gl_MaxVertexOutputVectors,
                          SymbolType::BuiltIn, TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxVertexOutputVectors);
            mVar_gl_MaxVertexOutputVectors->shareConstPointer(unionArray);
        }
        mVar_gl_MaxFragmentInputVectors =
            new TVariable(BuiltInId::gl_MaxFragmentInputVectors,
                          BuiltInName::gl_MaxFragmentInputVectors, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxFragmentInputVectors);
            mVar_gl_MaxFragmentInputVectors->shareConstPointer(unionArray);
        }
        mVar_gl_MinProgramTexelOffset =
            new TVariable(BuiltInId::gl_MinProgramTexelOffset, BuiltInName::gl_MinProgramTexelOffset,
                          SymbolType::BuiltIn, TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MinProgramTexelOffset);
            mVar_gl_MinProgramTexelOffset->shareConstPointer(unionArray);
        }
        mVar_gl_MaxProgramTexelOffset =
            new TVariable(BuiltInId::gl_MaxProgramTexelOffset, BuiltInName::gl_MaxProgramTexelOffset,
                          SymbolType::BuiltIn, TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxProgramTexelOffset);
            mVar_gl_MaxProgramTexelOffset->shareConstPointer(unionArray);
        }
        mVar_gl_MaxImageUnits = new TVariable(
            BuiltInId::gl_MaxImageUnits, BuiltInName::gl_MaxImageUnits, SymbolType::BuiltIn,
            TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxImageUnits);
            mVar_gl_MaxImageUnits->shareConstPointer(unionArray);
        }
        mVar_gl_MaxVertexImageUniforms =
            new TVariable(BuiltInId::gl_MaxVertexImageUniforms, BuiltInName::gl_MaxVertexImageUniforms,
                          SymbolType::BuiltIn, TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxVertexImageUniforms);
            mVar_gl_MaxVertexImageUniforms->shareConstPointer(unionArray);
        }
        mVar_gl_MaxFragmentImageUniforms =
            new TVariable(BuiltInId::gl_MaxFragmentImageUniforms,
                          BuiltInName::gl_MaxFragmentImageUniforms, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxFragmentImageUniforms);
            mVar_gl_MaxFragmentImageUniforms->shareConstPointer(unionArray);
        }
        mVar_gl_MaxComputeImageUniforms =
            new TVariable(BuiltInId::gl_MaxComputeImageUniforms,
                          BuiltInName::gl_MaxComputeImageUniforms, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxComputeImageUniforms);
            mVar_gl_MaxComputeImageUniforms->shareConstPointer(unionArray);
        }
        mVar_gl_MaxCombinedImageUniforms =
            new TVariable(BuiltInId::gl_MaxCombinedImageUniforms,
                          BuiltInName::gl_MaxCombinedImageUniforms, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxCombinedImageUniforms);
            mVar_gl_MaxCombinedImageUniforms->shareConstPointer(unionArray);
        }
        mVar_gl_MaxCombinedShaderOutputResources =
            new TVariable(BuiltInId::gl_MaxCombinedShaderOutputResources,
                          BuiltInName::gl_MaxCombinedShaderOutputResources, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxCombinedShaderOutputResources);
            mVar_gl_MaxCombinedShaderOutputResources->shareConstPointer(unionArray);
        }
        mVar_gl_MaxComputeWorkGroupCount =
            new TVariable(BuiltInId::gl_MaxComputeWorkGroupCount,
                          BuiltInName::gl_MaxComputeWorkGroupCount, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpHigh, EvqConst, 3, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[3];
            for (size_t index = 0u; index < 3; ++index)
            {
                unionArray[index].setIConst(resources.MaxComputeWorkGroupCount[index]);
            }
            mVar_gl_MaxComputeWorkGroupCount->shareConstPointer(unionArray);
        }
        mVar_gl_MaxComputeWorkGroupSize =
            new TVariable(BuiltInId::gl_MaxComputeWorkGroupSize,
                          BuiltInName::gl_MaxComputeWorkGroupSize, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpHigh, EvqConst, 3, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[3];
            for (size_t index = 0u; index < 3; ++index)
            {
                unionArray[index].setIConst(resources.MaxComputeWorkGroupSize[index]);
            }
            mVar_gl_MaxComputeWorkGroupSize->shareConstPointer(unionArray);
        }
        mVar_gl_MaxComputeUniformComponents =
            new TVariable(BuiltInId::gl_MaxComputeUniformComponents,
                          BuiltInName::gl_MaxComputeUniformComponents, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxComputeUniformComponents);
            mVar_gl_MaxComputeUniformComponents->shareConstPointer(unionArray);
        }
        mVar_gl_MaxComputeTextureImageUnits =
            new TVariable(BuiltInId::gl_MaxComputeTextureImageUnits,
                          BuiltInName::gl_MaxComputeTextureImageUnits, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxComputeTextureImageUnits);
            mVar_gl_MaxComputeTextureImageUnits->shareConstPointer(unionArray);
        }
        mVar_gl_MaxComputeAtomicCounters =
            new TVariable(BuiltInId::gl_MaxComputeAtomicCounters,
                          BuiltInName::gl_MaxComputeAtomicCounters, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxComputeAtomicCounters);
            mVar_gl_MaxComputeAtomicCounters->shareConstPointer(unionArray);
        }
        mVar_gl_MaxComputeAtomicCounterBuffers =
            new TVariable(BuiltInId::gl_MaxComputeAtomicCounterBuffers,
                          BuiltInName::gl_MaxComputeAtomicCounterBuffers, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxComputeAtomicCounterBuffers);
            mVar_gl_MaxComputeAtomicCounterBuffers->shareConstPointer(unionArray);
        }
        mVar_gl_MaxVertexAtomicCounters =
            new TVariable(BuiltInId::gl_MaxVertexAtomicCounters,
                          BuiltInName::gl_MaxVertexAtomicCounters, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxVertexAtomicCounters);
            mVar_gl_MaxVertexAtomicCounters->shareConstPointer(unionArray);
        }
        mVar_gl_MaxFragmentAtomicCounters =
            new TVariable(BuiltInId::gl_MaxFragmentAtomicCounters,
                          BuiltInName::gl_MaxFragmentAtomicCounters, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxFragmentAtomicCounters);
            mVar_gl_MaxFragmentAtomicCounters->shareConstPointer(unionArray);
        }
        mVar_gl_MaxCombinedAtomicCounters =
            new TVariable(BuiltInId::gl_MaxCombinedAtomicCounters,
                          BuiltInName::gl_MaxCombinedAtomicCounters, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxCombinedAtomicCounters);
            mVar_gl_MaxCombinedAtomicCounters->shareConstPointer(unionArray);
        }
        mVar_gl_MaxAtomicCounterBindings =
            new TVariable(BuiltInId::gl_MaxAtomicCounterBindings,
                          BuiltInName::gl_MaxAtomicCounterBindings, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxAtomicCounterBindings);
            mVar_gl_MaxAtomicCounterBindings->shareConstPointer(unionArray);
        }
        mVar_gl_MaxVertexAtomicCounterBuffers =
            new TVariable(BuiltInId::gl_MaxVertexAtomicCounterBuffers,
                          BuiltInName::gl_MaxVertexAtomicCounterBuffers, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxVertexAtomicCounterBuffers);
            mVar_gl_MaxVertexAtomicCounterBuffers->shareConstPointer(unionArray);
        }
        mVar_gl_MaxFragmentAtomicCounterBuffers =
            new TVariable(BuiltInId::gl_MaxFragmentAtomicCounterBuffers,
                          BuiltInName::gl_MaxFragmentAtomicCounterBuffers, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxFragmentAtomicCounterBuffers);
            mVar_gl_MaxFragmentAtomicCounterBuffers->shareConstPointer(unionArray);
        }
        mVar_gl_MaxCombinedAtomicCounterBuffers =
            new TVariable(BuiltInId::gl_MaxCombinedAtomicCounterBuffers,
                          BuiltInName::gl_MaxCombinedAtomicCounterBuffers, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxCombinedAtomicCounterBuffers);
            mVar_gl_MaxCombinedAtomicCounterBuffers->shareConstPointer(unionArray);
        }
        mVar_gl_MaxAtomicCounterBufferSize =
            new TVariable(BuiltInId::gl_MaxAtomicCounterBufferSize,
                          BuiltInName::gl_MaxAtomicCounterBufferSize, SymbolType::BuiltIn,
                          TExtension::UNDEFINED, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxAtomicCounterBufferSize);
            mVar_gl_MaxAtomicCounterBufferSize->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryInputComponents = new TVariable(
            BuiltInId::gl_MaxGeometryInputComponents, BuiltInName::gl_MaxGeometryInputComponents,
            SymbolType::BuiltIn, TExtension::EXT_geometry_shader,
            StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryInputComponents);
            mVar_gl_MaxGeometryInputComponents->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryOutputComponents = new TVariable(
            BuiltInId::gl_MaxGeometryOutputComponents, BuiltInName::gl_MaxGeometryOutputComponents,
            SymbolType::BuiltIn, TExtension::EXT_geometry_shader,
            StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryOutputComponents);
            mVar_gl_MaxGeometryOutputComponents->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryImageUniforms = new TVariable(
            BuiltInId::gl_MaxGeometryImageUniforms, BuiltInName::gl_MaxGeometryImageUniforms,
            SymbolType::BuiltIn, TExtension::EXT_geometry_shader,
            StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryImageUniforms);
            mVar_gl_MaxGeometryImageUniforms->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryTextureImageUnits = new TVariable(
            BuiltInId::gl_MaxGeometryTextureImageUnits, BuiltInName::gl_MaxGeometryTextureImageUnits,
            SymbolType::BuiltIn, TExtension::EXT_geometry_shader,
            StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryTextureImageUnits);
            mVar_gl_MaxGeometryTextureImageUnits->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryOutputVertices = new TVariable(
            BuiltInId::gl_MaxGeometryOutputVertices, BuiltInName::gl_MaxGeometryOutputVertices,
            SymbolType::BuiltIn, TExtension::EXT_geometry_shader,
            StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryOutputVertices);
            mVar_gl_MaxGeometryOutputVertices->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryTotalOutputComponents = new TVariable(
            BuiltInId::gl_MaxGeometryTotalOutputComponents,
            BuiltInName::gl_MaxGeometryTotalOutputComponents, SymbolType::BuiltIn,
            TExtension::EXT_geometry_shader, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryTotalOutputComponents);
            mVar_gl_MaxGeometryTotalOutputComponents->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryUniformComponents = new TVariable(
            BuiltInId::gl_MaxGeometryUniformComponents, BuiltInName::gl_MaxGeometryUniformComponents,
            SymbolType::BuiltIn, TExtension::EXT_geometry_shader,
            StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryUniformComponents);
            mVar_gl_MaxGeometryUniformComponents->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryAtomicCounters = new TVariable(
            BuiltInId::gl_MaxGeometryAtomicCounters, BuiltInName::gl_MaxGeometryAtomicCounters,
            SymbolType::BuiltIn, TExtension::EXT_geometry_shader,
            StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryAtomicCounters);
            mVar_gl_MaxGeometryAtomicCounters->shareConstPointer(unionArray);
        }
        mVar_gl_MaxGeometryAtomicCounterBuffers = new TVariable(
            BuiltInId::gl_MaxGeometryAtomicCounterBuffers,
            BuiltInName::gl_MaxGeometryAtomicCounterBuffers, SymbolType::BuiltIn,
            TExtension::EXT_geometry_shader, StaticType::Get<EbtInt, EbpMedium, EvqConst, 1, 1>());
        {
            TConstantUnion *unionArray = new TConstantUnion[1];
            unionArray[0].setIConst(resources.MaxGeometryAtomicCounterBuffers);
            mVar_gl_MaxGeometryAtomicCounterBuffers->shareConstPointer(unionArray);
        }
        if (shaderType == GL_FRAGMENT_SHADER)
        {
            TType *type_gl_FragData = new TType(EbtFloat, EbpMedium, EvqFragData, 4);
            if (spec != SH_WEBGL2_SPEC && spec != SH_WEBGL3_SPEC)
            {
                type_gl_FragData->makeArray(resources.MaxDrawBuffers);
            }
            else
            {
                type_gl_FragData->makeArray(1u);
            }
            type_gl_FragData->realize();
            mVar_gl_FragData =
                new TVariable(BuiltInId::gl_FragData, BuiltInName::gl_FragData, SymbolType::BuiltIn,
                              TExtension::UNDEFINED, type_gl_FragData);
        }
        if ((shaderType == GL_FRAGMENT_SHADER) && (mResources.EXT_blend_func_extended))
        {
            TType *type_gl_SecondaryFragDataEXT =
                new TType(EbtFloat, EbpMedium, EvqSecondaryFragDataEXT, 4, 1);
            type_gl_SecondaryFragDataEXT->makeArray(resources.MaxDualSourceDrawBuffers);
            type_gl_SecondaryFragDataEXT->realize();
            mVar_gl_SecondaryFragDataEXT = new TVariable(
                BuiltInId::gl_SecondaryFragDataEXT, BuiltInName::gl_SecondaryFragDataEXT,
                SymbolType::BuiltIn, TExtension::EXT_blend_func_extended, type_gl_SecondaryFragDataEXT);
        }
        if ((shaderType == GL_FRAGMENT_SHADER) && (mResources.EXT_frag_depth))
        {
            TType *type_gl_FragDepthEXT = new TType(
                EbtFloat, resources.FragmentPrecisionHigh ? EbpHigh : EbpMedium, EvqFragDepthEXT, 1);
            type_gl_FragDepthEXT->realize();
            mVar_gl_FragDepthEXT =
                new TVariable(BuiltInId::gl_FragDepthEXT, BuiltInName::gl_FragDepthEXT,
                              SymbolType::BuiltIn, TExtension::EXT_frag_depth, type_gl_FragDepthEXT);
        }
        TType *type_gl_LastFragData = new TType(EbtFloat, EbpMedium, EvqLastFragData, 4, 1);
        type_gl_LastFragData->makeArray(resources.MaxDrawBuffers);
        type_gl_LastFragData->realize();
        mVar_gl_LastFragData =
            new TVariable(BuiltInId::gl_LastFragData, BuiltInName::gl_LastFragData, SymbolType::BuiltIn,
                          TExtension::EXT_shader_framebuffer_fetch, type_gl_LastFragData);
        TType *type_gl_LastFragDataNV = new TType(EbtFloat, EbpMedium, EvqLastFragData, 4, 1);
        type_gl_LastFragDataNV->makeArray(resources.MaxDrawBuffers);
        type_gl_LastFragDataNV->realize();
        mVar_gl_LastFragDataNV = new TVariable(
            BuiltInId::gl_LastFragDataNV, BuiltInName::gl_LastFragData, SymbolType::BuiltIn,
            TExtension::NV_shader_framebuffer_fetch, type_gl_LastFragDataNV);
        TFieldList *fields_gl_PerVertex = new TFieldList();
        fields_gl_PerVertex->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1),
                                                  BuiltInName::gl_Position, zeroSourceLoc,
                                                  SymbolType::BuiltIn));
        TInterfaceBlock *gl_PerVertex =
            new TInterfaceBlock(BuiltInId::gl_PerVertex, BuiltInName::gl_PerVertex,
                                TExtension::EXT_geometry_shader, fields_gl_PerVertex);
        mVar_gl_PerVertex = gl_PerVertex;
        if (shaderType == GL_GEOMETRY_SHADER_EXT)
        {
            TType *type_gl_in = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create());
            type_gl_in->makeArray(0u);
            type_gl_in->realize();
            mVar_gl_in = new TVariable(BuiltInId::gl_in, BuiltInName::gl_in, SymbolType::BuiltIn,
                                       TExtension::EXT_geometry_shader, type_gl_in);
        }
        TFieldList *fields_gl_PerVertexOutBlock = new TFieldList();
        fields_gl_PerVertexOutBlock->push_back(
            new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
                       zeroSourceLoc, SymbolType::BuiltIn));
        TInterfaceBlock *gl_PerVertexOutBlock =
            new TInterfaceBlock(BuiltInId::gl_PerVertexOutBlock, BuiltInName::gl_PerVertex,
                                TExtension::EXT_geometry_shader, fields_gl_PerVertexOutBlock);
        TType *type_gl_PositionGS = new TType(EbtFloat, EbpHigh, EvqPosition, 4);
        type_gl_PositionGS->setInterfaceBlock(gl_PerVertexOutBlock);
        type_gl_PositionGS->realize();
        mVar_gl_PositionGS =
            new TVariable(BuiltInId::gl_PositionGS, BuiltInName::gl_Position, SymbolType::BuiltIn,
                          TExtension::EXT_geometry_shader, type_gl_PositionGS);
    }
    
    const TSymbol *TSymbolTable::findBuiltIn(const ImmutableString &name, int shaderVersion) const
    {
        if (name.length() > 35)
        {
            return nullptr;
        }
        uint32_t nameHash = name.mangledNameHash();
        if ((nameHash >> 31) != 0)
        {
            // The name contains [ or {.
            return nullptr;
        }
        if (shaderVersion >= 310)
        {
            switch (nameHash)
            {
                case 0x0a50832eu:
                {
                    if (name.beginsWith(BuiltInName::ldexp))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_ldexp_1B1C;
                    }
                    break;
                }
                case 0x0a50a6eeu:
                {
                    if (name.beginsWith(BuiltInName::frexp))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_frexp_2B2C;
                    }
                    break;
                }
                case 0x0a52bed1u:
                {
                    if (name.beginsWith(BuiltInName::ldexp))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_ldexp_0B0C;
                    }
                    break;
                }
                case 0x0a53e9c4u:
                {
                    if (name == BuiltInName::frexp_3B3C)
                    {
                        return &BuiltInFunction::kFunction_frexp_3B3C;
                    }
                    break;
                }
                case 0x0a54aa52u:
                {
                    if (name.beginsWith(BuiltInName::ldexp))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_ldexp_2B2C;
                    }
                    break;
                }
                case 0x0a55008fu:
                {
                    if (name.beginsWith(BuiltInName::frexp))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_frexp_1B1C;
                    }
                    break;
                }
                case 0x0a5799e7u:
                {
                    if (name.beginsWith(BuiltInName::frexp))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_frexp_0B0C;
                    }
                    break;
                }
                case 0x0a57c201u:
                {
                    if (name.beginsWith(BuiltInName::ldexp))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_ldexp_3B3C;
                    }
                    break;
                }
                case 0x0e500330u:
                {
                    if (name.beginsWith(BuiltInName::findMSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findMSB_3C;
                    }
                    break;
                }
                case 0x0e503089u:
                {
                    if (name.beginsWith(BuiltInName::findMSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findMSB_3D;
                    }
                    break;
                }
                case 0x0e508070u:
                {
                    if (name.beginsWith(BuiltInName::findMSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findMSB_0C;
                    }
                    break;
                }
                case 0x0e508a05u:
                {
                    if (name.beginsWith(BuiltInName::findMSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findMSB_0D;
                    }
                    break;
                }
                case 0x0e51917du:
                {
                    if (name.beginsWith(BuiltInName::findMSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findMSB_1C;
                    }
                    break;
                }
                case 0x0e51dc78u:
                {
                    if (name.beginsWith(BuiltInName::findMSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findMSB_1D;
                    }
                    break;
                }
                case 0x0e54832eu:
                {
                    if (name.beginsWith(BuiltInName::findLSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findLSB_2C;
                    }
                    break;
                }
                case 0x0e54b667u:
                {
                    if (name.beginsWith(BuiltInName::findLSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findLSB_2D;
                    }
                    break;
                }
                case 0x0e550f72u:
                {
                    if (name.beginsWith(BuiltInName::findLSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findLSB_1D;
                    }
                    break;
                }
                case 0x0e5514e7u:
                {
                    if (name.beginsWith(BuiltInName::findLSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findLSB_1C;
                    }
                    break;
                }
                case 0x0e5607c2u:
                {
                    if (name.beginsWith(BuiltInName::findLSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findLSB_0C;
                    }
                    break;
                }
                case 0x0e5650c7u:
                {
                    if (name.beginsWith(BuiltInName::findLSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findLSB_0D;
                    }
                    break;
                }
                case 0x0e56a99cu:
                {
                    if (name.beginsWith(BuiltInName::findMSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findMSB_2D;
                    }
                    break;
                }
                case 0x0e56cd55u:
                {
                    if (name.beginsWith(BuiltInName::findMSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findMSB_2C;
                    }
                    break;
                }
                case 0x0e573680u:
                {
                    if (name.beginsWith(BuiltInName::findLSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findLSB_3D;
                    }
                    break;
                }
                case 0x0e574a59u:
                {
                    if (name.beginsWith(BuiltInName::findLSB))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_findLSB_3C;
                    }
                    break;
                }
                case 0x10581cccu:
                {
                    if (name.beginsWith(BuiltInName::bitCount))
                    {
                        ASSERT(name.length() == 11);
                        return &BuiltInFunction::kFunction_bitCount_2D;
                    }
                    break;
                }
                case 0x10584c2du:
                {
                    if (name.beginsWith(BuiltInName::bitCount))
                    {
                        ASSERT(name.length() == 11);
                        return &BuiltInFunction::kFunction_bitCount_2C;
                    }
                    break;
                }
                case 0x105896f1u:
                {
                    if (name.beginsWith(BuiltInName::bitCount))
                    {
                        ASSERT(name.length() == 11);
                        return &BuiltInFunction::kFunction_bitCount_1D;
                    }
                    break;
                }
                case 0x1058cbf7u:
                {
                    if (name.beginsWith(BuiltInName::bitCount))
                    {
                        ASSERT(name.length() == 11);
                        return &BuiltInFunction::kFunction_bitCount_1C;
                    }
                    break;
                }
                case 0x1059a37cu:
                {
                    if (name.beginsWith(BuiltInName::bitCount))
                    {
                        ASSERT(name.length() == 11);
                        return &BuiltInFunction::kFunction_bitCount_0D;
                    }
                    break;
                }
                case 0x1059dae9u:
                {
                    if (name.beginsWith(BuiltInName::bitCount))
                    {
                        ASSERT(name.length() == 11);
                        return &BuiltInFunction::kFunction_bitCount_0C;
                    }
                    break;
                }
                case 0x105b1832u:
                {
                    if (name.beginsWith(BuiltInName::bitCount))
                    {
                        ASSERT(name.length() == 11);
                        return &BuiltInFunction::kFunction_bitCount_3C;
                    }
                    break;
                }
                case 0x105b2810u:
                {
                    if (name.beginsWith(BuiltInName::bitCount))
                    {
                        ASSERT(name.length() == 11);
                        return &BuiltInFunction::kFunction_bitCount_3D;
                    }
                    break;
                }
                case 0x106a2daeu:
                {
                    if (name.beginsWith(BuiltInName::atomicOr))
                    {
                        ASSERT(name.length() == 13);
                        return &BuiltInFunction::kFunction_atomicOr_0D0D;
                    }
                    break;
                }
                case 0x106bd5b6u:
                {
                    if (name.beginsWith(BuiltInName::atomicOr))
                    {
                        ASSERT(name.length() == 13);
                        return &BuiltInFunction::kFunction_atomicOr_0C0C;
                    }
                    break;
                }
                case 0x126520f8u:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0p;
                    }
                    break;
                }
                case 0x12653967u:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0q;
                    }
                    break;
                }
                case 0x1265b53eu:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0g;
                    }
                    break;
                }
                case 0x1265cbcau:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0k;
                    }
                    break;
                }
                case 0x1265cc8du:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0f;
                    }
                    break;
                }
                case 0x1265e196u:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0o;
                    }
                    break;
                }
                case 0x1265e603u:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0h;
                    }
                    break;
                }
                case 0x1265f559u:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0j;
                    }
                    break;
                }
                case 0x1265fcacu:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0i;
                    }
                    break;
                }
                case 0x12660ccfu:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0l;
                    }
                    break;
                }
                case 0x12661578u:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0m;
                    }
                    break;
                }
                case 0x12661be5u:
                {
                    if (name.beginsWith(BuiltInName::imageSize))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_imageSize_0n;
                    }
                    break;
                }
                case 0x12700109u:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0h1C;
                    }
                    break;
                }
                case 0x1270b3f8u:
                {
                    if (name.beginsWith(BuiltInName::atomicAdd))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicAdd_0C0C;
                    }
                    break;
                }
                case 0x1270b766u:
                {
                    if (name.beginsWith(BuiltInName::atomicXor))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicXor_0C0C;
                    }
                    break;
                }
                case 0x12712664u:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0n2C;
                    }
                    break;
                }
                case 0x12715f47u:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0j2C;
                    }
                    break;
                }
                case 0x12717c89u:
                {
                    if (name.beginsWith(BuiltInName::atomicMin))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicMin_0C0C;
                    }
                    break;
                }
                case 0x127258f0u:
                {
                    if (name.beginsWith(BuiltInName::atomicAdd))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicAdd_0D0D;
                    }
                    break;
                }
                case 0x12731984u:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0m2C;
                    }
                    break;
                }
                case 0x12737ed6u:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0q2C;
                    }
                    break;
                }
                case 0x12739c87u:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0f1C;
                    }
                    break;
                }
                case 0x1273d1adu:
                {
                    if (name.beginsWith(BuiltInName::atomicMax))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicMax_0D0D;
                    }
                    break;
                }
                case 0x1273e62au:
                {
                    if (name.beginsWith(BuiltInName::atomicMin))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicMin_0D0D;
                    }
                    break;
                }
                case 0x12744c0du:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0o2C;
                    }
                    break;
                }
                case 0x127474cau:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0k2C;
                    }
                    break;
                }
                case 0x127478d9u:
                {
                    if (name.beginsWith(BuiltInName::atomicAnd))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicAnd_0C0C;
                    }
                    break;
                }
                case 0x1274d54bu:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0p2C;
                    }
                    break;
                }
                case 0x127539b2u:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0i2C;
                    }
                    break;
                }
                case 0x12755603u:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0g1C;
                    }
                    break;
                }
                case 0x127648cau:
                {
                    if (name.beginsWith(BuiltInName::atomicAnd))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicAnd_0D0D;
                    }
                    break;
                }
                case 0x1276656cu:
                {
                    if (name.beginsWith(BuiltInName::imageLoad))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_imageLoad_0l2C;
                    }
                    break;
                }
                case 0x12771119u:
                {
                    if (name.beginsWith(BuiltInName::atomicXor))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicXor_0D0D;
                    }
                    break;
                }
                case 0x1277882au:
                {
                    if (name.beginsWith(BuiltInName::atomicMax))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_atomicMax_0C0C;
                    }
                    break;
                }
                case 0x1283ba95u:
                {
                    if (name.beginsWith(BuiltInName::uaddCarry))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_uaddCarry_0D0D0D;
                    }
                    break;
                }
                case 0x12840dfbu:
                {
                    if (name == BuiltInName::uaddCarry_2D2D2D)
                    {
                        return &BuiltInFunction::kFunction_uaddCarry_2D2D2D;
                    }
                    break;
                }
                case 0x12842566u:
                {
                    if (name == BuiltInName::uaddCarry_3D3D3D)
                    {
                        return &BuiltInFunction::kFunction_uaddCarry_3D3D3D;
                    }
                    break;
                }
                case 0x12843bc0u:
                {
                    if (name.beginsWith(BuiltInName::uaddCarry))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_uaddCarry_1D1D1D;
                    }
                    break;
                }
                case 0x1488078cu:
                {
                    if (name.beginsWith(BuiltInName::imageStore))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_imageStore_0k2C3D;
                    }
                    break;
                }
                case 0x14880e11u:
                {
                    if (name == BuiltInName::texelFetch_0V2C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0V2C0C;
                    }
                    break;
                }
                case 0x1488ffa7u:
                {
                    if (name == BuiltInName::usubBorrow_3D3D3D)
                    {
                        return &BuiltInFunction::kFunction_usubBorrow_3D3D3D;
                    }
                    break;
                }
                case 0x1489244fu:
                {
                    if (name.beginsWith(BuiltInName::texelFetch))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_texelFetch_0b2C0C;
                    }
                    break;
                }
                case 0x14896692u:
                {
                    if (name.beginsWith(BuiltInName::usubBorrow))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_usubBorrow_2D2D2D;
                    }
                    break;
                }
                case 0x14896e41u:
                {
                    if (name == BuiltInName::texelFetch_0O1C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0O1C0C;
                    }
                    break;
                }
                case 0x148a0cecu:
                {
                    if (name == BuiltInName::imageStore_0p2C3C)
                    {
                        return &BuiltInFunction::kFunction_imageStore_0p2C3C;
                    }
                    break;
                }
                case 0x148ab5f1u:
                {
                    if (name == BuiltInName::usubBorrow_1D1D1D)
                    {
                        return &BuiltInFunction::kFunction_usubBorrow_1D1D1D;
                    }
                    break;
                }
                case 0x148bb1bdu:
                {
                    if (name.beginsWith(BuiltInName::imageStore))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_imageStore_0g1C3C;
                    }
                    break;
                }
                case 0x148c1e41u:
                {
                    if (name.beginsWith(BuiltInName::imageStore))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_imageStore_0q2C3D;
                    }
                    break;
                }
                case 0x148d86dcu:
                {
                    if (name.beginsWith(BuiltInName::imageStore))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_imageStore_0f1C3B;
                    }
                    break;
                }
                case 0x148dcfd5u:
                {
                    if (name == BuiltInName::imageStore_0l2C3B)
                    {
                        return &BuiltInFunction::kFunction_imageStore_0l2C3B;
                    }
                    break;
                }
                case 0x148ddb10u:
                {
                    if (name.beginsWith(BuiltInName::texelFetch))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_texelFetch_0a1C0C;
                    }
                    break;
                }
                case 0x148e37b8u:
                {
                    if (name.beginsWith(BuiltInName::imageStore))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_imageStore_0m2C3C;
                    }
                    break;
                }
                case 0x148e668au:
                {
                    if (name == BuiltInName::imageStore_0j2C3C)
                    {
                        return &BuiltInFunction::kFunction_imageStore_0j2C3C;
                    }
                    break;
                }
                case 0x148e872bu:
                {
                    if (name == BuiltInName::texelFetch_0P2C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0P2C0C;
                    }
                    break;
                }
                case 0x148ed16fu:
                {
                    if (name.beginsWith(BuiltInName::texelFetch))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_texelFetch_0U1C0C;
                    }
                    break;
                }
                case 0x148ed534u:
                {
                    if (name == BuiltInName::imageStore_0n2C3D)
                    {
                        return &BuiltInFunction::kFunction_imageStore_0n2C3D;
                    }
                    break;
                }
                case 0x148f6fe1u:
                {
                    if (name == BuiltInName::usubBorrow_0D0D0D)
                    {
                        return &BuiltInFunction::kFunction_usubBorrow_0D0D0D;
                    }
                    break;
                }
                case 0x148f7a82u:
                {
                    if (name.beginsWith(BuiltInName::imageStore))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_imageStore_0o2C3B;
                    }
                    break;
                }
                case 0x148fd5f1u:
                {
                    if (name.beginsWith(BuiltInName::imageStore))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_imageStore_0i2C3B;
                    }
                    break;
                }
                case 0x148ffee8u:
                {
                    if (name == BuiltInName::imageStore_0h1C3D)
                    {
                        return &BuiltInFunction::kFunction_imageStore_0h1C3D;
                    }
                    break;
                }
                case 0x167394d8u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSize_0U;
                    }
                    break;
                }
                case 0x1673a791u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSize_0V;
                    }
                    break;
                }
                case 0x1673b4b7u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSize_0P;
                    }
                    break;
                }
                case 0x1673f496u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSize_0O;
                    }
                    break;
                }
                case 0x16752ab6u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSize_0a;
                    }
                    break;
                }
                case 0x1675566fu:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSize_0b;
                    }
                    break;
                }
                case 0x187b7b7cu:
                {
                    if (name.beginsWith(BuiltInName::packSnorm4x8))
                    {
                        ASSERT(name.length() == 15);
                        return &BuiltInFunction::kFunction_packSnorm4x8_3B;
                    }
                    break;
                }
                case 0x187c1f3fu:
                {
                    if (name.beginsWith(BuiltInName::packUnorm4x8))
                    {
                        ASSERT(name.length() == 15);
                        return &BuiltInFunction::kFunction_packUnorm4x8_3B;
                    }
                    break;
                }
                case 0x18a851efu:
                {
                    if (name == BuiltInName::imulExtended_2C2C2C2C)
                    {
                        return &BuiltInFunction::kFunction_imulExtended_2C2C2C2C;
                    }
                    break;
                }
                case 0x18a93bdcu:
                {
                    if (name == BuiltInName::umulExtended_0D0D0D0D)
                    {
                        return &BuiltInFunction::kFunction_umulExtended_0D0D0D0D;
                    }
                    break;
                }
                case 0x18a94b63u:
                {
                    if (name == BuiltInName::umulExtended_3D3D3D3D)
                    {
                        return &BuiltInFunction::kFunction_umulExtended_3D3D3D3D;
                    }
                    break;
                }
                case 0x18aa71ceu:
                {
                    if (name == BuiltInName::umulExtended_2D2D2D2D)
                    {
                        return &BuiltInFunction::kFunction_umulExtended_2D2D2D2D;
                    }
                    break;
                }
                case 0x18ab4baeu:
                {
                    if (name == BuiltInName::umulExtended_1D1D1D1D)
                    {
                        return &BuiltInFunction::kFunction_umulExtended_1D1D1D1D;
                    }
                    break;
                }
                case 0x18ac1df0u:
                {
                    if (name == BuiltInName::imulExtended_3C3C3C3C)
                    {
                        return &BuiltInFunction::kFunction_imulExtended_3C3C3C3C;
                    }
                    break;
                }
                case 0x18ac377fu:
                {
                    if (name == BuiltInName::imulExtended_0C0C0C0C)
                    {
                        return &BuiltInFunction::kFunction_imulExtended_0C0C0C0C;
                    }
                    break;
                }
                case 0x18ae7b8cu:
                {
                    if (name == BuiltInName::imulExtended_1C1C1C1C)
                    {
                        return &BuiltInFunction::kFunction_imulExtended_1C1C1C1C;
                    }
                    break;
                }
                case 0x1a7538dfu:
                {
                    if (name.beginsWith(BuiltInName::memoryBarrier))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_memoryBarrier_;
                    }
                    break;
                }
                case 0x1a805162u:
                {
                    if (name.beginsWith(BuiltInName::atomicCounter))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_atomicCounter_0F;
                    }
                    break;
                }
                case 0x1a910beau:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0Y2B;
                    }
                    break;
                }
                case 0x1a91963cu:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0d2B;
                    }
                    break;
                }
                case 0x1a926b0du:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0c1B;
                    }
                    break;
                }
                case 0x1a92a168u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0W1B;
                    }
                    break;
                }
                case 0x1a92a1ceu:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0H1B;
                    }
                    break;
                }
                case 0x1a92c882u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0Q1B;
                    }
                    break;
                }
                case 0x1a9418e8u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0S2B;
                    }
                    break;
                }
                case 0x1a94543du:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0K2B;
                    }
                    break;
                }
                case 0x1a94d27du:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0e2B;
                    }
                    break;
                }
                case 0x1a94eb48u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0Z2B;
                    }
                    break;
                }
                case 0x1a95f707u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0T2B;
                    }
                    break;
                }
                case 0x1a979ae3u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureGather_0J2B;
                    }
                    break;
                }
                case 0x1aa039c7u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureGather_0e2B0B;
                    }
                    break;
                }
                case 0x1aa133bcu:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureGather_0Q1B0C;
                    }
                    break;
                }
                case 0x1aa17115u:
                {
                    if (name == BuiltInName::textureGather_0Z2B0C)
                    {
                        return &BuiltInFunction::kFunction_textureGather_0Z2B0C;
                    }
                    break;
                }
                case 0x1aa182eeu:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureGather_0c1B0B;
                    }
                    break;
                }
                case 0x1aa220b0u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureGather_0W1B0C;
                    }
                    break;
                }
                case 0x1aa2aafeu:
                {
                    if (name == BuiltInName::textureGather_0T2B0C)
                    {
                        return &BuiltInFunction::kFunction_textureGather_0T2B0C;
                    }
                    break;
                }
                case 0x1aa353f8u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureGather_0d2B0B;
                    }
                    break;
                }
                case 0x1aa3ef46u:
                {
                    if (name == BuiltInName::textureGather_0S2B0C)
                    {
                        return &BuiltInFunction::kFunction_textureGather_0S2B0C;
                    }
                    break;
                }
                case 0x1aa4986bu:
                {
                    if (name == BuiltInName::textureGather_0J2B0C)
                    {
                        return &BuiltInFunction::kFunction_textureGather_0J2B0C;
                    }
                    break;
                }
                case 0x1aa4c59du:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureGather_0H1B0C;
                    }
                    break;
                }
                case 0x1aa78b86u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureGather_0K2B0C;
                    }
                    break;
                }
                case 0x1aa7fa48u:
                {
                    if (name.beginsWith(BuiltInName::textureGather))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureGather_0Y2B0C;
                    }
                    break;
                }
                case 0x1c894fb3u:
                {
                    if (name.beginsWith(BuiltInName::unpackSnorm4x8))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_unpackSnorm4x8_0D;
                    }
                    break;
                }
                case 0x1c8be3bau:
                {
                    if (name.beginsWith(BuiltInName::unpackUnorm4x8))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_unpackUnorm4x8_0D;
                    }
                    break;
                }
                case 0x1c9986beu:
                {
                    if (name.beginsWith(BuiltInName::atomicExchange))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_atomicExchange_0D0D;
                    }
                    break;
                }
                case 0x1c9b5eecu:
                {
                    if (name.beginsWith(BuiltInName::atomicExchange))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_atomicExchange_0C0C;
                    }
                    break;
                }
                case 0x1ca86085u:
                {
                    if (name.beginsWith(BuiltInName::atomicCompSwap))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_atomicCompSwap_0C0C0C;
                    }
                    break;
                }
                case 0x1caa900cu:
                {
                    if (name == BuiltInName::atomicCompSwap_0D0D0D)
                    {
                        return &BuiltInFunction::kFunction_atomicCompSwap_0D0D0D;
                    }
                    break;
                }
                case 0x1cb84b0cu:
                {
                    if (name == BuiltInName::bitfieldInsert_3D3D0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldInsert_3D3D0C0C;
                    }
                    break;
                }
                case 0x1cb880bfu:
                {
                    if (name == BuiltInName::bitfieldInsert_3C3C0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldInsert_3C3C0C0C;
                    }
                    break;
                }
                case 0x1cb90fd0u:
                {
                    if (name == BuiltInName::bitfieldInsert_1C1C0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldInsert_1C1C0C0C;
                    }
                    break;
                }
                case 0x1cb9fb13u:
                {
                    if (name == BuiltInName::bitfieldInsert_1D1D0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldInsert_1D1D0C0C;
                    }
                    break;
                }
                case 0x1cbb43f5u:
                {
                    if (name == BuiltInName::bitfieldInsert_0D0D0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldInsert_0D0D0C0C;
                    }
                    break;
                }
                case 0x1cbb9db3u:
                {
                    if (name == BuiltInName::bitfieldInsert_2D2D0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldInsert_2D2D0C0C;
                    }
                    break;
                }
                case 0x1cbdf898u:
                {
                    if (name == BuiltInName::bitfieldInsert_0C0C0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldInsert_0C0C0C0C;
                    }
                    break;
                }
                case 0x1cbfaf73u:
                {
                    if (name == BuiltInName::bitfieldInsert_2C2C0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldInsert_2C2C0C0C;
                    }
                    break;
                }
                case 0x1e907f62u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldReverse))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_bitfieldReverse_3D;
                    }
                    break;
                }
                case 0x1e9088f7u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldReverse))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_bitfieldReverse_3C;
                    }
                    break;
                }
                case 0x1e91c654u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldReverse))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_bitfieldReverse_0C;
                    }
                    break;
                }
                case 0x1e91e675u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldReverse))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_bitfieldReverse_0D;
                    }
                    break;
                }
                case 0x1e96ddc2u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldReverse))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_bitfieldReverse_1D;
                    }
                    break;
                }
                case 0x1e970da3u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldReverse))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_bitfieldReverse_1C;
                    }
                    break;
                }
                case 0x1e9744d7u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldReverse))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_bitfieldReverse_2D;
                    }
                    break;
                }
                case 0x1e9797d2u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldReverse))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_bitfieldReverse_2C;
                    }
                    break;
                }
                case 0x1eb0c64fu:
                {
                    if (name.beginsWith(BuiltInName::bitfieldExtract))
                    {
                        ASSERT(name.length() == 22);
                        return &BuiltInFunction::kFunction_bitfieldExtract_2C0C0C;
                    }
                    break;
                }
                case 0x1eb0f9fau:
                {
                    if (name == BuiltInName::bitfieldExtract_0D0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldExtract_0D0C0C;
                    }
                    break;
                }
                case 0x1eb12f29u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldExtract))
                    {
                        ASSERT(name.length() == 22);
                        return &BuiltInFunction::kFunction_bitfieldExtract_3D0C0C;
                    }
                    break;
                }
                case 0x1eb17d11u:
                {
                    if (name == BuiltInName::bitfieldExtract_3C0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldExtract_3C0C0C;
                    }
                    break;
                }
                case 0x1eb17f7du:
                {
                    if (name.beginsWith(BuiltInName::bitfieldExtract))
                    {
                        ASSERT(name.length() == 22);
                        return &BuiltInFunction::kFunction_bitfieldExtract_0C0C0C;
                    }
                    break;
                }
                case 0x1eb19a50u:
                {
                    if (name == BuiltInName::bitfieldExtract_1C0C0C)
                    {
                        return &BuiltInFunction::kFunction_bitfieldExtract_1C0C0C;
                    }
                    break;
                }
                case 0x1eb28b55u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldExtract))
                    {
                        ASSERT(name.length() == 22);
                        return &BuiltInFunction::kFunction_bitfieldExtract_2D0C0C;
                    }
                    break;
                }
                case 0x1eb5f0c8u:
                {
                    if (name.beginsWith(BuiltInName::bitfieldExtract))
                    {
                        ASSERT(name.length() == 22);
                        return &BuiltInFunction::kFunction_bitfieldExtract_1D0C0C;
                    }
                    break;
                }
                case 0x249e7359u:
                {
                    if (name.beginsWith(BuiltInName::memoryBarrierImage))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_memoryBarrierImage_;
                    }
                    break;
                }
                case 0x26a7e24bu:
                {
                    if (name.beginsWith(BuiltInName::memoryBarrierBuffer))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_memoryBarrierBuffer_;
                    }
                    break;
                }
                case 0x26d00e91u:
                {
                    if (name == BuiltInName::textureGatherOffset_0W1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0W1B1C;
                    }
                    break;
                }
                case 0x26d0b451u:
                {
                    if (name.beginsWith(BuiltInName::textureGatherOffset))
                    {
                        ASSERT(name.length() == 26);
                        return &BuiltInFunction::kFunction_textureGatherOffset_0Q1B1C;
                    }
                    break;
                }
                case 0x26d0db41u:
                {
                    if (name.beginsWith(BuiltInName::textureGatherOffset))
                    {
                        ASSERT(name.length() == 26);
                        return &BuiltInFunction::kFunction_textureGatherOffset_0Z2B1C;
                    }
                    break;
                }
                case 0x26d1f440u:
                {
                    if (name.beginsWith(BuiltInName::textureGatherOffset))
                    {
                        ASSERT(name.length() == 26);
                        return &BuiltInFunction::kFunction_textureGatherOffset_0K2B1C;
                    }
                    break;
                }
                case 0x26d2d875u:
                {
                    if (name == BuiltInName::textureGatherOffset_0T2B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0T2B1C;
                    }
                    break;
                }
                case 0x26d71952u:
                {
                    if (name.beginsWith(BuiltInName::textureGatherOffset))
                    {
                        ASSERT(name.length() == 26);
                        return &BuiltInFunction::kFunction_textureGatherOffset_0H1B1C;
                    }
                    break;
                }
                case 0x26e1982cu:
                {
                    if (name == BuiltInName::textureGatherOffset_0T2B1C0C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0T2B1C0C;
                    }
                    break;
                }
                case 0x26e459f8u:
                {
                    if (name == BuiltInName::textureGatherOffset_0K2B1C0C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0K2B1C0C;
                    }
                    break;
                }
                case 0x26e476d0u:
                {
                    if (name == BuiltInName::textureGatherOffset_0H1B1C0C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0H1B1C0C;
                    }
                    break;
                }
                case 0x26e47c82u:
                {
                    if (name == BuiltInName::textureGatherOffset_0Z2B1C0C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0Z2B1C0C;
                    }
                    break;
                }
                case 0x26e53ca1u:
                {
                    if (name == BuiltInName::textureGatherOffset_0e2B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0e2B0B1C;
                    }
                    break;
                }
                case 0x26e567feu:
                {
                    if (name == BuiltInName::textureGatherOffset_0Q1B1C0C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0Q1B1C0C;
                    }
                    break;
                }
                case 0x26e580eau:
                {
                    if (name == BuiltInName::textureGatherOffset_0c1B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0c1B0B1C;
                    }
                    break;
                }
                case 0x26e737a0u:
                {
                    if (name == BuiltInName::textureGatherOffset_0W1B1C0C)
                    {
                        return &BuiltInFunction::kFunction_textureGatherOffset_0W1B1C0C;
                    }
                    break;
                }
                case 0x2ccf8f34u:
                {
                    if (name.beginsWith(BuiltInName::atomicCounterIncrement))
                    {
                        ASSERT(name.length() == 25);
                        return &BuiltInFunction::kFunction_atomicCounterIncrement_0F;
                    }
                    break;
                }
                case 0x2ccfbbbeu:
                {
                    if (name.beginsWith(BuiltInName::atomicCounterDecrement))
                    {
                        ASSERT(name.length() == 25);
                        return &BuiltInFunction::kFunction_atomicCounterDecrement_0F;
                    }
                    break;
                }
                case 0x34ded18du:
                {
                    if (name.beginsWith(BuiltInName::memoryBarrierAtomicCounter))
                    {
                        ASSERT(name.length() == 27);
                        return &BuiltInFunction::kFunction_memoryBarrierAtomicCounter_;
                    }
                    break;
                }
                case 0x7e2bef7au:
                {
                    if (name == BuiltInName::gl_in)
                    {
                        // Only initialized if shaderType == GL_GEOMETRY_SHADER_EXT
                        return mVar_gl_in;
                    }
                    break;
                }
                case 0x7e8166efu:
                {
                    if (name == BuiltInName::gl_MaxImageUnits)
                    {
                        return mVar_gl_MaxImageUnits;
                    }
                    break;
                }
                case 0x7ecf4a1bu:
                {
                    if (name == BuiltInName::gl_MaxVertexImageUniforms)
                    {
                        return mVar_gl_MaxVertexImageUniforms;
                    }
                    break;
                }
                case 0x7ed27574u:
                {
                    if (name == BuiltInName::gl_MaxVertexAtomicCounters)
                    {
                        return mVar_gl_MaxVertexAtomicCounters;
                    }
                    break;
                }
                case 0x7ed2bd5cu:
                {
                    if (name == BuiltInName::gl_MaxComputeImageUniforms)
                    {
                        return mVar_gl_MaxComputeImageUniforms;
                    }
                    break;
                }
                case 0x7ed77973u:
                {
                    if (name == BuiltInName::gl_MaxComputeWorkGroupSize)
                    {
                        return mVar_gl_MaxComputeWorkGroupSize;
                    }
                    break;
                }
                case 0x7ed9ae57u:
                {
                    if (name == BuiltInName::gl_MaxCombinedImageUniforms)
                    {
                        return mVar_gl_MaxCombinedImageUniforms;
                    }
                    break;
                }
                case 0x7ed9f437u:
                {
                    if (name == BuiltInName::gl_MaxGeometryImageUniforms)
                    {
                        return mVar_gl_MaxGeometryImageUniforms;
                    }
                    break;
                }
                case 0x7edacc17u:
                {
                    if (name == BuiltInName::gl_MaxAtomicCounterBindings)
                    {
                        return mVar_gl_MaxAtomicCounterBindings;
                    }
                    break;
                }
                case 0x7ede0db3u:
                {
                    if (name == BuiltInName::gl_MaxComputeAtomicCounters)
                    {
                        return mVar_gl_MaxComputeAtomicCounters;
                    }
                    break;
                }
                case 0x7edeadeeu:
                {
                    if (name == BuiltInName::gl_MaxComputeWorkGroupCount)
                    {
                        return mVar_gl_MaxComputeWorkGroupCount;
                    }
                    break;
                }
                case 0x7edf534au:
                {
                    if (name == BuiltInName::gl_MaxFragmentImageUniforms)
                    {
                        return mVar_gl_MaxFragmentImageUniforms;
                    }
                    break;
                }
                case 0x7ee1b439u:
                {
                    if (name == BuiltInName::gl_MaxGeometryOutputVertices)
                    {
                        return mVar_gl_MaxGeometryOutputVertices;
                    }
                    break;
                }
                case 0x7ee23dcau:
                {
                    if (name == BuiltInName::gl_MaxFragmentAtomicCounters)
                    {
                        return mVar_gl_MaxFragmentAtomicCounters;
                    }
                    break;
                }
                case 0x7ee400c5u:
                {
                    if (name == BuiltInName::gl_MaxCombinedAtomicCounters)
                    {
                        return mVar_gl_MaxCombinedAtomicCounters;
                    }
                    break;
                }
                case 0x7ee6d3cfu:
                {
                    if (name == BuiltInName::gl_MaxGeometryAtomicCounters)
                    {
                        return mVar_gl_MaxGeometryAtomicCounters;
                    }
                    break;
                }
                case 0x7eec3ae1u:
                {
                    if (name == BuiltInName::gl_MaxGeometryInputComponents)
                    {
                        return mVar_gl_MaxGeometryInputComponents;
                    }
                    break;
                }
                case 0x7eecdfadu:
                {
                    if (name == BuiltInName::gl_MaxAtomicCounterBufferSize)
                    {
                        return mVar_gl_MaxAtomicCounterBufferSize;
                    }
                    break;
                }
                case 0x7ef00fc2u:
                {
                    if (name == BuiltInName::gl_MaxComputeTextureImageUnits)
                    {
                        return mVar_gl_MaxComputeTextureImageUnits;
                    }
                    break;
                }
                case 0x7ef3740bu:
                {
                    if (name == BuiltInName::gl_MaxComputeUniformComponents)
                    {
                        return mVar_gl_MaxComputeUniformComponents;
                    }
                    break;
                }
                case 0x7ef69ab4u:
                {
                    if (name == BuiltInName::gl_MaxGeometryOutputComponents)
                    {
                        return mVar_gl_MaxGeometryOutputComponents;
                    }
                    break;
                }
                case 0x7ef9b17du:
                {
                    if (name == BuiltInName::gl_MaxGeometryTextureImageUnits)
                    {
                        return mVar_gl_MaxGeometryTextureImageUnits;
                    }
                    break;
                }
                case 0x7efe1865u:
                {
                    if (name == BuiltInName::gl_MaxGeometryUniformComponents)
                    {
                        return mVar_gl_MaxGeometryUniformComponents;
                    }
                    break;
                }
                case 0x7f008375u:
                {
                    if (name == BuiltInName::gl_MaxVertexAtomicCounterBuffers)
                    {
                        return mVar_gl_MaxVertexAtomicCounterBuffers;
                    }
                    break;
                }
                case 0x7f0d626fu:
                {
                    if (name == BuiltInName::gl_MaxComputeAtomicCounterBuffers)
                    {
                        return mVar_gl_MaxComputeAtomicCounterBuffers;
                    }
                    break;
                }
                case 0x7f11e359u:
                {
                    if (name == BuiltInName::gl_MaxCombinedAtomicCounterBuffers)
                    {
                        return mVar_gl_MaxCombinedAtomicCounterBuffers;
                    }
                    break;
                }
                case 0x7f170f84u:
                {
                    if (name == BuiltInName::gl_MaxGeometryAtomicCounterBuffers)
                    {
                        return mVar_gl_MaxGeometryAtomicCounterBuffers;
                    }
                    break;
                }
                case 0x7f17bd18u:
                {
                    if (name == BuiltInName::gl_MaxFragmentAtomicCounterBuffers)
                    {
                        return mVar_gl_MaxFragmentAtomicCounterBuffers;
                    }
                    break;
                }
                case 0x7f1c60f8u:
                {
                    if (name == BuiltInName::gl_MaxCombinedShaderOutputResources)
                    {
                        return mVar_gl_MaxCombinedShaderOutputResources;
                    }
                    break;
                }
                case 0x7f1cd073u:
                {
                    if (name == BuiltInName::gl_MaxGeometryTotalOutputComponents)
                    {
                        return mVar_gl_MaxGeometryTotalOutputComponents;
                    }
                    break;
                }
            }
            if (mShaderType == GL_COMPUTE_SHADER)
            {
                switch (nameHash)
                {
                    case 0x0e41a660u:
                    {
                        if (name.beginsWith(BuiltInName::barrier))
                        {
                            ASSERT(name.length() == 8);
                            return &BuiltInFunction::kFunction_barrier_;
                        }
                        break;
                    }
                    case 0x249ee97cu:
                    {
                        if (name.beginsWith(BuiltInName::groupMemoryBarrier))
                        {
                            ASSERT(name.length() == 19);
                            return &BuiltInFunction::kFunction_groupMemoryBarrier_;
                        }
                        break;
                    }
                    case 0x26a4d8e6u:
                    {
                        if (name.beginsWith(BuiltInName::memoryBarrierShared))
                        {
                            ASSERT(name.length() == 20);
                            return &BuiltInFunction::kFunction_memoryBarrierShared_;
                        }
                        break;
                    }
                    case 0x7e736b62u:
                    {
                        if (name == BuiltInName::gl_WorkGroupID)
                        {
                            return &BuiltInVariable::kVar_gl_WorkGroupID;
                        }
                        break;
                    }
                    case 0x7e808e8fu:
                    {
                        if (name == BuiltInName::gl_WorkGroupSize)
                        {
                            return &BuiltInVariable::kVar_gl_WorkGroupSize;
                        }
                        break;
                    }
                    case 0x7e82b146u:
                    {
                        if (name == BuiltInName::gl_NumWorkGroups)
                        {
                            return &BuiltInVariable::kVar_gl_NumWorkGroups;
                        }
                        break;
                    }
                    case 0x7ea251edu:
                    {
                        if (name == BuiltInName::gl_LocalInvocationID)
                        {
                            return &BuiltInVariable::kVar_gl_LocalInvocationID;
                        }
                        break;
                    }
                    case 0x7ead13a8u:
                    {
                        if (name == BuiltInName::gl_GlobalInvocationID)
                        {
                            return &BuiltInVariable::kVar_gl_GlobalInvocationID;
                        }
                        break;
                    }
                    case 0x7ebcd395u:
                    {
                        if (name == BuiltInName::gl_LocalInvocationIndex)
                        {
                            return &BuiltInVariable::kVar_gl_LocalInvocationIndex;
                        }
                        break;
                    }
                }
            }
            if (mShaderType == GL_GEOMETRY_SHADER_EXT)
            {
                switch (nameHash)
                {
                    case 0x145d55c9u:
                    {
                        if (name.beginsWith(BuiltInName::EmitVertex))
                        {
                            ASSERT(name.length() == 11);
                            return &BuiltInFunction::kFunction_EmitVertex_;
                        }
                        break;
                    }
                    case 0x186fcde2u:
                    {
                        if (name.beginsWith(BuiltInName::EndPrimitive))
                        {
                            ASSERT(name.length() == 13);
                            return &BuiltInFunction::kFunction_EndPrimitive_;
                        }
                        break;
                    }
                    case 0x7e400f84u:
                    {
                        if (name == BuiltInName::gl_Layer)
                        {
                            return &BuiltInVariable::kVar_gl_LayerGS;
                        }
                        break;
                    }
                    case 0x7e580bc5u:
                    {
                        if (name == BuiltInName::gl_Position)
                        {
                            return mVar_gl_PositionGS;
                        }
                        break;
                    }
                    case 0x7e67167au:
                    {
                        if (name == BuiltInName::gl_PerVertex)
                        {
                            return mVar_gl_PerVertex;
                        }
                        break;
                    }
                    case 0x7e742076u:
                    {
                        if (name == BuiltInName::gl_PrimitiveID)
                        {
                            return &BuiltInVariable::kVar_gl_PrimitiveIDGS;
                        }
                        break;
                    }
                    case 0x7e7fe684u:
                    {
                        if (name == BuiltInName::gl_InvocationID)
                        {
                            return &BuiltInVariable::kVar_gl_InvocationID;
                        }
                        break;
                    }
                    case 0x7e865240u:
                    {
                        if (name == BuiltInName::gl_PrimitiveIDIn)
                        {
                            return &BuiltInVariable::kVar_gl_PrimitiveIDIn;
                        }
                        break;
                    }
                }
            }
            if ((mShaderType == GL_FRAGMENT_SHADER) && (mResources.EXT_geometry_shader))
            {
                switch (nameHash)
                {
                    case 0x7e400f84u:
                    {
                        if (name == BuiltInName::gl_Layer)
                        {
                            return &BuiltInVariable::kVar_gl_Layer;
                        }
                        break;
                    }
                    case 0x7e742076u:
                    {
                        if (name == BuiltInName::gl_PrimitiveID)
                        {
                            return &BuiltInVariable::kVar_gl_PrimitiveID;
                        }
                        break;
                    }
                }
            }
        }
        if (shaderVersion >= 300)
        {
            switch (nameHash)
            {
                case 0x06309dbcu:
                {
                    if (name.beginsWith(BuiltInName::abs))
                    {
                        ASSERT(name.length() == 6);
                        return &BuiltInFunction::kFunction_abs_0C;
                    }
                    break;
                }
                case 0x0631d85fu:
                {
                    if (name.beginsWith(BuiltInName::abs))
                    {
                        ASSERT(name.length() == 6);
                        return &BuiltInFunction::kFunction_abs_3C;
                    }
                    break;
                }
                case 0x06370c70u:
                {
                    if (name.beginsWith(BuiltInName::abs))
                    {
                        ASSERT(name.length() == 6);
                        return &BuiltInFunction::kFunction_abs_2C;
                    }
                    break;
                }
                case 0x06378eb0u:
                {
                    if (name.beginsWith(BuiltInName::abs))
                    {
                        ASSERT(name.length() == 6);
                        return &BuiltInFunction::kFunction_abs_1C;
                    }
                    break;
                }
                case 0x06408ba2u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_2D0D;
                    }
                    break;
                }
                case 0x0640f128u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_1C0C;
                    }
                    break;
                }
                case 0x06420bb0u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_0D0D;
                    }
                    break;
                }
                case 0x064236d1u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_2D2D;
                    }
                    break;
                }
                case 0x06425522u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_3C0C;
                    }
                    break;
                }
                case 0x06425db3u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_2C0C;
                    }
                    break;
                }
                case 0x06429550u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_2D2D;
                    }
                    break;
                }
                case 0x06429e9cu:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_2C0C;
                    }
                    break;
                }
                case 0x0642c869u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_3D3D;
                    }
                    break;
                }
                case 0x0642dbfeu:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_3C3C;
                    }
                    break;
                }
                case 0x064305b5u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_3D3D;
                    }
                    break;
                }
                case 0x06436c9au:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_1D0D;
                    }
                    break;
                }
                case 0x0643ebd5u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_3D0D;
                    }
                    break;
                }
                case 0x06441467u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_2C2C;
                    }
                    break;
                }
                case 0x0644176eu:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_1C1C;
                    }
                    break;
                }
                case 0x06443b94u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_2D0D;
                    }
                    break;
                }
                case 0x06448798u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_3C3C;
                    }
                    break;
                }
                case 0x0644a6dfu:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_1D1D;
                    }
                    break;
                }
                case 0x0644cd73u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_2C2C;
                    }
                    break;
                }
                case 0x06450593u:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_1C0C;
                    }
                    break;
                }
                case 0x06452105u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_1D0D;
                    }
                    break;
                }
                case 0x06454045u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_0C0C;
                    }
                    break;
                }
                case 0x0645e25du:
                {
                    if (name.beginsWith(BuiltInName::min))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_min_0C0C;
                    }
                    break;
                }
                case 0x06460349u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_1D1D;
                    }
                    break;
                }
                case 0x06472b16u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_3D0D;
                    }
                    break;
                }
                case 0x06473146u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_0D0D;
                    }
                    break;
                }
                case 0x06475b89u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_3C0C;
                    }
                    break;
                }
                case 0x0647bc75u:
                {
                    if (name.beginsWith(BuiltInName::max))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_max_1C1C;
                    }
                    break;
                }
                case 0x0654b2f8u:
                {
                    if (name.beginsWith(BuiltInName::mix))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_mix_2B2B2E;
                    }
                    break;
                }
                case 0x0655a7e2u:
                {
                    if (name == BuiltInName::mix_0B0B0E)
                    {
                        return &BuiltInFunction::kFunction_mix_0B0B0E;
                    }
                    break;
                }
                case 0x06567d08u:
                {
                    if (name.beginsWith(BuiltInName::mix))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_mix_3B3B3E;
                    }
                    break;
                }
                case 0x0657f3adu:
                {
                    if (name == BuiltInName::mix_1B1B1E)
                    {
                        return &BuiltInFunction::kFunction_mix_1B1B1E;
                    }
                    break;
                }
                case 0x0838025eu:
                {
                    if (name.beginsWith(BuiltInName::tanh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_tanh_3B;
                    }
                    break;
                }
                case 0x0838944cu:
                {
                    if (name.beginsWith(BuiltInName::tanh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_tanh_0B;
                    }
                    break;
                }
                case 0x08392747u:
                {
                    if (name.beginsWith(BuiltInName::sinh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_sinh_2B;
                    }
                    break;
                }
                case 0x08398f4au:
                {
                    if (name.beginsWith(BuiltInName::sinh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_sinh_1B;
                    }
                    break;
                }
                case 0x083991ddu:
                {
                    if (name.beginsWith(BuiltInName::tanh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_tanh_1B;
                    }
                    break;
                }
                case 0x083aa373u:
                {
                    if (name.beginsWith(BuiltInName::sinh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_sinh_0B;
                    }
                    break;
                }
                case 0x083acb5eu:
                {
                    if (name.beginsWith(BuiltInName::tanh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_tanh_2B;
                    }
                    break;
                }
                case 0x083acbf5u:
                {
                    if (name.beginsWith(BuiltInName::sign))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_sign_1C;
                    }
                    break;
                }
                case 0x083b5c45u:
                {
                    if (name.beginsWith(BuiltInName::cosh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_cosh_0B;
                    }
                    break;
                }
                case 0x083bd9f8u:
                {
                    if (name.beginsWith(BuiltInName::sinh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_sinh_3B;
                    }
                    break;
                }
                case 0x083c1656u:
                {
                    if (name.beginsWith(BuiltInName::sign))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_sign_2C;
                    }
                    break;
                }
                case 0x083c57c4u:
                {
                    if (name.beginsWith(BuiltInName::cosh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_cosh_1B;
                    }
                    break;
                }
                case 0x083d503bu:
                {
                    if (name.beginsWith(BuiltInName::sign))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_sign_3C;
                    }
                    break;
                }
                case 0x083d8227u:
                {
                    if (name.beginsWith(BuiltInName::cosh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_cosh_2B;
                    }
                    break;
                }
                case 0x083dd369u:
                {
                    if (name.beginsWith(BuiltInName::sign))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_sign_0C;
                    }
                    break;
                }
                case 0x083ed2deu:
                {
                    if (name.beginsWith(BuiltInName::cosh))
                    {
                        ASSERT(name.length() == 7);
                        return &BuiltInFunction::kFunction_cosh_3B;
                    }
                    break;
                }
                case 0x084807e9u:
                {
                    if (name.beginsWith(BuiltInName::modf))
                    {
                        ASSERT(name.length() == 9);
                        return &BuiltInFunction::kFunction_modf_3B3B;
                    }
                    break;
                }
                case 0x084a908au:
                {
                    if (name.beginsWith(BuiltInName::modf))
                    {
                        ASSERT(name.length() == 9);
                        return &BuiltInFunction::kFunction_modf_1B1B;
                    }
                    break;
                }
                case 0x084bf445u:
                {
                    if (name.beginsWith(BuiltInName::modf))
                    {
                        ASSERT(name.length() == 9);
                        return &BuiltInFunction::kFunction_modf_0B0B;
                    }
                    break;
                }
                case 0x084fa835u:
                {
                    if (name.beginsWith(BuiltInName::modf))
                    {
                        ASSERT(name.length() == 9);
                        return &BuiltInFunction::kFunction_modf_2B2B;
                    }
                    break;
                }
                case 0x0a400148u:
                {
                    if (name.beginsWith(BuiltInName::asinh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_asinh_2B;
                    }
                    break;
                }
                case 0x0a406460u:
                {
                    if (name.beginsWith(BuiltInName::isnan))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_isnan_2B;
                    }
                    break;
                }
                case 0x0a407c52u:
                {
                    if (name.beginsWith(BuiltInName::round))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_round_0B;
                    }
                    break;
                }
                case 0x0a412446u:
                {
                    if (name.beginsWith(BuiltInName::trunc))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_trunc_0B;
                    }
                    break;
                }
                case 0x0a4125d1u:
                {
                    if (name.beginsWith(BuiltInName::asinh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_asinh_3B;
                    }
                    break;
                }
                case 0x0a4189d9u:
                {
                    if (name.beginsWith(BuiltInName::round))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_round_3B;
                    }
                    break;
                }
                case 0x0a41bc4bu:
                {
                    if (name.beginsWith(BuiltInName::trunc))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_trunc_3B;
                    }
                    break;
                }
                case 0x0a4262ceu:
                {
                    if (name.beginsWith(BuiltInName::isinf))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_isinf_2B;
                    }
                    break;
                }
                case 0x0a42b872u:
                {
                    if (name.beginsWith(BuiltInName::trunc))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_trunc_2B;
                    }
                    break;
                }
                case 0x0a430643u:
                {
                    if (name.beginsWith(BuiltInName::atanh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_atanh_2B;
                    }
                    break;
                }
                case 0x0a43b397u:
                {
                    if (name.beginsWith(BuiltInName::isinf))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_isinf_3B;
                    }
                    break;
                }
                case 0x0a43edf9u:
                {
                    if (name.beginsWith(BuiltInName::trunc))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_trunc_1B;
                    }
                    break;
                }
                case 0x0a4431a8u:
                {
                    if (name.beginsWith(BuiltInName::atanh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_atanh_1B;
                    }
                    break;
                }
                case 0x0a443a26u:
                {
                    if (name.beginsWith(BuiltInName::isinf))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_isinf_0B;
                    }
                    break;
                }
                case 0x0a44ad91u:
                {
                    if (name.beginsWith(BuiltInName::acosh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_acosh_1B;
                    }
                    break;
                }
                case 0x0a452617u:
                {
                    if (name.beginsWith(BuiltInName::isinf))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_isinf_1B;
                    }
                    break;
                }
                case 0x0a4561b0u:
                {
                    if (name.beginsWith(BuiltInName::isnan))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_isnan_3B;
                    }
                    break;
                }
                case 0x0a4582c9u:
                {
                    if (name.beginsWith(BuiltInName::atanh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_atanh_0B;
                    }
                    break;
                }
                case 0x0a45fcfdu:
                {
                    if (name.beginsWith(BuiltInName::atanh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_atanh_3B;
                    }
                    break;
                }
                case 0x0a461d10u:
                {
                    if (name.beginsWith(BuiltInName::acosh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_acosh_0B;
                    }
                    break;
                }
                case 0x0a464ad3u:
                {
                    if (name.beginsWith(BuiltInName::asinh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_asinh_0B;
                    }
                    break;
                }
                case 0x0a46778au:
                {
                    if (name.beginsWith(BuiltInName::acosh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_acosh_3B;
                    }
                    break;
                }
                case 0x0a46ab3bu:
                {
                    if (name.beginsWith(BuiltInName::isnan))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_isnan_0B;
                    }
                    break;
                }
                case 0x0a46f2d2u:
                {
                    if (name.beginsWith(BuiltInName::round))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_round_2B;
                    }
                    break;
                }
                case 0x0a4758c8u:
                {
                    if (name.beginsWith(BuiltInName::round))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_round_1B;
                    }
                    break;
                }
                case 0x0a478c93u:
                {
                    if (name.beginsWith(BuiltInName::acosh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_acosh_2B;
                    }
                    break;
                }
                case 0x0a47bb52u:
                {
                    if (name.beginsWith(BuiltInName::asinh))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_asinh_1B;
                    }
                    break;
                }
                case 0x0a47fa7au:
                {
                    if (name.beginsWith(BuiltInName::isnan))
                    {
                        ASSERT(name.length() == 8);
                        return &BuiltInFunction::kFunction_isnan_1B;
                    }
                    break;
                }
                case 0x0a524bc4u:
                {
                    if (name.beginsWith(BuiltInName::equal))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_equal_2D2D;
                    }
                    break;
                }
                case 0x0a5613e7u:
                {
                    if (name.beginsWith(BuiltInName::equal))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_equal_1D1D;
                    }
                    break;
                }
                case 0x0a56ba24u:
                {
                    if (name.beginsWith(BuiltInName::equal))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_equal_3D3D;
                    }
                    break;
                }
                case 0x0a601dd8u:
                {
                    if (name == BuiltInName::clamp_2C2C2C)
                    {
                        return &BuiltInFunction::kFunction_clamp_2C2C2C;
                    }
                    break;
                }
                case 0x0a60570du:
                {
                    if (name.beginsWith(BuiltInName::clamp))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_clamp_1D0D0D;
                    }
                    break;
                }
                case 0x0a60d0c5u:
                {
                    if (name == BuiltInName::clamp_1C0C0C)
                    {
                        return &BuiltInFunction::kFunction_clamp_1C0C0C;
                    }
                    break;
                }
                case 0x0a621a2bu:
                {
                    if (name.beginsWith(BuiltInName::clamp))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_clamp_0C0C0C;
                    }
                    break;
                }
                case 0x0a623042u:
                {
                    if (name.beginsWith(BuiltInName::clamp))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_clamp_2D0D0D;
                    }
                    break;
                }
                case 0x0a624f01u:
                {
                    if (name == BuiltInName::clamp_3C0C0C)
                    {
                        return &BuiltInFunction::kFunction_clamp_3C0C0C;
                    }
                    break;
                }
                case 0x0a62ab50u:
                {
                    if (name == BuiltInName::clamp_1C1C1C)
                    {
                        return &BuiltInFunction::kFunction_clamp_1C1C1C;
                    }
                    break;
                }
                case 0x0a631d0bu:
                {
                    if (name == BuiltInName::clamp_1D1D1D)
                    {
                        return &BuiltInFunction::kFunction_clamp_1D1D1D;
                    }
                    break;
                }
                case 0x0a64f567u:
                {
                    if (name.beginsWith(BuiltInName::clamp))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_clamp_2D2D2D;
                    }
                    break;
                }
                case 0x0a656274u:
                {
                    if (name.beginsWith(BuiltInName::clamp))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_clamp_3C3C3C;
                    }
                    break;
                }
                case 0x0a65a625u:
                {
                    if (name == BuiltInName::clamp_3D0D0D)
                    {
                        return &BuiltInFunction::kFunction_clamp_3D0D0D;
                    }
                    break;
                }
                case 0x0a660047u:
                {
                    if (name.beginsWith(BuiltInName::clamp))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_clamp_2C0C0C;
                    }
                    break;
                }
                case 0x0a660f60u:
                {
                    if (name == BuiltInName::clamp_0D0D0D)
                    {
                        return &BuiltInFunction::kFunction_clamp_0D0D0D;
                    }
                    break;
                }
                case 0x0a674065u:
                {
                    if (name.beginsWith(BuiltInName::clamp))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_clamp_3D3D3D;
                    }
                    break;
                }
                case 0x0e503084u:
                {
                    if (name.beginsWith(BuiltInName::inverse))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_inverse_5B;
                    }
                    break;
                }
                case 0x0e507cbdu:
                {
                    if (name.beginsWith(BuiltInName::inverse))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_inverse_AB;
                    }
                    break;
                }
                case 0x0e50cc43u:
                {
                    if (name.beginsWith(BuiltInName::inverse))
                    {
                        ASSERT(name.length() == 10);
                        return &BuiltInFunction::kFunction_inverse_FB;
                    }
                    break;
                }
                case 0x0e600d82u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0c2B;
                    }
                    break;
                }
                case 0x0e60445cu:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0S2B;
                    }
                    break;
                }
                case 0x0e6044aeu:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0e3B;
                    }
                    break;
                }
                case 0x0e60bb56u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0Q1B;
                    }
                    break;
                }
                case 0x0e61222eu:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0K2B;
                    }
                    break;
                }
                case 0x0e61e49du:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0Z2B;
                    }
                    break;
                }
                case 0x0e625169u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0I2B;
                    }
                    break;
                }
                case 0x0e62790eu:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0T2B;
                    }
                    break;
                }
                case 0x0e63b9efu:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0M1B;
                    }
                    break;
                }
                case 0x0e6470f1u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0J2B;
                    }
                    break;
                }
                case 0x0e64854cu:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0X2B;
                    }
                    break;
                }
                case 0x0e64ec86u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0W1B;
                    }
                    break;
                }
                case 0x0e65ea73u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0H1B;
                    }
                    break;
                }
                case 0x0e661665u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0L1B;
                    }
                    break;
                }
                case 0x0e663be3u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0N1B;
                    }
                    break;
                }
                case 0x0e67665bu:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0d3B;
                    }
                    break;
                }
                case 0x0e67a979u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0R2B;
                    }
                    break;
                }
                case 0x0e67dce5u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_texture_0Y2B;
                    }
                    break;
                }
                case 0x106843efu:
                {
                    if (name.beginsWith(BuiltInName::lessThan))
                    {
                        ASSERT(name.length() == 13);
                        return &BuiltInFunction::kFunction_lessThan_3D3D;
                    }
                    break;
                }
                case 0x10697de8u:
                {
                    if (name.beginsWith(BuiltInName::lessThan))
                    {
                        ASSERT(name.length() == 13);
                        return &BuiltInFunction::kFunction_lessThan_2D2D;
                    }
                    break;
                }
                case 0x106ad530u:
                {
                    if (name.beginsWith(BuiltInName::notEqual))
                    {
                        ASSERT(name.length() == 13);
                        return &BuiltInFunction::kFunction_notEqual_1D1D;
                    }
                    break;
                }
                case 0x106d7bd6u:
                {
                    if (name.beginsWith(BuiltInName::lessThan))
                    {
                        ASSERT(name.length() == 13);
                        return &BuiltInFunction::kFunction_lessThan_1D1D;
                    }
                    break;
                }
                case 0x106e2903u:
                {
                    if (name.beginsWith(BuiltInName::notEqual))
                    {
                        ASSERT(name.length() == 13);
                        return &BuiltInFunction::kFunction_notEqual_3D3D;
                    }
                    break;
                }
                case 0x106e7a45u:
                {
                    if (name.beginsWith(BuiltInName::notEqual))
                    {
                        ASSERT(name.length() == 13);
                        return &BuiltInFunction::kFunction_notEqual_2D2D;
                    }
                    break;
                }
                case 0x12601c9du:
                {
                    if (name.beginsWith(BuiltInName::roundEven))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_roundEven_3B;
                    }
                    break;
                }
                case 0x12602fd7u:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_AB;
                    }
                    break;
                }
                case 0x12614fd4u:
                {
                    if (name.beginsWith(BuiltInName::roundEven))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_roundEven_2B;
                    }
                    break;
                }
                case 0x1264f5e4u:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_EB;
                    }
                    break;
                }
                case 0x12650771u:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_6B;
                    }
                    break;
                }
                case 0x12655b22u:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_BB;
                    }
                    break;
                }
                case 0x12658f24u:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_9B;
                    }
                    break;
                }
                case 0x1265cf4cu:
                {
                    if (name.beginsWith(BuiltInName::roundEven))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_roundEven_1B;
                    }
                    break;
                }
                case 0x12661b07u:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_FB;
                    }
                    break;
                }
                case 0x12665430u:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_7B;
                    }
                    break;
                }
                case 0x1266c2deu:
                {
                    if (name.beginsWith(BuiltInName::roundEven))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_roundEven_0B;
                    }
                    break;
                }
                case 0x1267db60u:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_5B;
                    }
                    break;
                }
                case 0x1267de6cu:
                {
                    if (name.beginsWith(BuiltInName::transpose))
                    {
                        ASSERT(name.length() == 12);
                        return &BuiltInFunction::kFunction_transpose_DB;
                    }
                    break;
                }
                case 0x1273f9dbu:
                {
                    if (name.beginsWith(BuiltInName::yuv_2_rgb))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_yuv_2_rgb_2B0G;
                    }
                    break;
                }
                case 0x127589a7u:
                {
                    if (name.beginsWith(BuiltInName::rgb_2_yuv))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_rgb_2_yuv_2B0G;
                    }
                    break;
                }
                case 0x14882ba7u:
                {
                    if (name.beginsWith(BuiltInName::textureLod))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_textureLod_0X2B0B;
                    }
                    break;
                }
                case 0x14885983u:
                {
                    if (name.beginsWith(BuiltInName::texelFetch))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_texelFetch_0R2C0C;
                    }
                    break;
                }
                case 0x14885e67u:
                {
                    if (name == BuiltInName::texelFetch_0Z2C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0Z2C0C;
                    }
                    break;
                }
                case 0x1488a5bfu:
                {
                    if (name == BuiltInName::textureLod_0W1B0B)
                    {
                        return &BuiltInFunction::kFunction_textureLod_0W1B0B;
                    }
                    break;
                }
                case 0x14896e41u:
                {
                    if (name == BuiltInName::texelFetchExt_0O1C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchExt_0O1C0C;
                    }
                    break;
                }
                case 0x1489e510u:
                {
                    if (name.beginsWith(BuiltInName::textureLod))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_textureLod_0T2B0B;
                    }
                    break;
                }
                case 0x148a14a7u:
                {
                    if (name.beginsWith(BuiltInName::texelFetch))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_texelFetch_0M1C0C;
                    }
                    break;
                }
                case 0x148a66beu:
                {
                    if (name == BuiltInName::textureLod_0S2B0B)
                    {
                        return &BuiltInFunction::kFunction_textureLod_0S2B0B;
                    }
                    break;
                }
                case 0x148a95e7u:
                {
                    if (name.beginsWith(BuiltInName::textureLod))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_textureLod_0c2B0B;
                    }
                    break;
                }
                case 0x148b00dbu:
                {
                    if (name == BuiltInName::textureLod_0J2B0B)
                    {
                        return &BuiltInFunction::kFunction_textureLod_0J2B0B;
                    }
                    break;
                }
                case 0x148b33b6u:
                {
                    if (name.beginsWith(BuiltInName::textureLod))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_textureLod_0H1B0B;
                    }
                    break;
                }
                case 0x148bab65u:
                {
                    if (name == BuiltInName::texelFetch_0I2C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0I2C0C;
                    }
                    break;
                }
                case 0x148cccafu:
                {
                    if (name.beginsWith(BuiltInName::textureLod))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_textureLod_0R2B0B;
                    }
                    break;
                }
                case 0x148d0a7bu:
                {
                    if (name == BuiltInName::texelFetch_0K2C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0K2C0C;
                    }
                    break;
                }
                case 0x148d335cu:
                {
                    if (name.beginsWith(BuiltInName::textureLod))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_textureLod_0I2B0B;
                    }
                    break;
                }
                case 0x148ddb10u:
                {
                    if (name.beginsWith(BuiltInName::texelFetchExt))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_texelFetchExt_0a1C0C;
                    }
                    break;
                }
                case 0x148e100eu:
                {
                    if (name == BuiltInName::texelFetch_0X2C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0X2C0C;
                    }
                    break;
                }
                case 0x148e44d3u:
                {
                    if (name == BuiltInName::textureLod_0Y2B0B)
                    {
                        return &BuiltInFunction::kFunction_textureLod_0Y2B0B;
                    }
                    break;
                }
                case 0x148e5d86u:
                {
                    if (name == BuiltInName::texelFetch_0Q1C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0Q1C0C;
                    }
                    break;
                }
                case 0x148e6d96u:
                {
                    if (name.beginsWith(BuiltInName::texelFetch))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_texelFetch_0W1C0C;
                    }
                    break;
                }
                case 0x148ed16fu:
                {
                    if (name.beginsWith(BuiltInName::texelFetchExt))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_texelFetchExt_0U1C0C;
                    }
                    break;
                }
                case 0x148ed87fu:
                {
                    if (name.beginsWith(BuiltInName::textureLod))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_textureLod_0K2B0B;
                    }
                    break;
                }
                case 0x148eff58u:
                {
                    if (name == BuiltInName::texelFetch_0L1C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0L1C0C;
                    }
                    break;
                }
                case 0x148fa8bbu:
                {
                    if (name == BuiltInName::textureLod_0Q1B0B)
                    {
                        return &BuiltInFunction::kFunction_textureLod_0Q1B0B;
                    }
                    break;
                }
                case 0x148fb13cu:
                {
                    if (name == BuiltInName::texelFetch_0T2C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0T2C0C;
                    }
                    break;
                }
                case 0x148fd5b6u:
                {
                    if (name == BuiltInName::texelFetch_0H1C0C)
                    {
                        return &BuiltInFunction::kFunction_texelFetch_0H1C0C;
                    }
                    break;
                }
                case 0x148fe911u:
                {
                    if (name == BuiltInName::textureLod_0Z2B0B)
                    {
                        return &BuiltInFunction::kFunction_textureLod_0Z2B0B;
                    }
                    break;
                }
                case 0x167394d8u:
                {
                    if (name.beginsWith(BuiltInName::textureSizeExt))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSizeExt_0U;
                    }
                    break;
                }
                case 0x1673f496u:
                {
                    if (name.beginsWith(BuiltInName::textureSizeExt))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSizeExt_0O;
                    }
                    break;
                }
                case 0x1674ed12u:
                {
                    if (name.beginsWith(BuiltInName::determinant))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_determinant_FB;
                    }
                    break;
                }
                case 0x16752ab6u:
                {
                    if (name.beginsWith(BuiltInName::textureSizeExt))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_textureSizeExt_0a;
                    }
                    break;
                }
                case 0x1676ad75u:
                {
                    if (name.beginsWith(BuiltInName::determinant))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_determinant_5B;
                    }
                    break;
                }
                case 0x167719ccu:
                {
                    if (name.beginsWith(BuiltInName::determinant))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_determinant_AB;
                    }
                    break;
                }
                case 0x16803d05u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0I0C;
                    }
                    break;
                }
                case 0x168046b0u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0M0C;
                    }
                    break;
                }
                case 0x168093aau:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0T0C;
                    }
                    break;
                }
                case 0x168115fbu:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0e0C;
                    }
                    break;
                }
                case 0x16812c54u:
                {
                    if (name.beginsWith(BuiltInName::greaterThan))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_greaterThan_3D3D;
                    }
                    break;
                }
                case 0x16812eeeu:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0W3B;
                    }
                    break;
                }
                case 0x168174f7u:
                {
                    if (name.beginsWith(BuiltInName::greaterThan))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_greaterThan_1D1D;
                    }
                    break;
                }
                case 0x168178c7u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0H2B;
                    }
                    break;
                }
                case 0x1681d6b4u:
                {
                    if (name.beginsWith(BuiltInName::greaterThan))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_greaterThan_2D2D;
                    }
                    break;
                }
                case 0x1681f153u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0J0C;
                    }
                    break;
                }
                case 0x168245a4u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0S0C;
                    }
                    break;
                }
                case 0x1682b6c4u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0X3B;
                    }
                    break;
                }
                case 0x1682d0c8u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0M2B;
                    }
                    break;
                }
                case 0x1682d660u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0Y0C;
                    }
                    break;
                }
                case 0x16838d15u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0L2B;
                    }
                    break;
                }
                case 0x1683ecb1u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0M3B;
                    }
                    break;
                }
                case 0x16840064u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0H3B;
                    }
                    break;
                }
                case 0x168434eeu:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0H0C;
                    }
                    break;
                }
                case 0x16845c90u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0L0C;
                    }
                    break;
                }
                case 0x16846c6cu:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0W0C;
                    }
                    break;
                }
                case 0x16849618u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0Z0C;
                    }
                    break;
                }
                case 0x1684f1b3u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0d0C;
                    }
                    break;
                }
                case 0x1685011eu:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0Q2B;
                    }
                    break;
                }
                case 0x1685b785u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0N3B;
                    }
                    break;
                }
                case 0x1685ca01u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0I3B;
                    }
                    break;
                }
                case 0x16860d28u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0Q3B;
                    }
                    break;
                }
                case 0x16861104u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0K0C;
                    }
                    break;
                }
                case 0x16863c73u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0R0C;
                    }
                    break;
                }
                case 0x16865716u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0L3B;
                    }
                    break;
                }
                case 0x16869d00u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0Q0C;
                    }
                    break;
                }
                case 0x1686a82au:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0X0C;
                    }
                    break;
                }
                case 0x1686aa87u:
                {
                    if (name.beginsWith(BuiltInName::textureSize))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureSize_0c0C;
                    }
                    break;
                }
                case 0x1686cb94u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0N2B;
                    }
                    break;
                }
                case 0x16875a59u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0c3B;
                    }
                    break;
                }
                case 0x1687c54du:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0R3B;
                    }
                    break;
                }
                case 0x1687d107u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureProj_0W2B;
                    }
                    break;
                }
                case 0x16a00e04u:
                {
                    if (name == BuiltInName::textureGrad_0I2B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0I2B2B2B;
                    }
                    break;
                }
                case 0x16a04ad9u:
                {
                    if (name == BuiltInName::textureGrad_0X2B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0X2B2B2B;
                    }
                    break;
                }
                case 0x16a1478fu:
                {
                    if (name == BuiltInName::textureGrad_0e3B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0e3B1B1B;
                    }
                    break;
                }
                case 0x16a19c8du:
                {
                    if (name == BuiltInName::textureGrad_0H1B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0H1B1B1B;
                    }
                    break;
                }
                case 0x16a1ec87u:
                {
                    if (name == BuiltInName::textureGrad_0J2B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0J2B2B2B;
                    }
                    break;
                }
                case 0x16a2ff3du:
                {
                    if (name == BuiltInName::textureGrad_0Q1B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0Q1B1B1B;
                    }
                    break;
                }
                case 0x16a34692u:
                {
                    if (name == BuiltInName::textureGrad_0R2B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0R2B2B2B;
                    }
                    break;
                }
                case 0x16a3a842u:
                {
                    if (name == BuiltInName::textureGrad_0c2B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0c2B1B1B;
                    }
                    break;
                }
                case 0x16a3b8f6u:
                {
                    if (name == BuiltInName::textureGrad_0Y2B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0Y2B2B2B;
                    }
                    break;
                }
                case 0x16a4a66cu:
                {
                    if (name == BuiltInName::textureGrad_0W1B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0W1B1B1B;
                    }
                    break;
                }
                case 0x16a4e27cu:
                {
                    if (name == BuiltInName::textureGrad_0d3B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0d3B2B2B;
                    }
                    break;
                }
                case 0x16a66883u:
                {
                    if (name == BuiltInName::textureGrad_0T2B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0T2B1B1B;
                    }
                    break;
                }
                case 0x16a68a81u:
                {
                    if (name == BuiltInName::textureGrad_0S2B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0S2B2B2B;
                    }
                    break;
                }
                case 0x16a6a742u:
                {
                    if (name == BuiltInName::textureGrad_0Z2B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0Z2B1B1B;
                    }
                    break;
                }
                case 0x16a71104u:
                {
                    if (name == BuiltInName::textureGrad_0K2B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureGrad_0K2B1B1B;
                    }
                    break;
                }
                case 0x187df788u:
                {
                    if (name.beginsWith(BuiltInName::packHalf2x16))
                    {
                        ASSERT(name.length() == 15);
                        return &BuiltInFunction::kFunction_packHalf2x16_1B;
                    }
                    break;
                }
                case 0x18887331u:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_2B3B;
                    }
                    break;
                }
                case 0x188880cbu:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_1B1B;
                    }
                    break;
                }
                case 0x1888c44du:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_3B2B;
                    }
                    break;
                }
                case 0x188916c3u:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_1B2B;
                    }
                    break;
                }
                case 0x188a12cau:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_1B3B;
                    }
                    break;
                }
                case 0x188db87au:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_2B2B;
                    }
                    break;
                }
                case 0x188e0232u:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_3B3B;
                    }
                    break;
                }
                case 0x188e2270u:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_2B1B;
                    }
                    break;
                }
                case 0x188f8feeu:
                {
                    if (name.beginsWith(BuiltInName::outerProduct))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_outerProduct_3B1B;
                    }
                    break;
                }
                case 0x1a84fa77u:
                {
                    if (name.beginsWith(BuiltInName::packSnorm2x16))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_packSnorm2x16_1B;
                    }
                    break;
                }
                case 0x1a873678u:
                {
                    if (name.beginsWith(BuiltInName::packUnorm2x16))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_packUnorm2x16_1B;
                    }
                    break;
                }
                case 0x1a92589du:
                {
                    if (name.beginsWith(BuiltInName::lessThanEqual))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_lessThanEqual_2D2D;
                    }
                    break;
                }
                case 0x1a95efdcu:
                {
                    if (name.beginsWith(BuiltInName::lessThanEqual))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_lessThanEqual_1D1D;
                    }
                    break;
                }
                case 0x1a96ec62u:
                {
                    if (name.beginsWith(BuiltInName::lessThanEqual))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_lessThanEqual_3D3D;
                    }
                    break;
                }
                case 0x1aa01270u:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0Q1B1C;
                    }
                    break;
                }
                case 0x1aa05156u:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0c2B1C;
                    }
                    break;
                }
                case 0x1aa11785u:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0H1B1C;
                    }
                    break;
                }
                case 0x1aa26095u:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0T2B1C;
                    }
                    break;
                }
                case 0x1aa31637u:
                {
                    if (name == BuiltInName::textureOffset_0X2B2C)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0X2B2C;
                    }
                    break;
                }
                case 0x1aa385c2u:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0Z2B1C;
                    }
                    break;
                }
                case 0x1aa41f4au:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0K2B1C;
                    }
                    break;
                }
                case 0x1aa541b7u:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0W1B1C;
                    }
                    break;
                }
                case 0x1aa64995u:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0I2B2C;
                    }
                    break;
                }
                case 0x1aa7a781u:
                {
                    if (name.beginsWith(BuiltInName::textureOffset))
                    {
                        ASSERT(name.length() == 20);
                        return &BuiltInFunction::kFunction_textureOffset_0R2B2C;
                    }
                    break;
                }
                case 0x1c887424u:
                {
                    if (name.beginsWith(BuiltInName::intBitsToFloat))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_intBitsToFloat_2C;
                    }
                    break;
                }
                case 0x1c887f5eu:
                {
                    if (name.beginsWith(BuiltInName::floatBitsToInt))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_floatBitsToInt_2B;
                    }
                    break;
                }
                case 0x1c88f18cu:
                {
                    if (name.beginsWith(BuiltInName::intBitsToFloat))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_intBitsToFloat_1C;
                    }
                    break;
                }
                case 0x1c89b11cu:
                {
                    if (name.beginsWith(BuiltInName::floatBitsToInt))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_floatBitsToInt_1B;
                    }
                    break;
                }
                case 0x1c89e261u:
                {
                    if (name.beginsWith(BuiltInName::intBitsToFloat))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_intBitsToFloat_0C;
                    }
                    break;
                }
                case 0x1c8ae0a5u:
                {
                    if (name.beginsWith(BuiltInName::floatBitsToInt))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_floatBitsToInt_0B;
                    }
                    break;
                }
                case 0x1c8b20dau:
                {
                    if (name.beginsWith(BuiltInName::intBitsToFloat))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_intBitsToFloat_3C;
                    }
                    break;
                }
                case 0x1c8dd4e6u:
                {
                    if (name.beginsWith(BuiltInName::unpackHalf2x16))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_unpackHalf2x16_0D;
                    }
                    break;
                }
                case 0x1c8f60afu:
                {
                    if (name.beginsWith(BuiltInName::floatBitsToInt))
                    {
                        ASSERT(name.length() == 17);
                        return &BuiltInFunction::kFunction_floatBitsToInt_3B;
                    }
                    break;
                }
                case 0x1c9876e4u:
                {
                    if (name.beginsWith(BuiltInName::matrixCompMult))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_matrixCompMult_9B9B;
                    }
                    break;
                }
                case 0x1c99affcu:
                {
                    if (name.beginsWith(BuiltInName::matrixCompMult))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_matrixCompMult_7B7B;
                    }
                    break;
                }
                case 0x1c9c8697u:
                {
                    if (name.beginsWith(BuiltInName::matrixCompMult))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_matrixCompMult_6B6B;
                    }
                    break;
                }
                case 0x1c9ccd5au:
                {
                    if (name.beginsWith(BuiltInName::matrixCompMult))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_matrixCompMult_BBBB;
                    }
                    break;
                }
                case 0x1c9ea241u:
                {
                    if (name.beginsWith(BuiltInName::matrixCompMult))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_matrixCompMult_DBDB;
                    }
                    break;
                }
                case 0x1c9fa571u:
                {
                    if (name.beginsWith(BuiltInName::matrixCompMult))
                    {
                        ASSERT(name.length() == 19);
                        return &BuiltInFunction::kFunction_matrixCompMult_EBEB;
                    }
                    break;
                }
                case 0x1ca81af6u:
                {
                    if (name.beginsWith(BuiltInName::textureProjLod))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_textureProjLod_0c3B0B;
                    }
                    break;
                }
                case 0x1ca85d55u:
                {
                    if (name == BuiltInName::textureProjLod_0Q3B0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjLod_0Q3B0B;
                    }
                    break;
                }
                case 0x1ca8c89au:
                {
                    if (name == BuiltInName::textureProjLod_0H3B0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjLod_0H3B0B;
                    }
                    break;
                }
                case 0x1ca9ff27u:
                {
                    if (name.beginsWith(BuiltInName::textureProjLod))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_textureProjLod_0W2B0B;
                    }
                    break;
                }
                case 0x1caa108bu:
                {
                    if (name.beginsWith(BuiltInName::textureProjLod))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_textureProjLod_0H2B0B;
                    }
                    break;
                }
                case 0x1caa957cu:
                {
                    if (name == BuiltInName::textureProjLod_0Q2B0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjLod_0Q2B0B;
                    }
                    break;
                }
                case 0x1cab3a35u:
                {
                    if (name.beginsWith(BuiltInName::textureProjLod))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_textureProjLod_0W3B0B;
                    }
                    break;
                }
                case 0x1cadb5feu:
                {
                    if (name.beginsWith(BuiltInName::textureProjLod))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_textureProjLod_0X3B0B;
                    }
                    break;
                }
                case 0x1cae6ef8u:
                {
                    if (name.beginsWith(BuiltInName::textureProjLod))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_textureProjLod_0R3B0B;
                    }
                    break;
                }
                case 0x1caf96afu:
                {
                    if (name == BuiltInName::textureProjLod_0I3B0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjLod_0I3B0B;
                    }
                    break;
                }
                case 0x1e903284u:
                {
                    if (name.beginsWith(BuiltInName::floatBitsToUint))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_floatBitsToUint_0B;
                    }
                    break;
                }
                case 0x1e92e353u:
                {
                    if (name.beginsWith(BuiltInName::uintBitsToFloat))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_uintBitsToFloat_3D;
                    }
                    break;
                }
                case 0x1e93c13fu:
                {
                    if (name.beginsWith(BuiltInName::uintBitsToFloat))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_uintBitsToFloat_0D;
                    }
                    break;
                }
                case 0x1e95201fu:
                {
                    if (name.beginsWith(BuiltInName::floatBitsToUint))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_floatBitsToUint_1B;
                    }
                    break;
                }
                case 0x1e95511bu:
                {
                    if (name.beginsWith(BuiltInName::unpackSnorm2x16))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_unpackSnorm2x16_0D;
                    }
                    break;
                }
                case 0x1e95582au:
                {
                    if (name.beginsWith(BuiltInName::uintBitsToFloat))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_uintBitsToFloat_1D;
                    }
                    break;
                }
                case 0x1e95b0a7u:
                {
                    if (name.beginsWith(BuiltInName::uintBitsToFloat))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_uintBitsToFloat_2D;
                    }
                    break;
                }
                case 0x1e966adcu:
                {
                    if (name.beginsWith(BuiltInName::floatBitsToUint))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_floatBitsToUint_2B;
                    }
                    break;
                }
                case 0x1e9718ffu:
                {
                    if (name.beginsWith(BuiltInName::unpackUnorm2x16))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_unpackUnorm2x16_0D;
                    }
                    break;
                }
                case 0x1e97a505u:
                {
                    if (name.beginsWith(BuiltInName::floatBitsToUint))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_floatBitsToUint_3B;
                    }
                    break;
                }
                case 0x1ec1a98bu:
                {
                    if (name == BuiltInName::textureProjGrad_0Q2B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0Q2B1B1B;
                    }
                    break;
                }
                case 0x1ec2304bu:
                {
                    if (name == BuiltInName::textureProjGrad_0X3B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0X3B2B2B;
                    }
                    break;
                }
                case 0x1ec25826u:
                {
                    if (name == BuiltInName::textureProjGrad_0W2B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0W2B1B1B;
                    }
                    break;
                }
                case 0x1ec323fdu:
                {
                    if (name == BuiltInName::textureProjGrad_0H3B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0H3B1B1B;
                    }
                    break;
                }
                case 0x1ec3ee61u:
                {
                    if (name == BuiltInName::textureProjGrad_0I3B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0I3B2B2B;
                    }
                    break;
                }
                case 0x1ec578cfu:
                {
                    if (name == BuiltInName::textureProjGrad_0R3B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0R3B2B2B;
                    }
                    break;
                }
                case 0x1ec5ab9du:
                {
                    if (name == BuiltInName::textureProjGrad_0H2B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0H2B1B1B;
                    }
                    break;
                }
                case 0x1ec5fc9fu:
                {
                    if (name == BuiltInName::textureProjGrad_0Q3B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0Q3B1B1B;
                    }
                    break;
                }
                case 0x1ec67b05u:
                {
                    if (name == BuiltInName::textureProjGrad_0W3B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0W3B1B1B;
                    }
                    break;
                }
                case 0x1ec719d1u:
                {
                    if (name == BuiltInName::textureProjGrad_0c3B1B1B)
                    {
                        return &BuiltInFunction::kFunction_textureProjGrad_0c3B1B1B;
                    }
                    break;
                }
                case 0x20a92dc6u:
                {
                    if (name.beginsWith(BuiltInName::greaterThanEqual))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_greaterThanEqual_2D2D;
                    }
                    break;
                }
                case 0x20ae96edu:
                {
                    if (name.beginsWith(BuiltInName::greaterThanEqual))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_greaterThanEqual_3D3D;
                    }
                    break;
                }
                case 0x20aedbacu:
                {
                    if (name.beginsWith(BuiltInName::greaterThanEqual))
                    {
                        ASSERT(name.length() == 21);
                        return &BuiltInFunction::kFunction_greaterThanEqual_1D1D;
                    }
                    break;
                }
                case 0x20c8fa96u:
                {
                    if (name == BuiltInName::texelFetchOffset_0I2C0C2C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0I2C0C2C;
                    }
                    break;
                }
                case 0x20c9733bu:
                {
                    if (name == BuiltInName::textureLodOffset_0c2B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0c2B0B1C;
                    }
                    break;
                }
                case 0x20c9a178u:
                {
                    if (name == BuiltInName::texelFetchOffset_0X2C0C2C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0X2C0C2C;
                    }
                    break;
                }
                case 0x20ca4914u:
                {
                    if (name == BuiltInName::textureLodOffset_0Z2B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0Z2B0B1C;
                    }
                    break;
                }
                case 0x20cac068u:
                {
                    if (name == BuiltInName::texelFetchOffset_0K2C0C1C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0K2C0C1C;
                    }
                    break;
                }
                case 0x20cb3102u:
                {
                    if (name == BuiltInName::texelFetchOffset_0H1C0C1C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0H1C0C1C;
                    }
                    break;
                }
                case 0x20cb952du:
                {
                    if (name == BuiltInName::texelFetchOffset_0Z2C0C1C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0Z2C0C1C;
                    }
                    break;
                }
                case 0x20cbf8d9u:
                {
                    if (name == BuiltInName::texelFetchOffset_0W1C0C1C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0W1C0C1C;
                    }
                    break;
                }
                case 0x20cbfefau:
                {
                    if (name == BuiltInName::texelFetchOffset_0R2C0C2C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0R2C0C2C;
                    }
                    break;
                }
                case 0x20cc1a52u:
                {
                    if (name == BuiltInName::texelFetchOffset_0Q1C0C1C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0Q1C0C1C;
                    }
                    break;
                }
                case 0x20cc9477u:
                {
                    if (name == BuiltInName::textureLodOffset_0H1B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0H1B0B1C;
                    }
                    break;
                }
                case 0x20ccf3edu:
                {
                    if (name == BuiltInName::textureLodOffset_0Q1B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0Q1B0B1C;
                    }
                    break;
                }
                case 0x20cd0de3u:
                {
                    if (name == BuiltInName::textureLodOffset_0K2B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0K2B0B1C;
                    }
                    break;
                }
                case 0x20cd8d8du:
                {
                    if (name == BuiltInName::textureLodOffset_0T2B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0T2B0B1C;
                    }
                    break;
                }
                case 0x20cdc61au:
                {
                    if (name == BuiltInName::textureLodOffset_0W1B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0W1B0B1C;
                    }
                    break;
                }
                case 0x20cde370u:
                {
                    if (name == BuiltInName::textureLodOffset_0X2B0B2C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0X2B0B2C;
                    }
                    break;
                }
                case 0x20cde748u:
                {
                    if (name == BuiltInName::textureLodOffset_0I2B0B2C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0I2B0B2C;
                    }
                    break;
                }
                case 0x20ceb3dau:
                {
                    if (name == BuiltInName::textureLodOffset_0R2B0B2C)
                    {
                        return &BuiltInFunction::kFunction_textureLodOffset_0R2B0B2C;
                    }
                    break;
                }
                case 0x20cfe609u:
                {
                    if (name == BuiltInName::texelFetchOffset_0T2C0C1C)
                    {
                        return &BuiltInFunction::kFunction_texelFetchOffset_0T2C0C1C;
                    }
                    break;
                }
                case 0x22c03489u:
                {
                    if (name.beginsWith(BuiltInName::textureProjOffset))
                    {
                        ASSERT(name.length() == 24);
                        return &BuiltInFunction::kFunction_textureProjOffset_0W2B1C;
                    }
                    break;
                }
                case 0x22c0a359u:
                {
                    if (name == BuiltInName::textureProjOffset_0H2B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0H2B1C;
                    }
                    break;
                }
                case 0x22c19992u:
                {
                    if (name.beginsWith(BuiltInName::textureProjOffset))
                    {
                        ASSERT(name.length() == 24);
                        return &BuiltInFunction::kFunction_textureProjOffset_0c3B1C;
                    }
                    break;
                }
                case 0x22c246a2u:
                {
                    if (name == BuiltInName::textureProjOffset_0Q3B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0Q3B1C;
                    }
                    break;
                }
                case 0x22c29005u:
                {
                    if (name == BuiltInName::textureProjOffset_0Q2B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0Q2B1C;
                    }
                    break;
                }
                case 0x22c2da46u:
                {
                    if (name == BuiltInName::textureProjOffset_0H3B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0H3B1C;
                    }
                    break;
                }
                case 0x22c3e359u:
                {
                    if (name == BuiltInName::textureProjOffset_0W3B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0W3B1C;
                    }
                    break;
                }
                case 0x22c43880u:
                {
                    if (name.beginsWith(BuiltInName::textureProjOffset))
                    {
                        ASSERT(name.length() == 24);
                        return &BuiltInFunction::kFunction_textureProjOffset_0R3B2C;
                    }
                    break;
                }
                case 0x22c458dcu:
                {
                    if (name.beginsWith(BuiltInName::textureProjOffset))
                    {
                        ASSERT(name.length() == 24);
                        return &BuiltInFunction::kFunction_textureProjOffset_0I3B2C;
                    }
                    break;
                }
                case 0x22c47909u:
                {
                    if (name == BuiltInName::textureProjOffset_0X3B2C)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0X3B2C;
                    }
                    break;
                }
                case 0x22e0fe8cu:
                {
                    if (name == BuiltInName::textureGradOffset_0W1B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0W1B1B1B1C;
                    }
                    break;
                }
                case 0x22e165b8u:
                {
                    if (name == BuiltInName::textureGradOffset_0K2B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0K2B1B1B1C;
                    }
                    break;
                }
                case 0x22e28d80u:
                {
                    if (name == BuiltInName::textureGradOffset_0T2B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0T2B1B1B1C;
                    }
                    break;
                }
                case 0x22e3ab1cu:
                {
                    if (name == BuiltInName::textureGradOffset_0e3B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0e3B1B1B1C;
                    }
                    break;
                }
                case 0x22e3e9eau:
                {
                    if (name == BuiltInName::textureGradOffset_0I2B2B2B2C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0I2B2B2B2C;
                    }
                    break;
                }
                case 0x22e5bb38u:
                {
                    if (name == BuiltInName::textureGradOffset_0R2B2B2B2C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0R2B2B2B2C;
                    }
                    break;
                }
                case 0x22e5c876u:
                {
                    if (name == BuiltInName::textureGradOffset_0Q1B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0Q1B1B1B1C;
                    }
                    break;
                }
                case 0x22e61729u:
                {
                    if (name == BuiltInName::textureGradOffset_0X2B2B2B2C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0X2B2B2B2C;
                    }
                    break;
                }
                case 0x22e68293u:
                {
                    if (name == BuiltInName::textureGradOffset_0Z2B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0Z2B1B1B1C;
                    }
                    break;
                }
                case 0x22e71012u:
                {
                    if (name == BuiltInName::textureGradOffset_0H1B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0H1B1B1B1C;
                    }
                    break;
                }
                case 0x22e7429eu:
                {
                    if (name == BuiltInName::textureGradOffset_0c2B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureGradOffset_0c2B1B1B1C;
                    }
                    break;
                }
                case 0x28e8b7d0u:
                {
                    if (name == BuiltInName::textureProjLodOffset_0W3B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0W3B0B1C;
                    }
                    break;
                }
                case 0x28e91d51u:
                {
                    if (name == BuiltInName::textureProjLodOffset_0R3B0B2C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0R3B0B2C;
                    }
                    break;
                }
                case 0x28e9a246u:
                {
                    if (name == BuiltInName::textureProjLodOffset_0W2B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0W2B0B1C;
                    }
                    break;
                }
                case 0x28eab462u:
                {
                    if (name == BuiltInName::textureProjLodOffset_0H2B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0H2B0B1C;
                    }
                    break;
                }
                case 0x28eb8605u:
                {
                    if (name == BuiltInName::textureProjLodOffset_0I3B0B2C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0I3B0B2C;
                    }
                    break;
                }
                case 0x28ebf99eu:
                {
                    if (name == BuiltInName::textureProjLodOffset_0H3B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0H3B0B1C;
                    }
                    break;
                }
                case 0x28ec29a7u:
                {
                    if (name == BuiltInName::textureProjLodOffset_0Q3B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0Q3B0B1C;
                    }
                    break;
                }
                case 0x28eecd92u:
                {
                    if (name == BuiltInName::textureProjLodOffset_0X3B0B2C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0X3B0B2C;
                    }
                    break;
                }
                case 0x28ef956cu:
                {
                    if (name == BuiltInName::textureProjLodOffset_0Q2B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0Q2B0B1C;
                    }
                    break;
                }
                case 0x28efb13bu:
                {
                    if (name == BuiltInName::textureProjLodOffset_0c3B0B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjLodOffset_0c3B0B1C;
                    }
                    break;
                }
                case 0x2b00aacdu:
                {
                    if (name == BuiltInName::textureProjGradOffset_0c3B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0c3B1B1B1C;
                    }
                    break;
                }
                case 0x2b022418u:
                {
                    if (name == BuiltInName::textureProjGradOffset_0H3B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0H3B1B1B1C;
                    }
                    break;
                }
                case 0x2b0252ccu:
                {
                    if (name == BuiltInName::textureProjGradOffset_0X3B2B2B2C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0X3B2B2B2C;
                    }
                    break;
                }
                case 0x2b02af8fu:
                {
                    if (name == BuiltInName::textureProjGradOffset_0I3B2B2B2C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0I3B2B2B2C;
                    }
                    break;
                }
                case 0x2b03ccf9u:
                {
                    if (name == BuiltInName::textureProjGradOffset_0Q2B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0Q2B1B1B1C;
                    }
                    break;
                }
                case 0x2b03db51u:
                {
                    if (name == BuiltInName::textureProjGradOffset_0W2B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0W2B1B1B1C;
                    }
                    break;
                }
                case 0x2b047dfau:
                {
                    if (name == BuiltInName::textureProjGradOffset_0R3B2B2B2C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0R3B2B2B2C;
                    }
                    break;
                }
                case 0x2b06f874u:
                {
                    if (name == BuiltInName::textureProjGradOffset_0Q3B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0Q3B1B1B1C;
                    }
                    break;
                }
                case 0x2b077535u:
                {
                    if (name == BuiltInName::textureProjGradOffset_0H2B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0H2B1B1B1C;
                    }
                    break;
                }
                case 0x2b07f768u:
                {
                    if (name == BuiltInName::textureProjGradOffset_0W3B1B1B1C)
                    {
                        return &BuiltInFunction::kFunction_textureProjGradOffset_0W3B1B1B1C;
                    }
                    break;
                }
                case 0x7ec10648u:
                {
                    if (name == BuiltInName::gl_MaxProgramTexelOffset)
                    {
                        return mVar_gl_MaxProgramTexelOffset;
                    }
                    break;
                }
                case 0x7ec3c4d1u:
                {
                    if (name == BuiltInName::gl_MinProgramTexelOffset)
                    {
                        return mVar_gl_MinProgramTexelOffset;
                    }
                    break;
                }
                case 0x7ec8d677u:
                {
                    if (name == BuiltInName::gl_MaxVertexOutputVectors)
                    {
                        return mVar_gl_MaxVertexOutputVectors;
                    }
                    break;
                }
                case 0x7ed1aaebu:
                {
                    if (name == BuiltInName::gl_MaxFragmentInputVectors)
                    {
                        return mVar_gl_MaxFragmentInputVectors;
                    }
                    break;
                }
            }
            if (mShaderType == GL_FRAGMENT_SHADER)
            {
                switch (nameHash)
                {
                    case 0x08394c88u:
                    {
                        if (name.beginsWith(BuiltInName::dFdy))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdy_0B;
                        }
                        break;
                    }
                    case 0x08398819u:
                    {
                        if (name.beginsWith(BuiltInName::dFdx))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdx_0B;
                        }
                        break;
                    }
                    case 0x083a7081u:
                    {
                        if (name.beginsWith(BuiltInName::dFdy))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdy_1B;
                        }
                        break;
                    }
                    case 0x083abe52u:
                    {
                        if (name.beginsWith(BuiltInName::dFdx))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdx_3B;
                        }
                        break;
                    }
                    case 0x083b9d7au:
                    {
                        if (name.beginsWith(BuiltInName::dFdy))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdy_2B;
                        }
                        break;
                    }
                    case 0x083c0d13u:
                    {
                        if (name.beginsWith(BuiltInName::dFdx))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdx_2B;
                        }
                        break;
                    }
                    case 0x083c6796u:
                    {
                        if (name.beginsWith(BuiltInName::dFdx))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdx_1B;
                        }
                        break;
                    }
                    case 0x083ced8bu:
                    {
                        if (name.beginsWith(BuiltInName::dFdy))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdy_3B;
                        }
                        break;
                    }
                    case 0x0c483e39u:
                    {
                        if (name.beginsWith(BuiltInName::fwidth))
                        {
                            ASSERT(name.length() == 9);
                            return &BuiltInFunction::kFunction_fwidth_1B;
                        }
                        break;
                    }
                    case 0x0c4d354eu:
                    {
                        if (name.beginsWith(BuiltInName::fwidth))
                        {
                            ASSERT(name.length() == 9);
                            return &BuiltInFunction::kFunction_fwidth_0B;
                        }
                        break;
                    }
                    case 0x0c4e7b0cu:
                    {
                        if (name.beginsWith(BuiltInName::fwidth))
                        {
                            ASSERT(name.length() == 9);
                            return &BuiltInFunction::kFunction_fwidth_3B;
                        }
                        break;
                    }
                    case 0x0c4fa8b5u:
                    {
                        if (name.beginsWith(BuiltInName::fwidth))
                        {
                            ASSERT(name.length() == 9);
                            return &BuiltInFunction::kFunction_fwidth_2B;
                        }
                        break;
                    }
                    case 0x0e7013d9u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0T2B0B;
                        }
                        break;
                    }
                    case 0x0e70d11du:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0W1B0B;
                        }
                        break;
                    }
                    case 0x0e70eff9u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0X2B0B;
                        }
                        break;
                    }
                    case 0x0e716d8fu:
                    {
                        if (name == BuiltInName::texture_0c2B0B)
                        {
                            return &BuiltInFunction::kFunction_texture_0c2B0B;
                        }
                        break;
                    }
                    case 0x0e71856cu:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0M1B0B;
                        }
                        break;
                    }
                    case 0x0e723219u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0L1B0B;
                        }
                        break;
                    }
                    case 0x0e734ff8u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0Z2B0B;
                        }
                        break;
                    }
                    case 0x0e7386b0u:
                    {
                        if (name == BuiltInName::texture_0Q1B0B)
                        {
                            return &BuiltInFunction::kFunction_texture_0Q1B0B;
                        }
                        break;
                    }
                    case 0x0e740087u:
                    {
                        if (name == BuiltInName::texture_0d3B0B)
                        {
                            return &BuiltInFunction::kFunction_texture_0d3B0B;
                        }
                        break;
                    }
                    case 0x0e742a66u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0K2B0B;
                        }
                        break;
                    }
                    case 0x0e75399eu:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0S2B0B;
                        }
                        break;
                    }
                    case 0x0e755c73u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0Y2B0B;
                        }
                        break;
                    }
                    case 0x0e75d15fu:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0J2B0B;
                        }
                        break;
                    }
                    case 0x0e76e7c1u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0H1B0B;
                        }
                        break;
                    }
                    case 0x0e7720c0u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0R2B0B;
                        }
                        break;
                    }
                    case 0x0e77d1c8u:
                    {
                        if (name.beginsWith(BuiltInName::texture))
                        {
                            ASSERT(name.length() == 14);
                            return &BuiltInFunction::kFunction_texture_0I2B0B;
                        }
                        break;
                    }
                    case 0x16900558u:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0L3B0B;
                        }
                        break;
                    }
                    case 0x1690a3cfu:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0W3B0B;
                        }
                        break;
                    }
                    case 0x1690ae9fu:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0M3B0B;
                        }
                        break;
                    }
                    case 0x1691c2edu:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0M2B0B;
                        }
                        break;
                    }
                    case 0x16925badu:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0Q3B0B;
                        }
                        break;
                    }
                    case 0x1692d089u:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0c3B0B;
                        }
                        break;
                    }
                    case 0x169350d8u:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0I3B0B;
                        }
                        break;
                    }
                    case 0x16939955u:
                    {
                        if (name == BuiltInName::textureProj_0Q2B0B)
                        {
                            return &BuiltInFunction::kFunction_textureProj_0Q2B0B;
                        }
                        break;
                    }
                    case 0x1694622au:
                    {
                        if (name == BuiltInName::textureProj_0R3B0B)
                        {
                            return &BuiltInFunction::kFunction_textureProj_0R3B0B;
                        }
                        break;
                    }
                    case 0x169465e2u:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0W2B0B;
                        }
                        break;
                    }
                    case 0x1695f573u:
                    {
                        if (name == BuiltInName::textureProj_0X3B0B)
                        {
                            return &BuiltInFunction::kFunction_textureProj_0X3B0B;
                        }
                        break;
                    }
                    case 0x16965fd9u:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0H3B0B;
                        }
                        break;
                    }
                    case 0x1696f029u:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0H2B0B;
                        }
                        break;
                    }
                    case 0x1697e9b9u:
                    {
                        if (name.beginsWith(BuiltInName::textureProj))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureProj_0L2B0B;
                        }
                        break;
                    }
                    case 0x1ab0a952u:
                    {
                        if (name == BuiltInName::textureOffset_0X2B2C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0X2B2C0B;
                        }
                        break;
                    }
                    case 0x1ab29724u:
                    {
                        if (name == BuiltInName::textureOffset_0Z2B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0Z2B1C0B;
                        }
                        break;
                    }
                    case 0x1ab55c9du:
                    {
                        if (name == BuiltInName::textureOffset_0Q1B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0Q1B1C0B;
                        }
                        break;
                    }
                    case 0x1ab5753fu:
                    {
                        if (name == BuiltInName::textureOffset_0T2B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0T2B1C0B;
                        }
                        break;
                    }
                    case 0x1ab57bbcu:
                    {
                        if (name == BuiltInName::textureOffset_0H1B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0H1B1C0B;
                        }
                        break;
                    }
                    case 0x1ab59b6cu:
                    {
                        if (name == BuiltInName::textureOffset_0I2B2C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0I2B2C0B;
                        }
                        break;
                    }
                    case 0x1ab5d795u:
                    {
                        if (name == BuiltInName::textureOffset_0W1B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0W1B1C0B;
                        }
                        break;
                    }
                    case 0x1ab63ddau:
                    {
                        if (name == BuiltInName::textureOffset_0K2B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0K2B1C0B;
                        }
                        break;
                    }
                    case 0x1ab63f72u:
                    {
                        if (name == BuiltInName::textureOffset_0R2B2C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0R2B2C0B;
                        }
                        break;
                    }
                    case 0x1ab7e533u:
                    {
                        if (name == BuiltInName::textureOffset_0c2B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureOffset_0c2B1C0B;
                        }
                        break;
                    }
                    case 0x22d11d67u:
                    {
                        if (name == BuiltInName::textureProjOffset_0Q3B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0Q3B1C0B;
                        }
                        break;
                    }
                    case 0x22d1425bu:
                    {
                        if (name == BuiltInName::textureProjOffset_0W2B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0W2B1C0B;
                        }
                        break;
                    }
                    case 0x22d17100u:
                    {
                        if (name == BuiltInName::textureProjOffset_0W3B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0W3B1C0B;
                        }
                        break;
                    }
                    case 0x22d1ca54u:
                    {
                        if (name == BuiltInName::textureProjOffset_0c3B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0c3B1C0B;
                        }
                        break;
                    }
                    case 0x22d6074cu:
                    {
                        if (name == BuiltInName::textureProjOffset_0R3B2C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0R3B2C0B;
                        }
                        break;
                    }
                    case 0x22d60cd3u:
                    {
                        if (name == BuiltInName::textureProjOffset_0X3B2C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0X3B2C0B;
                        }
                        break;
                    }
                    case 0x22d60e91u:
                    {
                        if (name == BuiltInName::textureProjOffset_0Q2B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0Q2B1C0B;
                        }
                        break;
                    }
                    case 0x22d62e81u:
                    {
                        if (name == BuiltInName::textureProjOffset_0H3B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0H3B1C0B;
                        }
                        break;
                    }
                    case 0x22d6b2e8u:
                    {
                        if (name == BuiltInName::textureProjOffset_0I3B2C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0I3B2C0B;
                        }
                        break;
                    }
                    case 0x22d6ee53u:
                    {
                        if (name == BuiltInName::textureProjOffset_0H2B1C0B)
                        {
                            return &BuiltInFunction::kFunction_textureProjOffset_0H2B1C0B;
                        }
                        break;
                    }
                    case 0x7e645c89u:
                    {
                        if (name == BuiltInName::gl_FragDepth)
                        {
                            return &BuiltInVariable::kVar_gl_FragDepth;
                        }
                        break;
                    }
                }
            }
            if (mShaderType == GL_VERTEX_SHADER)
            {
                switch (nameHash)
                {
                    case 0x7e5f8987u:
                    {
                        if (name == BuiltInName::gl_VertexID)
                        {
                            return &BuiltInVariable::kVar_gl_VertexID;
                        }
                        break;
                    }
                    case 0x7e6be47fu:
                    {
                        if (name == BuiltInName::gl_InstanceID)
                        {
                            return &BuiltInVariable::kVar_gl_InstanceID;
                        }
                        break;
                    }
                }
            }
            if (mResources.OVR_multiview && mShaderType != GL_COMPUTE_SHADER)
            {
                switch (nameHash)
                {
                    case 0x7e6f6de9u:
                    {
                        if (name == BuiltInName::gl_ViewID_OVR)
                        {
                            return &BuiltInVariable::kVar_gl_ViewID_OVR;
                        }
                        break;
                    }
                }
            }
        }
        if (shaderVersion == 100)
        {
            switch (nameHash)
            {
                case 0x1271689cu:
                {
                    if (name.beginsWith(BuiltInName::texture2D))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_texture2D_0H1B;
                    }
                    break;
                }
                case 0x127728cau:
                {
                    if (name.beginsWith(BuiltInName::texture2D))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_texture2D_0L1B;
                    }
                    break;
                }
                case 0x1680927du:
                {
                    if (name.beginsWith(BuiltInName::textureCube))
                    {
                        ASSERT(name.length() == 16);
                        return &BuiltInFunction::kFunction_textureCube_0J2B;
                    }
                    break;
                }
                case 0x1a902408u:
                {
                    if (name.beginsWith(BuiltInName::texture2DRect))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_texture2DRect_0N1B;
                    }
                    break;
                }
                case 0x1a92969du:
                {
                    if (name.beginsWith(BuiltInName::texture2DProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_texture2DProj_0L2B;
                    }
                    break;
                }
                case 0x1a9584eau:
                {
                    if (name.beginsWith(BuiltInName::texture2DProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_texture2DProj_0L3B;
                    }
                    break;
                }
                case 0x1a95bcc7u:
                {
                    if (name.beginsWith(BuiltInName::texture2DProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_texture2DProj_0H3B;
                    }
                    break;
                }
                case 0x1a96b8d6u:
                {
                    if (name.beginsWith(BuiltInName::texture2DProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_texture2DProj_0H2B;
                    }
                    break;
                }
                case 0x20cb8d71u:
                {
                    if (name == BuiltInName::texture2DGradEXT_0H1B1B1B)
                    {
                        return &BuiltInFunction::kFunction_texture2DGradEXT_0H1B1B1B;
                    }
                    break;
                }
                case 0x22b53a05u:
                {
                    if (name.beginsWith(BuiltInName::texture2DRectProj))
                    {
                        ASSERT(name.length() == 22);
                        return &BuiltInFunction::kFunction_texture2DRectProj_0N3B;
                    }
                    break;
                }
                case 0x22b65e05u:
                {
                    if (name.beginsWith(BuiltInName::texture2DRectProj))
                    {
                        ASSERT(name.length() == 22);
                        return &BuiltInFunction::kFunction_texture2DRectProj_0N2B;
                    }
                    break;
                }
                case 0x24dbd51eu:
                {
                    if (name == BuiltInName::textureCubeGradEXT_0J2B2B2B)
                    {
                        return &BuiltInFunction::kFunction_textureCubeGradEXT_0J2B2B2B;
                    }
                    break;
                }
                case 0x28e995cbu:
                {
                    if (name == BuiltInName::texture2DProjGradEXT_0H3B1B1B)
                    {
                        return &BuiltInFunction::kFunction_texture2DProjGradEXT_0H3B1B1B;
                    }
                    break;
                }
                case 0x28ed5178u:
                {
                    if (name == BuiltInName::texture2DProjGradEXT_0H2B1B1B)
                    {
                        return &BuiltInFunction::kFunction_texture2DProjGradEXT_0H2B1B1B;
                    }
                    break;
                }
                case 0x7e5a0c08u:
                {
                    if (name == BuiltInName::gl_FragData)
                    {
                        // Only initialized if shaderType == GL_FRAGMENT_SHADER
                        return mVar_gl_FragData;
                    }
                    break;
                }
                case 0x7e7c38efu:
                {
                    if (name == BuiltInName::gl_FragDepthEXT)
                    {
                        // Only initialized if (shaderType == GL_FRAGMENT_SHADER) &&
                        // (mResources.EXT_frag_depth)
                        return mVar_gl_FragDepthEXT;
                    }
                    break;
                }
                case 0x7ea6cdf6u:
                {
                    if (name == BuiltInName::gl_MaxVaryingVectors)
                    {
                        return mVar_gl_MaxVaryingVectors;
                    }
                    break;
                }
                case 0x7ebce486u:
                {
                    if (name == BuiltInName::gl_SecondaryFragDataEXT)
                    {
                        // Only initialized if (shaderType == GL_FRAGMENT_SHADER) &&
                        // (mResources.EXT_blend_func_extended)
                        return mVar_gl_SecondaryFragDataEXT;
                    }
                    break;
                }
            }
            if (mShaderType == GL_FRAGMENT_SHADER)
            {
                switch (nameHash)
                {
                    case 0x08394c88u:
                    {
                        if (name.beginsWith(BuiltInName::dFdyExt))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdyExt_0B;
                        }
                        break;
                    }
                    case 0x08398819u:
                    {
                        if (name.beginsWith(BuiltInName::dFdxExt))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdxExt_0B;
                        }
                        break;
                    }
                    case 0x083a7081u:
                    {
                        if (name.beginsWith(BuiltInName::dFdyExt))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdyExt_1B;
                        }
                        break;
                    }
                    case 0x083abe52u:
                    {
                        if (name.beginsWith(BuiltInName::dFdxExt))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdxExt_3B;
                        }
                        break;
                    }
                    case 0x083b9d7au:
                    {
                        if (name.beginsWith(BuiltInName::dFdyExt))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdyExt_2B;
                        }
                        break;
                    }
                    case 0x083c0d13u:
                    {
                        if (name.beginsWith(BuiltInName::dFdxExt))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdxExt_2B;
                        }
                        break;
                    }
                    case 0x083c6796u:
                    {
                        if (name.beginsWith(BuiltInName::dFdxExt))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdxExt_1B;
                        }
                        break;
                    }
                    case 0x083ced8bu:
                    {
                        if (name.beginsWith(BuiltInName::dFdyExt))
                        {
                            ASSERT(name.length() == 7);
                            return &BuiltInFunction::kFunction_dFdyExt_3B;
                        }
                        break;
                    }
                    case 0x0c483e39u:
                    {
                        if (name.beginsWith(BuiltInName::fwidthExt))
                        {
                            ASSERT(name.length() == 9);
                            return &BuiltInFunction::kFunction_fwidthExt_1B;
                        }
                        break;
                    }
                    case 0x0c4d354eu:
                    {
                        if (name.beginsWith(BuiltInName::fwidthExt))
                        {
                            ASSERT(name.length() == 9);
                            return &BuiltInFunction::kFunction_fwidthExt_0B;
                        }
                        break;
                    }
                    case 0x0c4e7b0cu:
                    {
                        if (name.beginsWith(BuiltInName::fwidthExt))
                        {
                            ASSERT(name.length() == 9);
                            return &BuiltInFunction::kFunction_fwidthExt_3B;
                        }
                        break;
                    }
                    case 0x0c4fa8b5u:
                    {
                        if (name.beginsWith(BuiltInName::fwidthExt))
                        {
                            ASSERT(name.length() == 9);
                            return &BuiltInFunction::kFunction_fwidthExt_2B;
                        }
                        break;
                    }
                    case 0x12846ba6u:
                    {
                        if (name.beginsWith(BuiltInName::texture2D))
                        {
                            ASSERT(name.length() == 16);
                            return &BuiltInFunction::kFunction_texture2D_0H1B0B;
                        }
                        break;
                    }
                    case 0x1696a314u:
                    {
                        if (name.beginsWith(BuiltInName::textureCube))
                        {
                            ASSERT(name.length() == 18);
                            return &BuiltInFunction::kFunction_textureCube_0J2B0B;
                        }
                        break;
                    }
                    case 0x1aa197a7u:
                    {
                        if (name.beginsWith(BuiltInName::texture2DProj))
                        {
                            ASSERT(name.length() == 20);
                            return &BuiltInFunction::kFunction_texture2DProj_0H3B0B;
                        }
                        break;
                    }
                    case 0x1aa44389u:
                    {
                        if (name == BuiltInName::texture2DProj_0H2B0B)
                        {
                            return &BuiltInFunction::kFunction_texture2DProj_0H2B0B;
                        }
                        break;
                    }
                    case 0x1eb43b6cu:
                    {
                        if (name == BuiltInName::texture2DLodEXT_0H1B0B)
                        {
                            return &BuiltInFunction::kFunction_texture2DLodEXT_0H1B0B;
                        }
                        break;
                    }
                    case 0x22c206a5u:
                    {
                        if (name.beginsWith(BuiltInName::textureCubeLodEXT))
                        {
                            ASSERT(name.length() == 24);
                            return &BuiltInFunction::kFunction_textureCubeLodEXT_0J2B0B;
                        }
                        break;
                    }
                    case 0x26d1d3beu:
                    {
                        if (name.beginsWith(BuiltInName::texture2DProjLodEXT))
                        {
                            ASSERT(name.length() == 26);
                            return &BuiltInFunction::kFunction_texture2DProjLodEXT_0H3B0B;
                        }
                        break;
                    }
                    case 0x26d60d82u:
                    {
                        if (name == BuiltInName::texture2DProjLodEXT_0H2B0B)
                        {
                            return &BuiltInFunction::kFunction_texture2DProjLodEXT_0H2B0B;
                        }
                        break;
                    }
                    case 0x7e60c438u:
                    {
                        if (name == BuiltInName::gl_FragColor)
                        {
                            return &BuiltInVariable::kVar_gl_FragColor;
                        }
                        break;
                    }
                }
            }
            if (mShaderType == GL_VERTEX_SHADER)
            {
                switch (nameHash)
                {
                    case 0x18986fc2u:
                    {
                        if (name == BuiltInName::texture2DLod_0H1B0B)
                        {
                            return &BuiltInFunction::kFunction_texture2DLod_0H1B0B;
                        }
                        break;
                    }
                    case 0x1cac1f4du:
                    {
                        if (name.beginsWith(BuiltInName::textureCubeLod))
                        {
                            ASSERT(name.length() == 21);
                            return &BuiltInFunction::kFunction_textureCubeLod_0J2B0B;
                        }
                        break;
                    }
                    case 0x20b8a0c3u:
                    {
                        if (name.beginsWith(BuiltInName::texture2DProjLod))
                        {
                            ASSERT(name.length() == 23);
                            return &BuiltInFunction::kFunction_texture2DProjLod_0H3B0B;
                        }
                        break;
                    }
                    case 0x20bc6337u:
                    {
                        if (name == BuiltInName::texture2DProjLod_0H2B0B)
                        {
                            return &BuiltInFunction::kFunction_texture2DProjLod_0H2B0B;
                        }
                        break;
                    }
                }
            }
            if ((mShaderType == GL_FRAGMENT_SHADER) && (mResources.EXT_blend_func_extended))
            {
                switch (nameHash)
                {
                    case 0x7ec56cbeu:
                    {
                        if (name == BuiltInName::gl_SecondaryFragColorEXT)
                        {
                            return &BuiltInVariable::kVar_gl_SecondaryFragColorEXT;
                        }
                        break;
                    }
                }
            }
            if ((mShaderType == GL_FRAGMENT_SHADER) && (mResources.EXT_shader_framebuffer_fetch))
            {
                switch (nameHash)
                {
                    case 0x7e7970c2u:
                    {
                        if (name == BuiltInName::gl_LastFragData)
                        {
                            return mVar_gl_LastFragData;
                        }
                        break;
                    }
                }
            }
            if ((mShaderType == GL_FRAGMENT_SHADER) && (mResources.NV_shader_framebuffer_fetch))
            {
                switch (nameHash)
                {
                    case 0x7e7970c2u:
                    {
                        if (name == BuiltInName::gl_LastFragData)
                        {
                            return mVar_gl_LastFragDataNV;
                        }
                        break;
                    }
                    case 0x7e802016u:
                    {
                        if (name == BuiltInName::gl_LastFragColor)
                        {
                            return &BuiltInVariable::kVar_gl_LastFragColor;
                        }
                        break;
                    }
                }
            }
            if ((mShaderType == GL_FRAGMENT_SHADER) &&
                (!mResources.EXT_shader_framebuffer_fetch && !mResources.NV_shader_framebuffer_fetch &&
                 mResources.ARM_shader_framebuffer_fetch))
            {
                switch (nameHash)
                {
                    case 0x7e9f0a88u:
                    {
                        if (name == BuiltInName::gl_LastFragColorARM)
                        {
                            return &BuiltInVariable::kVar_gl_LastFragColorARM;
                        }
                        break;
                    }
                }
            }
            if ((mShaderType == GL_VERTEX_SHADER) && (mResources.ANGLE_multi_draw))
            {
                switch (nameHash)
                {
                    case 0x7e4c3c42u:
                    {
                        if (name == BuiltInName::gl_DrawID)
                        {
                            return &BuiltInVariable::kVar_gl_DrawID;
                        }
                        break;
                    }
                }
            }
            if (mResources.OVR_multiview && mShaderType != GL_COMPUTE_SHADER)
            {
                switch (nameHash)
                {
                    case 0x7e6f6de9u:
                    {
                        if (name == BuiltInName::gl_ViewID_OVR)
                        {
                            return &BuiltInVariable::kVar_gl_ViewID_OVRESSL1;
                        }
                        break;
                    }
                }
            }
        }
        switch (nameHash)
        {
            case 0x063055e6u:
            {
                if (name.beginsWith(BuiltInName::log))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_log_0B;
                }
                break;
            }
            case 0x06307fbcu:
            {
                if (name.beginsWith(BuiltInName::all))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_all_1E;
                }
                break;
            }
            case 0x0630826fu:
            {
                if (name.beginsWith(BuiltInName::notFunc))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_notFunc_3E;
                }
                break;
            }
            case 0x0630942fu:
            {
                if (name.beginsWith(BuiltInName::abs))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_abs_0B;
                }
                break;
            }
            case 0x06309ccau:
            {
                if (name.beginsWith(BuiltInName::tan))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_tan_1B;
                }
                break;
            }
            case 0x0630bc6au:
            {
                if (name.beginsWith(BuiltInName::cos))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_cos_2B;
                }
                break;
            }
            case 0x0630dce3u:
            {
                if (name.beginsWith(BuiltInName::log))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_log_3B;
                }
                break;
            }
            case 0x063194bfu:
            {
                if (name.beginsWith(BuiltInName::any))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_any_1E;
                }
                break;
            }
            case 0x0631a1ccu:
            {
                if (name.beginsWith(BuiltInName::abs))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_abs_3B;
                }
                break;
            }
            case 0x0631d12au:
            {
                if (name.beginsWith(BuiltInName::log))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_log_2B;
                }
                break;
            }
            case 0x06320b8bu:
            {
                if (name.beginsWith(BuiltInName::cos))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_cos_3B;
                }
                break;
            }
            case 0x0632fcb3u:
            {
                if (name.beginsWith(BuiltInName::any))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_any_3E;
                }
                break;
            }
            case 0x06330b41u:
            {
                if (name.beginsWith(BuiltInName::log))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_log_1B;
                }
                break;
            }
            case 0x063314b1u:
            {
                if (name.beginsWith(BuiltInName::sin))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_sin_1B;
                }
                break;
            }
            case 0x063415e2u:
            {
                if (name.beginsWith(BuiltInName::any))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_any_2E;
                }
                break;
            }
            case 0x06344570u:
            {
                if (name.beginsWith(BuiltInName::sin))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_sin_0B;
                }
                break;
            }
            case 0x0634cf9au:
            {
                if (name.beginsWith(BuiltInName::sin))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_sin_3B;
                }
                break;
            }
            case 0x06352335u:
            {
                if (name.beginsWith(BuiltInName::exp))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_exp_3B;
                }
                break;
            }
            case 0x063595b9u:
            {
                if (name.beginsWith(BuiltInName::exp))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_exp_0B;
                }
                break;
            }
            case 0x0635a80fu:
            {
                if (name.beginsWith(BuiltInName::tan))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_tan_2B;
                }
                break;
            }
            case 0x0635d3b3u:
            {
                if (name.beginsWith(BuiltInName::sin))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_sin_2B;
                }
                break;
            }
            case 0x0635eb79u:
            {
                if (name.beginsWith(BuiltInName::all))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_all_2E;
                }
                break;
            }
            case 0x06366a98u:
            {
                if (name.beginsWith(BuiltInName::cos))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_cos_0B;
                }
                break;
            }
            case 0x0636b1f1u:
            {
                if (name.beginsWith(BuiltInName::exp))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_exp_1B;
                }
                break;
            }
            case 0x0636dda0u:
            {
                if (name.beginsWith(BuiltInName::all))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_all_3E;
                }
                break;
            }
            case 0x0636e0efu:
            {
                if (name.beginsWith(BuiltInName::notFunc))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_notFunc_1E;
                }
                break;
            }
            case 0x063719d6u:
            {
                if (name.beginsWith(BuiltInName::tan))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_tan_3B;
                }
                break;
            }
            case 0x06371aefu:
            {
                if (name.beginsWith(BuiltInName::abs))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_abs_2B;
                }
                break;
            }
            case 0x06376a86u:
            {
                if (name.beginsWith(BuiltInName::notFunc))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_notFunc_2E;
                }
                break;
            }
            case 0x063770d0u:
            {
                if (name.beginsWith(BuiltInName::tan))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_tan_0B;
                }
                break;
            }
            case 0x063770dfu:
            {
                if (name.beginsWith(BuiltInName::abs))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_abs_1B;
                }
                break;
            }
            case 0x063786f1u:
            {
                if (name.beginsWith(BuiltInName::cos))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_cos_1B;
                }
                break;
            }
            case 0x0637ca4au:
            {
                if (name.beginsWith(BuiltInName::exp))
                {
                    ASSERT(name.length() == 6);
                    return &BuiltInFunction::kFunction_exp_2B;
                }
                break;
            }
            case 0x06400261u:
            {
                if (name.beginsWith(BuiltInName::max))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_max_2B2B;
                }
                break;
            }
            case 0x06403847u:
            {
                if (name.beginsWith(BuiltInName::mod))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_mod_2B0B;
                }
                break;
            }
            case 0x064082ceu:
            {
                if (name.beginsWith(BuiltInName::mod))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_mod_1B0B;
                }
                break;
            }
            case 0x0640a98au:
            {
                if (name.beginsWith(BuiltInName::min))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_min_2B2B;
                }
                break;
            }
            case 0x064107b7u:
            {
                if (name.beginsWith(BuiltInName::min))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_min_1B0B;
                }
                break;
            }
            case 0x06415ae6u:
            {
                if (name.beginsWith(BuiltInName::dot))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_dot_3B3B;
                }
                break;
            }
            case 0x06418e42u:
            {
                if (name.beginsWith(BuiltInName::pow))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_pow_3B3B;
                }
                break;
            }
            case 0x0641ceeeu:
            {
                if (name.beginsWith(BuiltInName::min))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_min_0B0B;
                }
                break;
            }
            case 0x0641f1d7u:
            {
                if (name.beginsWith(BuiltInName::mod))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_mod_1B1B;
                }
                break;
            }
            case 0x06421555u:
            {
                if (name.beginsWith(BuiltInName::dot))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_dot_1B1B;
                }
                break;
            }
            case 0x064225ceu:
            {
                if (name.beginsWith(BuiltInName::max))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_max_3B3B;
                }
                break;
            }
            case 0x064274eeu:
            {
                if (name.beginsWith(BuiltInName::min))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_min_1B1B;
                }
                break;
            }
            case 0x0642b54du:
            {
                if (name.beginsWith(BuiltInName::mod))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_mod_2B2B;
                }
                break;
            }
            case 0x064318fcu:
            {
                if (name.beginsWith(BuiltInName::pow))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_pow_2B2B;
                }
                break;
            }
            case 0x0643486cu:
            {
                if (name.beginsWith(BuiltInName::max))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_max_3B0B;
                }
                break;
            }
            case 0x06439435u:
            {
                if (name.beginsWith(BuiltInName::pow))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_pow_1B1B;
                }
                break;
            }
            case 0x06450933u:
            {
                if (name.beginsWith(BuiltInName::dot))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_dot_0B0B;
                }
                break;
            }
            case 0x0645114fu:
            {
                if (name.beginsWith(BuiltInName::max))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_max_1B0B;
                }
                break;
            }
            case 0x06457883u:
            {
                if (name.beginsWith(BuiltInName::mod))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_mod_3B3B;
                }
                break;
            }
            case 0x0645f03eu:
            {
                if (name.beginsWith(BuiltInName::mod))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_mod_3B0B;
                }
                break;
            }
            case 0x0645fd82u:
            {
                if (name.beginsWith(BuiltInName::min))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_min_3B3B;
                }
                break;
            }
            case 0x0646155eu:
            {
                if (name.beginsWith(BuiltInName::max))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_max_1B1B;
                }
                break;
            }
            case 0x06462cf0u:
            {
                if (name.beginsWith(BuiltInName::min))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_min_2B0B;
                }
                break;
            }
            case 0x06463219u:
            {
                if (name.beginsWith(BuiltInName::dot))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_dot_2B2B;
                }
                break;
            }
            case 0x06467507u:
            {
                if (name.beginsWith(BuiltInName::min))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_min_3B0B;
                }
                break;
            }
            case 0x06468fb1u:
            {
                if (name.beginsWith(BuiltInName::max))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_max_2B0B;
                }
                break;
            }
            case 0x0646b392u:
            {
                if (name.beginsWith(BuiltInName::pow))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_pow_0B0B;
                }
                break;
            }
            case 0x06472996u:
            {
                if (name.beginsWith(BuiltInName::max))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_max_0B0B;
                }
                break;
            }
            case 0x064778feu:
            {
                if (name.beginsWith(BuiltInName::mod))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_mod_0B0B;
                }
                break;
            }
            case 0x0650f1c9u:
            {
                if (name.beginsWith(BuiltInName::mix))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_mix_1B1B0B;
                }
                break;
            }
            case 0x0653049du:
            {
                if (name.beginsWith(BuiltInName::mix))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_mix_2B2B0B;
                }
                break;
            }
            case 0x06549219u:
            {
                if (name.beginsWith(BuiltInName::mix))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_mix_2B2B2B;
                }
                break;
            }
            case 0x0655be57u:
            {
                if (name.beginsWith(BuiltInName::mix))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_mix_0B0B0B;
                }
                break;
            }
            case 0x06561bdcu:
            {
                if (name == BuiltInName::mix_3B3B0B)
                {
                    return &BuiltInFunction::kFunction_mix_3B3B0B;
                }
                break;
            }
            case 0x06568deeu:
            {
                if (name == BuiltInName::mix_3B3B3B)
                {
                    return &BuiltInFunction::kFunction_mix_3B3B3B;
                }
                break;
            }
            case 0x0657a0a8u:
            {
                if (name == BuiltInName::mix_1B1B1B)
                {
                    return &BuiltInFunction::kFunction_mix_1B1B1B;
                }
                break;
            }
            case 0x08383aacu:
            {
                if (name.beginsWith(BuiltInName::acos))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_acos_3B;
                }
                break;
            }
            case 0x0838a17eu:
            {
                if (name.beginsWith(BuiltInName::ceil))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_ceil_2B;
                }
                break;
            }
            case 0x0838ac89u:
            {
                if (name.beginsWith(BuiltInName::exp2))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_exp2_3B;
                }
                break;
            }
            case 0x0838dc31u:
            {
                if (name.beginsWith(BuiltInName::sqrt))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_sqrt_0B;
                }
                break;
            }
            case 0x08396a55u:
            {
                if (name.beginsWith(BuiltInName::acos))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_acos_2B;
                }
                break;
            }
            case 0x0839daf2u:
            {
                if (name.beginsWith(BuiltInName::exp2))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_exp2_0B;
                }
                break;
            }
            case 0x0839e751u:
            {
                if (name.beginsWith(BuiltInName::acos))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_acos_1B;
                }
                break;
            }
            case 0x0839f1a7u:
            {
                if (name.beginsWith(BuiltInName::ceil))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_ceil_3B;
                }
                break;
            }
            case 0x083a07bau:
            {
                if (name.beginsWith(BuiltInName::sqrt))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_sqrt_3B;
                }
                break;
            }
            case 0x083a7922u:
            {
                if (name.beginsWith(BuiltInName::ceil))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_ceil_0B;
                }
                break;
            }
            case 0x083aea5fu:
            {
                if (name.beginsWith(BuiltInName::atan))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_atan_2B;
                }
                break;
            }
            case 0x083af266u:
            {
                if (name.beginsWith(BuiltInName::sign))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_sign_1B;
                }
                break;
            }
            case 0x083afbc8u:
            {
                if (name.beginsWith(BuiltInName::acos))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_acos_0B;
                }
                break;
            }
            case 0x083b2b93u:
            {
                if (name.beginsWith(BuiltInName::exp2))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_exp2_1B;
                }
                break;
            }
            case 0x083b577bu:
            {
                if (name.beginsWith(BuiltInName::sqrt))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_sqrt_2B;
                }
                break;
            }
            case 0x083b7e52u:
            {
                if (name.beginsWith(BuiltInName::atan))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_atan_1B;
                }
                break;
            }
            case 0x083bcf76u:
            {
                if (name.beginsWith(BuiltInName::sqrt))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_sqrt_1B;
                }
                break;
            }
            case 0x083c1fc5u:
            {
                if (name.beginsWith(BuiltInName::sign))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_sign_2B;
                }
                break;
            }
            case 0x083c624bu:
            {
                if (name.beginsWith(BuiltInName::atan))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_atan_0B;
                }
                break;
            }
            case 0x083ca453u:
            {
                if (name.beginsWith(BuiltInName::asin))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_asin_0B;
                }
                break;
            }
            case 0x083cc6e1u:
            {
                if (name.beginsWith(BuiltInName::log2))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_log2_2B;
                }
                break;
            }
            case 0x083d6eacu:
            {
                if (name.beginsWith(BuiltInName::sign))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_sign_3B;
                }
                break;
            }
            case 0x083dac10u:
            {
                if (name.beginsWith(BuiltInName::atan))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_atan_3B;
                }
                break;
            }
            case 0x083dd4deu:
            {
                if (name.beginsWith(BuiltInName::sign))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_sign_0B;
                }
                break;
            }
            case 0x083df752u:
            {
                if (name.beginsWith(BuiltInName::asin))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_asin_1B;
                }
                break;
            }
            case 0x083e1b7au:
            {
                if (name.beginsWith(BuiltInName::log2))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_log2_1B;
                }
                break;
            }
            case 0x083e6948u:
            {
                if (name.beginsWith(BuiltInName::asin))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_asin_2B;
                }
                break;
            }
            case 0x083f4babu:
            {
                if (name.beginsWith(BuiltInName::log2))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_log2_0B;
                }
                break;
            }
            case 0x083f6552u:
            {
                if (name.beginsWith(BuiltInName::asin))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_asin_3B;
                }
                break;
            }
            case 0x083f6afdu:
            {
                if (name.beginsWith(BuiltInName::ceil))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_ceil_1B;
                }
                break;
            }
            case 0x083f8b90u:
            {
                if (name.beginsWith(BuiltInName::exp2))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_exp2_2B;
                }
                break;
            }
            case 0x083fd32eu:
            {
                if (name.beginsWith(BuiltInName::log2))
                {
                    ASSERT(name.length() == 7);
                    return &BuiltInFunction::kFunction_log2_3B;
                }
                break;
            }
            case 0x08482806u:
            {
                if (name.beginsWith(BuiltInName::atan))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_atan_3B3B;
                }
                break;
            }
            case 0x08491304u:
            {
                if (name.beginsWith(BuiltInName::step))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_step_0B1B;
                }
                break;
            }
            case 0x0849bcfdu:
            {
                if (name.beginsWith(BuiltInName::step))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_step_2B2B;
                }
                break;
            }
            case 0x084aa6bfu:
            {
                if (name.beginsWith(BuiltInName::atan))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_atan_1B1B;
                }
                break;
            }
            case 0x084c10fau:
            {
                if (name.beginsWith(BuiltInName::atan))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_atan_0B0B;
                }
                break;
            }
            case 0x084c9765u:
            {
                if (name.beginsWith(BuiltInName::step))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_step_1B1B;
                }
                break;
            }
            case 0x084e7af1u:
            {
                if (name.beginsWith(BuiltInName::step))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_step_3B3B;
                }
                break;
            }
            case 0x084e7be4u:
            {
                if (name.beginsWith(BuiltInName::step))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_step_0B0B;
                }
                break;
            }
            case 0x084ec1e6u:
            {
                if (name.beginsWith(BuiltInName::step))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_step_0B3B;
                }
                break;
            }
            case 0x084ee899u:
            {
                if (name.beginsWith(BuiltInName::atan))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_atan_2B2B;
                }
                break;
            }
            case 0x084feda7u:
            {
                if (name.beginsWith(BuiltInName::step))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_step_0B2B;
                }
                break;
            }
            case 0x0a402a9cu:
            {
                if (name.beginsWith(BuiltInName::fract))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_fract_0B;
                }
                break;
            }
            case 0x0a41745fu:
            {
                if (name.beginsWith(BuiltInName::fract))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_fract_3B;
                }
                break;
            }
            case 0x0a42a596u:
            {
                if (name.beginsWith(BuiltInName::fract))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_fract_2B;
                }
                break;
            }
            case 0x0a43465eu:
            {
                if (name.beginsWith(BuiltInName::floor))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_floor_0B;
                }
                break;
            }
            case 0x0a43be63u:
            {
                if (name.beginsWith(BuiltInName::floor))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_floor_3B;
                }
                break;
            }
            case 0x0a44da6bu:
            {
                if (name.beginsWith(BuiltInName::floor))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_floor_2B;
                }
                break;
            }
            case 0x0a45ecc0u:
            {
                if (name.beginsWith(BuiltInName::floor))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_floor_1B;
                }
                break;
            }
            case 0x0a4726f2u:
            {
                if (name.beginsWith(BuiltInName::fract))
                {
                    ASSERT(name.length() == 8);
                    return &BuiltInFunction::kFunction_fract_1B;
                }
                break;
            }
            case 0x0a513a26u:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_3E3E;
                }
                break;
            }
            case 0x0a51bddcu:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_3B3B;
                }
                break;
            }
            case 0x0a527d10u:
            {
                if (name.beginsWith(BuiltInName::cross))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_cross_2B2B;
                }
                break;
            }
            case 0x0a542036u:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_2C2C;
                }
                break;
            }
            case 0x0a54c30cu:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_2B2B;
                }
                break;
            }
            case 0x0a554046u:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_1C1C;
                }
                break;
            }
            case 0x0a56874bu:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_3C3C;
                }
                break;
            }
            case 0x0a56fc88u:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_2E2E;
                }
                break;
            }
            case 0x0a5744dcu:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_1E1E;
                }
                break;
            }
            case 0x0a57a8f5u:
            {
                if (name.beginsWith(BuiltInName::equal))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_equal_1B1B;
                }
                break;
            }
            case 0x0a619e65u:
            {
                if (name.beginsWith(BuiltInName::clamp))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_clamp_3B3B3B;
                }
                break;
            }
            case 0x0a62e0c3u:
            {
                if (name == BuiltInName::clamp_1B0B0B)
                {
                    return &BuiltInFunction::kFunction_clamp_1B0B0B;
                }
                break;
            }
            case 0x0a635d1au:
            {
                if (name == BuiltInName::clamp_1B1B1B)
                {
                    return &BuiltInFunction::kFunction_clamp_1B1B1B;
                }
                break;
            }
            case 0x0a658fc9u:
            {
                if (name == BuiltInName::clamp_3B0B0B)
                {
                    return &BuiltInFunction::kFunction_clamp_3B0B0B;
                }
                break;
            }
            case 0x0a65f6b4u:
            {
                if (name.beginsWith(BuiltInName::clamp))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_clamp_0B0B0B;
                }
                break;
            }
            case 0x0a6670deu:
            {
                if (name.beginsWith(BuiltInName::clamp))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_clamp_2B0B0B;
                }
                break;
            }
            case 0x0a679af4u:
            {
                if (name.beginsWith(BuiltInName::clamp))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_clamp_2B2B2B;
                }
                break;
            }
            case 0x0c48bffau:
            {
                if (name.beginsWith(BuiltInName::length))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_length_0B;
                }
                break;
            }
            case 0x0c4924f7u:
            {
                if (name.beginsWith(BuiltInName::length))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_length_3B;
                }
                break;
            }
            case 0x0c4a38b6u:
            {
                if (name.beginsWith(BuiltInName::length))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_length_2B;
                }
                break;
            }
            case 0x0c4f6cbbu:
            {
                if (name.beginsWith(BuiltInName::length))
                {
                    ASSERT(name.length() == 9);
                    return &BuiltInFunction::kFunction_length_1B;
                }
                break;
            }
            case 0x0e507f22u:
            {
                if (name.beginsWith(BuiltInName::degrees))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_degrees_2B;
                }
                break;
            }
            case 0x0e519bd4u:
            {
                if (name.beginsWith(BuiltInName::degrees))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_degrees_3B;
                }
                break;
            }
            case 0x0e52b187u:
            {
                if (name.beginsWith(BuiltInName::degrees))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_degrees_0B;
                }
                break;
            }
            case 0x0e52e500u:
            {
                if (name.beginsWith(BuiltInName::radians))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_radians_0B;
                }
                break;
            }
            case 0x0e537b7au:
            {
                if (name.beginsWith(BuiltInName::radians))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_radians_3B;
                }
                break;
            }
            case 0x0e541edeu:
            {
                if (name.beginsWith(BuiltInName::degrees))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_degrees_1B;
                }
                break;
            }
            case 0x0e547683u:
            {
                if (name.beginsWith(BuiltInName::radians))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_radians_2B;
                }
                break;
            }
            case 0x0e55ac28u:
            {
                if (name.beginsWith(BuiltInName::radians))
                {
                    ASSERT(name.length() == 10);
                    return &BuiltInFunction::kFunction_radians_1B;
                }
                break;
            }
            case 0x0e620f44u:
            {
                if (name.beginsWith(BuiltInName::reflect))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_reflect_2B2B;
                }
                break;
            }
            case 0x0e631c50u:
            {
                if (name.beginsWith(BuiltInName::reflect))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_reflect_3B3B;
                }
                break;
            }
            case 0x0e63358eu:
            {
                if (name.beginsWith(BuiltInName::reflect))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_reflect_0B0B;
                }
                break;
            }
            case 0x0e665b7bu:
            {
                if (name.beginsWith(BuiltInName::reflect))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_reflect_1B1B;
                }
                break;
            }
            case 0x0e706684u:
            {
                if (name.beginsWith(BuiltInName::refract))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_refract_1B1B0B;
                }
                break;
            }
            case 0x0e71a4fcu:
            {
                if (name.beginsWith(BuiltInName::refract))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_refract_2B2B0B;
                }
                break;
            }
            case 0x0e71b28du:
            {
                if (name == BuiltInName::refract_3B3B0B)
                {
                    return &BuiltInFunction::kFunction_refract_3B3B0B;
                }
                break;
            }
            case 0x0e73b594u:
            {
                if (name.beginsWith(BuiltInName::refract))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_refract_0B0B0B;
                }
                break;
            }
            case 0x1068425fu:
            {
                if (name.beginsWith(BuiltInName::distance))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_distance_3B3B;
                }
                break;
            }
            case 0x1068c0bfu:
            {
                if (name.beginsWith(BuiltInName::distance))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_distance_2B2B;
                }
                break;
            }
            case 0x1068f060u:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_1E1E;
                }
                break;
            }
            case 0x10695fe7u:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_2E2E;
                }
                break;
            }
            case 0x1069b2c0u:
            {
                if (name.beginsWith(BuiltInName::lessThan))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_lessThan_1B1B;
                }
                break;
            }
            case 0x106a110cu:
            {
                if (name.beginsWith(BuiltInName::lessThan))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_lessThan_3C3C;
                }
                break;
            }
            case 0x106a63f2u:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_2C2C;
                }
                break;
            }
            case 0x106a713eu:
            {
                if (name.beginsWith(BuiltInName::lessThan))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_lessThan_2B2B;
                }
                break;
            }
            case 0x106ade94u:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_1B1B;
                }
                break;
            }
            case 0x106b25c9u:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_1C1C;
                }
                break;
            }
            case 0x106b4468u:
            {
                if (name.beginsWith(BuiltInName::lessThan))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_lessThan_1C1C;
                }
                break;
            }
            case 0x106b8219u:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_3B3B;
                }
                break;
            }
            case 0x106bc4fcu:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_3E3E;
                }
                break;
            }
            case 0x106caf4fu:
            {
                if (name.beginsWith(BuiltInName::distance))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_distance_0B0B;
                }
                break;
            }
            case 0x106d2c39u:
            {
                if (name.beginsWith(BuiltInName::lessThan))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_lessThan_3B3B;
                }
                break;
            }
            case 0x106dabccu:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_2B2B;
                }
                break;
            }
            case 0x106eaf65u:
            {
                if (name.beginsWith(BuiltInName::notEqual))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_notEqual_3C3C;
                }
                break;
            }
            case 0x106faaeau:
            {
                if (name.beginsWith(BuiltInName::lessThan))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_lessThan_2C2C;
                }
                break;
            }
            case 0x106ff564u:
            {
                if (name.beginsWith(BuiltInName::distance))
                {
                    ASSERT(name.length() == 13);
                    return &BuiltInFunction::kFunction_distance_1B1B;
                }
                break;
            }
            case 0x126235c4u:
            {
                if (name.beginsWith(BuiltInName::normalize))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_normalize_1B;
                }
                break;
            }
            case 0x12635a67u:
            {
                if (name.beginsWith(BuiltInName::normalize))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_normalize_2B;
                }
                break;
            }
            case 0x1264aa3eu:
            {
                if (name.beginsWith(BuiltInName::normalize))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_normalize_3B;
                }
                break;
            }
            case 0x12650243u:
            {
                if (name.beginsWith(BuiltInName::normalize))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_normalize_0B;
                }
                break;
            }
            case 0x14888e72u:
            {
                if (name.beginsWith(BuiltInName::smoothstep))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_smoothstep_0B0B1B;
                }
                break;
            }
            case 0x1489436du:
            {
                if (name == BuiltInName::smoothstep_1B1B1B)
                {
                    return &BuiltInFunction::kFunction_smoothstep_1B1B1B;
                }
                break;
            }
            case 0x1489bfb6u:
            {
                if (name == BuiltInName::smoothstep_3B3B3B)
                {
                    return &BuiltInFunction::kFunction_smoothstep_3B3B3B;
                }
                break;
            }
            case 0x148a33b9u:
            {
                if (name.beginsWith(BuiltInName::smoothstep))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_smoothstep_2B2B2B;
                }
                break;
            }
            case 0x148de9b5u:
            {
                if (name.beginsWith(BuiltInName::smoothstep))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_smoothstep_0B0B0B;
                }
                break;
            }
            case 0x148e5c11u:
            {
                if (name == BuiltInName::smoothstep_0B0B3B)
                {
                    return &BuiltInFunction::kFunction_smoothstep_0B0B3B;
                }
                break;
            }
            case 0x148f7bf9u:
            {
                if (name.beginsWith(BuiltInName::smoothstep))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_smoothstep_0B0B2B;
                }
                break;
            }
            case 0x1670b92du:
            {
                if (name.beginsWith(BuiltInName::inversesqrt))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_inversesqrt_2B;
                }
                break;
            }
            case 0x1671d38eu:
            {
                if (name.beginsWith(BuiltInName::inversesqrt))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_inversesqrt_1B;
                }
                break;
            }
            case 0x16772b69u:
            {
                if (name.beginsWith(BuiltInName::inversesqrt))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_inversesqrt_0B;
                }
                break;
            }
            case 0x1677857cu:
            {
                if (name.beginsWith(BuiltInName::inversesqrt))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_inversesqrt_3B;
                }
                break;
            }
            case 0x16817df9u:
            {
                if (name.beginsWith(BuiltInName::greaterThan))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_greaterThan_1B1B;
                }
                break;
            }
            case 0x1681b963u:
            {
                if (name.beginsWith(BuiltInName::greaterThan))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_greaterThan_3C3C;
                }
                break;
            }
            case 0x16829d5du:
            {
                if (name.beginsWith(BuiltInName::greaterThan))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_greaterThan_3B3B;
                }
                break;
            }
            case 0x16853112u:
            {
                if (name.beginsWith(BuiltInName::greaterThan))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_greaterThan_2B2B;
                }
                break;
            }
            case 0x1685d025u:
            {
                if (name.beginsWith(BuiltInName::greaterThan))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_greaterThan_2C2C;
                }
                break;
            }
            case 0x1685db46u:
            {
                if (name.beginsWith(BuiltInName::greaterThan))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_greaterThan_1C1C;
                }
                break;
            }
            case 0x1690b84du:
            {
                if (name == BuiltInName::faceforward_3B3B3B)
                {
                    return &BuiltInFunction::kFunction_faceforward_3B3B3B;
                }
                break;
            }
            case 0x1691c40bu:
            {
                if (name == BuiltInName::faceforward_1B1B1B)
                {
                    return &BuiltInFunction::kFunction_faceforward_1B1B1B;
                }
                break;
            }
            case 0x1696babeu:
            {
                if (name == BuiltInName::faceforward_2B2B2B)
                {
                    return &BuiltInFunction::kFunction_faceforward_2B2B2B;
                }
                break;
            }
            case 0x1697cde8u:
            {
                if (name.beginsWith(BuiltInName::faceforward))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_faceforward_0B0B0B;
                }
                break;
            }
            case 0x1a9481a8u:
            {
                if (name.beginsWith(BuiltInName::lessThanEqual))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_lessThanEqual_2C2C;
                }
                break;
            }
            case 0x1a94a164u:
            {
                if (name.beginsWith(BuiltInName::lessThanEqual))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_lessThanEqual_3C3C;
                }
                break;
            }
            case 0x1a95c72au:
            {
                if (name.beginsWith(BuiltInName::lessThanEqual))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_lessThanEqual_1B1B;
                }
                break;
            }
            case 0x1a9642f7u:
            {
                if (name.beginsWith(BuiltInName::lessThanEqual))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_lessThanEqual_3B3B;
                }
                break;
            }
            case 0x1a977782u:
            {
                if (name.beginsWith(BuiltInName::lessThanEqual))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_lessThanEqual_1C1C;
                }
                break;
            }
            case 0x1a97d055u:
            {
                if (name.beginsWith(BuiltInName::lessThanEqual))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_lessThanEqual_2B2B;
                }
                break;
            }
            case 0x1c993bdfu:
            {
                if (name.beginsWith(BuiltInName::matrixCompMult))
                {
                    ASSERT(name.length() == 19);
                    return &BuiltInFunction::kFunction_matrixCompMult_5B5B;
                }
                break;
            }
            case 0x1c9b357cu:
            {
                if (name.beginsWith(BuiltInName::matrixCompMult))
                {
                    ASSERT(name.length() == 19);
                    return &BuiltInFunction::kFunction_matrixCompMult_FBFB;
                }
                break;
            }
            case 0x1c9e72dbu:
            {
                if (name.beginsWith(BuiltInName::matrixCompMult))
                {
                    ASSERT(name.length() == 19);
                    return &BuiltInFunction::kFunction_matrixCompMult_ABAB;
                }
                break;
            }
            case 0x20ab1dc0u:
            {
                if (name.beginsWith(BuiltInName::greaterThanEqual))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_greaterThanEqual_2C2C;
                }
                break;
            }
            case 0x20acdd3au:
            {
                if (name.beginsWith(BuiltInName::greaterThanEqual))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_greaterThanEqual_1B1B;
                }
                break;
            }
            case 0x20ad192cu:
            {
                if (name.beginsWith(BuiltInName::greaterThanEqual))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_greaterThanEqual_3C3C;
                }
                break;
            }
            case 0x20adfc96u:
            {
                if (name.beginsWith(BuiltInName::greaterThanEqual))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_greaterThanEqual_3B3B;
                }
                break;
            }
            case 0x20ae6ffbu:
            {
                if (name.beginsWith(BuiltInName::greaterThanEqual))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_greaterThanEqual_2B2B;
                }
                break;
            }
            case 0x20af1dd4u:
            {
                if (name.beginsWith(BuiltInName::greaterThanEqual))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_greaterThanEqual_1C1C;
                }
                break;
            }
            case 0x7e6af03cu:
            {
                if (name == BuiltInName::gl_DepthRange)
                {
                    return mVar_gl_DepthRange;
                }
                break;
            }
            case 0x7e8ab02eu:
            {
                if (name == BuiltInName::gl_MaxDrawBuffers)
                {
                    return mVar_gl_MaxDrawBuffers;
                }
                break;
            }
            case 0x7e9ad799u:
            {
                if (name == BuiltInName::gl_MaxVertexAttribs)
                {
                    return mVar_gl_MaxVertexAttribs;
                }
                break;
            }
            case 0x7ebaa8e5u:
            {
                if (name == BuiltInName::gl_MaxTextureImageUnits)
                {
                    return mVar_gl_MaxTextureImageUnits;
                }
                break;
            }
            case 0x7ebeff64u:
            {
                if (name == BuiltInName::gl_DepthRangeParameters)
                {
                    return mVar_gl_DepthRangeParameters;
                }
                break;
            }
            case 0x7ed35151u:
            {
                if (name == BuiltInName::gl_MaxVertexUniformVectors)
                {
                    return mVar_gl_MaxVertexUniformVectors;
                }
                break;
            }
            case 0x7ee45ba1u:
            {
                if (name == BuiltInName::gl_MaxFragmentUniformVectors)
                {
                    return mVar_gl_MaxFragmentUniformVectors;
                }
                break;
            }
            case 0x7eea039au:
            {
                if (name == BuiltInName::gl_MaxVertexTextureImageUnits)
                {
                    return mVar_gl_MaxVertexTextureImageUnits;
                }
                break;
            }
            case 0x7ef1e608u:
            {
                if (name == BuiltInName::gl_MaxDualSourceDrawBuffersEXT)
                {
                    return mVar_gl_MaxDualSourceDrawBuffersEXT;
                }
                break;
            }
            case 0x7ef84293u:
            {
                if (name == BuiltInName::gl_MaxCombinedTextureImageUnits)
                {
                    return mVar_gl_MaxCombinedTextureImageUnits;
                }
                break;
            }
        }
        if (mShaderType == GL_FRAGMENT_SHADER)
        {
            switch (nameHash)
            {
                case 0x7e64c010u:
                {
                    if (name == BuiltInName::gl_FragCoord)
                    {
                        return &BuiltInVariable::kVar_gl_FragCoord;
                    }
                    break;
                }
                case 0x7e6c2088u:
                {
                    if (name == BuiltInName::gl_PointCoord)
                    {
                        return &BuiltInVariable::kVar_gl_PointCoord;
                    }
                    break;
                }
                case 0x7e73011eu:
                {
                    if (name == BuiltInName::gl_FrontFacing)
                    {
                        return &BuiltInVariable::kVar_gl_FrontFacing;
                    }
                    break;
                }
            }
        }
        if (mShaderType == GL_VERTEX_SHADER)
        {
            switch (nameHash)
            {
                case 0x7e580bc5u:
                {
                    if (name == BuiltInName::gl_Position)
                    {
                        return &BuiltInVariable::kVar_gl_Position;
                    }
                    break;
                }
                case 0x7e63931cu:
                {
                    if (name == BuiltInName::gl_PointSize)
                    {
                        return &BuiltInVariable::kVar_gl_PointSize;
                    }
                    break;
                }
            }
        }
        return nullptr;
    }
    
    const UnmangledBuiltIn *TSymbolTable::getUnmangledBuiltInForShaderVersion(
        const ImmutableString &name,
        int shaderVersion)
    {
        if (name.length() > 26)
        {
            return nullptr;
        }
        uint32_t nameHash = name.mangledNameHash();
        if (shaderVersion >= 310)
        {
            switch (nameHash)
            {
                case 0x7e2c727fu:
                {
                    if (name == BuiltInName::ldexp)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e2d0692u:
                {
                    if (name == BuiltInName::frexp)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e399596u:
                {
                    if (name == BuiltInName::findLSB)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e3bdf3fu:
                {
                    if (name == BuiltInName::findMSB)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e41283bu:
                {
                    if (name == BuiltInName::bitCount)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4690b3u:
                {
                    if (name == BuiltInName::atomicOr)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4800e3u:
                {
                    if (name == BuiltInName::atomicAdd)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4893a8u:
                {
                    if (name == BuiltInName::atomicMax)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e49061fu:
                {
                    if (name == BuiltInName::atomicMin)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4a45b6u:
                {
                    if (name == BuiltInName::imageLoad)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4b6656u:
                {
                    if (name == BuiltInName::imageSize)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4dea77u:
                {
                    if (name == BuiltInName::atomicXor)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4e5094u:
                {
                    if (name == BuiltInName::uaddCarry)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4f21aeu:
                {
                    if (name == BuiltInName::atomicAnd)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e5237e1u:
                {
                    if (name == BuiltInName::texelFetch)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e5276efu:
                {
                    if (name == BuiltInName::imageStore)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e55de86u:
                {
                    if (name == BuiltInName::usubBorrow)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e5e217eu:
                {
                    if (name == BuiltInName::textureSize)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e6273e5u:
                {
                    if (name == BuiltInName::packSnorm4x8)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e62a9a0u:
                {
                    if (name == BuiltInName::imulExtended)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e657e29u:
                {
                    if (name == BuiltInName::packUnorm4x8)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e6746f4u:
                {
                    if (name == BuiltInName::umulExtended)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e69d0dbu:
                {
                    if (name == BuiltInName::memoryBarrier)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e6d0f32u:
                {
                    if (name == BuiltInName::textureGather)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e6e00a5u:
                {
                    if (name == BuiltInName::atomicCounter)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e71963eu:
                {
                    if (name == BuiltInName::unpackUnorm4x8)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e73f1d1u:
                {
                    if (name == BuiltInName::unpackSnorm4x8)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e75cfb1u:
                {
                    if (name == BuiltInName::atomicExchange)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e778ffcu:
                {
                    if (name == BuiltInName::atomicCompSwap)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e77c121u:
                {
                    if (name == BuiltInName::bitfieldInsert)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e7f2cb2u:
                {
                    if (name == BuiltInName::bitfieldReverse)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e7fa0c1u:
                {
                    if (name == BuiltInName::bitfieldExtract)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e9269d7u:
                {
                    if (name == BuiltInName::memoryBarrierImage)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e9b7f32u:
                {
                    if (name == BuiltInName::memoryBarrierBuffer)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e9d8ad9u:
                {
                    if (name == BuiltInName::textureGatherOffset)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7eb323ddu:
                {
                    if (name == BuiltInName::atomicCounterIncrement)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7eb6aed0u:
                {
                    if (name == BuiltInName::atomicCounterDecrement)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7ed5b06bu:
                {
                    if (name == BuiltInName::memoryBarrierAtomicCounter)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
            }
            if (mShaderType == GL_COMPUTE_SHADER)
            {
                switch (nameHash)
                {
                    case 0x7e39f4e9u:
                    {
                        if (name == BuiltInName::barrier)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                    case 0x7e93c6b9u:
                    {
                        if (name == BuiltInName::groupMemoryBarrier)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                    case 0x7e9f4b19u:
                    {
                        if (name == BuiltInName::memoryBarrierShared)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                }
            }
            if (mShaderType == GL_GEOMETRY_SHADER_EXT)
            {
                switch (nameHash)
                {
                    case 0x7e55adc2u:
                    {
                        if (name == BuiltInName::EmitVertex)
                        {
                            return &UnmangledBuiltIns::EXT_geometry_shader;
                        }
                        break;
                    }
                    case 0x7e65b2cau:
                    {
                        if (name == BuiltInName::EndPrimitive)
                        {
                            return &UnmangledBuiltIns::EXT_geometry_shader;
                        }
                        break;
                    }
                }
            }
        }
        if (shaderVersion >= 300)
        {
            switch (nameHash)
            {
                case 0x7e19507bu:
                {
                    if (name == BuiltInName::abs)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e1e492du:
                {
                    if (name == BuiltInName::min)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e1ea71bu:
                {
                    if (name == BuiltInName::mix)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e1ebe0eu:
                {
                    if (name == BuiltInName::max)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e205c92u:
                {
                    if (name == BuiltInName::tanh)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e206e40u:
                {
                    if (name == BuiltInName::sign)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e209eadu:
                {
                    if (name == BuiltInName::sinh)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e274509u:
                {
                    if (name == BuiltInName::modf)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e27a4feu:
                {
                    if (name == BuiltInName::cosh)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e28294fu:
                {
                    if (name == BuiltInName::atanh)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e2924b8u:
                {
                    if (name == BuiltInName::isinf)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e297347u:
                {
                    if (name == BuiltInName::equal)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e2a7a64u:
                {
                    if (name == BuiltInName::round)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e2d5dcbu:
                {
                    if (name == BuiltInName::clamp)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e2d8df4u:
                {
                    if (name == BuiltInName::isnan)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e2dcbc6u:
                {
                    if (name == BuiltInName::asinh)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e2eab16u:
                {
                    if (name == BuiltInName::trunc)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e2f67c3u:
                {
                    if (name == BuiltInName::acosh)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e39ebd7u:
                {
                    if (name == BuiltInName::texture)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e3d828cu:
                {
                    if (name == BuiltInName::inverse)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e403a20u:
                {
                    if (name == BuiltInName::lessThan)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e413f93u:
                {
                    if (name == BuiltInName::notEqual)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4d27c2u:
                {
                    if (name == BuiltInName::rgb_2_yuv)
                    {
                        return &UnmangledBuiltIns::EXT_YUV_target;
                    }
                    break;
                }
                case 0x7e4d323bu:
                {
                    if (name == BuiltInName::roundEven)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4e024cu:
                {
                    if (name == BuiltInName::transpose)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e4e33aeu:
                {
                    if (name == BuiltInName::yuv_2_rgb)
                    {
                        return &UnmangledBuiltIns::EXT_YUV_target;
                    }
                    break;
                }
                case 0x7e501e0cu:
                {
                    if (name == BuiltInName::textureLod)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e5237e1u:
                {
                    if (name == BuiltInName::texelFetch)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e582ffcu:
                {
                    if (name == BuiltInName::greaterThan)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e599347u:
                {
                    if (name == BuiltInName::textureGrad)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e5ba531u:
                {
                    if (name == BuiltInName::determinant)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e5caafbu:
                {
                    if (name == BuiltInName::textureProj)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e5e217eu:
                {
                    if (name == BuiltInName::textureSize)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e62daa3u:
                {
                    if (name == BuiltInName::packHalf2x16)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e646b9bu:
                {
                    if (name == BuiltInName::outerProduct)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e683586u:
                {
                    if (name == BuiltInName::lessThanEqual)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e6a013du:
                {
                    if (name == BuiltInName::packSnorm2x16)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e6b72b8u:
                {
                    if (name == BuiltInName::packUnorm2x16)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e6c5187u:
                {
                    if (name == BuiltInName::textureOffset)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e715db5u:
                {
                    if (name == BuiltInName::unpackHalf2x16)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e759618u:
                {
                    if (name == BuiltInName::floatBitsToInt)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e75ae2fu:
                {
                    if (name == BuiltInName::textureProjLod)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e76bea7u:
                {
                    if (name == BuiltInName::matrixCompMult)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e77fc97u:
                {
                    if (name == BuiltInName::intBitsToFloat)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e792d39u:
                {
                    if (name == BuiltInName::unpackUnorm2x16)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e7b6a0eu:
                {
                    if (name == BuiltInName::unpackSnorm2x16)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e7bc1fdu:
                {
                    if (name == BuiltInName::textureProjGrad)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e7e0e81u:
                {
                    if (name == BuiltInName::uintBitsToFloat)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e7e5132u:
                {
                    if (name == BuiltInName::floatBitsToUint)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e80919du:
                {
                    if (name == BuiltInName::texelFetchOffset)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e81c71au:
                {
                    if (name == BuiltInName::textureLodOffset)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e876cccu:
                {
                    if (name == BuiltInName::greaterThanEqual)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e8b5832u:
                {
                    if (name == BuiltInName::textureGradOffset)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e8d2d2du:
                {
                    if (name == BuiltInName::textureProjOffset)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7ea0be08u:
                {
                    if (name == BuiltInName::textureProjLodOffset)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7eac5717u:
                {
                    if (name == BuiltInName::textureProjGradOffset)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
            }
            if (mShaderType == GL_FRAGMENT_SHADER)
            {
                switch (nameHash)
                {
                    case 0x7e2624d4u:
                    {
                        if (name == BuiltInName::dFdy)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                    case 0x7e265ea7u:
                    {
                        if (name == BuiltInName::dFdx)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                    case 0x7e324ea1u:
                    {
                        if (name == BuiltInName::fwidth)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                }
            }
        }
        if (shaderVersion == 100)
        {
            switch (nameHash)
            {
                case 0x7e48c50cu:
                {
                    if (name == BuiltInName::texture2D)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e5ffc48u:
                {
                    if (name == BuiltInName::textureCube)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e69f545u:
                {
                    if (name == BuiltInName::texture2DRect)
                    {
                        return &UnmangledBuiltIns::ARB_texture_rectangle;
                    }
                    break;
                }
                case 0x7e6e3735u:
                {
                    if (name == BuiltInName::texture2DProj)
                    {
                        return &UnmangledBuiltIns::UNDEFINED;
                    }
                    break;
                }
                case 0x7e868a22u:
                {
                    if (name == BuiltInName::texture2DGradEXT)
                    {
                        return &UnmangledBuiltIns::EXT_shader_texture_lod;
                    }
                    break;
                }
                case 0x7e8b66e4u:
                {
                    if (name == BuiltInName::texture2DRectProj)
                    {
                        return &UnmangledBuiltIns::ARB_texture_rectangle;
                    }
                    break;
                }
                case 0x7e90fa5bu:
                {
                    if (name == BuiltInName::textureCubeGradEXT)
                    {
                        return &UnmangledBuiltIns::EXT_shader_texture_lod;
                    }
                    break;
                }
                case 0x7ea20b8fu:
                {
                    if (name == BuiltInName::texture2DProjGradEXT)
                    {
                        return &UnmangledBuiltIns::EXT_shader_texture_lod;
                    }
                    break;
                }
            }
            if (mShaderType == GL_FRAGMENT_SHADER)
            {
                switch (nameHash)
                {
                    case 0x7e2624d4u:
                    {
                        if (name == BuiltInName::dFdyExt)
                        {
                            return &UnmangledBuiltIns::OES_standard_derivatives;
                        }
                        break;
                    }
                    case 0x7e265ea7u:
                    {
                        if (name == BuiltInName::dFdxExt)
                        {
                            return &UnmangledBuiltIns::OES_standard_derivatives;
                        }
                        break;
                    }
                    case 0x7e324ea1u:
                    {
                        if (name == BuiltInName::fwidthExt)
                        {
                            return &UnmangledBuiltIns::OES_standard_derivatives;
                        }
                        break;
                    }
                    case 0x7e7b843eu:
                    {
                        if (name == BuiltInName::texture2DLodEXT)
                        {
                            return &UnmangledBuiltIns::EXT_shader_texture_lod;
                        }
                        break;
                    }
                    case 0x7e8b81cau:
                    {
                        if (name == BuiltInName::textureCubeLodEXT)
                        {
                            return &UnmangledBuiltIns::EXT_shader_texture_lod;
                        }
                        break;
                    }
                    case 0x7e9ddba0u:
                    {
                        if (name == BuiltInName::texture2DProjLodEXT)
                        {
                            return &UnmangledBuiltIns::EXT_shader_texture_lod;
                        }
                        break;
                    }
                }
            }
            if (mShaderType == GL_VERTEX_SHADER)
            {
                switch (nameHash)
                {
                    case 0x7e67c7ceu:
                    {
                        if (name == BuiltInName::texture2DLod)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                    case 0x7e758eddu:
                    {
                        if (name == BuiltInName::textureCubeLod)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                    case 0x7e819b90u:
                    {
                        if (name == BuiltInName::texture2DProjLod)
                        {
                            return &UnmangledBuiltIns::UNDEFINED;
                        }
                        break;
                    }
                }
            }
        }
        switch (nameHash)
        {
            case 0x7e1892eeu:
            {
                if (name == BuiltInName::all)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e19507bu:
            {
                if (name == BuiltInName::abs)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e195106u:
            {
                if (name == BuiltInName::notFunc)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e197102u:
            {
                if (name == BuiltInName::any)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e19ebdbu:
            {
                if (name == BuiltInName::log)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1acb4eu:
            {
                if (name == BuiltInName::pow)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1b921cu:
            {
                if (name == BuiltInName::exp)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1cf321u:
            {
                if (name == BuiltInName::tan)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1e492du:
            {
                if (name == BuiltInName::min)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1e8464u:
            {
                if (name == BuiltInName::dot)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1ea71bu:
            {
                if (name == BuiltInName::mix)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1ebe0eu:
            {
                if (name == BuiltInName::max)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1eee70u:
            {
                if (name == BuiltInName::mod)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1f0bccu:
            {
                if (name == BuiltInName::sin)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e1fdef3u:
            {
                if (name == BuiltInName::cos)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e203979u:
            {
                if (name == BuiltInName::atan)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e206e40u:
            {
                if (name == BuiltInName::sign)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e209ec1u:
            {
                if (name == BuiltInName::log2)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e21ff11u:
            {
                if (name == BuiltInName::acos)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e23152fu:
            {
                if (name == BuiltInName::ceil)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e23f4beu:
            {
                if (name == BuiltInName::sqrt)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e24bcdbu:
            {
                if (name == BuiltInName::exp2)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e26202fu:
            {
                if (name == BuiltInName::step)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e27ebd5u:
            {
                if (name == BuiltInName::asin)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e295733u:
            {
                if (name == BuiltInName::cross)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e297347u:
            {
                if (name == BuiltInName::equal)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e2d5dcbu:
            {
                if (name == BuiltInName::clamp)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e2dcb25u:
            {
                if (name == BuiltInName::floor)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e2f6df3u:
            {
                if (name == BuiltInName::fract)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e340894u:
            {
                if (name == BuiltInName::length)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e38233fu:
            {
                if (name == BuiltInName::refract)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e3c3cb3u:
            {
                if (name == BuiltInName::radians)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e3c8e91u:
            {
                if (name == BuiltInName::reflect)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e3d784cu:
            {
                if (name == BuiltInName::degrees)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e403a20u:
            {
                if (name == BuiltInName::lessThan)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e413f93u:
            {
                if (name == BuiltInName::notEqual)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e4161fau:
            {
                if (name == BuiltInName::distance)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e4e7aa5u:
            {
                if (name == BuiltInName::normalize)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e54a2cfu:
            {
                if (name == BuiltInName::smoothstep)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e582ffcu:
            {
                if (name == BuiltInName::greaterThan)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e5ae14bu:
            {
                if (name == BuiltInName::faceforward)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e5f4d0fu:
            {
                if (name == BuiltInName::inversesqrt)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e683586u:
            {
                if (name == BuiltInName::lessThanEqual)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e76bea7u:
            {
                if (name == BuiltInName::matrixCompMult)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
            case 0x7e876cccu:
            {
                if (name == BuiltInName::greaterThanEqual)
                {
                    return &UnmangledBuiltIns::UNDEFINED;
                }
                break;
            }
        }
        return nullptr;
    }
    
    }  // namespace sh