// 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::textureSize_Sampler2DMS1;
constexpr const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMS1;
constexpr const TSymbolUniqueId BuiltInId::textureSize_USampler2DMS1;
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::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::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_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 = 1008;

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 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_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_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_0c1C3B("imageStore(0c1C3B");
constexpr const ImmutableString imageStore_0d1C3C("imageStore(0d1C3C");
constexpr const ImmutableString imageStore_0e1C3D("imageStore(0e1C3D");
constexpr const ImmutableString imageStore_0l2C3B("imageStore(0l2C3B");
constexpr const ImmutableString imageStore_0n2C3D("imageStore(0n2C3D");
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_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_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 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_0P1C0C1C("texelFetchOffset(0P1C0C1C");
constexpr const ImmutableString texelFetchOffset_0Q2C0C2C("texelFetchOffset(0Q2C0C2C");
constexpr const ImmutableString texelFetchOffset_0S2C0C1C("texelFetchOffset(0S2C0C1C");
constexpr const ImmutableString texelFetchOffset_0U1C0C1C("texelFetchOffset(0U1C0C1C");
constexpr const ImmutableString texelFetchOffset_0V2C0C2C("texelFetchOffset(0V2C0C2C");
constexpr const ImmutableString texelFetchOffset_0X2C0C1C("texelFetchOffset(0X2C0C1C");
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_0T1C0C("texelFetch(0T1C0C");
constexpr const ImmutableString texelFetch_0V2C0C("texelFetch(0V2C0C");
constexpr const ImmutableString texelFetch_0X2C0C("texelFetch(0X2C0C");
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 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 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_0P1B1C0C("textureGatherOffset(0P1B1C0C");
constexpr const ImmutableString textureGatherOffset_0S2B1C0C("textureGatherOffset(0S2B1C0C");
constexpr const ImmutableString textureGatherOffset_0U1B1C("textureGatherOffset(0U1B1C");
constexpr const ImmutableString textureGatherOffset_0U1B1C0C("textureGatherOffset(0U1B1C0C");
constexpr const ImmutableString textureGatherOffset_0X2B1C0C("textureGatherOffset(0X2B1C0C");
constexpr const ImmutableString textureGatherOffset_0Z1B0B1C("textureGatherOffset(0Z1B0B1C");
constexpr const ImmutableString textureGatherOffset_0b2B0B1C("textureGatherOffset(0b2B0B1C");
constexpr const ImmutableString textureGather_0J2B0C("textureGather(0J2B0C");
constexpr const ImmutableString textureGather_0P1B0C("textureGather(0P1B0C");
constexpr const ImmutableString textureGather_0R2B0C("textureGather(0R2B0C");
constexpr const ImmutableString textureGather_0a2B0B("textureGather(0a2B0B");
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_0P1B1B1B1C("textureGradOffset(0P1B1B1B1C");
constexpr const ImmutableString textureGradOffset_0Q2B2B2B2C("textureGradOffset(0Q2B2B2B2C");
constexpr const ImmutableString textureGradOffset_0S2B1B1B1C("textureGradOffset(0S2B1B1B1C");
constexpr const ImmutableString textureGradOffset_0U1B1B1B1C("textureGradOffset(0U1B1B1B1C");
constexpr const ImmutableString textureGradOffset_0V2B2B2B2C("textureGradOffset(0V2B2B2B2C");
constexpr const ImmutableString textureGradOffset_0X2B1B1B1C("textureGradOffset(0X2B1B1B1C");
constexpr const ImmutableString textureGradOffset_0Z2B1B1B1C("textureGradOffset(0Z2B1B1B1C");
constexpr const ImmutableString textureGradOffset_0b3B1B1B1C("textureGradOffset(0b3B1B1B1C");
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_0P1B1B1B("textureGrad(0P1B1B1B");
constexpr const ImmutableString textureGrad_0Q2B2B2B("textureGrad(0Q2B2B2B");
constexpr const ImmutableString textureGrad_0R2B2B2B("textureGrad(0R2B2B2B");
constexpr const ImmutableString textureGrad_0S2B1B1B("textureGrad(0S2B1B1B");
constexpr const ImmutableString textureGrad_0U1B1B1B("textureGrad(0U1B1B1B");
constexpr const ImmutableString textureGrad_0V2B2B2B("textureGrad(0V2B2B2B");
constexpr const ImmutableString textureGrad_0W2B2B2B("textureGrad(0W2B2B2B");
constexpr const ImmutableString textureGrad_0X2B1B1B("textureGrad(0X2B1B1B");
constexpr const ImmutableString textureGrad_0Z2B1B1B("textureGrad(0Z2B1B1B");
constexpr const ImmutableString textureGrad_0a3B2B2B("textureGrad(0a3B2B2B");
constexpr const ImmutableString textureGrad_0b3B1B1B("textureGrad(0b3B1B1B");
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_0P1B0B1C("textureLodOffset(0P1B0B1C");
constexpr const ImmutableString textureLodOffset_0Q2B0B2C("textureLodOffset(0Q2B0B2C");
constexpr const ImmutableString textureLodOffset_0S2B0B1C("textureLodOffset(0S2B0B1C");
constexpr const ImmutableString textureLodOffset_0U1B0B1C("textureLodOffset(0U1B0B1C");
constexpr const ImmutableString textureLodOffset_0V2B0B2C("textureLodOffset(0V2B0B2C");
constexpr const ImmutableString textureLodOffset_0X2B0B1C("textureLodOffset(0X2B0B1C");
constexpr const ImmutableString textureLodOffset_0Z2B0B1C("textureLodOffset(0Z2B0B1C");
constexpr const ImmutableString textureLod_0J2B0B("textureLod(0J2B0B");
constexpr const ImmutableString textureLod_0P1B0B("textureLod(0P1B0B");
constexpr const ImmutableString textureLod_0S2B0B("textureLod(0S2B0B");
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_0P1B1C("textureOffset(0P1B1C");
constexpr const ImmutableString textureOffset_0P1B1C0B("textureOffset(0P1B1C0B");
constexpr const ImmutableString textureOffset_0Q2B2C("textureOffset(0Q2B2C");
constexpr const ImmutableString textureOffset_0Q2B2C0B("textureOffset(0Q2B2C0B");
constexpr const ImmutableString textureOffset_0S2B1C("textureOffset(0S2B1C");
constexpr const ImmutableString textureOffset_0S2B1C0B("textureOffset(0S2B1C0B");
constexpr const ImmutableString textureOffset_0U1B1C0B("textureOffset(0U1B1C0B");
constexpr const ImmutableString textureOffset_0V2B2C("textureOffset(0V2B2C");
constexpr const ImmutableString textureOffset_0V2B2C0B("textureOffset(0V2B2C0B");
constexpr const ImmutableString textureOffset_0X2B1C0B("textureOffset(0X2B1C0B");
constexpr const ImmutableString textureOffset_0Z2B1C0B("textureOffset(0Z2B1C0B");
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_0P2B1B1B1C(
    "textureProjGradOffset(0P2B1B1B1C");
constexpr const ImmutableString textureProjGradOffset_0P3B1B1B1C(
    "textureProjGradOffset(0P3B1B1B1C");
constexpr const ImmutableString textureProjGradOffset_0Q3B2B2B2C(
    "textureProjGradOffset(0Q3B2B2B2C");
constexpr const ImmutableString textureProjGradOffset_0U2B1B1B1C(
    "textureProjGradOffset(0U2B1B1B1C");
constexpr const ImmutableString textureProjGradOffset_0U3B1B1B1C(
    "textureProjGradOffset(0U3B1B1B1C");
constexpr const ImmutableString textureProjGradOffset_0V3B2B2B2C(
    "textureProjGradOffset(0V3B2B2B2C");
constexpr const ImmutableString textureProjGradOffset_0Z3B1B1B1C(
    "textureProjGradOffset(0Z3B1B1B1C");
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_0P2B1B1B("textureProjGrad(0P2B1B1B");
constexpr const ImmutableString textureProjGrad_0P3B1B1B("textureProjGrad(0P3B1B1B");
constexpr const ImmutableString textureProjGrad_0Q3B2B2B("textureProjGrad(0Q3B2B2B");
constexpr const ImmutableString textureProjGrad_0U2B1B1B("textureProjGrad(0U2B1B1B");
constexpr const ImmutableString textureProjGrad_0U3B1B1B("textureProjGrad(0U3B1B1B");
constexpr const ImmutableString textureProjGrad_0V3B2B2B("textureProjGrad(0V3B2B2B");
constexpr const ImmutableString textureProjGrad_0Z3B1B1B("textureProjGrad(0Z3B1B1B");
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_0P2B0B1C("textureProjLodOffset(0P2B0B1C");
constexpr const ImmutableString textureProjLodOffset_0P3B0B1C("textureProjLodOffset(0P3B0B1C");
constexpr const ImmutableString textureProjLodOffset_0Q3B0B2C("textureProjLodOffset(0Q3B0B2C");
constexpr const ImmutableString textureProjLodOffset_0U2B0B1C("textureProjLodOffset(0U2B0B1C");
constexpr const ImmutableString textureProjLodOffset_0U3B0B1C("textureProjLodOffset(0U3B0B1C");
constexpr const ImmutableString textureProjLodOffset_0V3B0B2C("textureProjLodOffset(0V3B0B2C");
constexpr const ImmutableString textureProjLodOffset_0Z3B0B1C("textureProjLodOffset(0Z3B0B1C");
constexpr const ImmutableString textureProjLod_0H3B0B("textureProjLod(0H3B0B");
constexpr const ImmutableString textureProjLod_0Q3B0B("textureProjLod(0Q3B0B");
constexpr const ImmutableString textureProjLod_0V3B0B("textureProjLod(0V3B0B");
constexpr const ImmutableString textureProjLod_0Z3B0B("textureProjLod(0Z3B0B");
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_0P2B1C0B("textureProjOffset(0P2B1C0B");
constexpr const ImmutableString textureProjOffset_0P3B1C0B("textureProjOffset(0P3B1C0B");
constexpr const ImmutableString textureProjOffset_0Q3B2C("textureProjOffset(0Q3B2C");
constexpr const ImmutableString textureProjOffset_0Q3B2C0B("textureProjOffset(0Q3B2C0B");
constexpr const ImmutableString textureProjOffset_0U2B1C("textureProjOffset(0U2B1C");
constexpr const ImmutableString textureProjOffset_0U2B1C0B("textureProjOffset(0U2B1C0B");
constexpr const ImmutableString textureProjOffset_0U3B1C0B("textureProjOffset(0U3B1C0B");
constexpr const ImmutableString textureProjOffset_0V3B2C("textureProjOffset(0V3B2C");
constexpr const ImmutableString textureProjOffset_0V3B2C0B("textureProjOffset(0V3B2C0B");
constexpr const ImmutableString textureProjOffset_0Z3B1C0B("textureProjOffset(0Z3B1C0B");
constexpr const ImmutableString textureSize("textureSize");
constexpr const ImmutableString texture_0V2B0B("texture(0V2B0B");
constexpr const ImmutableString texture_0W2B0B("texture(0W2B0B");
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_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<EbtISampler2D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0Q(
    BuiltInId::pt0Q,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtISampler3D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0R(
    BuiltInId::pt0R,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtISamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0S(
    BuiltInId::pt0S,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtISampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0T(
    BuiltInId::pt0T,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtISampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0U(
    BuiltInId::pt0U,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0V(
    BuiltInId::pt0V,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0W(
    BuiltInId::pt0W,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0X(
    BuiltInId::pt0X,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0Y(
    BuiltInId::pt0Y,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0Z(
    BuiltInId::pt0Z,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtSampler2DShadow, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0a(
    BuiltInId::pt0a,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtSamplerCubeShadow, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0b(
    BuiltInId::pt0b,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtSampler2DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0c(BuiltInId::pt0c,
                                    BuiltInName::_empty,
                                    SymbolType::BuiltIn,
                                    TExtension::UNDEFINED,
                                    StaticType::Get<EbtImage2D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0d(BuiltInId::pt0d,
                                    BuiltInName::_empty,
                                    SymbolType::BuiltIn,
                                    TExtension::UNDEFINED,
                                    StaticType::Get<EbtIImage2D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0e(BuiltInId::pt0e,
                                    BuiltInName::_empty,
                                    SymbolType::BuiltIn,
                                    TExtension::UNDEFINED,
                                    StaticType::Get<EbtUImage2D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0f(BuiltInId::pt0f,
                                    BuiltInName::_empty,
                                    SymbolType::BuiltIn,
                                    TExtension::UNDEFINED,
                                    StaticType::Get<EbtImage3D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0g(BuiltInId::pt0g,
                                    BuiltInName::_empty,
                                    SymbolType::BuiltIn,
                                    TExtension::UNDEFINED,
                                    StaticType::Get<EbtIImage3D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0h(BuiltInId::pt0h,
                                    BuiltInName::_empty,
                                    SymbolType::BuiltIn,
                                    TExtension::UNDEFINED,
                                    StaticType::Get<EbtUImage3D, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0i(
    BuiltInId::pt0i,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0j(
    BuiltInId::pt0j,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtIImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0k(
    BuiltInId::pt0k,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0l(BuiltInId::pt0l,
                                    BuiltInName::_empty,
                                    SymbolType::BuiltIn,
                                    TExtension::UNDEFINED,
                                    StaticType::Get<EbtImageCube, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0m(
    BuiltInId::pt0m,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtIImageCube, EbpUndefined, EvqGlobal, 1, 1>());
constexpr const TVariable kVar_pt0n(
    BuiltInId::pt0n,
    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_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 *p0P0C[2]   = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0P1B0B1C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0P1B0C[3]   = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B,
                                         &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0P1B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0P1B1C0B[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0P1B1C0C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0P1C0C1C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0C,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0P2B0B1C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0P2B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0P2B1C0B[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0P3B0B1C[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0P3B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0P3B1C0B[4] = {&BuiltInVariable::kVar_pt0P, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0Q0C[2] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0Q2B0B2C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0Q2B2B2B2C[5] = {
    &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
    &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0Q2B2C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt2C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0Q2C0C2C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt2C,
                                           &BuiltInVariable::kVar_pt0C,
                                           &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0Q3B0B2C[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0Q3B2B2B2C[5] = {
    &BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
    &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0Q3B2C0B[4] = {&BuiltInVariable::kVar_pt0Q, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt2C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0R0C[2]   = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0R2B0B[3] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
                                         &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0R2B0C[3] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
                                         &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0R2B2B2B[4] = {&BuiltInVariable::kVar_pt0R, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt2B};
constexpr const TVariable *p0S0C[2] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0S2B0B1C[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0S2B0C[3]   = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                         &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0S2B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0S2B1C0B[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0S2B1C0C[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0S2C0C1C[4] = {&BuiltInVariable::kVar_pt0S, &BuiltInVariable::kVar_pt2C,
                                           &BuiltInVariable::kVar_pt0C,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0T1C0C[3]   = {&BuiltInVariable::kVar_pt0T, &BuiltInVariable::kVar_pt1C,
                                         &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0U0C[2] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0U1B0B1C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0U1B0C[3]   = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B,
                                         &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0U1B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0U1B1C0B[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0U1B1C0C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0U1C0C1C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0C,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0U2B0B1C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0U2B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0U2B1C0B[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0U3B0B1C[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0U3B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0U3B1C0B[4] = {&BuiltInVariable::kVar_pt0U, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0V0C[2] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0V2B0B2C[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0V2B2B2B2C[5] = {
    &BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2B,
    &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0V2B2C0B[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt2C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0V2C0C2C[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt2C,
                                           &BuiltInVariable::kVar_pt0C,
                                           &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0V3B0B2C[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0V3B2B2B2C[5] = {
    &BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt2B,
    &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt2C};
constexpr const TVariable *p0V3B2C0B[4] = {&BuiltInVariable::kVar_pt0V, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt2C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0W0C[2]   = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0W2B0B[3] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
                                         &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0W2B0C[3] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
                                         &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0W2B2B2B[4] = {&BuiltInVariable::kVar_pt0W, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt2B};
constexpr const TVariable *p0X0C[2] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0X2B0B1C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0X2B0C[3]   = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
                                         &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0X2B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0X2B1C0B[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0X2B1C0C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0X2C0C1C[4] = {&BuiltInVariable::kVar_pt0X, &BuiltInVariable::kVar_pt2C,
                                           &BuiltInVariable::kVar_pt0C,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0Y1C0C[3]   = {&BuiltInVariable::kVar_pt0Y, &BuiltInVariable::kVar_pt1C,
                                         &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0Z0C[2] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0Z1B0B1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt1B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0Z2B0B1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
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 *p0Z3B0B1C[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0Z3B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0Z3B1C0B[4] = {&BuiltInVariable::kVar_pt0Z, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt1C,
                                           &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0a0C[2]   = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0a2B0B[3] = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt2B,
                                         &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0a3B0B[3] = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt3B,
                                         &BuiltInVariable::kVar_pt0B};
constexpr const TVariable *p0a3B2B2B[4] = {&BuiltInVariable::kVar_pt0a, &BuiltInVariable::kVar_pt3B,
                                           &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt2B};
constexpr const TVariable *p0b0C[2] = {&BuiltInVariable::kVar_pt0b, &BuiltInVariable::kVar_pt0C};
constexpr const TVariable *p0b2B0B1C[4] = {&BuiltInVariable::kVar_pt0b, &BuiltInVariable::kVar_pt2B,
                                           &BuiltInVariable::kVar_pt0B,
                                           &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0b3B1B1B1C[5] = {
    &BuiltInVariable::kVar_pt0b, &BuiltInVariable::kVar_pt3B, &BuiltInVariable::kVar_pt1B,
    &BuiltInVariable::kVar_pt1B, &BuiltInVariable::kVar_pt1C};
constexpr const TVariable *p0c1C3B[3]  = {&BuiltInVariable::kVar_pt0c, &BuiltInVariable::kVar_pt1C,
                                         &BuiltInVariable::kVar_pt3B};
constexpr const TVariable *p0d1C3C[3]  = {&BuiltInVariable::kVar_pt0d, &BuiltInVariable::kVar_pt1C,
                                         &BuiltInVariable::kVar_pt3C};
constexpr const TVariable *p0e1C3D[3]  = {&BuiltInVariable::kVar_pt0e, &BuiltInVariable::kVar_pt1C,
                                         &BuiltInVariable::kVar_pt3D};
constexpr const TVariable *p0f2C3B[3]  = {&BuiltInVariable::kVar_pt0f, &BuiltInVariable::kVar_pt2C,
                                         &BuiltInVariable::kVar_pt3B};
constexpr const TVariable *p0g2C3C[3]  = {&BuiltInVariable::kVar_pt0g, &BuiltInVariable::kVar_pt2C,
                                         &BuiltInVariable::kVar_pt3C};
constexpr const TVariable *p0h2C3D[3]  = {&BuiltInVariable::kVar_pt0h, &BuiltInVariable::kVar_pt2C,
                                         &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 *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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpRadians,
    true);
constexpr const TFunction kFunction_radians_3B(
    BuiltInId::radians_Float4,
    BuiltInName::radians,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpDegrees,
    true);
constexpr const TFunction kFunction_degrees_3B(
    BuiltInId::degrees_Float4,
    BuiltInName::degrees,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpSin,
    true);
constexpr const TFunction kFunction_sin_3B(
    BuiltInId::sin_Float4,
    BuiltInName::sin,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCos,
    true);
constexpr const TFunction kFunction_cos_3B(
    BuiltInId::cos_Float4,
    BuiltInName::cos,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpTan,
    true);
constexpr const TFunction kFunction_tan_3B(
    BuiltInId::tan_Float4,
    BuiltInName::tan,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpAsin,
    true);
constexpr const TFunction kFunction_asin_3B(
    BuiltInId::asin_Float4,
    BuiltInName::asin,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpAcos,
    true);
constexpr const TFunction kFunction_acos_3B(
    BuiltInId::acos_Float4,
    BuiltInName::acos,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p3B3B3B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpAtan,
    true);
constexpr const TFunction kFunction_atan_3B(
    BuiltInId::atan_Float4,
    BuiltInName::atan,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpSinh,
    true);
constexpr const TFunction kFunction_sinh_3B(
    BuiltInId::sinh_Float4,
    BuiltInName::sinh,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCosh,
    true);
constexpr const TFunction kFunction_cosh_3B(
    BuiltInId::cosh_Float4,
    BuiltInName::cosh,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpTanh,
    true);
constexpr const TFunction kFunction_tanh_3B(
    BuiltInId::tanh_Float4,
    BuiltInName::tanh,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpAsinh,
    true);
constexpr const TFunction kFunction_asinh_3B(
    BuiltInId::asinh_Float4,
    BuiltInName::asinh,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpAcosh,
    true);
constexpr const TFunction kFunction_acosh_3B(
    BuiltInId::acosh_Float4,
    BuiltInName::acosh,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpAtanh,
    true);
constexpr const TFunction kFunction_atanh_3B(
    BuiltInId::atanh_Float4,
    BuiltInName::atanh,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p3B3B3B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpExp,
    true);
constexpr const TFunction kFunction_exp_3B(
    BuiltInId::exp_Float4,
    BuiltInName::exp,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpLog,
    true);
constexpr const TFunction kFunction_log_3B(
    BuiltInId::log_Float4,
    BuiltInName::log,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpExp2,
    true);
constexpr const TFunction kFunction_exp2_3B(
    BuiltInId::exp2_Float4,
    BuiltInName::exp2,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpLog2,
    true);
constexpr const TFunction kFunction_log2_3B(
    BuiltInId::log2_Float4,
    BuiltInName::log2,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpSqrt,
    true);
constexpr const TFunction kFunction_sqrt_3B(
    BuiltInId::sqrt_Float4,
    BuiltInName::sqrt,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpInversesqrt,
    true);
constexpr const TFunction kFunction_inversesqrt_3B(
    BuiltInId::inversesqrt_Float4,
    BuiltInName::inversesqrt,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpAbs,
    true);
constexpr const TFunction kFunction_abs_3B(
    BuiltInId::abs_Float4,
    BuiltInName::abs,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p1C1C0C0C,
                                           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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpSign,
    true);
constexpr const TFunction kFunction_sign_3B(
    BuiltInId::sign_Float4,
    BuiltInName::sign,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p1C1C0C0C,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpFloor,
    true);
constexpr const TFunction kFunction_floor_3B(
    BuiltInId::floor_Float4,
    BuiltInName::floor,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpTrunc,
    true);
constexpr const TFunction kFunction_trunc_3B(
    BuiltInId::trunc_Float4,
    BuiltInName::trunc,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpRound,
    true);
constexpr const TFunction kFunction_round_3B(
    BuiltInId::round_Float4,
    BuiltInName::round,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpRoundEven,
    true);
constexpr const TFunction kFunction_roundEven_3B(
    BuiltInId::roundEven_Float4,
    BuiltInName::roundEven,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCeil,
    true);
constexpr const TFunction kFunction_ceil_3B(
    BuiltInId::ceil_Float4,
    BuiltInName::ceil,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpFract,
    true);
constexpr const TFunction kFunction_fract_3B(
    BuiltInId::fract_Float4,
    BuiltInName::fract,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p3B3B3B,
    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::p3B3B3B,
    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::p1C1C0C0C,
    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::p3C3C0C0C,
    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::p3B3B3B,
    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::p1C1C0C0C,
    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::p3C3C0C0C,
    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::p3B3B3B,
    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::p2B2C,
    1,
    StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpIsnan,
    true);
constexpr const TFunction kFunction_isnan_3B(
    BuiltInId::isnan_Float4,
    BuiltInName::isnan,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpIsinf,
    true);
constexpr const TFunction kFunction_isinf_3B(
    BuiltInId::isinf_Float4,
    BuiltInName::isinf,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpFloatBitsToInt,
    true);
constexpr const TFunction kFunction_floatBitsToInt_3B(
    BuiltInId::floatBitsToInt_Float4,
    BuiltInName::floatBitsToInt,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpFloatBitsToUint,
    true);
constexpr const TFunction kFunction_floatBitsToUint_3B(
    BuiltInId::floatBitsToUint_Float4,
    BuiltInName::floatBitsToUint,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p1C1C0C0C,
    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::p3B1B,
    1,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpPackUnorm4x8,
    true);
constexpr const TFunction kFunction_packSnorm4x8_3B(
    BuiltInId::packSnorm4x8_Float4,
    BuiltInName::packSnorm4x8,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpLength,
    true);
constexpr const TFunction kFunction_length_3B(
    BuiltInId::length_Float4,
    BuiltInName::length,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p3B3B3B,
    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::p3B3B3B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpNormalize,
    true);
constexpr const TFunction kFunction_normalize_3B(
    BuiltInId::normalize_Float4,
    BuiltInName::normalize,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p3B3B3B,
    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::p3B3B3B,
    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::p3B3B3B,
    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::p1C1C0C0C,
    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::p3C3C0C0C,
    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::p3B3B3B,
    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::p1C1C0C0C,
    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::p3C3C0C0C,
    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::p3B3B3B,
    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::p1C1C0C0C,
    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::p3C3C0C0C,
    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::p3B3B3B,
    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::p1C1C0C0C,
    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::p3C3C0C0C,
    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::p3B3B3B,
    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::p1C1C0C0C,
    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::p3C3C0C0C,
    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::p3B3B3B,
    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::p1C1C0C0C,
    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::p3C3C0C0C,
    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::p1C1C0C0C,
    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::p1C1C0C0C,
    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::p1C1C0C0C,
    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::p1C1C0C0C,
    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::p2B2C,
    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::p3B1B,
    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::p2B2C,
    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::p3B1B,
    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::p2B2C,
    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::p3B1B,
    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_0P1B(
    BuiltInId::texture_ISampler2D1_Float2,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0U1B(
    BuiltInId::texture_USampler2D1_Float2,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B0B1C,
    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_0Q2B(
    BuiltInId::texture_ISampler3D1_Float3,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2B0B2C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0V2B(
    BuiltInId::texture_USampler3D1_Float3,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2B2B2B2C,
    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_0R2B(
    BuiltInId::texture_ISamplerCube1_Float3,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0R2B2B2B,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0W2B(
    BuiltInId::texture_USamplerCube1_Float3,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0W2B0B,
    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_0S2B(
    BuiltInId::texture_ISampler2DArray1_Float3,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B0B1C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0X2B(
    BuiltInId::texture_USampler2DArray1_Float3,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B1C0C,
    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_0P2B(
    BuiltInId::textureProj_ISampler2D1_Float3,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P2B0B1C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProj_0U2B(
    BuiltInId::textureProj_USampler2D1_Float3,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U2B1B1B1C,
    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_0P3B(
    BuiltInId::textureProj_ISampler2D1_Float4,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P3B0B1C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProj_0U3B(
    BuiltInId::textureProj_USampler2D1_Float4,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U3B1C0B,
    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_0Q3B(
    BuiltInId::textureProj_ISampler3D1_Float4,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q3B0B2C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProj_0V3B(
    BuiltInId::textureProj_USampler3D1_Float4,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V3B2B2B2C,
    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_0P1B0B(
    BuiltInId::textureLod_ISampler2D1_Float2_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B0B1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLod_0U1B0B(
    BuiltInId::textureLod_USampler2D1_Float2_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B0B1C,
    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_0Q2B0B(
    BuiltInId::textureLod_ISampler3D1_Float3_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2B0B2C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLod_0V2B0B(
    BuiltInId::textureLod_USampler3D1_Float3_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2B0B2C,
    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_0R2B0B(
    BuiltInId::textureLod_ISamplerCube1_Float3_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0R2B0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLod_0W2B0B(
    BuiltInId::textureLod_USamplerCube1_Float3_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0W2B0B,
    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_0S2B0B(
    BuiltInId::textureLod_ISampler2DArray1_Float3_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B0B1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLod_0X2B0B(
    BuiltInId::textureLod_USampler2DArray1_Float3_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B0B1C,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0Z2B(
    BuiltInId::texture_Sampler2DShadow1_Float3,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z2B1B1B1C,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0a3B(
    BuiltInId::texture_SamplerCubeShadow1_Float4,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0a3B2B2B,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0b3B(
    BuiltInId::texture_Sampler2DArrayShadow1_Float4,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0b3B1B1B1C,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProj_0Z3B(
    BuiltInId::textureProj_Sampler2DShadow1_Float4,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z3B0B1C,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLod_0Z2B0B(
    BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1,
    BuiltInName::textureLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z2B0B1C,
    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_0P0C(
    BuiltInId::textureSize_ISampler2D1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureSize_0U0C(
    BuiltInId::textureSize_USampler2D1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U0C,
    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_0Q0C(
    BuiltInId::textureSize_ISampler3D1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureSize_0V0C(
    BuiltInId::textureSize_USampler3D1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V0C,
    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_0R0C(
    BuiltInId::textureSize_ISamplerCube1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0R0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureSize_0W0C(
    BuiltInId::textureSize_USamplerCube1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0W0C,
    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_0S0C(
    BuiltInId::textureSize_ISampler2DArray1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureSize_0X0C(
    BuiltInId::textureSize_USampler2DArray1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureSize_0Z0C(
    BuiltInId::textureSize_Sampler2DShadow1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureSize_0a0C(
    BuiltInId::textureSize_SamplerCubeShadow1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0a0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureSize_0b0C(
    BuiltInId::textureSize_Sampler2DArrayShadow1_Int1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0b0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 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_0T(
    BuiltInId::textureSize_ISampler2DMS1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0T1C0C,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureSize_0Y(
    BuiltInId::textureSize_USampler2DMS1,
    BuiltInName::textureSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Y1C0C,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 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_0P2B0B(
    BuiltInId::textureProjLod_ISampler2D1_Float3_Float1,
    BuiltInName::textureProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P2B0B1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjLod_0U2B0B(
    BuiltInId::textureProjLod_USampler2D1_Float3_Float1,
    BuiltInName::textureProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U2B0B1C,
    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_0P3B0B(
    BuiltInId::textureProjLod_ISampler2D1_Float4_Float1,
    BuiltInName::textureProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P3B0B1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjLod_0U3B0B(
    BuiltInId::textureProjLod_USampler2D1_Float4_Float1,
    BuiltInName::textureProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U3B0B1C,
    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_0Q3B0B(
    BuiltInId::textureProjLod_ISampler3D1_Float4_Float1,
    BuiltInName::textureProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q3B0B2C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjLod_0V3B0B(
    BuiltInId::textureProjLod_USampler3D1_Float4_Float1,
    BuiltInName::textureProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V3B0B2C,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjLod_0Z3B0B(
    BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1,
    BuiltInName::textureProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z3B0B1C,
    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_0P1C0C(
    BuiltInId::texelFetch_ISampler2D1_Int2_Int1,
    BuiltInName::texelFetch,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1C0C1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texelFetch_0U1C0C(
    BuiltInId::texelFetch_USampler2D1_Int2_Int1,
    BuiltInName::texelFetch,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1C0C1C,
    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_0Q2C0C(
    BuiltInId::texelFetch_ISampler3D1_Int3_Int1,
    BuiltInName::texelFetch,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2C0C2C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texelFetch_0V2C0C(
    BuiltInId::texelFetch_USampler3D1_Int3_Int1,
    BuiltInName::texelFetch,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2C0C2C,
    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_0S2C0C(
    BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1,
    BuiltInName::texelFetch,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2C0C1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texelFetch_0X2C0C(
    BuiltInId::texelFetch_USampler2DArray1_Int3_Int1,
    BuiltInName::texelFetch,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2C0C1C,
    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_0P1B1B1B(
    BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B1B1B1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGrad_0U1B1B1B(
    BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B1B1B1C,
    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_0Q2B2B2B(
    BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2B2B2B2C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGrad_0V2B2B2B(
    BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2B2B2B2C,
    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_0R2B2B2B(
    BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0R2B2B2B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGrad_0W2B2B2B(
    BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0W2B2B2B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGrad_0Z2B1B1B(
    BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z2B1B1B1C,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGrad_0a3B2B2B(
    BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0a3B2B2B,
    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_0S2B1B1B(
    BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B1B1B1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGrad_0X2B1B1B(
    BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B1B1B1C,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGrad_0b3B1B1B(
    BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0b3B1B1B1C,
    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_0P2B1B1B(
    BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P2B1B1B1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjGrad_0U2B1B1B(
    BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U2B1B1B1C,
    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_0P3B1B1B(
    BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P3B1B1B1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjGrad_0U3B1B1B(
    BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U3B1B1B1C,
    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_0Q3B2B2B(
    BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q3B2B2B2C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjGrad_0V3B2B2B(
    BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V3B2B2B2C,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjGrad_0Z3B1B1B(
    BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z3B1B1B1C,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 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_0P1B1C(
    BuiltInId::textureOffset_ISampler2D1_Float2_Int2,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B1C0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0U1B1C(
    BuiltInId::textureOffset_USampler2D1_Float2_Int2,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B1C0C,
    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_0Q2B2C(
    BuiltInId::textureOffset_ISampler3D1_Float3_Int3,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2B2C0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0V2B2C(
    BuiltInId::textureOffset_USampler3D1_Float3_Int3,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2B2C0B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0Z2B1C(
    BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z2B1C0B,
    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::p0K2B1C0B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0S2B1C(
    BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B1C0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0X2B1C(
    BuiltInId::textureOffset_USampler2DArray1_Float3_Int2,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B1C0C,
    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_0P2B1C(
    BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P2B1C0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjOffset_0U2B1C(
    BuiltInId::textureProjOffset_USampler2D1_Float3_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U2B1C0B,
    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_0P3B1C(
    BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P3B1C0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjOffset_0U3B1C(
    BuiltInId::textureProjOffset_USampler2D1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U3B1C0B,
    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_0Q3B2C(
    BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q3B2C0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjOffset_0V3B2C(
    BuiltInId::textureProjOffset_USampler3D1_Float4_Int3,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V3B2C0B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjOffset_0Z3B1C(
    BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z3B1C0B,
    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_0P1B0B1C(
    BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B0B1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLodOffset_0U1B0B1C(
    BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B0B1C,
    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_0Q2B0B2C(
    BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2B0B2C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLodOffset_0V2B0B2C(
    BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2B0B2C,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLodOffset_0Z2B0B1C(
    BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z2B0B1C,
    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_0S2B0B1C(
    BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B0B1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureLodOffset_0X2B0B1C(
    BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B0B1C,
    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_0P2B0B1C(
    BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P2B0B1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjLodOffset_0U2B0B1C(
    BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U2B0B1C,
    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_0P3B0B1C(
    BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P3B0B1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjLodOffset_0U3B0B1C(
    BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U3B0B1C,
    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_0Q3B0B2C(
    BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q3B0B2C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjLodOffset_0V3B0B2C(
    BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V3B0B2C,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjLodOffset_0Z3B0B1C(
    BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z3B0B1C,
    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_0P1C0C1C(
    BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1C0C1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texelFetchOffset_0U1C0C1C(
    BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1C0C1C,
    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_0Q2C0C2C(
    BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2C0C2C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texelFetchOffset_0V2C0C2C(
    BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2C0C2C,
    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_0S2C0C1C(
    BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2C0C1C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texelFetchOffset_0X2C0C1C(
    BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2C0C1C,
    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_0P1B1B1B1C(
    BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B1B1B1C,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGradOffset_0U1B1B1B1C(
    BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B1B1B1C,
    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_0Q2B2B2B2C(
    BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2B2B2B2C,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGradOffset_0V2B2B2B2C(
    BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2B2B2B2C,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGradOffset_0Z2B1B1B1C(
    BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z2B1B1B1C,
    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_0S2B1B1B1C(
    BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B1B1B1C,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGradOffset_0X2B1B1B1C(
    BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B1B1B1C,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGradOffset_0b3B1B1B1C(
    BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0b3B1B1B1C,
    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_0P2B1B1B1C(
    BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P2B1B1B1C,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjGradOffset_0U2B1B1B1C(
    BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U2B1B1B1C,
    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_0P3B1B1B1C(
    BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P3B1B1B1C,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjGradOffset_0U3B1B1B1C(
    BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U3B1B1B1C,
    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_0Q3B2B2B2C(
    BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q3B2B2B2C,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjGradOffset_0V3B2B2B2C(
    BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V3B2B2B2C,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjGradOffset_0Z3B1B1B1C(
    BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z3B1B1B1C,
    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_0P1B1C0B(
    BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B1C0B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0U1B1C0B(
    BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B1C0B,
    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_0Q2B2C0B(
    BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2B2C0B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0V2B2C0B(
    BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2B2C0B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0Z2B1C0B(
    BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z2B1C0B,
    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_0S2B1C0B(
    BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B1C0B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureOffset_0X2B1C0B(
    BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B1C0B,
    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_0P2B1C0B(
    BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P2B1C0B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjOffset_0U2B1C0B(
    BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U2B1C0B,
    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_0P3B1C0B(
    BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P3B1C0B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjOffset_0U3B1C0B(
    BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U3B1C0B,
    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_0Q3B2C0B(
    BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q3B2C0B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjOffset_0V3B2C0B(
    BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V3B2C0B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProjOffset_0Z3B1C0B(
    BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z3B1C0B,
    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_0P1B0B(
    BuiltInId::texture_ISampler2D1_Float2_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B0B1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0U1B0B(
    BuiltInId::texture_USampler2D1_Float2_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B0B1C,
    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_0Q2B0B(
    BuiltInId::texture_ISampler3D1_Float3_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q2B0B2C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0V2B0B(
    BuiltInId::texture_USampler3D1_Float3_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V2B0B2C,
    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_0R2B0B(
    BuiltInId::texture_ISamplerCube1_Float3_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0R2B0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0W2B0B(
    BuiltInId::texture_USamplerCube1_Float3_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0W2B0B,
    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_0S2B0B(
    BuiltInId::texture_ISampler2DArray1_Float3_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B0B1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0X2B0B(
    BuiltInId::texture_USampler2DArray1_Float3_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B0B1C,
    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_0P2B0B(
    BuiltInId::textureProj_ISampler2D1_Float3_Float1,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P2B0B1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProj_0U2B0B(
    BuiltInId::textureProj_USampler2D1_Float3_Float1,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U2B0B1C,
    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_0P3B0B(
    BuiltInId::textureProj_ISampler2D1_Float4_Float1,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P3B0B1C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProj_0U3B0B(
    BuiltInId::textureProj_USampler2D1_Float4_Float1,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U3B0B1C,
    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_0Q3B0B(
    BuiltInId::textureProj_ISampler3D1_Float4_Float1,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Q3B0B2C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProj_0V3B0B(
    BuiltInId::textureProj_USampler3D1_Float4_Float1,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0V3B0B2C,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0Z2B0B(
    BuiltInId::texture_Sampler2DShadow1_Float3_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z2B0B1C,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texture_0a3B0B(
    BuiltInId::texture_SamplerCubeShadow1_Float4_Float1,
    BuiltInName::texture,
    TExtension::UNDEFINED,
    BuiltInParameters::p0a3B0B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureProj_0Z3B0B(
    BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1,
    BuiltInName::textureProj,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z3B0B1C,
    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_0T1C0C(
    BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1,
    BuiltInName::texelFetch,
    TExtension::UNDEFINED,
    BuiltInParameters::p0T1C0C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_texelFetch_0Y1C0C(
    BuiltInId::texelFetch_USampler2DMS1_Int2_Int1,
    BuiltInName::texelFetch,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Y1C0C,
    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_0P1B(
    BuiltInId::textureGather_ISampler2D1_Float2,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B0C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0U1B(
    BuiltInId::textureGather_USampler2D1_Float2,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B0B1C,
    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_0P1B0C(
    BuiltInId::textureGather_ISampler2D1_Float2_Int1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B0C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0U1B0C(
    BuiltInId::textureGather_USampler2D1_Float2_Int1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B0C,
    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_0S2B(
    BuiltInId::textureGather_ISampler2DArray1_Float3,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B0B1C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0X2B(
    BuiltInId::textureGather_USampler2DArray1_Float3,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B1C0C,
    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_0S2B0C(
    BuiltInId::textureGather_ISampler2DArray1_Float3_Int1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B0C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0X2B0C(
    BuiltInId::textureGather_USampler2DArray1_Float3_Int1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B0C,
    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_0R2B(
    BuiltInId::textureGather_ISamplerCube1_Float3,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0R2B2B2B,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0W2B(
    BuiltInId::textureGather_USamplerCube1_Float3,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0W2B0B,
    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_0R2B0C(
    BuiltInId::textureGather_ISamplerCube1_Float3_Int1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0R2B0C,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0W2B0C(
    BuiltInId::textureGather_USamplerCube1_Float3_Int1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0W2B0C,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0Z1B(
    BuiltInId::textureGather_Sampler2DShadow1_Float2,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z1B0B1C,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0Z1B0B(
    BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z1B0B1C,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0b2B(
    BuiltInId::textureGather_Sampler2DArrayShadow1_Float3,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0b2B0B1C,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0b2B0B(
    BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0b2B0B1C,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0a2B(
    BuiltInId::textureGather_SamplerCubeShadow1_Float3,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0a2B0B,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGather_0a2B0B(
    BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p0a2B0B,
    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_0P1B1C(
    BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B1C0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGatherOffset_0U1B1C(
    BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B1C0C,
    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_0P1B1C0C(
    BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0P1B1C0C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGatherOffset_0U1B1C0C(
    BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0U1B1C0C,
    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::p0K2B1C0B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGatherOffset_0S2B1C(
    BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B1C0B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGatherOffset_0X2B1C(
    BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B1C0C,
    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_0S2B1C0C(
    BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0S2B1C0C,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGatherOffset_0X2B1C0C(
    BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0X2B1C0C,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGatherOffset_0Z1B0B1C(
    BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0Z1B0B1C,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_textureGatherOffset_0b2B0B1C(
    BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p0b2B0B1C,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpDFdx,
    false);
constexpr const TFunction kFunction_dFdx_3B(
    BuiltInId::dFdx_Float4,
    BuiltInName::dFdx,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpDFdy,
    false);
constexpr const TFunction kFunction_dFdy_3B(
    BuiltInId::dFdy_Float4,
    BuiltInName::dFdy,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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::p2B2C,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpFwidth,
    false);
constexpr const TFunction kFunction_fwidth_3B(
    BuiltInId::fwidth_Float4,
    BuiltInName::fwidth,
    TExtension::UNDEFINED,
    BuiltInParameters::p3B1B,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    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>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0c(
    BuiltInId::imageSize_Image2D1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0c1C3B,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0d(
    BuiltInId::imageSize_IImage2D1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0d1C3C,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0e(
    BuiltInId::imageSize_UImage2D1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0e1C3D,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0f(
    BuiltInId::imageSize_Image3D1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0f2C3B,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0g(
    BuiltInId::imageSize_IImage3D1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0g2C3C,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0h(
    BuiltInId::imageSize_UImage3D1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0h2C3D,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0i(
    BuiltInId::imageSize_Image2DArray1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0i2C3B,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0j(
    BuiltInId::imageSize_IImage2DArray1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0j2C3C,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0k(
    BuiltInId::imageSize_UImage2DArray1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0k2C3D,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0l(
    BuiltInId::imageSize_ImageCube1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0l2C3B,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0m(
    BuiltInId::imageSize_IImageCube1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0m2C3C,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageSize_0n(
    BuiltInId::imageSize_UImageCube1,
    BuiltInName::imageSize,
    TExtension::UNDEFINED,
    BuiltInParameters::p0n2C3D,
    1,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageLoad_0c1C(
    BuiltInId::imageLoad_Image2D1_Int2,
    BuiltInName::imageLoad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0c1C3B,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageLoad_0d1C(
    BuiltInId::imageLoad_IImage2D1_Int2,
    BuiltInName::imageLoad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0d1C3C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageLoad_0e1C(
    BuiltInId::imageLoad_UImage2D1_Int2,
    BuiltInName::imageLoad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0e1C3D,
    2,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageLoad_0f2C(
    BuiltInId::imageLoad_Image3D1_Int3,
    BuiltInName::imageLoad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0f2C3B,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageLoad_0g2C(
    BuiltInId::imageLoad_IImage3D1_Int3,
    BuiltInName::imageLoad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0g2C3C,
    2,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageLoad_0h2C(
    BuiltInId::imageLoad_UImage3D1_Int3,
    BuiltInName::imageLoad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0h2C3D,
    2,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageLoad_0i2C(
    BuiltInId::imageLoad_Image2DArray1_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_IImage2DArray1_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_UImage2DArray1_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_ImageCube1_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_IImageCube1_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_UImageCube1_Int3,
    BuiltInName::imageLoad,
    TExtension::UNDEFINED,
    BuiltInParameters::p0n2C3D,
    2,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageStore_0c1C3B(
    BuiltInId::imageStore_Image2D1_Int2_Float4,
    BuiltInName::imageStore,
    TExtension::UNDEFINED,
    BuiltInParameters::p0c1C3B,
    3,
    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageStore_0d1C3C(
    BuiltInId::imageStore_IImage2D1_Int2_Int4,
    BuiltInName::imageStore,
    TExtension::UNDEFINED,
    BuiltInParameters::p0d1C3C,
    3,
    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageStore_0e1C3D(
    BuiltInId::imageStore_UImage2D1_Int2_UInt4,
    BuiltInName::imageStore,
    TExtension::UNDEFINED,
    BuiltInParameters::p0e1C3D,
    3,
    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageStore_0f2C3B(
    BuiltInId::imageStore_Image3D1_Int3_Float4,
    BuiltInName::imageStore,
    TExtension::UNDEFINED,
    BuiltInParameters::p0f2C3B,
    3,
    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageStore_0g2C3C(
    BuiltInId::imageStore_IImage3D1_Int3_Int4,
    BuiltInName::imageStore,
    TExtension::UNDEFINED,
    BuiltInParameters::p0g2C3C,
    3,
    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageStore_0h2C3D(
    BuiltInId::imageStore_UImage3D1_Int3_UInt4,
    BuiltInName::imageStore,
    TExtension::UNDEFINED,
    BuiltInParameters::p0h2C3D,
    3,
    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
constexpr const TFunction kFunction_imageStore_0i2C3B(
    BuiltInId::imageStore_Image2DArray1_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_IImage2DArray1_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_UImage2DArray1_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_ImageCube1_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_IImageCube1_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_UImageCube1_Int3_UInt4,
    BuiltInName::imageStore,
    TExtension::UNDEFINED,
    BuiltInParameters::p0n2C3D,
    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));
    fields_gl_DepthRangeParameters->push_back(
        new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::far, zeroSourceLoc));
    fields_gl_DepthRangeParameters->push_back(new TField(
        new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::diff, zeroSourceLoc));
    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);
    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));
    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));
    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 0x12659f72u:
            {
                if (name.beginsWith(BuiltInName::imageSize))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_imageSize_0c;
                }
                break;
            }
            case 0x1265b53eu:
            {
                if (name.beginsWith(BuiltInName::imageSize))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_imageSize_0g;
                }
                break;
            }
            case 0x1265c077u:
            {
                if (name.beginsWith(BuiltInName::imageSize))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_imageSize_0d;
                }
                break;
            }
            case 0x1265c6e0u:
            {
                if (name.beginsWith(BuiltInName::imageSize))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_imageSize_0e;
                }
                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 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 0x12701a06u:
            {
                if (name.beginsWith(BuiltInName::imageLoad))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_imageLoad_0g2C;
                }
                break;
            }
            case 0x1270829bu:
            {
                if (name.beginsWith(BuiltInName::imageLoad))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_imageLoad_0h2C;
                }
                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 0x12737e4du:
            {
                if (name.beginsWith(BuiltInName::imageLoad))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_imageLoad_0c1C;
                }
                break;
            }
            case 0x1273b8c5u:
            {
                if (name.beginsWith(BuiltInName::imageLoad))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_imageLoad_0d1C;
                }
                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 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 0x1274d104u:
            {
                if (name.beginsWith(BuiltInName::imageLoad))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_imageLoad_0f2C;
                }
                break;
            }
            case 0x127539b2u:
            {
                if (name.beginsWith(BuiltInName::imageLoad))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_imageLoad_0i2C;
                }
                break;
            }
            case 0x12754b32u:
            {
                if (name.beginsWith(BuiltInName::imageLoad))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_imageLoad_0e1C;
                }
                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 0x1488ffa7u:
            {
                if (name == BuiltInName::usubBorrow_3D3D3D)
                {
                    return &BuiltInFunction::kFunction_usubBorrow_3D3D3D;
                }
                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 0x148ab5f1u:
            {
                if (name == BuiltInName::usubBorrow_1D1D1D)
                {
                    return &BuiltInFunction::kFunction_usubBorrow_1D1D1D;
                }
                break;
            }
            case 0x148aca44u:
            {
                if (name == BuiltInName::imageStore_0d1C3C)
                {
                    return &BuiltInFunction::kFunction_imageStore_0d1C3C;
                }
                break;
            }
            case 0x148c1ac9u:
            {
                if (name == BuiltInName::texelFetch_0T1C0C)
                {
                    return &BuiltInFunction::kFunction_texelFetch_0T1C0C;
                }
                break;
            }
            case 0x148c5f8bu:
            {
                if (name.beginsWith(BuiltInName::imageStore))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_imageStore_0f2C3B;
                }
                break;
            }
            case 0x148d6aebu:
            {
                if (name == BuiltInName::imageStore_0c1C3B)
                {
                    return &BuiltInFunction::kFunction_imageStore_0c1C3B;
                }
                break;
            }
            case 0x148d8868u:
            {
                if (name.beginsWith(BuiltInName::imageStore))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_imageStore_0g2C3C;
                }
                break;
            }
            case 0x148dcfd5u:
            {
                if (name == BuiltInName::imageStore_0l2C3B)
                {
                    return &BuiltInFunction::kFunction_imageStore_0l2C3B;
                }
                break;
            }
            case 0x148dd2bdu:
            {
                if (name.beginsWith(BuiltInName::texelFetch))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_texelFetch_0Y1C0C;
                }
                break;
            }
            case 0x148e37b8u:
            {
                if (name.beginsWith(BuiltInName::imageStore))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_imageStore_0m2C3C;
                }
                break;
            }
            case 0x148e668au:
            {
                if (name.beginsWith(BuiltInName::imageStore))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_imageStore_0j2C3C;
                }
                break;
            }
            case 0x148ed534u:
            {
                if (name == BuiltInName::imageStore_0n2C3D)
                {
                    return &BuiltInFunction::kFunction_imageStore_0n2C3D;
                }
                break;
            }
            case 0x148f334cu:
            {
                if (name == BuiltInName::imageStore_0e1C3D)
                {
                    return &BuiltInFunction::kFunction_imageStore_0e1C3D;
                }
                break;
            }
            case 0x148f6fe1u:
            {
                if (name == BuiltInName::usubBorrow_0D0D0D)
                {
                    return &BuiltInFunction::kFunction_usubBorrow_0D0D0D;
                }
                break;
            }
            case 0x148f864bu:
            {
                if (name.beginsWith(BuiltInName::imageStore))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_imageStore_0h2C3D;
                }
                break;
            }
            case 0x148fd5f1u:
            {
                if (name.beginsWith(BuiltInName::imageStore))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_imageStore_0i2C3B;
                }
                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 0x1a907855u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0P1B;
                }
                break;
            }
            case 0x1a90d2c2u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0U1B;
                }
                break;
            }
            case 0x1a92a1ceu:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0H1B;
                }
                break;
            }
            case 0x1a92e9e5u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0a2B;
                }
                break;
            }
            case 0x1a93b6c9u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0X2B;
                }
                break;
            }
            case 0x1a93d703u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0W2B;
                }
                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 0x1a960122u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0Z1B;
                }
                break;
            }
            case 0x1a96f0e7u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0b2B;
                }
                break;
            }
            case 0x1a973644u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0R2B;
                }
                break;
            }
            case 0x1a979ae3u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 18);
                    return &BuiltInFunction::kFunction_textureGather_0J2B;
                }
                break;
            }
            case 0x1aa023e1u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureGather_0U1B0C;
                }
                break;
            }
            case 0x1aa086cfu:
            {
                if (name == BuiltInName::textureGather_0P1B0C)
                {
                    return &BuiltInFunction::kFunction_textureGather_0P1B0C;
                }
                break;
            }
            case 0x1aa1ab43u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureGather_0b2B0B;
                }
                break;
            }
            case 0x1aa1bc4cu:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureGather_0X2B0C;
                }
                break;
            }
            case 0x1aa3ef46u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 20);
                    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 0x1aa573ecu:
            {
                if (name == BuiltInName::textureGather_0a2B0B)
                {
                    return &BuiltInFunction::kFunction_textureGather_0a2B0B;
                }
                break;
            }
            case 0x1aa590bdu:
            {
                if (name == BuiltInName::textureGather_0R2B0C)
                {
                    return &BuiltInFunction::kFunction_textureGather_0R2B0C;
                }
                break;
            }
            case 0x1aa5f0c6u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureGather_0Z1B0B;
                }
                break;
            }
            case 0x1aa6c806u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureGather_0W2B0C;
                }
                break;
            }
            case 0x1aa78b86u:
            {
                if (name.beginsWith(BuiltInName::textureGather))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureGather_0K2B0C;
                }
                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.beginsWith(BuiltInName::bitfieldExtract))
                {
                    ASSERT(name.length() == 22);
                    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 0x26d1d7a3u:
            {
                if (name.beginsWith(BuiltInName::textureGatherOffset))
                {
                    ASSERT(name.length() == 26);
                    return &BuiltInFunction::kFunction_textureGatherOffset_0P1B1C;
                }
                break;
            }
            case 0x26d1f440u:
            {
                if (name.beginsWith(BuiltInName::textureGatherOffset))
                {
                    ASSERT(name.length() == 26);
                    return &BuiltInFunction::kFunction_textureGatherOffset_0K2B1C;
                }
                break;
            }
            case 0x26d29f74u:
            {
                if (name.beginsWith(BuiltInName::textureGatherOffset))
                {
                    ASSERT(name.length() == 26);
                    return &BuiltInFunction::kFunction_textureGatherOffset_0S2B1C;
                }
                break;
            }
            case 0x26d701d7u:
            {
                if (name.beginsWith(BuiltInName::textureGatherOffset))
                {
                    ASSERT(name.length() == 26);
                    return &BuiltInFunction::kFunction_textureGatherOffset_0X2B1C;
                }
                break;
            }
            case 0x26d71952u:
            {
                if (name.beginsWith(BuiltInName::textureGatherOffset))
                {
                    ASSERT(name.length() == 26);
                    return &BuiltInFunction::kFunction_textureGatherOffset_0H1B1C;
                }
                break;
            }
            case 0x26d7dce7u:
            {
                if (name == BuiltInName::textureGatherOffset_0U1B1C)
                {
                    return &BuiltInFunction::kFunction_textureGatherOffset_0U1B1C;
                }
                break;
            }
            case 0x26e015c9u:
            {
                if (name == BuiltInName::textureGatherOffset_0S2B1C0C)
                {
                    return &BuiltInFunction::kFunction_textureGatherOffset_0S2B1C0C;
                }
                break;
            }
            case 0x26e1df8cu:
            {
                if (name == BuiltInName::textureGatherOffset_0X2B1C0C)
                {
                    return &BuiltInFunction::kFunction_textureGatherOffset_0X2B1C0C;
                }
                break;
            }
            case 0x26e2cb51u:
            {
                if (name == BuiltInName::textureGatherOffset_0U1B1C0C)
                {
                    return &BuiltInFunction::kFunction_textureGatherOffset_0U1B1C0C;
                }
                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 0x26e596a4u:
            {
                if (name == BuiltInName::textureGatherOffset_0Z1B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureGatherOffset_0Z1B0B1C;
                }
                break;
            }
            case 0x26e5b6bdu:
            {
                if (name == BuiltInName::textureGatherOffset_0P1B1C0C)
                {
                    return &BuiltInFunction::kFunction_textureGatherOffset_0P1B1C0C;
                }
                break;
            }
            case 0x26e6991bu:
            {
                if (name == BuiltInName::textureGatherOffset_0b2B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureGatherOffset_0b2B0B1C;
                }
                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.beginsWith(BuiltInName::mix))
                {
                    ASSERT(name.length() == 10);
                    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.beginsWith(BuiltInName::clamp))
                {
                    ASSERT(name.length() == 12);
                    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 0x0e60445cu:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0S2B;
                }
                break;
            }
            case 0x0e61222eu:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0K2B;
                }
                break;
            }
            case 0x0e61df23u:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0V2B;
                }
                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 0x0e638fabu:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0Q2B;
                }
                break;
            }
            case 0x0e63b9efu:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0M1B;
                }
                break;
            }
            case 0x0e644545u:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0b3B;
                }
                break;
            }
            case 0x0e646500u:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0W2B;
                }
                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 0x0e65ea73u:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0H1B;
                }
                break;
            }
            case 0x0e660d38u:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0a3B;
                }
                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 0x0e66cb64u:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0U1B;
                }
                break;
            }
            case 0x0e673fffu:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0P1B;
                }
                break;
            }
            case 0x0e67a979u:
            {
                if (name.beginsWith(BuiltInName::texture))
                {
                    ASSERT(name.length() == 12);
                    return &BuiltInFunction::kFunction_texture_0R2B;
                }
                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 0x14880e11u:
            {
                if (name == BuiltInName::texelFetch_0V2C0C)
                {
                    return &BuiltInFunction::kFunction_texelFetch_0V2C0C;
                }
                break;
            }
            case 0x14882ba7u:
            {
                if (name.beginsWith(BuiltInName::textureLod))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_textureLod_0X2B0B;
                }
                break;
            }
            case 0x14888557u:
            {
                if (name.beginsWith(BuiltInName::textureLod))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_textureLod_0Q2B0B;
                }
                break;
            }
            case 0x1488b1e8u:
            {
                if (name.beginsWith(BuiltInName::texelFetch))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_texelFetch_0Q2C0C;
                }
                break;
            }
            case 0x14894128u:
            {
                if (name.beginsWith(BuiltInName::texelFetch))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_texelFetch_0P1C0C;
                }
                break;
            }
            case 0x148999efu:
            {
                if (name.beginsWith(BuiltInName::textureLod))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_textureLod_0V2B0B;
                }
                break;
            }
            case 0x148a14a7u:
            {
                if (name.beginsWith(BuiltInName::texelFetch))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_texelFetch_0M1C0C;
                }
                break;
            }
            case 0x148a2382u:
            {
                if (name.beginsWith(BuiltInName::texelFetch))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_texelFetch_0S2C0C;
                }
                break;
            }
            case 0x148a66beu:
            {
                if (name == BuiltInName::textureLod_0S2B0B)
                {
                    return &BuiltInFunction::kFunction_textureLod_0S2B0B;
                }
                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 0x148d3512u:
            {
                if (name.beginsWith(BuiltInName::textureLod))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_textureLod_0W2B0B;
                }
                break;
            }
            case 0x148e100eu:
            {
                if (name == BuiltInName::texelFetch_0X2C0C)
                {
                    return &BuiltInFunction::kFunction_texelFetch_0X2C0C;
                }
                break;
            }
            case 0x148ed16fu:
            {
                if (name.beginsWith(BuiltInName::texelFetch))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_texelFetch_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 0x148f7fe8u:
            {
                if (name.beginsWith(BuiltInName::textureLod))
                {
                    ASSERT(name.length() == 17);
                    return &BuiltInFunction::kFunction_textureLod_0U1B0B;
                }
                break;
            }
            case 0x148fd5b6u:
            {
                if (name == BuiltInName::texelFetch_0H1C0C)
                {
                    return &BuiltInFunction::kFunction_texelFetch_0H1C0C;
                }
                break;
            }
            case 0x148fde6au:
            {
                if (name == BuiltInName::textureLod_0P1B0B)
                {
                    return &BuiltInFunction::kFunction_textureLod_0P1B0B;
                }
                break;
            }
            case 0x148fe911u:
            {
                if (name == BuiltInName::textureLod_0Z2B0B)
                {
                    return &BuiltInFunction::kFunction_textureLod_0Z2B0B;
                }
                break;
            }
            case 0x1673728cu:
            {
                if (name.beginsWith(BuiltInName::textureSize))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_textureSize_0Y;
                }
                break;
            }
            case 0x1673936bu:
            {
                if (name.beginsWith(BuiltInName::textureSize))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_textureSize_0T;
                }
                break;
            }
            case 0x1673f496u:
            {
                if (name.beginsWith(BuiltInName::textureSize))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_textureSize_0O;
                }
                break;
            }
            case 0x1674ed12u:
            {
                if (name.beginsWith(BuiltInName::determinant))
                {
                    ASSERT(name.length() == 14);
                    return &BuiltInFunction::kFunction_determinant_FB;
                }
                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 0x168021fbu:
            {
                if (name.beginsWith(BuiltInName::textureProj))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureProj_0U3B;
                }
                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 0x16807544u:
            {
                if (name.beginsWith(BuiltInName::textureProj))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureProj_0P3B;
                }
                break;
            }
            case 0x1680a979u:
            {
                if (name.beginsWith(BuiltInName::textureSize))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureSize_0U0C;
                }
                break;
            }
            case 0x16812c54u:
            {
                if (name.beginsWith(BuiltInName::greaterThan))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_greaterThan_3D3D;
                }
                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 0x1681a77du:
            {
                if (name.beginsWith(BuiltInName::textureProj))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureProj_0P2B;
                }
                break;
            }
            case 0x1681d6b4u:
            {
                if (name.beginsWith(BuiltInName::greaterThan))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_greaterThan_2D2D;
                }
                break;
            }
            case 0x1681e38fu:
            {
                if (name.beginsWith(BuiltInName::textureProj))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureProj_0V3B;
                }
                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 0x168255e2u:
            {
                if (name.beginsWith(BuiltInName::textureSize))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureSize_0V0C;
                }
                break;
            }
            case 0x16829c77u:
            {
                if (name.beginsWith(BuiltInName::textureSize))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureSize_0b0C;
                }
                break;
            }
            case 0x1682d0c8u:
            {
                if (name.beginsWith(BuiltInName::textureProj))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureProj_0M2B;
                }
                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 0x16842f7du:
            {
                if (name.beginsWith(BuiltInName::textureProj))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureProj_0Z3B;
                }
                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 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 0x16866f5du:
            {
                if (name.beginsWith(BuiltInName::textureSize))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureSize_0P0C;
                }
                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 0x1686cb94u:
            {
                if (name.beginsWith(BuiltInName::textureProj))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureProj_0N2B;
                }
                break;
            }
            case 0x1686d6ddu:
            {
                if (name.beginsWith(BuiltInName::textureSize))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureSize_0a0C;
                }
                break;
            }
            case 0x168705d2u:
            {
                if (name.beginsWith(BuiltInName::textureProj))
                {
                    ASSERT(name.length() == 16);
                    return &BuiltInFunction::kFunction_textureProj_0U2B;
                }
                break;
            }
            case 0x16a00e04u:
            {
                if (name == BuiltInName::textureGrad_0I2B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0I2B2B2B;
                }
                break;
            }
            case 0x16a11436u:
            {
                if (name == BuiltInName::textureGrad_0W2B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0W2B2B2B;
                }
                break;
            }
            case 0x16a149ecu:
            {
                if (name == BuiltInName::textureGrad_0a3B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0a3B2B2B;
                }
                break;
            }
            case 0x16a19158u:
            {
                if (name == BuiltInName::textureGrad_0Q2B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0Q2B2B2B;
                }
                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 0x16a22779u:
            {
                if (name == BuiltInName::textureGrad_0X2B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0X2B1B1B;
                }
                break;
            }
            case 0x16a34692u:
            {
                if (name == BuiltInName::textureGrad_0R2B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0R2B2B2B;
                }
                break;
            }
            case 0x16a47be7u:
            {
                if (name == BuiltInName::textureGrad_0P1B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0P1B1B1B;
                }
                break;
            }
            case 0x16a53465u:
            {
                if (name == BuiltInName::textureGrad_0b3B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0b3B1B1B;
                }
                break;
            }
            case 0x16a57654u:
            {
                if (name == BuiltInName::textureGrad_0S2B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0S2B1B1B;
                }
                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 0x16a735dau:
            {
                if (name == BuiltInName::textureGrad_0U1B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0U1B1B1B;
                }
                break;
            }
            case 0x16a7e88eu:
            {
                if (name == BuiltInName::textureGrad_0V2B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureGrad_0V2B2B2B;
                }
                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 0x1aa08a7au:
            {
                if (name == BuiltInName::textureOffset_0V2B2C)
                {
                    return &BuiltInFunction::kFunction_textureOffset_0V2B2C;
                }
                break;
            }
            case 0x1aa0931au:
            {
                if (name == BuiltInName::textureOffset_0P1B1C)
                {
                    return &BuiltInFunction::kFunction_textureOffset_0P1B1C;
                }
                break;
            }
            case 0x1aa11785u:
            {
                if (name.beginsWith(BuiltInName::textureOffset))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureOffset_0H1B1C;
                }
                break;
            }
            case 0x1aa1c620u:
            {
                if (name.beginsWith(BuiltInName::textureOffset))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureOffset_0U1B1C;
                }
                break;
            }
            case 0x1aa2cd54u:
            {
                if (name == BuiltInName::textureOffset_0S2B1C)
                {
                    return &BuiltInFunction::kFunction_textureOffset_0S2B1C;
                }
                break;
            }
            case 0x1aa385c2u:
            {
                if (name.beginsWith(BuiltInName::textureOffset))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureOffset_0Z2B1C;
                }
                break;
            }
            case 0x1aa39cdeu:
            {
                if (name.beginsWith(BuiltInName::textureOffset))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureOffset_0X2B1C;
                }
                break;
            }
            case 0x1aa3c02eu:
            {
                if (name == BuiltInName::textureOffset_0Q2B2C)
                {
                    return &BuiltInFunction::kFunction_textureOffset_0Q2B2C;
                }
                break;
            }
            case 0x1aa41f4au:
            {
                if (name.beginsWith(BuiltInName::textureOffset))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureOffset_0K2B1C;
                }
                break;
            }
            case 0x1aa64995u:
            {
                if (name.beginsWith(BuiltInName::textureOffset))
                {
                    ASSERT(name.length() == 20);
                    return &BuiltInFunction::kFunction_textureOffset_0I2B2C;
                }
                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 0x1ca85d55u:
            {
                if (name == BuiltInName::textureProjLod_0Q3B0B)
                {
                    return &BuiltInFunction::kFunction_textureProjLod_0Q3B0B;
                }
                break;
            }
            case 0x1ca8adb6u:
            {
                if (name.beginsWith(BuiltInName::textureProjLod))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_textureProjLod_0P2B0B;
                }
                break;
            }
            case 0x1ca8c89au:
            {
                if (name == BuiltInName::textureProjLod_0H3B0B)
                {
                    return &BuiltInFunction::kFunction_textureProjLod_0H3B0B;
                }
                break;
            }
            case 0x1caa108bu:
            {
                if (name.beginsWith(BuiltInName::textureProjLod))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_textureProjLod_0H2B0B;
                }
                break;
            }
            case 0x1cab218fu:
            {
                if (name.beginsWith(BuiltInName::textureProjLod))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_textureProjLod_0U3B0B;
                }
                break;
            }
            case 0x1cabc05fu:
            {
                if (name.beginsWith(BuiltInName::textureProjLod))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_textureProjLod_0U2B0B;
                }
                break;
            }
            case 0x1cad9ae9u:
            {
                if (name == BuiltInName::textureProjLod_0V3B0B)
                {
                    return &BuiltInFunction::kFunction_textureProjLod_0V3B0B;
                }
                break;
            }
            case 0x1cadd758u:
            {
                if (name.beginsWith(BuiltInName::textureProjLod))
                {
                    ASSERT(name.length() == 21);
                    return &BuiltInFunction::kFunction_textureProjLod_0P3B0B;
                }
                break;
            }
            case 0x1caef3bcu:
            {
                if (name == BuiltInName::textureProjLod_0Z3B0B)
                {
                    return &BuiltInFunction::kFunction_textureProjLod_0Z3B0B;
                }
                break;
            }
            case 0x1caf96afu:
            {
                if (name.beginsWith(BuiltInName::textureProjLod))
                {
                    ASSERT(name.length() == 21);
                    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 0x1ec19613u:
            {
                if (name == BuiltInName::textureProjGrad_0V3B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0V3B2B2B;
                }
                break;
            }
            case 0x1ec1ecc3u:
            {
                if (name == BuiltInName::textureProjGrad_0Q3B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0Q3B2B2B;
                }
                break;
            }
            case 0x1ec323fdu:
            {
                if (name == BuiltInName::textureProjGrad_0H3B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0H3B1B1B;
                }
                break;
            }
            case 0x1ec374bcu:
            {
                if (name == BuiltInName::textureProjGrad_0P2B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0P2B1B1B;
                }
                break;
            }
            case 0x1ec3ee61u:
            {
                if (name == BuiltInName::textureProjGrad_0I3B2B2B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0I3B2B2B;
                }
                break;
            }
            case 0x1ec4aa1fu:
            {
                if (name == BuiltInName::textureProjGrad_0U3B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0U3B1B1B;
                }
                break;
            }
            case 0x1ec50275u:
            {
                if (name == BuiltInName::textureProjGrad_0P3B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0P3B1B1B;
                }
                break;
            }
            case 0x1ec5ab9du:
            {
                if (name == BuiltInName::textureProjGrad_0H2B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0H2B1B1B;
                }
                break;
            }
            case 0x1ec64714u:
            {
                if (name == BuiltInName::textureProjGrad_0Z3B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0Z3B1B1B;
                }
                break;
            }
            case 0x1ec71f74u:
            {
                if (name == BuiltInName::textureProjGrad_0U2B1B1B)
                {
                    return &BuiltInFunction::kFunction_textureProjGrad_0U2B1B1B;
                }
                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 0x20c863e3u:
            {
                if (name == BuiltInName::texelFetchOffset_0X2C0C1C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0X2C0C1C;
                }
                break;
            }
            case 0x20c8fa96u:
            {
                if (name == BuiltInName::texelFetchOffset_0I2C0C2C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0I2C0C2C;
                }
                break;
            }
            case 0x20c91b7du:
            {
                if (name == BuiltInName::texelFetchOffset_0S2C0C1C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0S2C0C1C;
                }
                break;
            }
            case 0x20c97fcau:
            {
                if (name == BuiltInName::textureLodOffset_0X2B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0X2B0B1C;
                }
                break;
            }
            case 0x20c9c544u:
            {
                if (name == BuiltInName::texelFetchOffset_0P1C0C1C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0P1C0C1C;
                }
                break;
            }
            case 0x20ca4914u:
            {
                if (name == BuiltInName::textureLodOffset_0Z2B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0Z2B0B1C;
                }
                break;
            }
            case 0x20ca735fu:
            {
                if (name == BuiltInName::textureLodOffset_0V2B0B2C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0V2B0B2C;
                }
                break;
            }
            case 0x20cac068u:
            {
                if (name == BuiltInName::texelFetchOffset_0K2C0C1C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0K2C0C1C;
                }
                break;
            }
            case 0x20caddbdu:
            {
                if (name == BuiltInName::textureLodOffset_0S2B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0S2B0B1C;
                }
                break;
            }
            case 0x20cb3102u:
            {
                if (name == BuiltInName::texelFetchOffset_0H1C0C1C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0H1C0C1C;
                }
                break;
            }
            case 0x20cbd512u:
            {
                if (name == BuiltInName::textureLodOffset_0P1B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0P1B0B1C;
                }
                break;
            }
            case 0x20cc7638u:
            {
                if (name == BuiltInName::texelFetchOffset_0U1C0C1C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0U1C0C1C;
                }
                break;
            }
            case 0x20cc8384u:
            {
                if (name == BuiltInName::textureLodOffset_0Q2B0B2C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0Q2B0B2C;
                }
                break;
            }
            case 0x20cc9477u:
            {
                if (name == BuiltInName::textureLodOffset_0H1B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0H1B0B1C;
                }
                break;
            }
            case 0x20cd0de3u:
            {
                if (name == BuiltInName::textureLodOffset_0K2B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0K2B0B1C;
                }
                break;
            }
            case 0x20cd911au:
            {
                if (name == BuiltInName::texelFetchOffset_0Q2C0C2C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0Q2C0C2C;
                }
                break;
            }
            case 0x20cde748u:
            {
                if (name == BuiltInName::textureLodOffset_0I2B0B2C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0I2B0B2C;
                }
                break;
            }
            case 0x20ce3ec5u:
            {
                if (name == BuiltInName::texelFetchOffset_0V2C0C2C)
                {
                    return &BuiltInFunction::kFunction_texelFetchOffset_0V2C0C2C;
                }
                break;
            }
            case 0x20cfb2d5u:
            {
                if (name == BuiltInName::textureLodOffset_0U1B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureLodOffset_0U1B0B1C;
                }
                break;
            }
            case 0x22c0015bu:
            {
                if (name.beginsWith(BuiltInName::textureProjOffset))
                {
                    ASSERT(name.length() == 24);
                    return &BuiltInFunction::kFunction_textureProjOffset_0U3B1C;
                }
                break;
            }
            case 0x22c02df1u:
            {
                if (name == BuiltInName::textureProjOffset_0U2B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjOffset_0U2B1C;
                }
                break;
            }
            case 0x22c0a359u:
            {
                if (name == BuiltInName::textureProjOffset_0H2B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjOffset_0H2B1C;
                }
                break;
            }
            case 0x22c2da46u:
            {
                if (name == BuiltInName::textureProjOffset_0H3B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjOffset_0H3B1C;
                }
                break;
            }
            case 0x22c2db53u:
            {
                if (name == BuiltInName::textureProjOffset_0Q3B2C)
                {
                    return &BuiltInFunction::kFunction_textureProjOffset_0Q3B2C;
                }
                break;
            }
            case 0x22c458dcu:
            {
                if (name.beginsWith(BuiltInName::textureProjOffset))
                {
                    ASSERT(name.length() == 24);
                    return &BuiltInFunction::kFunction_textureProjOffset_0I3B2C;
                }
                break;
            }
            case 0x22c4cdaau:
            {
                if (name.beginsWith(BuiltInName::textureProjOffset))
                {
                    ASSERT(name.length() == 24);
                    return &BuiltInFunction::kFunction_textureProjOffset_0P2B1C;
                }
                break;
            }
            case 0x22c528fau:
            {
                if (name == BuiltInName::textureProjOffset_0V3B2C)
                {
                    return &BuiltInFunction::kFunction_textureProjOffset_0V3B2C;
                }
                break;
            }
            case 0x22c5ec11u:
            {
                if (name.beginsWith(BuiltInName::textureProjOffset))
                {
                    ASSERT(name.length() == 24);
                    return &BuiltInFunction::kFunction_textureProjOffset_0Z3B1C;
                }
                break;
            }
            case 0x22c6f82eu:
            {
                if (name.beginsWith(BuiltInName::textureProjOffset))
                {
                    ASSERT(name.length() == 24);
                    return &BuiltInFunction::kFunction_textureProjOffset_0P3B1C;
                }
                break;
            }
            case 0x22e059fdu:
            {
                if (name == BuiltInName::textureGradOffset_0U1B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0U1B1B1B1C;
                }
                break;
            }
            case 0x22e165b8u:
            {
                if (name == BuiltInName::textureGradOffset_0K2B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0K2B1B1B1C;
                }
                break;
            }
            case 0x22e23b04u:
            {
                if (name == BuiltInName::textureGradOffset_0X2B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0X2B1B1B1C;
                }
                break;
            }
            case 0x22e2defdu:
            {
                if (name == BuiltInName::textureGradOffset_0b3B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0b3B1B1B1C;
                }
                break;
            }
            case 0x22e3e9eau:
            {
                if (name == BuiltInName::textureGradOffset_0I2B2B2B2C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0I2B2B2B2C;
                }
                break;
            }
            case 0x22e54911u:
            {
                if (name == BuiltInName::textureGradOffset_0S2B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0S2B1B1B1C;
                }
                break;
            }
            case 0x22e57332u:
            {
                if (name == BuiltInName::textureGradOffset_0Q2B2B2B2C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0Q2B2B2B2C;
                }
                break;
            }
            case 0x22e62421u:
            {
                if (name == BuiltInName::textureGradOffset_0V2B2B2B2C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0V2B2B2B2C;
                }
                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 0x22e735f5u:
            {
                if (name == BuiltInName::textureGradOffset_0P1B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureGradOffset_0P1B1B1B1C;
                }
                break;
            }
            case 0x28e8c0c1u:
            {
                if (name == BuiltInName::textureProjLodOffset_0Z3B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjLodOffset_0Z3B0B1C;
                }
                break;
            }
            case 0x28eab462u:
            {
                if (name == BuiltInName::textureProjLodOffset_0H2B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjLodOffset_0H2B0B1C;
                }
                break;
            }
            case 0x28eaec64u:
            {
                if (name == BuiltInName::textureProjLodOffset_0Q3B0B2C)
                {
                    return &BuiltInFunction::kFunction_textureProjLodOffset_0Q3B0B2C;
                }
                break;
            }
            case 0x28eb831cu:
            {
                if (name == BuiltInName::textureProjLodOffset_0V3B0B2C)
                {
                    return &BuiltInFunction::kFunction_textureProjLodOffset_0V3B0B2C;
                }
                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 0x28ed5e33u:
            {
                if (name == BuiltInName::textureProjLodOffset_0P3B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjLodOffset_0P3B0B1C;
                }
                break;
            }
            case 0x28eeff16u:
            {
                if (name == BuiltInName::textureProjLodOffset_0P2B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjLodOffset_0P2B0B1C;
                }
                break;
            }
            case 0x28ef67d8u:
            {
                if (name == BuiltInName::textureProjLodOffset_0U2B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjLodOffset_0U2B0B1C;
                }
                break;
            }
            case 0x28efc97eu:
            {
                if (name == BuiltInName::textureProjLodOffset_0U3B0B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjLodOffset_0U3B0B1C;
                }
                break;
            }
            case 0x2b00a086u:
            {
                if (name == BuiltInName::textureProjGradOffset_0U3B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0U3B1B1B1C;
                }
                break;
            }
            case 0x2b00d555u:
            {
                if (name == BuiltInName::textureProjGradOffset_0V3B2B2B2C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0V3B2B2B2C;
                }
                break;
            }
            case 0x2b022418u:
            {
                if (name == BuiltInName::textureProjGradOffset_0H3B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0H3B1B1B1C;
                }
                break;
            }
            case 0x2b02308fu:
            {
                if (name == BuiltInName::textureProjGradOffset_0P2B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0P2B1B1B1C;
                }
                break;
            }
            case 0x2b02af8fu:
            {
                if (name == BuiltInName::textureProjGradOffset_0I3B2B2B2C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0I3B2B2B2C;
                }
                break;
            }
            case 0x2b045d17u:
            {
                if (name == BuiltInName::textureProjGradOffset_0Q3B2B2B2C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0Q3B2B2B2C;
                }
                break;
            }
            case 0x2b0472aau:
            {
                if (name == BuiltInName::textureProjGradOffset_0Z3B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0Z3B1B1B1C;
                }
                break;
            }
            case 0x2b04ab94u:
            {
                if (name == BuiltInName::textureProjGradOffset_0U2B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0U2B1B1B1C;
                }
                break;
            }
            case 0x2b06523eu:
            {
                if (name == BuiltInName::textureProjGradOffset_0P3B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0P3B1B1B1C;
                }
                break;
            }
            case 0x2b077535u:
            {
                if (name == BuiltInName::textureProjGradOffset_0H2B1B1B1C)
                {
                    return &BuiltInFunction::kFunction_textureProjGradOffset_0H2B1B1B1C;
                }
                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 0x0e70395au:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_texture_0U1B0B;
                    }
                    break;
                }
                case 0x0e70eff9u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_texture_0X2B0B;
                    }
                    break;
                }
                case 0x0e71856cu:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_texture_0M1B0B;
                    }
                    break;
                }
                case 0x0e71dca8u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_texture_0P1B0B;
                    }
                    break;
                }
                case 0x0e720b77u:
                {
                    if (name == BuiltInName::texture_0V2B0B)
                    {
                        return &BuiltInFunction::kFunction_texture_0V2B0B;
                    }
                    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 0x0e737f67u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_texture_0Q2B0B;
                    }
                    break;
                }
                case 0x0e73f4c3u:
                {
                    if (name == BuiltInName::texture_0W2B0B)
                    {
                        return &BuiltInFunction::kFunction_texture_0W2B0B;
                    }
                    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 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 0x0e77a0f1u:
                {
                    if (name.beginsWith(BuiltInName::texture))
                    {
                        ASSERT(name.length() == 14);
                        return &BuiltInFunction::kFunction_texture_0a3B0B;
                    }
                    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 0x1690ae9fu:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0M3B0B;
                    }
                    break;
                }
                case 0x16910ba7u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0Z3B0B;
                    }
                    break;
                }
                case 0x16911478u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0P3B0B;
                    }
                    break;
                }
                case 0x1691c2edu:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0M2B0B;
                    }
                    break;
                }
                case 0x1691d656u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0U2B0B;
                    }
                    break;
                }
                case 0x16925badu:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0Q3B0B;
                    }
                    break;
                }
                case 0x169292f8u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0U3B0B;
                    }
                    break;
                }
                case 0x169350d8u:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0I3B0B;
                    }
                    break;
                }
                case 0x1695499au:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0V3B0B;
                    }
                    break;
                }
                case 0x16955fbdu:
                {
                    if (name.beginsWith(BuiltInName::textureProj))
                    {
                        ASSERT(name.length() == 18);
                        return &BuiltInFunction::kFunction_textureProj_0P2B0B;
                    }
                    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 0x1ab09555u:
                {
                    if (name == BuiltInName::textureOffset_0Q2B2C0B)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0Q2B2C0B;
                    }
                    break;
                }
                case 0x1ab0d39du:
                {
                    if (name == BuiltInName::textureOffset_0V2B2C0B)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0V2B2C0B;
                    }
                    break;
                }
                case 0x1ab1990bu:
                {
                    if (name == BuiltInName::textureOffset_0X2B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0X2B1C0B;
                    }
                    break;
                }
                case 0x1ab29724u:
                {
                    if (name == BuiltInName::textureOffset_0Z2B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0Z2B1C0B;
                    }
                    break;
                }
                case 0x1ab2a609u:
                {
                    if (name == BuiltInName::textureOffset_0U1B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0U1B1C0B;
                    }
                    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 0x1ab63ddau:
                {
                    if (name == BuiltInName::textureOffset_0K2B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0K2B1C0B;
                    }
                    break;
                }
                case 0x1ab6ec2cu:
                {
                    if (name == BuiltInName::textureOffset_0P1B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0P1B1C0B;
                    }
                    break;
                }
                case 0x1ab6f64bu:
                {
                    if (name == BuiltInName::textureOffset_0S2B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureOffset_0S2B1C0B;
                    }
                    break;
                }
                case 0x22d09aefu:
                {
                    if (name == BuiltInName::textureProjOffset_0V3B2C0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0V3B2C0B;
                    }
                    break;
                }
                case 0x22d2de73u:
                {
                    if (name == BuiltInName::textureProjOffset_0U3B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0U3B1C0B;
                    }
                    break;
                }
                case 0x22d3c514u:
                {
                    if (name == BuiltInName::textureProjOffset_0P3B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0P3B1C0B;
                    }
                    break;
                }
                case 0x22d3ece3u:
                {
                    if (name == BuiltInName::textureProjOffset_0Q3B2C0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0Q3B2C0B;
                    }
                    break;
                }
                case 0x22d59e0cu:
                {
                    if (name == BuiltInName::textureProjOffset_0Z3B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0Z3B1C0B;
                    }
                    break;
                }
                case 0x22d62e81u:
                {
                    if (name == BuiltInName::textureProjOffset_0H3B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0H3B1C0B;
                    }
                    break;
                }
                case 0x22d65c37u:
                {
                    if (name == BuiltInName::textureProjOffset_0U2B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0U2B1C0B;
                    }
                    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 0x22d76183u:
                {
                    if (name == BuiltInName::textureProjOffset_0P2B1C0B)
                    {
                        return &BuiltInFunction::kFunction_textureProjOffset_0P2B1C0B;
                    }
                    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.beginsWith(BuiltInName::texture2DLodEXT))
                    {
                        ASSERT(name.length() == 22);
                        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.beginsWith(BuiltInName::texture2DProjLodEXT))
                    {
                        ASSERT(name.length() == 26);
                        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.beginsWith(BuiltInName::texture2DLod))
                    {
                        ASSERT(name.length() == 19);
                        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 (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.beginsWith(BuiltInName::smoothstep))
            {
                ASSERT(name.length() == 17);
                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 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
