// GENERATED FILE - DO NOT EDIT.
// Generated by gen_builtin_symbols.py using data from builtin_variables.json and
// builtin_function_declarations.txt.
//
// Copyright 2020 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.h"

namespace sh
{
using Resources = ShBuiltInResources;
using TableBase = TSymbolTableBase;

// 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.
const TSymbolUniqueId BuiltInId::radians_Float1                           = TSymbolUniqueId(0);
const TSymbolUniqueId BuiltInId::pt00B                                    = TSymbolUniqueId(1);
const TSymbolUniqueId BuiltInId::radians_Float2                           = TSymbolUniqueId(2);
const TSymbolUniqueId BuiltInId::pt10B                                    = TSymbolUniqueId(3);
const TSymbolUniqueId BuiltInId::radians_Float3                           = TSymbolUniqueId(4);
const TSymbolUniqueId BuiltInId::pt20B                                    = TSymbolUniqueId(5);
const TSymbolUniqueId BuiltInId::radians_Float4                           = TSymbolUniqueId(6);
const TSymbolUniqueId BuiltInId::pt30B                                    = TSymbolUniqueId(7);
const TSymbolUniqueId BuiltInId::degrees_Float1                           = TSymbolUniqueId(8);
const TSymbolUniqueId BuiltInId::degrees_Float2                           = TSymbolUniqueId(9);
const TSymbolUniqueId BuiltInId::degrees_Float3                           = TSymbolUniqueId(10);
const TSymbolUniqueId BuiltInId::degrees_Float4                           = TSymbolUniqueId(11);
const TSymbolUniqueId BuiltInId::sin_Float1                               = TSymbolUniqueId(12);
const TSymbolUniqueId BuiltInId::sin_Float2                               = TSymbolUniqueId(13);
const TSymbolUniqueId BuiltInId::sin_Float3                               = TSymbolUniqueId(14);
const TSymbolUniqueId BuiltInId::sin_Float4                               = TSymbolUniqueId(15);
const TSymbolUniqueId BuiltInId::cos_Float1                               = TSymbolUniqueId(16);
const TSymbolUniqueId BuiltInId::cos_Float2                               = TSymbolUniqueId(17);
const TSymbolUniqueId BuiltInId::cos_Float3                               = TSymbolUniqueId(18);
const TSymbolUniqueId BuiltInId::cos_Float4                               = TSymbolUniqueId(19);
const TSymbolUniqueId BuiltInId::tan_Float1                               = TSymbolUniqueId(20);
const TSymbolUniqueId BuiltInId::tan_Float2                               = TSymbolUniqueId(21);
const TSymbolUniqueId BuiltInId::tan_Float3                               = TSymbolUniqueId(22);
const TSymbolUniqueId BuiltInId::tan_Float4                               = TSymbolUniqueId(23);
const TSymbolUniqueId BuiltInId::asin_Float1                              = TSymbolUniqueId(24);
const TSymbolUniqueId BuiltInId::asin_Float2                              = TSymbolUniqueId(25);
const TSymbolUniqueId BuiltInId::asin_Float3                              = TSymbolUniqueId(26);
const TSymbolUniqueId BuiltInId::asin_Float4                              = TSymbolUniqueId(27);
const TSymbolUniqueId BuiltInId::acos_Float1                              = TSymbolUniqueId(28);
const TSymbolUniqueId BuiltInId::acos_Float2                              = TSymbolUniqueId(29);
const TSymbolUniqueId BuiltInId::acos_Float3                              = TSymbolUniqueId(30);
const TSymbolUniqueId BuiltInId::acos_Float4                              = TSymbolUniqueId(31);
const TSymbolUniqueId BuiltInId::atan_Float1_Float1                       = TSymbolUniqueId(32);
const TSymbolUniqueId BuiltInId::atan_Float2_Float2                       = TSymbolUniqueId(33);
const TSymbolUniqueId BuiltInId::atan_Float3_Float3                       = TSymbolUniqueId(34);
const TSymbolUniqueId BuiltInId::atan_Float4_Float4                       = TSymbolUniqueId(35);
const TSymbolUniqueId BuiltInId::atan_Float1                              = TSymbolUniqueId(36);
const TSymbolUniqueId BuiltInId::atan_Float2                              = TSymbolUniqueId(37);
const TSymbolUniqueId BuiltInId::atan_Float3                              = TSymbolUniqueId(38);
const TSymbolUniqueId BuiltInId::atan_Float4                              = TSymbolUniqueId(39);
const TSymbolUniqueId BuiltInId::sinh_Float1                              = TSymbolUniqueId(40);
const TSymbolUniqueId BuiltInId::sinh_Float2                              = TSymbolUniqueId(41);
const TSymbolUniqueId BuiltInId::sinh_Float3                              = TSymbolUniqueId(42);
const TSymbolUniqueId BuiltInId::sinh_Float4                              = TSymbolUniqueId(43);
const TSymbolUniqueId BuiltInId::cosh_Float1                              = TSymbolUniqueId(44);
const TSymbolUniqueId BuiltInId::cosh_Float2                              = TSymbolUniqueId(45);
const TSymbolUniqueId BuiltInId::cosh_Float3                              = TSymbolUniqueId(46);
const TSymbolUniqueId BuiltInId::cosh_Float4                              = TSymbolUniqueId(47);
const TSymbolUniqueId BuiltInId::tanh_Float1                              = TSymbolUniqueId(48);
const TSymbolUniqueId BuiltInId::tanh_Float2                              = TSymbolUniqueId(49);
const TSymbolUniqueId BuiltInId::tanh_Float3                              = TSymbolUniqueId(50);
const TSymbolUniqueId BuiltInId::tanh_Float4                              = TSymbolUniqueId(51);
const TSymbolUniqueId BuiltInId::asinh_Float1                             = TSymbolUniqueId(52);
const TSymbolUniqueId BuiltInId::asinh_Float2                             = TSymbolUniqueId(53);
const TSymbolUniqueId BuiltInId::asinh_Float3                             = TSymbolUniqueId(54);
const TSymbolUniqueId BuiltInId::asinh_Float4                             = TSymbolUniqueId(55);
const TSymbolUniqueId BuiltInId::acosh_Float1                             = TSymbolUniqueId(56);
const TSymbolUniqueId BuiltInId::acosh_Float2                             = TSymbolUniqueId(57);
const TSymbolUniqueId BuiltInId::acosh_Float3                             = TSymbolUniqueId(58);
const TSymbolUniqueId BuiltInId::acosh_Float4                             = TSymbolUniqueId(59);
const TSymbolUniqueId BuiltInId::atanh_Float1                             = TSymbolUniqueId(60);
const TSymbolUniqueId BuiltInId::atanh_Float2                             = TSymbolUniqueId(61);
const TSymbolUniqueId BuiltInId::atanh_Float3                             = TSymbolUniqueId(62);
const TSymbolUniqueId BuiltInId::atanh_Float4                             = TSymbolUniqueId(63);
const TSymbolUniqueId BuiltInId::pow_Float1_Float1                        = TSymbolUniqueId(64);
const TSymbolUniqueId BuiltInId::pow_Float2_Float2                        = TSymbolUniqueId(65);
const TSymbolUniqueId BuiltInId::pow_Float3_Float3                        = TSymbolUniqueId(66);
const TSymbolUniqueId BuiltInId::pow_Float4_Float4                        = TSymbolUniqueId(67);
const TSymbolUniqueId BuiltInId::exp_Float1                               = TSymbolUniqueId(68);
const TSymbolUniqueId BuiltInId::exp_Float2                               = TSymbolUniqueId(69);
const TSymbolUniqueId BuiltInId::exp_Float3                               = TSymbolUniqueId(70);
const TSymbolUniqueId BuiltInId::exp_Float4                               = TSymbolUniqueId(71);
const TSymbolUniqueId BuiltInId::log_Float1                               = TSymbolUniqueId(72);
const TSymbolUniqueId BuiltInId::log_Float2                               = TSymbolUniqueId(73);
const TSymbolUniqueId BuiltInId::log_Float3                               = TSymbolUniqueId(74);
const TSymbolUniqueId BuiltInId::log_Float4                               = TSymbolUniqueId(75);
const TSymbolUniqueId BuiltInId::exp2_Float1                              = TSymbolUniqueId(76);
const TSymbolUniqueId BuiltInId::exp2_Float2                              = TSymbolUniqueId(77);
const TSymbolUniqueId BuiltInId::exp2_Float3                              = TSymbolUniqueId(78);
const TSymbolUniqueId BuiltInId::exp2_Float4                              = TSymbolUniqueId(79);
const TSymbolUniqueId BuiltInId::log2_Float1                              = TSymbolUniqueId(80);
const TSymbolUniqueId BuiltInId::log2_Float2                              = TSymbolUniqueId(81);
const TSymbolUniqueId BuiltInId::log2_Float3                              = TSymbolUniqueId(82);
const TSymbolUniqueId BuiltInId::log2_Float4                              = TSymbolUniqueId(83);
const TSymbolUniqueId BuiltInId::sqrt_Float1                              = TSymbolUniqueId(84);
const TSymbolUniqueId BuiltInId::sqrt_Float2                              = TSymbolUniqueId(85);
const TSymbolUniqueId BuiltInId::sqrt_Float3                              = TSymbolUniqueId(86);
const TSymbolUniqueId BuiltInId::sqrt_Float4                              = TSymbolUniqueId(87);
const TSymbolUniqueId BuiltInId::sqrt_Double1                             = TSymbolUniqueId(88);
const TSymbolUniqueId BuiltInId::pt00C                                    = TSymbolUniqueId(89);
const TSymbolUniqueId BuiltInId::sqrt_Double2                             = TSymbolUniqueId(90);
const TSymbolUniqueId BuiltInId::pt10C                                    = TSymbolUniqueId(91);
const TSymbolUniqueId BuiltInId::sqrt_Double3                             = TSymbolUniqueId(92);
const TSymbolUniqueId BuiltInId::pt20C                                    = TSymbolUniqueId(93);
const TSymbolUniqueId BuiltInId::sqrt_Double4                             = TSymbolUniqueId(94);
const TSymbolUniqueId BuiltInId::pt30C                                    = TSymbolUniqueId(95);
const TSymbolUniqueId BuiltInId::inversesqrt_Float1                       = TSymbolUniqueId(96);
const TSymbolUniqueId BuiltInId::inversesqrt_Float2                       = TSymbolUniqueId(97);
const TSymbolUniqueId BuiltInId::inversesqrt_Float3                       = TSymbolUniqueId(98);
const TSymbolUniqueId BuiltInId::inversesqrt_Float4                       = TSymbolUniqueId(99);
const TSymbolUniqueId BuiltInId::inversesqrt_Double1                      = TSymbolUniqueId(100);
const TSymbolUniqueId BuiltInId::inversesqrt_Double2                      = TSymbolUniqueId(101);
const TSymbolUniqueId BuiltInId::inversesqrt_Double3                      = TSymbolUniqueId(102);
const TSymbolUniqueId BuiltInId::inversesqrt_Double4                      = TSymbolUniqueId(103);
const TSymbolUniqueId BuiltInId::abs_Float1                               = TSymbolUniqueId(104);
const TSymbolUniqueId BuiltInId::abs_Float2                               = TSymbolUniqueId(105);
const TSymbolUniqueId BuiltInId::abs_Float3                               = TSymbolUniqueId(106);
const TSymbolUniqueId BuiltInId::abs_Float4                               = TSymbolUniqueId(107);
const TSymbolUniqueId BuiltInId::abs_Int1                                 = TSymbolUniqueId(108);
const TSymbolUniqueId BuiltInId::pt00D                                    = TSymbolUniqueId(109);
const TSymbolUniqueId BuiltInId::abs_Int2                                 = TSymbolUniqueId(110);
const TSymbolUniqueId BuiltInId::pt10D                                    = TSymbolUniqueId(111);
const TSymbolUniqueId BuiltInId::abs_Int3                                 = TSymbolUniqueId(112);
const TSymbolUniqueId BuiltInId::pt20D                                    = TSymbolUniqueId(113);
const TSymbolUniqueId BuiltInId::abs_Int4                                 = TSymbolUniqueId(114);
const TSymbolUniqueId BuiltInId::pt30D                                    = TSymbolUniqueId(115);
const TSymbolUniqueId BuiltInId::abs_Double1                              = TSymbolUniqueId(116);
const TSymbolUniqueId BuiltInId::abs_Double2                              = TSymbolUniqueId(117);
const TSymbolUniqueId BuiltInId::abs_Double3                              = TSymbolUniqueId(118);
const TSymbolUniqueId BuiltInId::abs_Double4                              = TSymbolUniqueId(119);
const TSymbolUniqueId BuiltInId::sign_Float1                              = TSymbolUniqueId(120);
const TSymbolUniqueId BuiltInId::sign_Float2                              = TSymbolUniqueId(121);
const TSymbolUniqueId BuiltInId::sign_Float3                              = TSymbolUniqueId(122);
const TSymbolUniqueId BuiltInId::sign_Float4                              = TSymbolUniqueId(123);
const TSymbolUniqueId BuiltInId::sign_Int1                                = TSymbolUniqueId(124);
const TSymbolUniqueId BuiltInId::sign_Int2                                = TSymbolUniqueId(125);
const TSymbolUniqueId BuiltInId::sign_Int3                                = TSymbolUniqueId(126);
const TSymbolUniqueId BuiltInId::sign_Int4                                = TSymbolUniqueId(127);
const TSymbolUniqueId BuiltInId::sign_Double1                             = TSymbolUniqueId(128);
const TSymbolUniqueId BuiltInId::sign_Double2                             = TSymbolUniqueId(129);
const TSymbolUniqueId BuiltInId::sign_Double3                             = TSymbolUniqueId(130);
const TSymbolUniqueId BuiltInId::sign_Double4                             = TSymbolUniqueId(131);
const TSymbolUniqueId BuiltInId::floor_Float1                             = TSymbolUniqueId(132);
const TSymbolUniqueId BuiltInId::floor_Float2                             = TSymbolUniqueId(133);
const TSymbolUniqueId BuiltInId::floor_Float3                             = TSymbolUniqueId(134);
const TSymbolUniqueId BuiltInId::floor_Float4                             = TSymbolUniqueId(135);
const TSymbolUniqueId BuiltInId::floor_Double1                            = TSymbolUniqueId(136);
const TSymbolUniqueId BuiltInId::floor_Double2                            = TSymbolUniqueId(137);
const TSymbolUniqueId BuiltInId::floor_Double3                            = TSymbolUniqueId(138);
const TSymbolUniqueId BuiltInId::floor_Double4                            = TSymbolUniqueId(139);
const TSymbolUniqueId BuiltInId::trunc_Float1                             = TSymbolUniqueId(140);
const TSymbolUniqueId BuiltInId::trunc_Float2                             = TSymbolUniqueId(141);
const TSymbolUniqueId BuiltInId::trunc_Float3                             = TSymbolUniqueId(142);
const TSymbolUniqueId BuiltInId::trunc_Float4                             = TSymbolUniqueId(143);
const TSymbolUniqueId BuiltInId::trunc_Double1                            = TSymbolUniqueId(144);
const TSymbolUniqueId BuiltInId::trunc_Double2                            = TSymbolUniqueId(145);
const TSymbolUniqueId BuiltInId::trunc_Double3                            = TSymbolUniqueId(146);
const TSymbolUniqueId BuiltInId::trunc_Double4                            = TSymbolUniqueId(147);
const TSymbolUniqueId BuiltInId::round_Float1                             = TSymbolUniqueId(148);
const TSymbolUniqueId BuiltInId::round_Float2                             = TSymbolUniqueId(149);
const TSymbolUniqueId BuiltInId::round_Float3                             = TSymbolUniqueId(150);
const TSymbolUniqueId BuiltInId::round_Float4                             = TSymbolUniqueId(151);
const TSymbolUniqueId BuiltInId::round_Double1                            = TSymbolUniqueId(152);
const TSymbolUniqueId BuiltInId::round_Double2                            = TSymbolUniqueId(153);
const TSymbolUniqueId BuiltInId::round_Double3                            = TSymbolUniqueId(154);
const TSymbolUniqueId BuiltInId::round_Double4                            = TSymbolUniqueId(155);
const TSymbolUniqueId BuiltInId::roundEven_Float1                         = TSymbolUniqueId(156);
const TSymbolUniqueId BuiltInId::roundEven_Float2                         = TSymbolUniqueId(157);
const TSymbolUniqueId BuiltInId::roundEven_Float3                         = TSymbolUniqueId(158);
const TSymbolUniqueId BuiltInId::roundEven_Float4                         = TSymbolUniqueId(159);
const TSymbolUniqueId BuiltInId::roundEven_Double1                        = TSymbolUniqueId(160);
const TSymbolUniqueId BuiltInId::roundEven_Double2                        = TSymbolUniqueId(161);
const TSymbolUniqueId BuiltInId::roundEven_Double3                        = TSymbolUniqueId(162);
const TSymbolUniqueId BuiltInId::roundEven_Double4                        = TSymbolUniqueId(163);
const TSymbolUniqueId BuiltInId::ceil_Float1                              = TSymbolUniqueId(164);
const TSymbolUniqueId BuiltInId::ceil_Float2                              = TSymbolUniqueId(165);
const TSymbolUniqueId BuiltInId::ceil_Float3                              = TSymbolUniqueId(166);
const TSymbolUniqueId BuiltInId::ceil_Float4                              = TSymbolUniqueId(167);
const TSymbolUniqueId BuiltInId::ceil_Double1                             = TSymbolUniqueId(168);
const TSymbolUniqueId BuiltInId::ceil_Double2                             = TSymbolUniqueId(169);
const TSymbolUniqueId BuiltInId::ceil_Double3                             = TSymbolUniqueId(170);
const TSymbolUniqueId BuiltInId::ceil_Double4                             = TSymbolUniqueId(171);
const TSymbolUniqueId BuiltInId::fract_Float1                             = TSymbolUniqueId(172);
const TSymbolUniqueId BuiltInId::fract_Float2                             = TSymbolUniqueId(173);
const TSymbolUniqueId BuiltInId::fract_Float3                             = TSymbolUniqueId(174);
const TSymbolUniqueId BuiltInId::fract_Float4                             = TSymbolUniqueId(175);
const TSymbolUniqueId BuiltInId::fract_Double1                            = TSymbolUniqueId(176);
const TSymbolUniqueId BuiltInId::fract_Double2                            = TSymbolUniqueId(177);
const TSymbolUniqueId BuiltInId::fract_Double3                            = TSymbolUniqueId(178);
const TSymbolUniqueId BuiltInId::fract_Double4                            = TSymbolUniqueId(179);
const TSymbolUniqueId BuiltInId::mod_Float1_Float1                        = TSymbolUniqueId(180);
const TSymbolUniqueId BuiltInId::mod_Float2_Float1                        = TSymbolUniqueId(181);
const TSymbolUniqueId BuiltInId::mod_Float3_Float1                        = TSymbolUniqueId(182);
const TSymbolUniqueId BuiltInId::mod_Float4_Float1                        = TSymbolUniqueId(183);
const TSymbolUniqueId BuiltInId::mod_Float2_Float2                        = TSymbolUniqueId(184);
const TSymbolUniqueId BuiltInId::mod_Float3_Float3                        = TSymbolUniqueId(185);
const TSymbolUniqueId BuiltInId::mod_Float4_Float4                        = TSymbolUniqueId(186);
const TSymbolUniqueId BuiltInId::mod_Double1_Double1                      = TSymbolUniqueId(187);
const TSymbolUniqueId BuiltInId::mod_Double2_Double1                      = TSymbolUniqueId(188);
const TSymbolUniqueId BuiltInId::mod_Double3_Double1                      = TSymbolUniqueId(189);
const TSymbolUniqueId BuiltInId::mod_Double4_Double1                      = TSymbolUniqueId(190);
const TSymbolUniqueId BuiltInId::mod_Double2_Double2                      = TSymbolUniqueId(191);
const TSymbolUniqueId BuiltInId::mod_Double3_Double3                      = TSymbolUniqueId(192);
const TSymbolUniqueId BuiltInId::mod_Double4_Double4                      = TSymbolUniqueId(193);
const TSymbolUniqueId BuiltInId::min_Float1_Float1                        = TSymbolUniqueId(194);
const TSymbolUniqueId BuiltInId::min_Float2_Float1                        = TSymbolUniqueId(195);
const TSymbolUniqueId BuiltInId::min_Float3_Float1                        = TSymbolUniqueId(196);
const TSymbolUniqueId BuiltInId::min_Float4_Float1                        = TSymbolUniqueId(197);
const TSymbolUniqueId BuiltInId::min_Float2_Float2                        = TSymbolUniqueId(198);
const TSymbolUniqueId BuiltInId::min_Float3_Float3                        = TSymbolUniqueId(199);
const TSymbolUniqueId BuiltInId::min_Float4_Float4                        = TSymbolUniqueId(200);
const TSymbolUniqueId BuiltInId::min_Double1_Double1                      = TSymbolUniqueId(201);
const TSymbolUniqueId BuiltInId::min_Double2_Double2                      = TSymbolUniqueId(202);
const TSymbolUniqueId BuiltInId::min_Double3_Double3                      = TSymbolUniqueId(203);
const TSymbolUniqueId BuiltInId::min_Double4_Double4                      = TSymbolUniqueId(204);
const TSymbolUniqueId BuiltInId::min_Double2_Double1                      = TSymbolUniqueId(205);
const TSymbolUniqueId BuiltInId::min_Double3_Double1                      = TSymbolUniqueId(206);
const TSymbolUniqueId BuiltInId::min_Double4_Double1                      = TSymbolUniqueId(207);
const TSymbolUniqueId BuiltInId::min_Int1_Int1                            = TSymbolUniqueId(208);
const TSymbolUniqueId BuiltInId::min_Int2_Int2                            = TSymbolUniqueId(209);
const TSymbolUniqueId BuiltInId::min_Int3_Int3                            = TSymbolUniqueId(210);
const TSymbolUniqueId BuiltInId::min_Int4_Int4                            = TSymbolUniqueId(211);
const TSymbolUniqueId BuiltInId::min_Int2_Int1                            = TSymbolUniqueId(212);
const TSymbolUniqueId BuiltInId::min_Int3_Int1                            = TSymbolUniqueId(213);
const TSymbolUniqueId BuiltInId::min_Int4_Int1                            = TSymbolUniqueId(214);
const TSymbolUniqueId BuiltInId::min_UInt1_UInt1                          = TSymbolUniqueId(215);
const TSymbolUniqueId BuiltInId::pt00E                                    = TSymbolUniqueId(216);
const TSymbolUniqueId BuiltInId::min_UInt2_UInt2                          = TSymbolUniqueId(217);
const TSymbolUniqueId BuiltInId::pt10E                                    = TSymbolUniqueId(218);
const TSymbolUniqueId BuiltInId::min_UInt3_UInt3                          = TSymbolUniqueId(219);
const TSymbolUniqueId BuiltInId::pt20E                                    = TSymbolUniqueId(220);
const TSymbolUniqueId BuiltInId::min_UInt4_UInt4                          = TSymbolUniqueId(221);
const TSymbolUniqueId BuiltInId::pt30E                                    = TSymbolUniqueId(222);
const TSymbolUniqueId BuiltInId::min_UInt2_UInt1                          = TSymbolUniqueId(223);
const TSymbolUniqueId BuiltInId::min_UInt3_UInt1                          = TSymbolUniqueId(224);
const TSymbolUniqueId BuiltInId::min_UInt4_UInt1                          = TSymbolUniqueId(225);
const TSymbolUniqueId BuiltInId::max_Float1_Float1                        = TSymbolUniqueId(226);
const TSymbolUniqueId BuiltInId::max_Float2_Float1                        = TSymbolUniqueId(227);
const TSymbolUniqueId BuiltInId::max_Float3_Float1                        = TSymbolUniqueId(228);
const TSymbolUniqueId BuiltInId::max_Float4_Float1                        = TSymbolUniqueId(229);
const TSymbolUniqueId BuiltInId::max_Float2_Float2                        = TSymbolUniqueId(230);
const TSymbolUniqueId BuiltInId::max_Float3_Float3                        = TSymbolUniqueId(231);
const TSymbolUniqueId BuiltInId::max_Float4_Float4                        = TSymbolUniqueId(232);
const TSymbolUniqueId BuiltInId::max_Double1_Double1                      = TSymbolUniqueId(233);
const TSymbolUniqueId BuiltInId::max_Double2_Double2                      = TSymbolUniqueId(234);
const TSymbolUniqueId BuiltInId::max_Double3_Double3                      = TSymbolUniqueId(235);
const TSymbolUniqueId BuiltInId::max_Double4_Double4                      = TSymbolUniqueId(236);
const TSymbolUniqueId BuiltInId::max_Double2_Double1                      = TSymbolUniqueId(237);
const TSymbolUniqueId BuiltInId::max_Double3_Double1                      = TSymbolUniqueId(238);
const TSymbolUniqueId BuiltInId::max_Double4_Double1                      = TSymbolUniqueId(239);
const TSymbolUniqueId BuiltInId::max_Int1_Int1                            = TSymbolUniqueId(240);
const TSymbolUniqueId BuiltInId::max_Int2_Int2                            = TSymbolUniqueId(241);
const TSymbolUniqueId BuiltInId::max_Int3_Int3                            = TSymbolUniqueId(242);
const TSymbolUniqueId BuiltInId::max_Int4_Int4                            = TSymbolUniqueId(243);
const TSymbolUniqueId BuiltInId::max_Int2_Int1                            = TSymbolUniqueId(244);
const TSymbolUniqueId BuiltInId::max_Int3_Int1                            = TSymbolUniqueId(245);
const TSymbolUniqueId BuiltInId::max_Int4_Int1                            = TSymbolUniqueId(246);
const TSymbolUniqueId BuiltInId::max_UInt1_UInt1                          = TSymbolUniqueId(247);
const TSymbolUniqueId BuiltInId::max_UInt2_UInt2                          = TSymbolUniqueId(248);
const TSymbolUniqueId BuiltInId::max_UInt3_UInt3                          = TSymbolUniqueId(249);
const TSymbolUniqueId BuiltInId::max_UInt4_UInt4                          = TSymbolUniqueId(250);
const TSymbolUniqueId BuiltInId::max_UInt2_UInt1                          = TSymbolUniqueId(251);
const TSymbolUniqueId BuiltInId::max_UInt3_UInt1                          = TSymbolUniqueId(252);
const TSymbolUniqueId BuiltInId::max_UInt4_UInt1                          = TSymbolUniqueId(253);
const TSymbolUniqueId BuiltInId::clamp_Float1_Float1_Float1               = TSymbolUniqueId(254);
const TSymbolUniqueId BuiltInId::clamp_Float2_Float1_Float1               = TSymbolUniqueId(255);
const TSymbolUniqueId BuiltInId::clamp_Float3_Float1_Float1               = TSymbolUniqueId(256);
const TSymbolUniqueId BuiltInId::clamp_Float4_Float1_Float1               = TSymbolUniqueId(257);
const TSymbolUniqueId BuiltInId::clamp_Float2_Float2_Float2               = TSymbolUniqueId(258);
const TSymbolUniqueId BuiltInId::clamp_Float3_Float3_Float3               = TSymbolUniqueId(259);
const TSymbolUniqueId BuiltInId::clamp_Float4_Float4_Float4               = TSymbolUniqueId(260);
const TSymbolUniqueId BuiltInId::clamp_Double1_Double1_Double1            = TSymbolUniqueId(261);
const TSymbolUniqueId BuiltInId::clamp_Double2_Double1_Double1            = TSymbolUniqueId(262);
const TSymbolUniqueId BuiltInId::clamp_Double3_Double1_Double1            = TSymbolUniqueId(263);
const TSymbolUniqueId BuiltInId::clamp_Double4_Double1_Double1            = TSymbolUniqueId(264);
const TSymbolUniqueId BuiltInId::clamp_Double2_Double2_Double2            = TSymbolUniqueId(265);
const TSymbolUniqueId BuiltInId::clamp_Double3_Double3_Double3            = TSymbolUniqueId(266);
const TSymbolUniqueId BuiltInId::clamp_Double4_Double4_Double4            = TSymbolUniqueId(267);
const TSymbolUniqueId BuiltInId::clamp_Int1_Int1_Int1                     = TSymbolUniqueId(268);
const TSymbolUniqueId BuiltInId::clamp_Int2_Int1_Int1                     = TSymbolUniqueId(269);
const TSymbolUniqueId BuiltInId::clamp_Int3_Int1_Int1                     = TSymbolUniqueId(270);
const TSymbolUniqueId BuiltInId::clamp_Int4_Int1_Int1                     = TSymbolUniqueId(271);
const TSymbolUniqueId BuiltInId::clamp_Int2_Int2_Int2                     = TSymbolUniqueId(272);
const TSymbolUniqueId BuiltInId::clamp_Int3_Int3_Int3                     = TSymbolUniqueId(273);
const TSymbolUniqueId BuiltInId::clamp_Int4_Int4_Int4                     = TSymbolUniqueId(274);
const TSymbolUniqueId BuiltInId::clamp_UInt1_UInt1_UInt1                  = TSymbolUniqueId(275);
const TSymbolUniqueId BuiltInId::clamp_UInt2_UInt1_UInt1                  = TSymbolUniqueId(276);
const TSymbolUniqueId BuiltInId::clamp_UInt3_UInt1_UInt1                  = TSymbolUniqueId(277);
const TSymbolUniqueId BuiltInId::clamp_UInt4_UInt1_UInt1                  = TSymbolUniqueId(278);
const TSymbolUniqueId BuiltInId::clamp_UInt2_UInt2_UInt2                  = TSymbolUniqueId(279);
const TSymbolUniqueId BuiltInId::clamp_UInt3_UInt3_UInt3                  = TSymbolUniqueId(280);
const TSymbolUniqueId BuiltInId::clamp_UInt4_UInt4_UInt4                  = TSymbolUniqueId(281);
const TSymbolUniqueId BuiltInId::mix_Float1_Float1_Float1                 = TSymbolUniqueId(282);
const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Float1                 = TSymbolUniqueId(283);
const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Float1                 = TSymbolUniqueId(284);
const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Float1                 = TSymbolUniqueId(285);
const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Float2                 = TSymbolUniqueId(286);
const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Float3                 = TSymbolUniqueId(287);
const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Float4                 = TSymbolUniqueId(288);
const TSymbolUniqueId BuiltInId::mix_Double1_Double1_Double1              = TSymbolUniqueId(289);
const TSymbolUniqueId BuiltInId::mix_Double2_Double2_Double1              = TSymbolUniqueId(290);
const TSymbolUniqueId BuiltInId::mix_Double3_Double3_Double1              = TSymbolUniqueId(291);
const TSymbolUniqueId BuiltInId::mix_Double4_Double4_Double1              = TSymbolUniqueId(292);
const TSymbolUniqueId BuiltInId::mix_Double2_Double2_Double2              = TSymbolUniqueId(293);
const TSymbolUniqueId BuiltInId::mix_Double3_Double3_Double3              = TSymbolUniqueId(294);
const TSymbolUniqueId BuiltInId::mix_Double4_Double4_Double4              = TSymbolUniqueId(295);
const TSymbolUniqueId BuiltInId::mix_Float1_Float1_Bool1                  = TSymbolUniqueId(296);
const TSymbolUniqueId BuiltInId::pt00F                                    = TSymbolUniqueId(297);
const TSymbolUniqueId BuiltInId::mix_Float2_Float2_Bool2                  = TSymbolUniqueId(298);
const TSymbolUniqueId BuiltInId::pt10F                                    = TSymbolUniqueId(299);
const TSymbolUniqueId BuiltInId::mix_Float3_Float3_Bool3                  = TSymbolUniqueId(300);
const TSymbolUniqueId BuiltInId::pt20F                                    = TSymbolUniqueId(301);
const TSymbolUniqueId BuiltInId::mix_Float4_Float4_Bool4                  = TSymbolUniqueId(302);
const TSymbolUniqueId BuiltInId::pt30F                                    = TSymbolUniqueId(303);
const TSymbolUniqueId BuiltInId::mix_Double1_Double1_Bool1                = TSymbolUniqueId(304);
const TSymbolUniqueId BuiltInId::mix_Double2_Double2_Bool2                = TSymbolUniqueId(305);
const TSymbolUniqueId BuiltInId::mix_Double3_Double3_Bool3                = TSymbolUniqueId(306);
const TSymbolUniqueId BuiltInId::mix_Double4_Double4_Bool4                = TSymbolUniqueId(307);
const TSymbolUniqueId BuiltInId::mix_Int1_Int1_Bool1                      = TSymbolUniqueId(308);
const TSymbolUniqueId BuiltInId::mix_Int2_Int2_Bool2                      = TSymbolUniqueId(309);
const TSymbolUniqueId BuiltInId::mix_Int3_Int3_Bool3                      = TSymbolUniqueId(310);
const TSymbolUniqueId BuiltInId::mix_Int4_Int4_Bool4                      = TSymbolUniqueId(311);
const TSymbolUniqueId BuiltInId::mix_UInt1_UInt1_Bool1                    = TSymbolUniqueId(312);
const TSymbolUniqueId BuiltInId::mix_UInt2_UInt2_Bool2                    = TSymbolUniqueId(313);
const TSymbolUniqueId BuiltInId::mix_UInt3_UInt3_Bool3                    = TSymbolUniqueId(314);
const TSymbolUniqueId BuiltInId::mix_UInt4_UInt4_Bool4                    = TSymbolUniqueId(315);
const TSymbolUniqueId BuiltInId::mix_Bool1_Bool1_Bool1                    = TSymbolUniqueId(316);
const TSymbolUniqueId BuiltInId::mix_Bool2_Bool2_Bool2                    = TSymbolUniqueId(317);
const TSymbolUniqueId BuiltInId::mix_Bool3_Bool3_Bool3                    = TSymbolUniqueId(318);
const TSymbolUniqueId BuiltInId::mix_Bool4_Bool4_Bool4                    = TSymbolUniqueId(319);
const TSymbolUniqueId BuiltInId::step_Float1_Float1                       = TSymbolUniqueId(320);
const TSymbolUniqueId BuiltInId::step_Float2_Float2                       = TSymbolUniqueId(321);
const TSymbolUniqueId BuiltInId::step_Float3_Float3                       = TSymbolUniqueId(322);
const TSymbolUniqueId BuiltInId::step_Float4_Float4                       = TSymbolUniqueId(323);
const TSymbolUniqueId BuiltInId::step_Float1_Float2                       = TSymbolUniqueId(324);
const TSymbolUniqueId BuiltInId::step_Float1_Float3                       = TSymbolUniqueId(325);
const TSymbolUniqueId BuiltInId::step_Float1_Float4                       = TSymbolUniqueId(326);
const TSymbolUniqueId BuiltInId::step_Double1_Double1                     = TSymbolUniqueId(327);
const TSymbolUniqueId BuiltInId::step_Double2_Double2                     = TSymbolUniqueId(328);
const TSymbolUniqueId BuiltInId::step_Double3_Double3                     = TSymbolUniqueId(329);
const TSymbolUniqueId BuiltInId::step_Double4_Double4                     = TSymbolUniqueId(330);
const TSymbolUniqueId BuiltInId::step_Double1_Double2                     = TSymbolUniqueId(331);
const TSymbolUniqueId BuiltInId::step_Double1_Double3                     = TSymbolUniqueId(332);
const TSymbolUniqueId BuiltInId::step_Double1_Double4                     = TSymbolUniqueId(333);
const TSymbolUniqueId BuiltInId::smoothstep_Double1_Double1_Double1       = TSymbolUniqueId(334);
const TSymbolUniqueId BuiltInId::smoothstep_Double2_Double2_Double2       = TSymbolUniqueId(335);
const TSymbolUniqueId BuiltInId::smoothstep_Double3_Double3_Double3       = TSymbolUniqueId(336);
const TSymbolUniqueId BuiltInId::smoothstep_Double4_Double4_Double4       = TSymbolUniqueId(337);
const TSymbolUniqueId BuiltInId::smoothstep_Double1_Double1_Double2       = TSymbolUniqueId(338);
const TSymbolUniqueId BuiltInId::smoothstep_Double1_Double1_Double3       = TSymbolUniqueId(339);
const TSymbolUniqueId BuiltInId::smoothstep_Double1_Double1_Double4       = TSymbolUniqueId(340);
const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float1          = TSymbolUniqueId(341);
const TSymbolUniqueId BuiltInId::smoothstep_Float2_Float2_Float2          = TSymbolUniqueId(342);
const TSymbolUniqueId BuiltInId::smoothstep_Float3_Float3_Float3          = TSymbolUniqueId(343);
const TSymbolUniqueId BuiltInId::smoothstep_Float4_Float4_Float4          = TSymbolUniqueId(344);
const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float2          = TSymbolUniqueId(345);
const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float3          = TSymbolUniqueId(346);
const TSymbolUniqueId BuiltInId::smoothstep_Float1_Float1_Float4          = TSymbolUniqueId(347);
const TSymbolUniqueId BuiltInId::modf_Float1_Float1                       = TSymbolUniqueId(348);
const TSymbolUniqueId BuiltInId::pt_o_00B                                 = TSymbolUniqueId(349);
const TSymbolUniqueId BuiltInId::modf_Float2_Float2                       = TSymbolUniqueId(350);
const TSymbolUniqueId BuiltInId::pt_o_10B                                 = TSymbolUniqueId(351);
const TSymbolUniqueId BuiltInId::modf_Float3_Float3                       = TSymbolUniqueId(352);
const TSymbolUniqueId BuiltInId::pt_o_20B                                 = TSymbolUniqueId(353);
const TSymbolUniqueId BuiltInId::modf_Float4_Float4                       = TSymbolUniqueId(354);
const TSymbolUniqueId BuiltInId::pt_o_30B                                 = TSymbolUniqueId(355);
const TSymbolUniqueId BuiltInId::modf_Double1_Double1                     = TSymbolUniqueId(356);
const TSymbolUniqueId BuiltInId::pt_o_00C                                 = TSymbolUniqueId(357);
const TSymbolUniqueId BuiltInId::modf_Double2_Double2                     = TSymbolUniqueId(358);
const TSymbolUniqueId BuiltInId::pt_o_10C                                 = TSymbolUniqueId(359);
const TSymbolUniqueId BuiltInId::modf_Double3_Double3                     = TSymbolUniqueId(360);
const TSymbolUniqueId BuiltInId::pt_o_20C                                 = TSymbolUniqueId(361);
const TSymbolUniqueId BuiltInId::modf_Double4_Double4                     = TSymbolUniqueId(362);
const TSymbolUniqueId BuiltInId::pt_o_30C                                 = TSymbolUniqueId(363);
const TSymbolUniqueId BuiltInId::isnan_Float1                             = TSymbolUniqueId(364);
const TSymbolUniqueId BuiltInId::isnan_Float2                             = TSymbolUniqueId(365);
const TSymbolUniqueId BuiltInId::isnan_Float3                             = TSymbolUniqueId(366);
const TSymbolUniqueId BuiltInId::isnan_Float4                             = TSymbolUniqueId(367);
const TSymbolUniqueId BuiltInId::isnan_Double1                            = TSymbolUniqueId(368);
const TSymbolUniqueId BuiltInId::isnan_Double2                            = TSymbolUniqueId(369);
const TSymbolUniqueId BuiltInId::isnan_Double3                            = TSymbolUniqueId(370);
const TSymbolUniqueId BuiltInId::isnan_Double4                            = TSymbolUniqueId(371);
const TSymbolUniqueId BuiltInId::isinf_Float1                             = TSymbolUniqueId(372);
const TSymbolUniqueId BuiltInId::isinf_Float2                             = TSymbolUniqueId(373);
const TSymbolUniqueId BuiltInId::isinf_Float3                             = TSymbolUniqueId(374);
const TSymbolUniqueId BuiltInId::isinf_Float4                             = TSymbolUniqueId(375);
const TSymbolUniqueId BuiltInId::isinf_Double1                            = TSymbolUniqueId(376);
const TSymbolUniqueId BuiltInId::isinf_Double2                            = TSymbolUniqueId(377);
const TSymbolUniqueId BuiltInId::isinf_Double3                            = TSymbolUniqueId(378);
const TSymbolUniqueId BuiltInId::isinf_Double4                            = TSymbolUniqueId(379);
const TSymbolUniqueId BuiltInId::floatBitsToInt_Float1                    = TSymbolUniqueId(380);
const TSymbolUniqueId BuiltInId::floatBitsToInt_Float2                    = TSymbolUniqueId(381);
const TSymbolUniqueId BuiltInId::floatBitsToInt_Float3                    = TSymbolUniqueId(382);
const TSymbolUniqueId BuiltInId::floatBitsToInt_Float4                    = TSymbolUniqueId(383);
const TSymbolUniqueId BuiltInId::floatBitsToUint_Float1                   = TSymbolUniqueId(384);
const TSymbolUniqueId BuiltInId::floatBitsToUint_Float2                   = TSymbolUniqueId(385);
const TSymbolUniqueId BuiltInId::floatBitsToUint_Float3                   = TSymbolUniqueId(386);
const TSymbolUniqueId BuiltInId::floatBitsToUint_Float4                   = TSymbolUniqueId(387);
const TSymbolUniqueId BuiltInId::intBitsToFloat_Int1                      = TSymbolUniqueId(388);
const TSymbolUniqueId BuiltInId::intBitsToFloat_Int2                      = TSymbolUniqueId(389);
const TSymbolUniqueId BuiltInId::intBitsToFloat_Int3                      = TSymbolUniqueId(390);
const TSymbolUniqueId BuiltInId::intBitsToFloat_Int4                      = TSymbolUniqueId(391);
const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt1                    = TSymbolUniqueId(392);
const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt2                    = TSymbolUniqueId(393);
const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt3                    = TSymbolUniqueId(394);
const TSymbolUniqueId BuiltInId::uintBitsToFloat_UInt4                    = TSymbolUniqueId(395);
const TSymbolUniqueId BuiltInId::fma_Float1_Float1_Float1                 = TSymbolUniqueId(396);
const TSymbolUniqueId BuiltInId::fma_Float2_Float2_Float2                 = TSymbolUniqueId(397);
const TSymbolUniqueId BuiltInId::fma_Float3_Float3_Float3                 = TSymbolUniqueId(398);
const TSymbolUniqueId BuiltInId::fma_Float4_Float4_Float4                 = TSymbolUniqueId(399);
const TSymbolUniqueId BuiltInId::fma_Double1_Double1_Double1              = TSymbolUniqueId(400);
const TSymbolUniqueId BuiltInId::fma_Double2_Double2_Double2              = TSymbolUniqueId(401);
const TSymbolUniqueId BuiltInId::fma_Double3_Double3_Double3              = TSymbolUniqueId(402);
const TSymbolUniqueId BuiltInId::fma_Double4_Double4_Double4              = TSymbolUniqueId(403);
const TSymbolUniqueId BuiltInId::frexp_Float1_Int1                        = TSymbolUniqueId(404);
const TSymbolUniqueId BuiltInId::pt_o_00D                                 = TSymbolUniqueId(405);
const TSymbolUniqueId BuiltInId::frexp_Float2_Int2                        = TSymbolUniqueId(406);
const TSymbolUniqueId BuiltInId::pt_o_10D                                 = TSymbolUniqueId(407);
const TSymbolUniqueId BuiltInId::frexp_Float3_Int3                        = TSymbolUniqueId(408);
const TSymbolUniqueId BuiltInId::pt_o_20D                                 = TSymbolUniqueId(409);
const TSymbolUniqueId BuiltInId::frexp_Float4_Int4                        = TSymbolUniqueId(410);
const TSymbolUniqueId BuiltInId::pt_o_30D                                 = TSymbolUniqueId(411);
const TSymbolUniqueId BuiltInId::frexp_Double1_Int1                       = TSymbolUniqueId(412);
const TSymbolUniqueId BuiltInId::frexp_Double2_Int2                       = TSymbolUniqueId(413);
const TSymbolUniqueId BuiltInId::frexp_Double3_Int3                       = TSymbolUniqueId(414);
const TSymbolUniqueId BuiltInId::frexp_Double4_Int4                       = TSymbolUniqueId(415);
const TSymbolUniqueId BuiltInId::ldexp_Float1_Int1                        = TSymbolUniqueId(416);
const TSymbolUniqueId BuiltInId::ldexp_Float2_Int2                        = TSymbolUniqueId(417);
const TSymbolUniqueId BuiltInId::ldexp_Float3_Int3                        = TSymbolUniqueId(418);
const TSymbolUniqueId BuiltInId::ldexp_Float4_Int4                        = TSymbolUniqueId(419);
const TSymbolUniqueId BuiltInId::ldexp_Double1_Int1                       = TSymbolUniqueId(420);
const TSymbolUniqueId BuiltInId::ldexp_Double2_Int2                       = TSymbolUniqueId(421);
const TSymbolUniqueId BuiltInId::ldexp_Double3_Int3                       = TSymbolUniqueId(422);
const TSymbolUniqueId BuiltInId::ldexp_Double4_Int4                       = TSymbolUniqueId(423);
const TSymbolUniqueId BuiltInId::packSnorm2x16_Float2                     = TSymbolUniqueId(424);
const TSymbolUniqueId BuiltInId::packHalf2x16_Float2                      = TSymbolUniqueId(425);
const TSymbolUniqueId BuiltInId::unpackSnorm2x16_UInt1                    = TSymbolUniqueId(426);
const TSymbolUniqueId BuiltInId::unpackHalf2x16_UInt1                     = TSymbolUniqueId(427);
const TSymbolUniqueId BuiltInId::packUnorm2x16_Float2                     = TSymbolUniqueId(428);
const TSymbolUniqueId BuiltInId::unpackUnorm2x16_UInt1                    = TSymbolUniqueId(429);
const TSymbolUniqueId BuiltInId::packUnorm4x8_Float4                      = TSymbolUniqueId(430);
const TSymbolUniqueId BuiltInId::packSnorm4x8_Float4                      = TSymbolUniqueId(431);
const TSymbolUniqueId BuiltInId::unpackUnorm4x8_UInt1                     = TSymbolUniqueId(432);
const TSymbolUniqueId BuiltInId::unpackSnorm4x8_UInt1                     = TSymbolUniqueId(433);
const TSymbolUniqueId BuiltInId::packDouble2x32_UInt2                     = TSymbolUniqueId(434);
const TSymbolUniqueId BuiltInId::unpackDouble2x32_Double1                 = TSymbolUniqueId(435);
const TSymbolUniqueId BuiltInId::length_Float1                            = TSymbolUniqueId(436);
const TSymbolUniqueId BuiltInId::length_Float2                            = TSymbolUniqueId(437);
const TSymbolUniqueId BuiltInId::length_Float3                            = TSymbolUniqueId(438);
const TSymbolUniqueId BuiltInId::length_Float4                            = TSymbolUniqueId(439);
const TSymbolUniqueId BuiltInId::length_Double1                           = TSymbolUniqueId(440);
const TSymbolUniqueId BuiltInId::length_Double2                           = TSymbolUniqueId(441);
const TSymbolUniqueId BuiltInId::length_Double3                           = TSymbolUniqueId(442);
const TSymbolUniqueId BuiltInId::length_Double4                           = TSymbolUniqueId(443);
const TSymbolUniqueId BuiltInId::distance_Float1_Float1                   = TSymbolUniqueId(444);
const TSymbolUniqueId BuiltInId::distance_Float2_Float2                   = TSymbolUniqueId(445);
const TSymbolUniqueId BuiltInId::distance_Float3_Float3                   = TSymbolUniqueId(446);
const TSymbolUniqueId BuiltInId::distance_Float4_Float4                   = TSymbolUniqueId(447);
const TSymbolUniqueId BuiltInId::distance_Double1_Double1                 = TSymbolUniqueId(448);
const TSymbolUniqueId BuiltInId::distance_Double2_Double2                 = TSymbolUniqueId(449);
const TSymbolUniqueId BuiltInId::distance_Double3_Double3                 = TSymbolUniqueId(450);
const TSymbolUniqueId BuiltInId::distance_Double4_Double4                 = TSymbolUniqueId(451);
const TSymbolUniqueId BuiltInId::dot_Float1_Float1                        = TSymbolUniqueId(452);
const TSymbolUniqueId BuiltInId::dot_Float2_Float2                        = TSymbolUniqueId(453);
const TSymbolUniqueId BuiltInId::dot_Float3_Float3                        = TSymbolUniqueId(454);
const TSymbolUniqueId BuiltInId::dot_Float4_Float4                        = TSymbolUniqueId(455);
const TSymbolUniqueId BuiltInId::dot_Double1_Double1                      = TSymbolUniqueId(456);
const TSymbolUniqueId BuiltInId::dot_Double2_Double2                      = TSymbolUniqueId(457);
const TSymbolUniqueId BuiltInId::dot_Double3_Double3                      = TSymbolUniqueId(458);
const TSymbolUniqueId BuiltInId::dot_Double4_Double4                      = TSymbolUniqueId(459);
const TSymbolUniqueId BuiltInId::cross_Float3_Float3                      = TSymbolUniqueId(460);
const TSymbolUniqueId BuiltInId::cross_Double3_Double3                    = TSymbolUniqueId(461);
const TSymbolUniqueId BuiltInId::normalize_Float1                         = TSymbolUniqueId(462);
const TSymbolUniqueId BuiltInId::normalize_Float2                         = TSymbolUniqueId(463);
const TSymbolUniqueId BuiltInId::normalize_Float3                         = TSymbolUniqueId(464);
const TSymbolUniqueId BuiltInId::normalize_Float4                         = TSymbolUniqueId(465);
const TSymbolUniqueId BuiltInId::normalize_Double1                        = TSymbolUniqueId(466);
const TSymbolUniqueId BuiltInId::normalize_Double2                        = TSymbolUniqueId(467);
const TSymbolUniqueId BuiltInId::normalize_Double3                        = TSymbolUniqueId(468);
const TSymbolUniqueId BuiltInId::normalize_Double4                        = TSymbolUniqueId(469);
const TSymbolUniqueId BuiltInId::faceforward_Float1_Float1_Float1         = TSymbolUniqueId(470);
const TSymbolUniqueId BuiltInId::faceforward_Float2_Float2_Float2         = TSymbolUniqueId(471);
const TSymbolUniqueId BuiltInId::faceforward_Float3_Float3_Float3         = TSymbolUniqueId(472);
const TSymbolUniqueId BuiltInId::faceforward_Float4_Float4_Float4         = TSymbolUniqueId(473);
const TSymbolUniqueId BuiltInId::faceforward_Double1_Double1_Double1      = TSymbolUniqueId(474);
const TSymbolUniqueId BuiltInId::faceforward_Double2_Double2_Double2      = TSymbolUniqueId(475);
const TSymbolUniqueId BuiltInId::faceforward_Double3_Double3_Double3      = TSymbolUniqueId(476);
const TSymbolUniqueId BuiltInId::faceforward_Double4_Double4_Double4      = TSymbolUniqueId(477);
const TSymbolUniqueId BuiltInId::reflect_Float1_Float1                    = TSymbolUniqueId(478);
const TSymbolUniqueId BuiltInId::reflect_Float2_Float2                    = TSymbolUniqueId(479);
const TSymbolUniqueId BuiltInId::reflect_Float3_Float3                    = TSymbolUniqueId(480);
const TSymbolUniqueId BuiltInId::reflect_Float4_Float4                    = TSymbolUniqueId(481);
const TSymbolUniqueId BuiltInId::reflect_Double1_Double1                  = TSymbolUniqueId(482);
const TSymbolUniqueId BuiltInId::reflect_Double2_Double2                  = TSymbolUniqueId(483);
const TSymbolUniqueId BuiltInId::reflect_Double3_Double3                  = TSymbolUniqueId(484);
const TSymbolUniqueId BuiltInId::reflect_Double4_Double4                  = TSymbolUniqueId(485);
const TSymbolUniqueId BuiltInId::refract_Float1_Float1_Float1             = TSymbolUniqueId(486);
const TSymbolUniqueId BuiltInId::refract_Float2_Float2_Float1             = TSymbolUniqueId(487);
const TSymbolUniqueId BuiltInId::refract_Float3_Float3_Float1             = TSymbolUniqueId(488);
const TSymbolUniqueId BuiltInId::refract_Float4_Float4_Float1             = TSymbolUniqueId(489);
const TSymbolUniqueId BuiltInId::refract_Double1_Double1_Float1           = TSymbolUniqueId(490);
const TSymbolUniqueId BuiltInId::refract_Double2_Double2_Float1           = TSymbolUniqueId(491);
const TSymbolUniqueId BuiltInId::refract_Double3_Double3_Float1           = TSymbolUniqueId(492);
const TSymbolUniqueId BuiltInId::refract_Double4_Double4_Float1           = TSymbolUniqueId(493);
const TSymbolUniqueId BuiltInId::ftransform                               = TSymbolUniqueId(494);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x2_Float2x2         = TSymbolUniqueId(495);
const TSymbolUniqueId BuiltInId::pt50B                                    = TSymbolUniqueId(496);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x3_Float3x3         = TSymbolUniqueId(497);
const TSymbolUniqueId BuiltInId::ptA0B                                    = TSymbolUniqueId(498);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x4_Float4x4         = TSymbolUniqueId(499);
const TSymbolUniqueId BuiltInId::ptF0B                                    = TSymbolUniqueId(500);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x3_Float2x3         = TSymbolUniqueId(501);
const TSymbolUniqueId BuiltInId::pt90B                                    = TSymbolUniqueId(502);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x2_Float3x2         = TSymbolUniqueId(503);
const TSymbolUniqueId BuiltInId::pt60B                                    = TSymbolUniqueId(504);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float2x4_Float2x4         = TSymbolUniqueId(505);
const TSymbolUniqueId BuiltInId::ptD0B                                    = TSymbolUniqueId(506);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x2_Float4x2         = TSymbolUniqueId(507);
const TSymbolUniqueId BuiltInId::pt70B                                    = TSymbolUniqueId(508);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float3x4_Float3x4         = TSymbolUniqueId(509);
const TSymbolUniqueId BuiltInId::ptE0B                                    = TSymbolUniqueId(510);
const TSymbolUniqueId BuiltInId::matrixCompMult_Float4x3_Float4x3         = TSymbolUniqueId(511);
const TSymbolUniqueId BuiltInId::ptB0B                                    = TSymbolUniqueId(512);
const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float2               = TSymbolUniqueId(513);
const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float3               = TSymbolUniqueId(514);
const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float4               = TSymbolUniqueId(515);
const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float2               = TSymbolUniqueId(516);
const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float3               = TSymbolUniqueId(517);
const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float2               = TSymbolUniqueId(518);
const TSymbolUniqueId BuiltInId::outerProduct_Float2_Float4               = TSymbolUniqueId(519);
const TSymbolUniqueId BuiltInId::outerProduct_Float4_Float3               = TSymbolUniqueId(520);
const TSymbolUniqueId BuiltInId::outerProduct_Float3_Float4               = TSymbolUniqueId(521);
const TSymbolUniqueId BuiltInId::transpose_Float2x2                       = TSymbolUniqueId(522);
const TSymbolUniqueId BuiltInId::transpose_Float3x3                       = TSymbolUniqueId(523);
const TSymbolUniqueId BuiltInId::transpose_Float4x4                       = TSymbolUniqueId(524);
const TSymbolUniqueId BuiltInId::transpose_Float3x2                       = TSymbolUniqueId(525);
const TSymbolUniqueId BuiltInId::transpose_Float2x3                       = TSymbolUniqueId(526);
const TSymbolUniqueId BuiltInId::transpose_Float4x2                       = TSymbolUniqueId(527);
const TSymbolUniqueId BuiltInId::transpose_Float2x4                       = TSymbolUniqueId(528);
const TSymbolUniqueId BuiltInId::transpose_Float4x3                       = TSymbolUniqueId(529);
const TSymbolUniqueId BuiltInId::transpose_Float3x4                       = TSymbolUniqueId(530);
const TSymbolUniqueId BuiltInId::determinant_Float2x2                     = TSymbolUniqueId(531);
const TSymbolUniqueId BuiltInId::determinant_Float3x3                     = TSymbolUniqueId(532);
const TSymbolUniqueId BuiltInId::determinant_Float4x4                     = TSymbolUniqueId(533);
const TSymbolUniqueId BuiltInId::inverse_Float2x2                         = TSymbolUniqueId(534);
const TSymbolUniqueId BuiltInId::inverse_Float3x3                         = TSymbolUniqueId(535);
const TSymbolUniqueId BuiltInId::inverse_Float4x4                         = TSymbolUniqueId(536);
const TSymbolUniqueId BuiltInId::lessThan_Float2_Float2                   = TSymbolUniqueId(537);
const TSymbolUniqueId BuiltInId::lessThan_Float3_Float3                   = TSymbolUniqueId(538);
const TSymbolUniqueId BuiltInId::lessThan_Float4_Float4                   = TSymbolUniqueId(539);
const TSymbolUniqueId BuiltInId::lessThan_Int2_Int2                       = TSymbolUniqueId(540);
const TSymbolUniqueId BuiltInId::lessThan_Int3_Int3                       = TSymbolUniqueId(541);
const TSymbolUniqueId BuiltInId::lessThan_Int4_Int4                       = TSymbolUniqueId(542);
const TSymbolUniqueId BuiltInId::lessThan_UInt2_UInt2                     = TSymbolUniqueId(543);
const TSymbolUniqueId BuiltInId::lessThan_UInt3_UInt3                     = TSymbolUniqueId(544);
const TSymbolUniqueId BuiltInId::lessThan_UInt4_UInt4                     = TSymbolUniqueId(545);
const TSymbolUniqueId BuiltInId::lessThanEqual_Float2_Float2              = TSymbolUniqueId(546);
const TSymbolUniqueId BuiltInId::lessThanEqual_Float3_Float3              = TSymbolUniqueId(547);
const TSymbolUniqueId BuiltInId::lessThanEqual_Float4_Float4              = TSymbolUniqueId(548);
const TSymbolUniqueId BuiltInId::lessThanEqual_Int2_Int2                  = TSymbolUniqueId(549);
const TSymbolUniqueId BuiltInId::lessThanEqual_Int3_Int3                  = TSymbolUniqueId(550);
const TSymbolUniqueId BuiltInId::lessThanEqual_Int4_Int4                  = TSymbolUniqueId(551);
const TSymbolUniqueId BuiltInId::lessThanEqual_UInt2_UInt2                = TSymbolUniqueId(552);
const TSymbolUniqueId BuiltInId::lessThanEqual_UInt3_UInt3                = TSymbolUniqueId(553);
const TSymbolUniqueId BuiltInId::lessThanEqual_UInt4_UInt4                = TSymbolUniqueId(554);
const TSymbolUniqueId BuiltInId::greaterThan_Float2_Float2                = TSymbolUniqueId(555);
const TSymbolUniqueId BuiltInId::greaterThan_Float3_Float3                = TSymbolUniqueId(556);
const TSymbolUniqueId BuiltInId::greaterThan_Float4_Float4                = TSymbolUniqueId(557);
const TSymbolUniqueId BuiltInId::greaterThan_Int2_Int2                    = TSymbolUniqueId(558);
const TSymbolUniqueId BuiltInId::greaterThan_Int3_Int3                    = TSymbolUniqueId(559);
const TSymbolUniqueId BuiltInId::greaterThan_Int4_Int4                    = TSymbolUniqueId(560);
const TSymbolUniqueId BuiltInId::greaterThan_UInt2_UInt2                  = TSymbolUniqueId(561);
const TSymbolUniqueId BuiltInId::greaterThan_UInt3_UInt3                  = TSymbolUniqueId(562);
const TSymbolUniqueId BuiltInId::greaterThan_UInt4_UInt4                  = TSymbolUniqueId(563);
const TSymbolUniqueId BuiltInId::greaterThanEqual_Float2_Float2           = TSymbolUniqueId(564);
const TSymbolUniqueId BuiltInId::greaterThanEqual_Float3_Float3           = TSymbolUniqueId(565);
const TSymbolUniqueId BuiltInId::greaterThanEqual_Float4_Float4           = TSymbolUniqueId(566);
const TSymbolUniqueId BuiltInId::greaterThanEqual_Int2_Int2               = TSymbolUniqueId(567);
const TSymbolUniqueId BuiltInId::greaterThanEqual_Int3_Int3               = TSymbolUniqueId(568);
const TSymbolUniqueId BuiltInId::greaterThanEqual_Int4_Int4               = TSymbolUniqueId(569);
const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt2_UInt2             = TSymbolUniqueId(570);
const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt3_UInt3             = TSymbolUniqueId(571);
const TSymbolUniqueId BuiltInId::greaterThanEqual_UInt4_UInt4             = TSymbolUniqueId(572);
const TSymbolUniqueId BuiltInId::equal_Float2_Float2                      = TSymbolUniqueId(573);
const TSymbolUniqueId BuiltInId::equal_Float3_Float3                      = TSymbolUniqueId(574);
const TSymbolUniqueId BuiltInId::equal_Float4_Float4                      = TSymbolUniqueId(575);
const TSymbolUniqueId BuiltInId::equal_Int2_Int2                          = TSymbolUniqueId(576);
const TSymbolUniqueId BuiltInId::equal_Int3_Int3                          = TSymbolUniqueId(577);
const TSymbolUniqueId BuiltInId::equal_Int4_Int4                          = TSymbolUniqueId(578);
const TSymbolUniqueId BuiltInId::equal_UInt2_UInt2                        = TSymbolUniqueId(579);
const TSymbolUniqueId BuiltInId::equal_UInt3_UInt3                        = TSymbolUniqueId(580);
const TSymbolUniqueId BuiltInId::equal_UInt4_UInt4                        = TSymbolUniqueId(581);
const TSymbolUniqueId BuiltInId::equal_Bool2_Bool2                        = TSymbolUniqueId(582);
const TSymbolUniqueId BuiltInId::equal_Bool3_Bool3                        = TSymbolUniqueId(583);
const TSymbolUniqueId BuiltInId::equal_Bool4_Bool4                        = TSymbolUniqueId(584);
const TSymbolUniqueId BuiltInId::notEqual_Float2_Float2                   = TSymbolUniqueId(585);
const TSymbolUniqueId BuiltInId::notEqual_Float3_Float3                   = TSymbolUniqueId(586);
const TSymbolUniqueId BuiltInId::notEqual_Float4_Float4                   = TSymbolUniqueId(587);
const TSymbolUniqueId BuiltInId::notEqual_Int2_Int2                       = TSymbolUniqueId(588);
const TSymbolUniqueId BuiltInId::notEqual_Int3_Int3                       = TSymbolUniqueId(589);
const TSymbolUniqueId BuiltInId::notEqual_Int4_Int4                       = TSymbolUniqueId(590);
const TSymbolUniqueId BuiltInId::notEqual_UInt2_UInt2                     = TSymbolUniqueId(591);
const TSymbolUniqueId BuiltInId::notEqual_UInt3_UInt3                     = TSymbolUniqueId(592);
const TSymbolUniqueId BuiltInId::notEqual_UInt4_UInt4                     = TSymbolUniqueId(593);
const TSymbolUniqueId BuiltInId::notEqual_Bool2_Bool2                     = TSymbolUniqueId(594);
const TSymbolUniqueId BuiltInId::notEqual_Bool3_Bool3                     = TSymbolUniqueId(595);
const TSymbolUniqueId BuiltInId::notEqual_Bool4_Bool4                     = TSymbolUniqueId(596);
const TSymbolUniqueId BuiltInId::any_Bool2                                = TSymbolUniqueId(597);
const TSymbolUniqueId BuiltInId::any_Bool3                                = TSymbolUniqueId(598);
const TSymbolUniqueId BuiltInId::any_Bool4                                = TSymbolUniqueId(599);
const TSymbolUniqueId BuiltInId::all_Bool2                                = TSymbolUniqueId(600);
const TSymbolUniqueId BuiltInId::all_Bool3                                = TSymbolUniqueId(601);
const TSymbolUniqueId BuiltInId::all_Bool4                                = TSymbolUniqueId(602);
const TSymbolUniqueId BuiltInId::notFunc_Bool2                            = TSymbolUniqueId(603);
const TSymbolUniqueId BuiltInId::notFunc_Bool3                            = TSymbolUniqueId(604);
const TSymbolUniqueId BuiltInId::notFunc_Bool4                            = TSymbolUniqueId(605);
const TSymbolUniqueId BuiltInId::bitfieldExtract_Int1_Int1_Int1           = TSymbolUniqueId(606);
const TSymbolUniqueId BuiltInId::bitfieldExtract_Int2_Int1_Int1           = TSymbolUniqueId(607);
const TSymbolUniqueId BuiltInId::bitfieldExtract_Int3_Int1_Int1           = TSymbolUniqueId(608);
const TSymbolUniqueId BuiltInId::bitfieldExtract_Int4_Int1_Int1           = TSymbolUniqueId(609);
const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt1_Int1_Int1          = TSymbolUniqueId(610);
const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt2_Int1_Int1          = TSymbolUniqueId(611);
const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt3_Int1_Int1          = TSymbolUniqueId(612);
const TSymbolUniqueId BuiltInId::bitfieldExtract_UInt4_Int1_Int1          = TSymbolUniqueId(613);
const TSymbolUniqueId BuiltInId::bitfieldInsert_Int1_Int1_Int1_Int1       = TSymbolUniqueId(614);
const TSymbolUniqueId BuiltInId::bitfieldInsert_Int2_Int2_Int1_Int1       = TSymbolUniqueId(615);
const TSymbolUniqueId BuiltInId::bitfieldInsert_Int3_Int3_Int1_Int1       = TSymbolUniqueId(616);
const TSymbolUniqueId BuiltInId::bitfieldInsert_Int4_Int4_Int1_Int1       = TSymbolUniqueId(617);
const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt1_UInt1_Int1_Int1     = TSymbolUniqueId(618);
const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt2_UInt2_Int1_Int1     = TSymbolUniqueId(619);
const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt3_UInt3_Int1_Int1     = TSymbolUniqueId(620);
const TSymbolUniqueId BuiltInId::bitfieldInsert_UInt4_UInt4_Int1_Int1     = TSymbolUniqueId(621);
const TSymbolUniqueId BuiltInId::bitfieldReverse_Int1                     = TSymbolUniqueId(622);
const TSymbolUniqueId BuiltInId::bitfieldReverse_Int2                     = TSymbolUniqueId(623);
const TSymbolUniqueId BuiltInId::bitfieldReverse_Int3                     = TSymbolUniqueId(624);
const TSymbolUniqueId BuiltInId::bitfieldReverse_Int4                     = TSymbolUniqueId(625);
const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt1                    = TSymbolUniqueId(626);
const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt2                    = TSymbolUniqueId(627);
const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt3                    = TSymbolUniqueId(628);
const TSymbolUniqueId BuiltInId::bitfieldReverse_UInt4                    = TSymbolUniqueId(629);
const TSymbolUniqueId BuiltInId::bitCount_Int1                            = TSymbolUniqueId(630);
const TSymbolUniqueId BuiltInId::bitCount_Int2                            = TSymbolUniqueId(631);
const TSymbolUniqueId BuiltInId::bitCount_Int3                            = TSymbolUniqueId(632);
const TSymbolUniqueId BuiltInId::bitCount_Int4                            = TSymbolUniqueId(633);
const TSymbolUniqueId BuiltInId::bitCount_UInt1                           = TSymbolUniqueId(634);
const TSymbolUniqueId BuiltInId::bitCount_UInt2                           = TSymbolUniqueId(635);
const TSymbolUniqueId BuiltInId::bitCount_UInt3                           = TSymbolUniqueId(636);
const TSymbolUniqueId BuiltInId::bitCount_UInt4                           = TSymbolUniqueId(637);
const TSymbolUniqueId BuiltInId::findLSB_Int1                             = TSymbolUniqueId(638);
const TSymbolUniqueId BuiltInId::findLSB_Int2                             = TSymbolUniqueId(639);
const TSymbolUniqueId BuiltInId::findLSB_Int3                             = TSymbolUniqueId(640);
const TSymbolUniqueId BuiltInId::findLSB_Int4                             = TSymbolUniqueId(641);
const TSymbolUniqueId BuiltInId::findLSB_UInt1                            = TSymbolUniqueId(642);
const TSymbolUniqueId BuiltInId::findLSB_UInt2                            = TSymbolUniqueId(643);
const TSymbolUniqueId BuiltInId::findLSB_UInt3                            = TSymbolUniqueId(644);
const TSymbolUniqueId BuiltInId::findLSB_UInt4                            = TSymbolUniqueId(645);
const TSymbolUniqueId BuiltInId::findMSB_Int1                             = TSymbolUniqueId(646);
const TSymbolUniqueId BuiltInId::findMSB_Int2                             = TSymbolUniqueId(647);
const TSymbolUniqueId BuiltInId::findMSB_Int3                             = TSymbolUniqueId(648);
const TSymbolUniqueId BuiltInId::findMSB_Int4                             = TSymbolUniqueId(649);
const TSymbolUniqueId BuiltInId::findMSB_UInt1                            = TSymbolUniqueId(650);
const TSymbolUniqueId BuiltInId::findMSB_UInt2                            = TSymbolUniqueId(651);
const TSymbolUniqueId BuiltInId::findMSB_UInt3                            = TSymbolUniqueId(652);
const TSymbolUniqueId BuiltInId::findMSB_UInt4                            = TSymbolUniqueId(653);
const TSymbolUniqueId BuiltInId::uaddCarry_UInt1_UInt1_UInt1              = TSymbolUniqueId(654);
const TSymbolUniqueId BuiltInId::pt_o_00E                                 = TSymbolUniqueId(655);
const TSymbolUniqueId BuiltInId::uaddCarry_UInt2_UInt2_UInt2              = TSymbolUniqueId(656);
const TSymbolUniqueId BuiltInId::pt_o_10E                                 = TSymbolUniqueId(657);
const TSymbolUniqueId BuiltInId::uaddCarry_UInt3_UInt3_UInt3              = TSymbolUniqueId(658);
const TSymbolUniqueId BuiltInId::pt_o_20E                                 = TSymbolUniqueId(659);
const TSymbolUniqueId BuiltInId::uaddCarry_UInt4_UInt4_UInt4              = TSymbolUniqueId(660);
const TSymbolUniqueId BuiltInId::pt_o_30E                                 = TSymbolUniqueId(661);
const TSymbolUniqueId BuiltInId::usubBorrow_UInt1_UInt1_UInt1             = TSymbolUniqueId(662);
const TSymbolUniqueId BuiltInId::usubBorrow_UInt2_UInt2_UInt2             = TSymbolUniqueId(663);
const TSymbolUniqueId BuiltInId::usubBorrow_UInt3_UInt3_UInt3             = TSymbolUniqueId(664);
const TSymbolUniqueId BuiltInId::usubBorrow_UInt4_UInt4_UInt4             = TSymbolUniqueId(665);
const TSymbolUniqueId BuiltInId::umulExtended_UInt1_UInt1_UInt1_UInt1     = TSymbolUniqueId(666);
const TSymbolUniqueId BuiltInId::umulExtended_UInt2_UInt2_UInt2_UInt2     = TSymbolUniqueId(667);
const TSymbolUniqueId BuiltInId::umulExtended_UInt3_UInt3_UInt3_UInt3     = TSymbolUniqueId(668);
const TSymbolUniqueId BuiltInId::umulExtended_UInt4_UInt4_UInt4_UInt4     = TSymbolUniqueId(669);
const TSymbolUniqueId BuiltInId::imulExtended_Int1_Int1_Int1_Int1         = TSymbolUniqueId(670);
const TSymbolUniqueId BuiltInId::imulExtended_Int2_Int2_Int2_Int2         = TSymbolUniqueId(671);
const TSymbolUniqueId BuiltInId::imulExtended_Int3_Int3_Int3_Int3         = TSymbolUniqueId(672);
const TSymbolUniqueId BuiltInId::imulExtended_Int4_Int4_Int4_Int4         = TSymbolUniqueId(673);
const TSymbolUniqueId BuiltInId::texture2D_Sampler2D1_Float2              = TSymbolUniqueId(674);
const TSymbolUniqueId BuiltInId::pt00I                                    = TSymbolUniqueId(675);
const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float3          = TSymbolUniqueId(676);
const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float4          = TSymbolUniqueId(677);
const TSymbolUniqueId BuiltInId::textureCube_SamplerCube1_Float3          = TSymbolUniqueId(678);
const TSymbolUniqueId BuiltInId::pt00K                                    = TSymbolUniqueId(679);
const TSymbolUniqueId BuiltInId::texture1D_Sampler1D1_Float1              = TSymbolUniqueId(680);
const TSymbolUniqueId BuiltInId::pt00g                                    = TSymbolUniqueId(681);
const TSymbolUniqueId BuiltInId::texture1DProj_Sampler1D1_Float2          = TSymbolUniqueId(682);
const TSymbolUniqueId BuiltInId::texture1DProj_Sampler1D1_Float4          = TSymbolUniqueId(683);
const TSymbolUniqueId BuiltInId::texture3D_Sampler3D1_Float3              = TSymbolUniqueId(684);
const TSymbolUniqueId BuiltInId::pt00J                                    = TSymbolUniqueId(685);
const TSymbolUniqueId BuiltInId::texture3DProj_Sampler3D1_Float4          = TSymbolUniqueId(686);
const TSymbolUniqueId BuiltInId::shadow1D_Sampler1DShadow1_Float3         = TSymbolUniqueId(687);
const TSymbolUniqueId BuiltInId::pt00m                                    = TSymbolUniqueId(688);
const TSymbolUniqueId BuiltInId::shadow1DProj_Sampler1DShadow1_Float4     = TSymbolUniqueId(689);
const TSymbolUniqueId BuiltInId::shadow2D_Sampler2DShadow1_Float3         = TSymbolUniqueId(690);
const TSymbolUniqueId BuiltInId::pt00d                                    = TSymbolUniqueId(691);
const TSymbolUniqueId BuiltInId::shadow2DProj_Sampler2DShadow1_Float4     = TSymbolUniqueId(692);
const TSymbolUniqueId BuiltInId::texture2D_SamplerExternalOES1_Float2     = TSymbolUniqueId(693);
const TSymbolUniqueId BuiltInId::pt00M                                    = TSymbolUniqueId(694);
const TSymbolUniqueId BuiltInId::texture2DProj_SamplerExternalOES1_Float3 = TSymbolUniqueId(695);
const TSymbolUniqueId BuiltInId::texture2DProj_SamplerExternalOES1_Float4 = TSymbolUniqueId(696);
const TSymbolUniqueId BuiltInId::texture2DRect_Sampler2DRect1_Float2      = TSymbolUniqueId(697);
const TSymbolUniqueId BuiltInId::pt00O                                    = TSymbolUniqueId(698);
const TSymbolUniqueId BuiltInId::texture2DRectProj_Sampler2DRect1_Float3  = TSymbolUniqueId(699);
const TSymbolUniqueId BuiltInId::texture2DRectProj_Sampler2DRect1_Float4  = TSymbolUniqueId(700);
const TSymbolUniqueId BuiltInId::texture_Sampler2DRect1_Float2            = TSymbolUniqueId(701);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2DRect1_Float3        = TSymbolUniqueId(702);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2DRect1_Float4        = TSymbolUniqueId(703);
const TSymbolUniqueId BuiltInId::texture2DGradEXT_Sampler2D1_Float2_Float2_Float2 =
    TSymbolUniqueId(704);
const TSymbolUniqueId BuiltInId::texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2 =
    TSymbolUniqueId(705);
const TSymbolUniqueId BuiltInId::texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2 =
    TSymbolUniqueId(706);
const TSymbolUniqueId BuiltInId::textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3 =
    TSymbolUniqueId(707);
const TSymbolUniqueId BuiltInId::texture2D_Sampler2D1_Float2_Float1          = TSymbolUniqueId(708);
const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float3_Float1      = TSymbolUniqueId(709);
const TSymbolUniqueId BuiltInId::texture2DProj_Sampler2D1_Float4_Float1      = TSymbolUniqueId(710);
const TSymbolUniqueId BuiltInId::textureCube_SamplerCube1_Float3_Float1      = TSymbolUniqueId(711);
const TSymbolUniqueId BuiltInId::texture3D_Sampler3D1_Float3_Float1          = TSymbolUniqueId(712);
const TSymbolUniqueId BuiltInId::texture3DProj_Sampler3D1_Float4_Float1      = TSymbolUniqueId(713);
const TSymbolUniqueId BuiltInId::texture3DLod_Sampler3D1_Float3_Float1       = TSymbolUniqueId(714);
const TSymbolUniqueId BuiltInId::texture3DProjLod_Sampler3D1_Float4_Float1   = TSymbolUniqueId(715);
const TSymbolUniqueId BuiltInId::texture1D_Sampler1D1_Float1_Float1          = TSymbolUniqueId(716);
const TSymbolUniqueId BuiltInId::texture1DProj_Sampler1D1_Float2_Float1      = TSymbolUniqueId(717);
const TSymbolUniqueId BuiltInId::texture1DProj_Sampler1D1_Float4_Float1      = TSymbolUniqueId(718);
const TSymbolUniqueId BuiltInId::shadow1D_Sampler1DShadow1_Float3_Float1     = TSymbolUniqueId(719);
const TSymbolUniqueId BuiltInId::shadow1DProj_Sampler1DShadow1_Float4_Float1 = TSymbolUniqueId(720);
const TSymbolUniqueId BuiltInId::shadow2D_Sampler2DShadow1_Float3_Float1     = TSymbolUniqueId(721);
const TSymbolUniqueId BuiltInId::shadow2DProj_Sampler2DShadow1_Float4_Float1 = TSymbolUniqueId(722);
const TSymbolUniqueId BuiltInId::dFdxExt_Float1                              = TSymbolUniqueId(723);
const TSymbolUniqueId BuiltInId::dFdxExt_Float2                              = TSymbolUniqueId(724);
const TSymbolUniqueId BuiltInId::dFdxExt_Float3                              = TSymbolUniqueId(725);
const TSymbolUniqueId BuiltInId::dFdxExt_Float4                              = TSymbolUniqueId(726);
const TSymbolUniqueId BuiltInId::dFdyExt_Float1                              = TSymbolUniqueId(727);
const TSymbolUniqueId BuiltInId::dFdyExt_Float2                              = TSymbolUniqueId(728);
const TSymbolUniqueId BuiltInId::dFdyExt_Float3                              = TSymbolUniqueId(729);
const TSymbolUniqueId BuiltInId::dFdyExt_Float4                              = TSymbolUniqueId(730);
const TSymbolUniqueId BuiltInId::fwidthExt_Float1                            = TSymbolUniqueId(731);
const TSymbolUniqueId BuiltInId::fwidthExt_Float2                            = TSymbolUniqueId(732);
const TSymbolUniqueId BuiltInId::fwidthExt_Float3                            = TSymbolUniqueId(733);
const TSymbolUniqueId BuiltInId::fwidthExt_Float4                            = TSymbolUniqueId(734);
const TSymbolUniqueId BuiltInId::texture2DLodEXT_Sampler2D1_Float2_Float1    = TSymbolUniqueId(735);
const TSymbolUniqueId BuiltInId::texture2DProjLodEXT_Sampler2D1_Float3_Float1 =
    TSymbolUniqueId(736);
const TSymbolUniqueId BuiltInId::texture2DProjLodEXT_Sampler2D1_Float4_Float1 =
    TSymbolUniqueId(737);
const TSymbolUniqueId BuiltInId::textureCubeLodEXT_SamplerCube1_Float3_Float1 =
    TSymbolUniqueId(738);
const TSymbolUniqueId BuiltInId::texture2DLod_Sampler2D1_Float2_Float1      = TSymbolUniqueId(739);
const TSymbolUniqueId BuiltInId::texture2DProjLod_Sampler2D1_Float3_Float1  = TSymbolUniqueId(740);
const TSymbolUniqueId BuiltInId::texture2DProjLod_Sampler2D1_Float4_Float1  = TSymbolUniqueId(741);
const TSymbolUniqueId BuiltInId::textureCubeLod_SamplerCube1_Float3_Float1  = TSymbolUniqueId(742);
const TSymbolUniqueId BuiltInId::texture1DLod_Sampler1D1_Float1_Float1      = TSymbolUniqueId(743);
const TSymbolUniqueId BuiltInId::texture1DProjLod_Sampler1D1_Float2_Float1  = TSymbolUniqueId(744);
const TSymbolUniqueId BuiltInId::texture1DProjLod_Sampler1D1_Float4_Float1  = TSymbolUniqueId(745);
const TSymbolUniqueId BuiltInId::shadow1DLod_Sampler1DShadow1_Float3_Float1 = TSymbolUniqueId(746);
const TSymbolUniqueId BuiltInId::shadow1DProjLod_Sampler1DShadow1_Float4_Float1 =
    TSymbolUniqueId(747);
const TSymbolUniqueId BuiltInId::shadow2DLod_Sampler2DShadow1_Float3_Float1 = TSymbolUniqueId(748);
const TSymbolUniqueId BuiltInId::shadow2DProjLod_Sampler2DShadow1_Float4_Float1 =
    TSymbolUniqueId(749);
const TSymbolUniqueId BuiltInId::texture_Sampler2D1_Float2            = TSymbolUniqueId(750);
const TSymbolUniqueId BuiltInId::texture_ISampler2D1_Float2           = TSymbolUniqueId(751);
const TSymbolUniqueId BuiltInId::pt00R                                = TSymbolUniqueId(752);
const TSymbolUniqueId BuiltInId::texture_USampler2D1_Float2           = TSymbolUniqueId(753);
const TSymbolUniqueId BuiltInId::pt00X                                = TSymbolUniqueId(754);
const TSymbolUniqueId BuiltInId::texture_Sampler3D1_Float3            = TSymbolUniqueId(755);
const TSymbolUniqueId BuiltInId::texture_ISampler3D1_Float3           = TSymbolUniqueId(756);
const TSymbolUniqueId BuiltInId::pt00S                                = TSymbolUniqueId(757);
const TSymbolUniqueId BuiltInId::texture_USampler3D1_Float3           = TSymbolUniqueId(758);
const TSymbolUniqueId BuiltInId::pt00Y                                = TSymbolUniqueId(759);
const TSymbolUniqueId BuiltInId::texture_SamplerCube1_Float3          = TSymbolUniqueId(760);
const TSymbolUniqueId BuiltInId::texture_ISamplerCube1_Float3         = TSymbolUniqueId(761);
const TSymbolUniqueId BuiltInId::pt00T                                = TSymbolUniqueId(762);
const TSymbolUniqueId BuiltInId::texture_USamplerCube1_Float3         = TSymbolUniqueId(763);
const TSymbolUniqueId BuiltInId::pt00Z                                = TSymbolUniqueId(764);
const TSymbolUniqueId BuiltInId::texture_Sampler2DArray1_Float3       = TSymbolUniqueId(765);
const TSymbolUniqueId BuiltInId::pt00L                                = TSymbolUniqueId(766);
const TSymbolUniqueId BuiltInId::texture_ISampler2DArray1_Float3      = TSymbolUniqueId(767);
const TSymbolUniqueId BuiltInId::pt00U                                = TSymbolUniqueId(768);
const TSymbolUniqueId BuiltInId::texture_USampler2DArray1_Float3      = TSymbolUniqueId(769);
const TSymbolUniqueId BuiltInId::pt00a                                = TSymbolUniqueId(770);
const TSymbolUniqueId BuiltInId::texture_Sampler2DShadow1_Float3      = TSymbolUniqueId(771);
const TSymbolUniqueId BuiltInId::texture_SamplerCubeShadow1_Float4    = TSymbolUniqueId(772);
const TSymbolUniqueId BuiltInId::pt00e                                = TSymbolUniqueId(773);
const TSymbolUniqueId BuiltInId::texture_Sampler2DArrayShadow1_Float4 = TSymbolUniqueId(774);
const TSymbolUniqueId BuiltInId::pt00f                                = TSymbolUniqueId(775);
const TSymbolUniqueId BuiltInId::texture_Sampler1D1_Float1            = TSymbolUniqueId(776);
const TSymbolUniqueId BuiltInId::texture_ISampler1D1_Float1           = TSymbolUniqueId(777);
const TSymbolUniqueId BuiltInId::pt00o                                = TSymbolUniqueId(778);
const TSymbolUniqueId BuiltInId::texture_USampler1D1_Float1           = TSymbolUniqueId(779);
const TSymbolUniqueId BuiltInId::pt00t                                = TSymbolUniqueId(780);
const TSymbolUniqueId BuiltInId::texture_Sampler1DShadow1_Float3      = TSymbolUniqueId(781);
const TSymbolUniqueId BuiltInId::texture_Sampler1DArray1_Float3       = TSymbolUniqueId(782);
const TSymbolUniqueId BuiltInId::pt00h                                = TSymbolUniqueId(783);
const TSymbolUniqueId BuiltInId::texture_ISampler1DArray1_Float3      = TSymbolUniqueId(784);
const TSymbolUniqueId BuiltInId::pt00p                                = TSymbolUniqueId(785);
const TSymbolUniqueId BuiltInId::texture_USampler1DArray1_Float3      = TSymbolUniqueId(786);
const TSymbolUniqueId BuiltInId::pt00u                                = TSymbolUniqueId(787);
const TSymbolUniqueId BuiltInId::texture_Sampler1DArrayShadow1_Float3 = TSymbolUniqueId(788);
const TSymbolUniqueId BuiltInId::pt00i                                = TSymbolUniqueId(789);
const TSymbolUniqueId BuiltInId::texture_ISampler2DRect1_Float2       = TSymbolUniqueId(790);
const TSymbolUniqueId BuiltInId::pt00q                                = TSymbolUniqueId(791);
const TSymbolUniqueId BuiltInId::texture_USampler2DRect1_Float2       = TSymbolUniqueId(792);
const TSymbolUniqueId BuiltInId::pt00v                                = TSymbolUniqueId(793);
const TSymbolUniqueId BuiltInId::texture_Sampler2DRectShadow1_Float3  = TSymbolUniqueId(794);
const TSymbolUniqueId BuiltInId::pt00n                                = TSymbolUniqueId(795);
const TSymbolUniqueId BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1 =
    TSymbolUniqueId(796);
const TSymbolUniqueId BuiltInId::pt00l                                     = TSymbolUniqueId(797);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float3             = TSymbolUniqueId(798);
const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float3            = TSymbolUniqueId(799);
const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float3            = TSymbolUniqueId(800);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float4             = TSymbolUniqueId(801);
const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float4            = TSymbolUniqueId(802);
const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float4            = TSymbolUniqueId(803);
const TSymbolUniqueId BuiltInId::textureProj_Sampler3D1_Float4             = TSymbolUniqueId(804);
const TSymbolUniqueId BuiltInId::textureProj_ISampler3D1_Float4            = TSymbolUniqueId(805);
const TSymbolUniqueId BuiltInId::textureProj_USampler3D1_Float4            = TSymbolUniqueId(806);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2DShadow1_Float4       = TSymbolUniqueId(807);
const TSymbolUniqueId BuiltInId::textureProj_Sampler1D1_Float2             = TSymbolUniqueId(808);
const TSymbolUniqueId BuiltInId::textureProj_ISampler1D1_Float2            = TSymbolUniqueId(809);
const TSymbolUniqueId BuiltInId::textureProj_USampler1D1_Float2            = TSymbolUniqueId(810);
const TSymbolUniqueId BuiltInId::textureProj_Sampler1D1_Float4             = TSymbolUniqueId(811);
const TSymbolUniqueId BuiltInId::textureProj_ISampler1D1_Float4            = TSymbolUniqueId(812);
const TSymbolUniqueId BuiltInId::textureProj_USampler1D1_Float4            = TSymbolUniqueId(813);
const TSymbolUniqueId BuiltInId::textureProj_Sampler1DShadow1_Float4       = TSymbolUniqueId(814);
const TSymbolUniqueId BuiltInId::textureProj_ISampler2DRect1_Float3        = TSymbolUniqueId(815);
const TSymbolUniqueId BuiltInId::textureProj_USampler2DRect1_Float3        = TSymbolUniqueId(816);
const TSymbolUniqueId BuiltInId::textureProj_ISampler2DRect1_Float4        = TSymbolUniqueId(817);
const TSymbolUniqueId BuiltInId::textureProj_USampler2DRect1_Float4        = TSymbolUniqueId(818);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2DRectShadow1_Float4   = TSymbolUniqueId(819);
const TSymbolUniqueId BuiltInId::textureLod_Sampler2D1_Float2_Float1       = TSymbolUniqueId(820);
const TSymbolUniqueId BuiltInId::textureLod_ISampler2D1_Float2_Float1      = TSymbolUniqueId(821);
const TSymbolUniqueId BuiltInId::textureLod_USampler2D1_Float2_Float1      = TSymbolUniqueId(822);
const TSymbolUniqueId BuiltInId::textureLod_Sampler3D1_Float3_Float1       = TSymbolUniqueId(823);
const TSymbolUniqueId BuiltInId::textureLod_ISampler3D1_Float3_Float1      = TSymbolUniqueId(824);
const TSymbolUniqueId BuiltInId::textureLod_USampler3D1_Float3_Float1      = TSymbolUniqueId(825);
const TSymbolUniqueId BuiltInId::textureLod_SamplerCube1_Float3_Float1     = TSymbolUniqueId(826);
const TSymbolUniqueId BuiltInId::textureLod_ISamplerCube1_Float3_Float1    = TSymbolUniqueId(827);
const TSymbolUniqueId BuiltInId::textureLod_USamplerCube1_Float3_Float1    = TSymbolUniqueId(828);
const TSymbolUniqueId BuiltInId::textureLod_Sampler2DArray1_Float3_Float1  = TSymbolUniqueId(829);
const TSymbolUniqueId BuiltInId::textureLod_ISampler2DArray1_Float3_Float1 = TSymbolUniqueId(830);
const TSymbolUniqueId BuiltInId::textureLod_USampler2DArray1_Float3_Float1 = TSymbolUniqueId(831);
const TSymbolUniqueId BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1 = TSymbolUniqueId(832);
const TSymbolUniqueId BuiltInId::textureLod_Sampler1D1_Float1_Float1       = TSymbolUniqueId(833);
const TSymbolUniqueId BuiltInId::textureLod_ISampler1D1_Float1_Float1      = TSymbolUniqueId(834);
const TSymbolUniqueId BuiltInId::textureLod_USampler1D1_Float1_Float1      = TSymbolUniqueId(835);
const TSymbolUniqueId BuiltInId::textureLod_Sampler1DShadow1_Float3_Float1 = TSymbolUniqueId(836);
const TSymbolUniqueId BuiltInId::textureLod_Sampler1DArray1_Float2_Float1  = TSymbolUniqueId(837);
const TSymbolUniqueId BuiltInId::textureLod_ISampler1DArray1_Float2_Float1 = TSymbolUniqueId(838);
const TSymbolUniqueId BuiltInId::textureLod_USampler1DArray1_Float2_Float1 = TSymbolUniqueId(839);
const TSymbolUniqueId BuiltInId::textureLod_Sampler1DArrayShadow1_Float3_Float1 =
    TSymbolUniqueId(840);
const TSymbolUniqueId BuiltInId::textureLod_SamplerCubeArray1_Float4_Float1  = TSymbolUniqueId(841);
const TSymbolUniqueId BuiltInId::pt00k                                       = TSymbolUniqueId(842);
const TSymbolUniqueId BuiltInId::textureLod_ISamplerCubeArray1_Float4_Float1 = TSymbolUniqueId(843);
const TSymbolUniqueId BuiltInId::pt00s                                       = TSymbolUniqueId(844);
const TSymbolUniqueId BuiltInId::textureLod_USamplerCubeArray1_Float4_Float1 = TSymbolUniqueId(845);
const TSymbolUniqueId BuiltInId::pt00x                                       = TSymbolUniqueId(846);
const TSymbolUniqueId BuiltInId::textureSize_Sampler2D1_Int1                 = TSymbolUniqueId(847);
const TSymbolUniqueId BuiltInId::textureSize_ISampler2D1_Int1                = TSymbolUniqueId(848);
const TSymbolUniqueId BuiltInId::textureSize_USampler2D1_Int1                = TSymbolUniqueId(849);
const TSymbolUniqueId BuiltInId::textureSize_Sampler3D1_Int1                 = TSymbolUniqueId(850);
const TSymbolUniqueId BuiltInId::textureSize_ISampler3D1_Int1                = TSymbolUniqueId(851);
const TSymbolUniqueId BuiltInId::textureSize_USampler3D1_Int1                = TSymbolUniqueId(852);
const TSymbolUniqueId BuiltInId::textureSize_SamplerCube1_Int1               = TSymbolUniqueId(853);
const TSymbolUniqueId BuiltInId::textureSize_ISamplerCube1_Int1              = TSymbolUniqueId(854);
const TSymbolUniqueId BuiltInId::textureSize_USamplerCube1_Int1              = TSymbolUniqueId(855);
const TSymbolUniqueId BuiltInId::textureSize_Sampler2DArray1_Int1            = TSymbolUniqueId(856);
const TSymbolUniqueId BuiltInId::textureSize_ISampler2DArray1_Int1           = TSymbolUniqueId(857);
const TSymbolUniqueId BuiltInId::textureSize_USampler2DArray1_Int1           = TSymbolUniqueId(858);
const TSymbolUniqueId BuiltInId::textureSize_Sampler2DShadow1_Int1           = TSymbolUniqueId(859);
const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeShadow1_Int1         = TSymbolUniqueId(860);
const TSymbolUniqueId BuiltInId::textureSize_Sampler2DArrayShadow1_Int1      = TSymbolUniqueId(861);
const TSymbolUniqueId BuiltInId::textureSize_Sampler1D1_Int1                 = TSymbolUniqueId(862);
const TSymbolUniqueId BuiltInId::textureSize_ISampler1D1_Int1                = TSymbolUniqueId(863);
const TSymbolUniqueId BuiltInId::textureSize_USampler1D1_Int1                = TSymbolUniqueId(864);
const TSymbolUniqueId BuiltInId::textureSize_Sampler1DShadow1_Int1           = TSymbolUniqueId(865);
const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeArray1_Int1          = TSymbolUniqueId(866);
const TSymbolUniqueId BuiltInId::textureSize_ISamplerCubeArray1_Int1         = TSymbolUniqueId(867);
const TSymbolUniqueId BuiltInId::textureSize_USamplerCubeArray1_Int1         = TSymbolUniqueId(868);
const TSymbolUniqueId BuiltInId::textureSize_SamplerCubeArrayShadow1_Int1    = TSymbolUniqueId(869);
const TSymbolUniqueId BuiltInId::textureSize_Sampler2DRect1                  = TSymbolUniqueId(870);
const TSymbolUniqueId BuiltInId::textureSize_ISampler2DRect1                 = TSymbolUniqueId(871);
const TSymbolUniqueId BuiltInId::textureSize_USampler2DRect1                 = TSymbolUniqueId(872);
const TSymbolUniqueId BuiltInId::textureSize_Sampler2DRectShadow1            = TSymbolUniqueId(873);
const TSymbolUniqueId BuiltInId::textureSize_Sampler1DArray1_Int1            = TSymbolUniqueId(874);
const TSymbolUniqueId BuiltInId::textureSize_ISampler1DArray1_Int1           = TSymbolUniqueId(875);
const TSymbolUniqueId BuiltInId::textureSize_USampler1DArray1_Int1           = TSymbolUniqueId(876);
const TSymbolUniqueId BuiltInId::textureSize_Sampler1DArrayShadow1_Int1      = TSymbolUniqueId(877);
const TSymbolUniqueId BuiltInId::textureSize_SamplerBuffer1                  = TSymbolUniqueId(878);
const TSymbolUniqueId BuiltInId::pt00j                                       = TSymbolUniqueId(879);
const TSymbolUniqueId BuiltInId::textureSize_ISamplerBuffer1                 = TSymbolUniqueId(880);
const TSymbolUniqueId BuiltInId::pt00r                                       = TSymbolUniqueId(881);
const TSymbolUniqueId BuiltInId::textureSize_USamplerBuffer1                 = TSymbolUniqueId(882);
const TSymbolUniqueId BuiltInId::pt00w                                       = TSymbolUniqueId(883);
const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2D1_Float3_Float1     = TSymbolUniqueId(884);
const TSymbolUniqueId BuiltInId::textureProjLod_ISampler2D1_Float3_Float1    = TSymbolUniqueId(885);
const TSymbolUniqueId BuiltInId::textureProjLod_USampler2D1_Float3_Float1    = TSymbolUniqueId(886);
const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2D1_Float4_Float1     = TSymbolUniqueId(887);
const TSymbolUniqueId BuiltInId::textureProjLod_ISampler2D1_Float4_Float1    = TSymbolUniqueId(888);
const TSymbolUniqueId BuiltInId::textureProjLod_USampler2D1_Float4_Float1    = TSymbolUniqueId(889);
const TSymbolUniqueId BuiltInId::textureProjLod_Sampler3D1_Float4_Float1     = TSymbolUniqueId(890);
const TSymbolUniqueId BuiltInId::textureProjLod_ISampler3D1_Float4_Float1    = TSymbolUniqueId(891);
const TSymbolUniqueId BuiltInId::textureProjLod_USampler3D1_Float4_Float1    = TSymbolUniqueId(892);
const TSymbolUniqueId BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1 =
    TSymbolUniqueId(893);
const TSymbolUniqueId BuiltInId::textureProjLod_Sampler1D1_Float2_Float1  = TSymbolUniqueId(894);
const TSymbolUniqueId BuiltInId::textureProjLod_ISampler1D1_Float2_Float1 = TSymbolUniqueId(895);
const TSymbolUniqueId BuiltInId::textureProjLod_USampler1D1_Float2_Float1 = TSymbolUniqueId(896);
const TSymbolUniqueId BuiltInId::textureProjLod_Sampler1D1_Float4_Float1  = TSymbolUniqueId(897);
const TSymbolUniqueId BuiltInId::textureProjLod_ISampler1D1_Float4_Float1 = TSymbolUniqueId(898);
const TSymbolUniqueId BuiltInId::textureProjLod_USampler1D1_Float4_Float1 = TSymbolUniqueId(899);
const TSymbolUniqueId BuiltInId::textureProjLod_Sampler1DShadow1_Float4_Float1 =
    TSymbolUniqueId(900);
const TSymbolUniqueId BuiltInId::texelFetch_Sampler2D1_Int2_Int1             = TSymbolUniqueId(901);
const TSymbolUniqueId BuiltInId::texelFetch_ISampler2D1_Int2_Int1            = TSymbolUniqueId(902);
const TSymbolUniqueId BuiltInId::texelFetch_USampler2D1_Int2_Int1            = TSymbolUniqueId(903);
const TSymbolUniqueId BuiltInId::texelFetch_Sampler3D1_Int3_Int1             = TSymbolUniqueId(904);
const TSymbolUniqueId BuiltInId::texelFetch_ISampler3D1_Int3_Int1            = TSymbolUniqueId(905);
const TSymbolUniqueId BuiltInId::texelFetch_USampler3D1_Int3_Int1            = TSymbolUniqueId(906);
const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DArray1_Int3_Int1        = TSymbolUniqueId(907);
const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1       = TSymbolUniqueId(908);
const TSymbolUniqueId BuiltInId::texelFetch_USampler2DArray1_Int3_Int1       = TSymbolUniqueId(909);
const TSymbolUniqueId BuiltInId::texelFetch_Sampler1D1_Int1_Int1             = TSymbolUniqueId(910);
const TSymbolUniqueId BuiltInId::texelFetch_ISampler1D1_Int1_Int1            = TSymbolUniqueId(911);
const TSymbolUniqueId BuiltInId::texelFetch_USampler1D1_Int1_Int1            = TSymbolUniqueId(912);
const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DRect1_Int2              = TSymbolUniqueId(913);
const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DRect1_Int2             = TSymbolUniqueId(914);
const TSymbolUniqueId BuiltInId::texelFetch_USampler2DRect1_Int2             = TSymbolUniqueId(915);
const TSymbolUniqueId BuiltInId::texelFetch_Sampler1DArray1_Int2_Int1        = TSymbolUniqueId(916);
const TSymbolUniqueId BuiltInId::texelFetch_ISampler1DArray1_Int2_Int1       = TSymbolUniqueId(917);
const TSymbolUniqueId BuiltInId::texelFetch_USampler1DArray1_Int2_Int1       = TSymbolUniqueId(918);
const TSymbolUniqueId BuiltInId::texelFetch_SamplerBuffer1_Int1              = TSymbolUniqueId(919);
const TSymbolUniqueId BuiltInId::texelFetch_ISamplerBuffer1_Int1             = TSymbolUniqueId(920);
const TSymbolUniqueId BuiltInId::texelFetch_USamplerBuffer1_Int1             = TSymbolUniqueId(921);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler2D1_Float2_Float2_Float2 = TSymbolUniqueId(922);
const TSymbolUniqueId BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2 =
    TSymbolUniqueId(923);
const TSymbolUniqueId BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2 =
    TSymbolUniqueId(924);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler3D1_Float3_Float3_Float3 = TSymbolUniqueId(925);
const TSymbolUniqueId BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3 =
    TSymbolUniqueId(926);
const TSymbolUniqueId BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3 =
    TSymbolUniqueId(927);
const TSymbolUniqueId BuiltInId::textureGrad_SamplerCube1_Float3_Float3_Float3 =
    TSymbolUniqueId(928);
const TSymbolUniqueId BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3 =
    TSymbolUniqueId(929);
const TSymbolUniqueId BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3 =
    TSymbolUniqueId(930);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler2D1_Float1_Float1_Float1 = TSymbolUniqueId(931);
const TSymbolUniqueId BuiltInId::textureGrad_ISampler2D1_Float1_Float1_Float1 =
    TSymbolUniqueId(932);
const TSymbolUniqueId BuiltInId::textureGrad_USampler2D1_Float1_Float1_Float1 =
    TSymbolUniqueId(933);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DRect1_Float2_Float2_Float2 =
    TSymbolUniqueId(934);
const TSymbolUniqueId BuiltInId::textureGrad_ISampler2DRect1_Float2_Float2_Float2 =
    TSymbolUniqueId(935);
const TSymbolUniqueId BuiltInId::textureGrad_USampler2DRect1_Float2_Float2_Float2 =
    TSymbolUniqueId(936);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DRectShadow1_Float3_Float2_Float2 =
    TSymbolUniqueId(937);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2 =
    TSymbolUniqueId(938);
const TSymbolUniqueId BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3 =
    TSymbolUniqueId(939);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DArray1_Float3_Float2_Float2 =
    TSymbolUniqueId(940);
const TSymbolUniqueId BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2 =
    TSymbolUniqueId(941);
const TSymbolUniqueId BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2 =
    TSymbolUniqueId(942);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2 =
    TSymbolUniqueId(943);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler1DShadow1_Float3_Float1_Float1 =
    TSymbolUniqueId(944);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler1DArray1_Float2_Float1_Float1 =
    TSymbolUniqueId(945);
const TSymbolUniqueId BuiltInId::textureGrad_ISampler1DArray1_Float2_Float1_Float1 =
    TSymbolUniqueId(946);
const TSymbolUniqueId BuiltInId::textureGrad_USampler1DArray1_Float2_Float1_Float1 =
    TSymbolUniqueId(947);
const TSymbolUniqueId BuiltInId::textureGrad_Sampler1DArrayShadow1_Float3_Float1_Float1 =
    TSymbolUniqueId(948);
const TSymbolUniqueId BuiltInId::textureGrad_SamplerCubeArray1_Float4_Float3_Float3 =
    TSymbolUniqueId(949);
const TSymbolUniqueId BuiltInId::textureGrad_ISamplerCubeArray1_Float4_Float3_Float3 =
    TSymbolUniqueId(950);
const TSymbolUniqueId BuiltInId::textureGrad_USamplerCubeArray1_Float4_Float3_Float3 =
    TSymbolUniqueId(951);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2D1_Float3_Float2_Float2 =
    TSymbolUniqueId(952);
const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2 =
    TSymbolUniqueId(953);
const TSymbolUniqueId BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2 =
    TSymbolUniqueId(954);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2D1_Float4_Float2_Float2 =
    TSymbolUniqueId(955);
const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2 =
    TSymbolUniqueId(956);
const TSymbolUniqueId BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2 =
    TSymbolUniqueId(957);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler3D1_Float4_Float3_Float3 =
    TSymbolUniqueId(958);
const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3 =
    TSymbolUniqueId(959);
const TSymbolUniqueId BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3 =
    TSymbolUniqueId(960);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2 =
    TSymbolUniqueId(961);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler1D1_Float2_Float1_Float1 =
    TSymbolUniqueId(962);
const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler1D1_Float2_Float1_Float1 =
    TSymbolUniqueId(963);
const TSymbolUniqueId BuiltInId::textureProjGrad_USampler1D1_Float2_Float1_Float1 =
    TSymbolUniqueId(964);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler1D1_Float4_Float1_Float1 =
    TSymbolUniqueId(965);
const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler1D1_Float4_Float1_Float1 =
    TSymbolUniqueId(966);
const TSymbolUniqueId BuiltInId::textureProjGrad_USampler1D1_Float4_Float1_Float1 =
    TSymbolUniqueId(967);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler1DShadow1_Float4_Float1_Float1 =
    TSymbolUniqueId(968);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2DRect1_Float3_Float2_Float2 =
    TSymbolUniqueId(969);
const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler2DRect1_Float3_Float2_Float2 =
    TSymbolUniqueId(970);
const TSymbolUniqueId BuiltInId::textureProjGrad_USampler2DRect1_Float3_Float2_Float2 =
    TSymbolUniqueId(971);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2DRect1_Float4_Float2_Float2 =
    TSymbolUniqueId(972);
const TSymbolUniqueId BuiltInId::textureProjGrad_ISampler2DRect1_Float4_Float2_Float2 =
    TSymbolUniqueId(973);
const TSymbolUniqueId BuiltInId::textureProjGrad_USampler2DRect1_Float4_Float2_Float2 =
    TSymbolUniqueId(974);
const TSymbolUniqueId BuiltInId::textureProjGrad_Sampler2DRectShadow1_Float4_Float2_Float2 =
    TSymbolUniqueId(975);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler1D1              = TSymbolUniqueId(976);
const TSymbolUniqueId BuiltInId::textureQueryLevels_ISampler1D1             = TSymbolUniqueId(977);
const TSymbolUniqueId BuiltInId::textureQueryLevels_USampler1D1             = TSymbolUniqueId(978);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler2D1              = TSymbolUniqueId(979);
const TSymbolUniqueId BuiltInId::textureQueryLevels_ISampler2D1             = TSymbolUniqueId(980);
const TSymbolUniqueId BuiltInId::textureQueryLevels_USampler2D1             = TSymbolUniqueId(981);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler3D1              = TSymbolUniqueId(982);
const TSymbolUniqueId BuiltInId::textureQueryLevels_ISampler3D1             = TSymbolUniqueId(983);
const TSymbolUniqueId BuiltInId::textureQueryLevels_USampler3D1             = TSymbolUniqueId(984);
const TSymbolUniqueId BuiltInId::textureQueryLevels_SamplerCube1            = TSymbolUniqueId(985);
const TSymbolUniqueId BuiltInId::textureQueryLevels_ISamplerCube1           = TSymbolUniqueId(986);
const TSymbolUniqueId BuiltInId::textureQueryLevels_USamplerCube1           = TSymbolUniqueId(987);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler1DArray1         = TSymbolUniqueId(988);
const TSymbolUniqueId BuiltInId::textureQueryLevels_ISampler1DArray1        = TSymbolUniqueId(989);
const TSymbolUniqueId BuiltInId::textureQueryLevels_USampler1DArray1        = TSymbolUniqueId(990);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler2DArray1         = TSymbolUniqueId(991);
const TSymbolUniqueId BuiltInId::textureQueryLevels_ISampler2DArray1        = TSymbolUniqueId(992);
const TSymbolUniqueId BuiltInId::textureQueryLevels_USampler2DArray1        = TSymbolUniqueId(993);
const TSymbolUniqueId BuiltInId::textureQueryLevels_SamplerCubeArray1       = TSymbolUniqueId(994);
const TSymbolUniqueId BuiltInId::textureQueryLevels_ISamplerCubeArray1      = TSymbolUniqueId(995);
const TSymbolUniqueId BuiltInId::textureQueryLevels_USamplerCubeArray1      = TSymbolUniqueId(996);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler1DShadow1        = TSymbolUniqueId(997);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler2DShadow1        = TSymbolUniqueId(998);
const TSymbolUniqueId BuiltInId::textureQueryLevels_SamplerCubeShadow1      = TSymbolUniqueId(999);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler1DArrayShadow1   = TSymbolUniqueId(1000);
const TSymbolUniqueId BuiltInId::textureQueryLevels_Sampler2DArrayShadow1   = TSymbolUniqueId(1001);
const TSymbolUniqueId BuiltInId::textureQueryLevels_SamplerCubeArrayShadow1 = TSymbolUniqueId(1002);
const TSymbolUniqueId BuiltInId::textureSamples_Sampler2DMS1                = TSymbolUniqueId(1003);
const TSymbolUniqueId BuiltInId::pt00P                                      = TSymbolUniqueId(1004);
const TSymbolUniqueId BuiltInId::textureSamples_ISampler2DMS1               = TSymbolUniqueId(1005);
const TSymbolUniqueId BuiltInId::pt00V                                      = TSymbolUniqueId(1006);
const TSymbolUniqueId BuiltInId::textureSamples_USampler2DMS1               = TSymbolUniqueId(1007);
const TSymbolUniqueId BuiltInId::pt00b                                      = TSymbolUniqueId(1008);
const TSymbolUniqueId BuiltInId::textureSamples_Sampler2DMSArray1           = TSymbolUniqueId(1009);
const TSymbolUniqueId BuiltInId::pt00Q                                      = TSymbolUniqueId(1010);
const TSymbolUniqueId BuiltInId::textureSamples_ISampler2DMSArray1          = TSymbolUniqueId(1011);
const TSymbolUniqueId BuiltInId::pt00W                                      = TSymbolUniqueId(1012);
const TSymbolUniqueId BuiltInId::textureSamples_USampler2DMSArray1          = TSymbolUniqueId(1013);
const TSymbolUniqueId BuiltInId::pt00c                                      = TSymbolUniqueId(1014);
const TSymbolUniqueId BuiltInId::textureSize_Sampler2DMS1                   = TSymbolUniqueId(1015);
const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMS1                  = TSymbolUniqueId(1016);
const TSymbolUniqueId BuiltInId::textureSize_USampler2DMS1                  = TSymbolUniqueId(1017);
const TSymbolUniqueId BuiltInId::textureSizeExt_Sampler2DMS1                = TSymbolUniqueId(1018);
const TSymbolUniqueId BuiltInId::textureSizeExt_ISampler2DMS1               = TSymbolUniqueId(1019);
const TSymbolUniqueId BuiltInId::textureSizeExt_USampler2DMS1               = TSymbolUniqueId(1020);
const TSymbolUniqueId BuiltInId::textureSize_Sampler2DMSArray1              = TSymbolUniqueId(1021);
const TSymbolUniqueId BuiltInId::textureSize_ISampler2DMSArray1             = TSymbolUniqueId(1022);
const TSymbolUniqueId BuiltInId::textureSize_USampler2DMSArray1             = TSymbolUniqueId(1023);
const TSymbolUniqueId BuiltInId::textureSizeExt_Sampler2DMSArray1           = TSymbolUniqueId(1024);
const TSymbolUniqueId BuiltInId::textureSizeExt_ISampler2DMSArray1          = TSymbolUniqueId(1025);
const TSymbolUniqueId BuiltInId::textureSizeExt_USampler2DMSArray1          = TSymbolUniqueId(1026);
const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1          = TSymbolUniqueId(1027);
const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1         = TSymbolUniqueId(1028);
const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMS1_Int2_Int1         = TSymbolUniqueId(1029);
const TSymbolUniqueId BuiltInId::texelFetchExt_Sampler2DMS1_Int2_Int1       = TSymbolUniqueId(1030);
const TSymbolUniqueId BuiltInId::texelFetchExt_ISampler2DMS1_Int2_Int1      = TSymbolUniqueId(1031);
const TSymbolUniqueId BuiltInId::texelFetchExt_USampler2DMS1_Int2_Int1      = TSymbolUniqueId(1032);
const TSymbolUniqueId BuiltInId::texelFetch_Sampler2DMSArray1_Int3_Int1     = TSymbolUniqueId(1033);
const TSymbolUniqueId BuiltInId::texelFetch_ISampler2DMSArray1_Int3_Int1    = TSymbolUniqueId(1034);
const TSymbolUniqueId BuiltInId::texelFetch_USampler2DMSArray1_Int3_Int1    = TSymbolUniqueId(1035);
const TSymbolUniqueId BuiltInId::texelFetchExt_Sampler2DMSArray1_Int3_Int1  = TSymbolUniqueId(1036);
const TSymbolUniqueId BuiltInId::texelFetchExt_ISampler2DMSArray1_Int3_Int1 = TSymbolUniqueId(1037);
const TSymbolUniqueId BuiltInId::texelFetchExt_USampler2DMSArray1_Int3_Int1 = TSymbolUniqueId(1038);
const TSymbolUniqueId BuiltInId::texture_Sampler2D1_Float2_Float1           = TSymbolUniqueId(1039);
const TSymbolUniqueId BuiltInId::texture_ISampler2D1_Float2_Float1          = TSymbolUniqueId(1040);
const TSymbolUniqueId BuiltInId::texture_USampler2D1_Float2_Float1          = TSymbolUniqueId(1041);
const TSymbolUniqueId BuiltInId::texture_Sampler3D1_Float3_Float1           = TSymbolUniqueId(1042);
const TSymbolUniqueId BuiltInId::texture_ISampler3D1_Float3_Float1          = TSymbolUniqueId(1043);
const TSymbolUniqueId BuiltInId::texture_USampler3D1_Float3_Float1          = TSymbolUniqueId(1044);
const TSymbolUniqueId BuiltInId::texture_SamplerCube1_Float3_Float1         = TSymbolUniqueId(1045);
const TSymbolUniqueId BuiltInId::texture_ISamplerCube1_Float3_Float1        = TSymbolUniqueId(1046);
const TSymbolUniqueId BuiltInId::texture_USamplerCube1_Float3_Float1        = TSymbolUniqueId(1047);
const TSymbolUniqueId BuiltInId::texture_Sampler2DArray1_Float3_Float1      = TSymbolUniqueId(1048);
const TSymbolUniqueId BuiltInId::texture_ISampler2DArray1_Float3_Float1     = TSymbolUniqueId(1049);
const TSymbolUniqueId BuiltInId::texture_USampler2DArray1_Float3_Float1     = TSymbolUniqueId(1050);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float3_Float1       = TSymbolUniqueId(1051);
const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float3_Float1      = TSymbolUniqueId(1052);
const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float3_Float1      = TSymbolUniqueId(1053);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2D1_Float4_Float1       = TSymbolUniqueId(1054);
const TSymbolUniqueId BuiltInId::textureProj_ISampler2D1_Float4_Float1      = TSymbolUniqueId(1055);
const TSymbolUniqueId BuiltInId::textureProj_USampler2D1_Float4_Float1      = TSymbolUniqueId(1056);
const TSymbolUniqueId BuiltInId::textureProj_Sampler3D1_Float4_Float1       = TSymbolUniqueId(1057);
const TSymbolUniqueId BuiltInId::textureProj_ISampler3D1_Float4_Float1      = TSymbolUniqueId(1058);
const TSymbolUniqueId BuiltInId::textureProj_USampler3D1_Float4_Float1      = TSymbolUniqueId(1059);
const TSymbolUniqueId BuiltInId::texture_Sampler2DShadow1_Float3_Float1     = TSymbolUniqueId(1060);
const TSymbolUniqueId BuiltInId::texture_SamplerCubeShadow1_Float4_Float1   = TSymbolUniqueId(1061);
const TSymbolUniqueId BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1 = TSymbolUniqueId(1062);
const TSymbolUniqueId BuiltInId::texture_Sampler1D1_Float1_Float1           = TSymbolUniqueId(1063);
const TSymbolUniqueId BuiltInId::texture_ISampler1D1_Float1_Float1          = TSymbolUniqueId(1064);
const TSymbolUniqueId BuiltInId::texture_USampler1D1_Float1_Float1          = TSymbolUniqueId(1065);
const TSymbolUniqueId BuiltInId::texture_Sampler1DShadow1_Float3_Float1     = TSymbolUniqueId(1066);
const TSymbolUniqueId BuiltInId::texture_Sampler1DArray1_Float3_Float1      = TSymbolUniqueId(1067);
const TSymbolUniqueId BuiltInId::texture_ISampler1DArray1_Float3_Float1     = TSymbolUniqueId(1068);
const TSymbolUniqueId BuiltInId::texture_USampler1DArray1_Float3_Float1     = TSymbolUniqueId(1069);
const TSymbolUniqueId BuiltInId::texture_Sampler1DArrayShadow1_Float3_Float1 =
    TSymbolUniqueId(1070);
const TSymbolUniqueId BuiltInId::texture_Sampler2DArrayShadow1_Float4_Float1 =
    TSymbolUniqueId(1071);
const TSymbolUniqueId BuiltInId::textureProj_Sampler1D1_Float2_Float1       = TSymbolUniqueId(1072);
const TSymbolUniqueId BuiltInId::textureProj_ISampler1D1_Float2_Float1      = TSymbolUniqueId(1073);
const TSymbolUniqueId BuiltInId::textureProj_USampler1D1_Float2_Float1      = TSymbolUniqueId(1074);
const TSymbolUniqueId BuiltInId::textureProj_Sampler1D1_Float4_Float1       = TSymbolUniqueId(1075);
const TSymbolUniqueId BuiltInId::textureProj_ISampler1D1_Float4_Float1      = TSymbolUniqueId(1076);
const TSymbolUniqueId BuiltInId::textureProj_USampler1D1_Float4_Float1      = TSymbolUniqueId(1077);
const TSymbolUniqueId BuiltInId::textureProj_Sampler1DShadow1_Float4_Float1 = TSymbolUniqueId(1078);
const TSymbolUniqueId BuiltInId::texture_SamplerExternalOES1_Float2_Float1  = TSymbolUniqueId(1079);
const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float3_Float1 =
    TSymbolUniqueId(1080);
const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float4_Float1 =
    TSymbolUniqueId(1081);
const TSymbolUniqueId BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2_Float1 =
    TSymbolUniqueId(1082);
const TSymbolUniqueId BuiltInId::pt00N = TSymbolUniqueId(1083);
const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3_Float1 =
    TSymbolUniqueId(1084);
const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4_Float1 =
    TSymbolUniqueId(1085);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler1D1_Float1         = TSymbolUniqueId(1086);
const TSymbolUniqueId BuiltInId::textureQueryLod_ISampler1D1_Float1        = TSymbolUniqueId(1087);
const TSymbolUniqueId BuiltInId::textureQueryLod_USampler1D1_Float1        = TSymbolUniqueId(1088);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler2D1_Float2         = TSymbolUniqueId(1089);
const TSymbolUniqueId BuiltInId::textureQueryLod_ISampler2D1_Float2        = TSymbolUniqueId(1090);
const TSymbolUniqueId BuiltInId::textureQueryLod_USampler2D1_Float2        = TSymbolUniqueId(1091);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler3D1_Float3         = TSymbolUniqueId(1092);
const TSymbolUniqueId BuiltInId::textureQueryLod_ISampler3D1_Float3        = TSymbolUniqueId(1093);
const TSymbolUniqueId BuiltInId::textureQueryLod_USampler3D1_Float3        = TSymbolUniqueId(1094);
const TSymbolUniqueId BuiltInId::textureQueryLod_SamplerCube1_Float3       = TSymbolUniqueId(1095);
const TSymbolUniqueId BuiltInId::textureQueryLod_ISamplerCube1_Float3      = TSymbolUniqueId(1096);
const TSymbolUniqueId BuiltInId::textureQueryLod_USamplerCube1_Float3      = TSymbolUniqueId(1097);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler1DArray1_Float1    = TSymbolUniqueId(1098);
const TSymbolUniqueId BuiltInId::textureQueryLod_ISampler1DArray1_Float1   = TSymbolUniqueId(1099);
const TSymbolUniqueId BuiltInId::textureQueryLod_USampler1DArray1_Float1   = TSymbolUniqueId(1100);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler2DArray1_Float2    = TSymbolUniqueId(1101);
const TSymbolUniqueId BuiltInId::textureQueryLod_ISampler2DArray1_Float2   = TSymbolUniqueId(1102);
const TSymbolUniqueId BuiltInId::textureQueryLod_USampler2DArray1_Float2   = TSymbolUniqueId(1103);
const TSymbolUniqueId BuiltInId::textureQueryLod_SamplerCubeArray1_Float3  = TSymbolUniqueId(1104);
const TSymbolUniqueId BuiltInId::textureQueryLod_ISamplerCubeArray1_Float3 = TSymbolUniqueId(1105);
const TSymbolUniqueId BuiltInId::textureQueryLod_USamplerCubeArray1_Float3 = TSymbolUniqueId(1106);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler1DShadow1_Float1   = TSymbolUniqueId(1107);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler2DShadow1_Float2   = TSymbolUniqueId(1108);
const TSymbolUniqueId BuiltInId::textureQueryLod_SamplerCubeShadow1_Float3 = TSymbolUniqueId(1109);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler1DArrayShadow1_Float1 =
    TSymbolUniqueId(1110);
const TSymbolUniqueId BuiltInId::textureQueryLod_Sampler2DArrayShadow1_Float2 =
    TSymbolUniqueId(1111);
const TSymbolUniqueId BuiltInId::textureQueryLod_SamplerCubeArrayShadow1_Float3 =
    TSymbolUniqueId(1112);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2D1_Float2_Int2       = TSymbolUniqueId(1113);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler2D1_Float2_Int2      = TSymbolUniqueId(1114);
const TSymbolUniqueId BuiltInId::textureOffset_USampler2D1_Float2_Int2      = TSymbolUniqueId(1115);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler3D1_Float3_Int3       = TSymbolUniqueId(1116);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler3D1_Float3_Int3      = TSymbolUniqueId(1117);
const TSymbolUniqueId BuiltInId::textureOffset_USampler3D1_Float3_Int3      = TSymbolUniqueId(1118);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2 = TSymbolUniqueId(1119);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2  = TSymbolUniqueId(1120);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2 = TSymbolUniqueId(1121);
const TSymbolUniqueId BuiltInId::textureOffset_USampler2DArray1_Float3_Int2 = TSymbolUniqueId(1122);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler1D1_Float1_Int1       = TSymbolUniqueId(1123);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler1D1_Float1_Int1      = TSymbolUniqueId(1124);
const TSymbolUniqueId BuiltInId::textureOffset_USampler1D1_Float1_Int1      = TSymbolUniqueId(1125);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DRect1_Float2_Int2   = TSymbolUniqueId(1126);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler2DRect1_Float2_Int2  = TSymbolUniqueId(1127);
const TSymbolUniqueId BuiltInId::textureOffset_USampler2DRect1_Float2_Int2  = TSymbolUniqueId(1128);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DRectShadow1_Float3_Int2 =
    TSymbolUniqueId(1129);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler1DShadow1_Float3_Int1 = TSymbolUniqueId(1130);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler1DArray1_Float2_Int1  = TSymbolUniqueId(1131);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler1DArray1_Float2_Int1 = TSymbolUniqueId(1132);
const TSymbolUniqueId BuiltInId::textureOffset_USampler1DArray1_Float2_Int1 = TSymbolUniqueId(1133);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler1DArrayShadow1_Float3_Int1 =
    TSymbolUniqueId(1134);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DArrayShadow1_Float4_Int2 =
    TSymbolUniqueId(1135);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2  = TSymbolUniqueId(1136);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2 = TSymbolUniqueId(1137);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float3_Int2 = TSymbolUniqueId(1138);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2  = TSymbolUniqueId(1139);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2 = TSymbolUniqueId(1140);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float4_Int2 = TSymbolUniqueId(1141);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3  = TSymbolUniqueId(1142);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3 = TSymbolUniqueId(1143);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler3D1_Float4_Int3 = TSymbolUniqueId(1144);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2 =
    TSymbolUniqueId(1145);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler1D1_Float2_Int1  = TSymbolUniqueId(1146);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler1D1_Float2_Int1 = TSymbolUniqueId(1147);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler1D1_Float2_Int1 = TSymbolUniqueId(1148);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler1D1_Float4_Int1  = TSymbolUniqueId(1149);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler1D1_Float4_Int1 = TSymbolUniqueId(1150);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler1D1_Float4_Int1 = TSymbolUniqueId(1151);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DRect1_Float3_Int2 =
    TSymbolUniqueId(1152);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2DRect1_Float3_Int2 =
    TSymbolUniqueId(1153);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2DRect1_Float3_Int2 =
    TSymbolUniqueId(1154);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DRect1_Float4_Int2 =
    TSymbolUniqueId(1155);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2DRect1_Float4_Int2 =
    TSymbolUniqueId(1156);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2DRect1_Float4_Int2 =
    TSymbolUniqueId(1157);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DRectShadow1_Float4_Int2 =
    TSymbolUniqueId(1158);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler1DShadow1_Float4_Int1 =
    TSymbolUniqueId(1159);
const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2D1_Float2_Float1_Int2 =
    TSymbolUniqueId(1160);
const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2 =
    TSymbolUniqueId(1161);
const TSymbolUniqueId BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2 =
    TSymbolUniqueId(1162);
const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler3D1_Float3_Float1_Int3 =
    TSymbolUniqueId(1163);
const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3 =
    TSymbolUniqueId(1164);
const TSymbolUniqueId BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3 =
    TSymbolUniqueId(1165);
const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2 =
    TSymbolUniqueId(1166);
const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler2DArray1_Float3_Float1_Int2 =
    TSymbolUniqueId(1167);
const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2 =
    TSymbolUniqueId(1168);
const TSymbolUniqueId BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2 =
    TSymbolUniqueId(1169);
const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler1D1_Float1_Float1_Int1 =
    TSymbolUniqueId(1170);
const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler1D1_Float1_Float1_Int1 =
    TSymbolUniqueId(1171);
const TSymbolUniqueId BuiltInId::textureLodOffset_USampler1D1_Float1_Float1_Int1 =
    TSymbolUniqueId(1172);
const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler1DShadow1_Float3_Float1_Int1 =
    TSymbolUniqueId(1173);
const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler1DArray1_Float2_Float1_Int1 =
    TSymbolUniqueId(1174);
const TSymbolUniqueId BuiltInId::textureLodOffset_ISampler1DArray1_Float2_Float1_Int1 =
    TSymbolUniqueId(1175);
const TSymbolUniqueId BuiltInId::textureLodOffset_USampler1DArray1_Float2_Float1_Int1 =
    TSymbolUniqueId(1176);
const TSymbolUniqueId BuiltInId::textureLodOffset_Sampler1DArrayShadow1_Float3_Float1_Int1 =
    TSymbolUniqueId(1177);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2D1_Float3_Float1_Int2 =
    TSymbolUniqueId(1178);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2 =
    TSymbolUniqueId(1179);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2 =
    TSymbolUniqueId(1180);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2D1_Float4_Float1_Int2 =
    TSymbolUniqueId(1181);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2 =
    TSymbolUniqueId(1182);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2 =
    TSymbolUniqueId(1183);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler3D1_Float4_Float1_Int3 =
    TSymbolUniqueId(1184);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3 =
    TSymbolUniqueId(1185);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3 =
    TSymbolUniqueId(1186);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2 =
    TSymbolUniqueId(1187);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler1D1_Float2_Float1_Int1 =
    TSymbolUniqueId(1188);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler1D1_Float2_Float1_Int1 =
    TSymbolUniqueId(1189);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler1D1_Float2_Float1_Int1 =
    TSymbolUniqueId(1190);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler1D1_Float4_Float1_Int1 =
    TSymbolUniqueId(1191);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_ISampler1D1_Float4_Float1_Int1 =
    TSymbolUniqueId(1192);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_USampler1D1_Float4_Float1_Int1 =
    TSymbolUniqueId(1193);
const TSymbolUniqueId BuiltInId::textureProjLodOffset_Sampler1DShadow1_Float4_Float1_Int1 =
    TSymbolUniqueId(1194);
const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler2D1_Int2_Int1_Int2 = TSymbolUniqueId(1195);
const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2 =
    TSymbolUniqueId(1196);
const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2 =
    TSymbolUniqueId(1197);
const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler3D1_Int3_Int1_Int3 = TSymbolUniqueId(1198);
const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3 =
    TSymbolUniqueId(1199);
const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3 =
    TSymbolUniqueId(1200);
const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2 =
    TSymbolUniqueId(1201);
const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2 =
    TSymbolUniqueId(1202);
const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2 =
    TSymbolUniqueId(1203);
const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler1D1_Int1_Int1_Int1 = TSymbolUniqueId(1204);
const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler1D1_Int1_Int1_Int1 =
    TSymbolUniqueId(1205);
const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler1D1_Int1_Int1_Int1 =
    TSymbolUniqueId(1206);
const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler2DRect1_Int2_Int2  = TSymbolUniqueId(1207);
const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler2DRect1_Int2_Int2 = TSymbolUniqueId(1208);
const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler2DRect1_Int2_Int2 = TSymbolUniqueId(1209);
const TSymbolUniqueId BuiltInId::texelFetchOffset_Sampler1DArray1_Int2_Int1_Int1 =
    TSymbolUniqueId(1210);
const TSymbolUniqueId BuiltInId::texelFetchOffset_ISampler1DArray1_Int2_Int1_Int1 =
    TSymbolUniqueId(1211);
const TSymbolUniqueId BuiltInId::texelFetchOffset_USampler1DArray1_Int2_Int1_Int1 =
    TSymbolUniqueId(1212);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2 =
    TSymbolUniqueId(1213);
const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2 =
    TSymbolUniqueId(1214);
const TSymbolUniqueId BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2 =
    TSymbolUniqueId(1215);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3 =
    TSymbolUniqueId(1216);
const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3 =
    TSymbolUniqueId(1217);
const TSymbolUniqueId BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3 =
    TSymbolUniqueId(1218);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1219);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1220);
const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1221);
const TSymbolUniqueId BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1222);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2 =
    TSymbolUniqueId(1223);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler1D1_Float1_Float1_Float1_Int1 =
    TSymbolUniqueId(1224);
const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler1D1_Float1_Float1_Float1_Int1 =
    TSymbolUniqueId(1225);
const TSymbolUniqueId BuiltInId::textureGradOffset_USampler1D1_Float1_Float1_Float1_Int1 =
    TSymbolUniqueId(1226);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler2DRect1_Float2_Float2_Float2_Int2 =
    TSymbolUniqueId(1227);
const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler2DRect1_Float2_Float2_Float2_Int2 =
    TSymbolUniqueId(1228);
const TSymbolUniqueId BuiltInId::textureGradOffset_USampler2DRect1_Float2_Float2_Float2_Int2 =
    TSymbolUniqueId(1229);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler2DRectShadow1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1230);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler1DShadow1_Float3_Float1_Float1_Int1 =
    TSymbolUniqueId(1231);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler1DArray1_Float2_Float1_Float1_Int1 =
    TSymbolUniqueId(1232);
const TSymbolUniqueId BuiltInId::textureGradOffset_ISampler1DArray1_Float2_Float1_Float1_Int1 =
    TSymbolUniqueId(1233);
const TSymbolUniqueId BuiltInId::textureGradOffset_USampler1DArray1_Float2_Float1_Float1_Int1 =
    TSymbolUniqueId(1234);
const TSymbolUniqueId BuiltInId::textureGradOffset_Sampler1DArrayShadow1_Float3_Float1_Float1_Int1 =
    TSymbolUniqueId(1235);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1236);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1237);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1238);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2 =
    TSymbolUniqueId(1239);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2 =
    TSymbolUniqueId(1240);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2 =
    TSymbolUniqueId(1241);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3 =
    TSymbolUniqueId(1242);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3 =
    TSymbolUniqueId(1243);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3 =
    TSymbolUniqueId(1244);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2 =
    TSymbolUniqueId(1245);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler1D1_Float2_Float1_Float1_Int1 =
    TSymbolUniqueId(1246);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_ISampler1D1_Float2_Float1_Float1_Int1 =
    TSymbolUniqueId(1247);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_USampler1D1_Float2_Float1_Float1_Int1 =
    TSymbolUniqueId(1248);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler1D1_Float4_Float1_Float1_Int1 =
    TSymbolUniqueId(1249);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_ISampler1D1_Float4_Float1_Float1_Int1 =
    TSymbolUniqueId(1250);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_USampler1D1_Float4_Float1_Float1_Int1 =
    TSymbolUniqueId(1251);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler2DRect1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1252);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_ISampler2DRect1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1253);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_USampler2DRect1_Float3_Float2_Float2_Int2 =
    TSymbolUniqueId(1254);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler2DRect1_Float4_Float2_Float2_Int2 =
    TSymbolUniqueId(1255);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_ISampler2DRect1_Float4_Float2_Float2_Int2 =
    TSymbolUniqueId(1256);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_USampler2DRect1_Float4_Float2_Float2_Int2 =
    TSymbolUniqueId(1257);
const TSymbolUniqueId
    BuiltInId::textureProjGradOffset_Sampler2DRectShadow1_Float4_Float2_Float2_Int2 =
        TSymbolUniqueId(1258);
const TSymbolUniqueId BuiltInId::textureProjGradOffset_Sampler1DShadow1_Float4_Float1_Float1_Int1 =
    TSymbolUniqueId(1259);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2D1_Float2_Int2_Float1 =
    TSymbolUniqueId(1260);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1 =
    TSymbolUniqueId(1261);
const TSymbolUniqueId BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1 =
    TSymbolUniqueId(1262);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler3D1_Float3_Int3_Float1 =
    TSymbolUniqueId(1263);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1 =
    TSymbolUniqueId(1264);
const TSymbolUniqueId BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1 =
    TSymbolUniqueId(1265);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1 =
    TSymbolUniqueId(1266);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2_Float1 =
    TSymbolUniqueId(1267);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1 =
    TSymbolUniqueId(1268);
const TSymbolUniqueId BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1 =
    TSymbolUniqueId(1269);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler1D1_Float1_Int1_Float1 =
    TSymbolUniqueId(1270);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler1D1_Float1_Int1_Float1 =
    TSymbolUniqueId(1271);
const TSymbolUniqueId BuiltInId::textureOffset_USampler1D1_Float1_Int1_Float1 =
    TSymbolUniqueId(1272);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler1DShadow1_Float3_Int1_Float1 =
    TSymbolUniqueId(1273);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler1DArray1_Float2_Int1_Float1 =
    TSymbolUniqueId(1274);
const TSymbolUniqueId BuiltInId::textureOffset_ISampler1DArray1_Float2_Int1_Float1 =
    TSymbolUniqueId(1275);
const TSymbolUniqueId BuiltInId::textureOffset_USampler1DArray1_Float2_Int1_Float1 =
    TSymbolUniqueId(1276);
const TSymbolUniqueId BuiltInId::textureOffset_Sampler1DArrayShadow1_Float3_Int1_Float1 =
    TSymbolUniqueId(1277);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2_Float1 =
    TSymbolUniqueId(1278);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1 =
    TSymbolUniqueId(1279);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1 =
    TSymbolUniqueId(1280);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2_Float1 =
    TSymbolUniqueId(1281);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1 =
    TSymbolUniqueId(1282);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1 =
    TSymbolUniqueId(1283);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3_Float1 =
    TSymbolUniqueId(1284);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1 =
    TSymbolUniqueId(1285);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1 =
    TSymbolUniqueId(1286);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1 =
    TSymbolUniqueId(1287);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler1D1_Float2_Int1_Float1 =
    TSymbolUniqueId(1288);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler1D1_Float2_Int1_Float1 =
    TSymbolUniqueId(1289);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler1D1_Float2_Int1_Float1 =
    TSymbolUniqueId(1290);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler1D1_Float4_Int1_Float1 =
    TSymbolUniqueId(1291);
const TSymbolUniqueId BuiltInId::textureProjOffset_ISampler1D1_Float4_Int1_Float1 =
    TSymbolUniqueId(1292);
const TSymbolUniqueId BuiltInId::textureProjOffset_USampler1D1_Float4_Int1_Float1 =
    TSymbolUniqueId(1293);
const TSymbolUniqueId BuiltInId::textureProjOffset_Sampler1DShadow1_Float4_Int1_Float1 =
    TSymbolUniqueId(1294);
const TSymbolUniqueId BuiltInId::texture_SamplerExternalOES1_Float2       = TSymbolUniqueId(1295);
const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float3   = TSymbolUniqueId(1296);
const TSymbolUniqueId BuiltInId::textureProj_SamplerExternalOES1_Float4   = TSymbolUniqueId(1297);
const TSymbolUniqueId BuiltInId::textureSize_SamplerExternalOES1_Int1     = TSymbolUniqueId(1298);
const TSymbolUniqueId BuiltInId::texelFetch_SamplerExternalOES1_Int2_Int1 = TSymbolUniqueId(1299);
const TSymbolUniqueId BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2  = TSymbolUniqueId(1300);
const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3 =
    TSymbolUniqueId(1301);
const TSymbolUniqueId BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4 =
    TSymbolUniqueId(1302);
const TSymbolUniqueId BuiltInId::rgb_2_yuv_Float3_YuvCscStandardEXT1       = TSymbolUniqueId(1303);
const TSymbolUniqueId BuiltInId::pt00H                                     = TSymbolUniqueId(1304);
const TSymbolUniqueId BuiltInId::yuv_2_rgb_Float3_YuvCscStandardEXT1       = TSymbolUniqueId(1305);
const TSymbolUniqueId BuiltInId::textureSize_SamplerExternal2DY2YEXT1_Int1 = TSymbolUniqueId(1306);
const TSymbolUniqueId BuiltInId::texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1 =
    TSymbolUniqueId(1307);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2D1_Float2            = TSymbolUniqueId(1308);
const TSymbolUniqueId BuiltInId::textureGather_ISampler2D1_Float2           = TSymbolUniqueId(1309);
const TSymbolUniqueId BuiltInId::textureGather_USampler2D1_Float2           = TSymbolUniqueId(1310);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2D1_Float2_Int1       = TSymbolUniqueId(1311);
const TSymbolUniqueId BuiltInId::textureGather_ISampler2D1_Float2_Int1      = TSymbolUniqueId(1312);
const TSymbolUniqueId BuiltInId::textureGather_USampler2D1_Float2_Int1      = TSymbolUniqueId(1313);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArray1_Float3       = TSymbolUniqueId(1314);
const TSymbolUniqueId BuiltInId::textureGather_ISampler2DArray1_Float3      = TSymbolUniqueId(1315);
const TSymbolUniqueId BuiltInId::textureGather_USampler2DArray1_Float3      = TSymbolUniqueId(1316);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArray1_Float3_Int1  = TSymbolUniqueId(1317);
const TSymbolUniqueId BuiltInId::textureGather_ISampler2DArray1_Float3_Int1 = TSymbolUniqueId(1318);
const TSymbolUniqueId BuiltInId::textureGather_USampler2DArray1_Float3_Int1 = TSymbolUniqueId(1319);
const TSymbolUniqueId BuiltInId::textureGather_SamplerCube1_Float3          = TSymbolUniqueId(1320);
const TSymbolUniqueId BuiltInId::textureGather_ISamplerCube1_Float3         = TSymbolUniqueId(1321);
const TSymbolUniqueId BuiltInId::textureGather_USamplerCube1_Float3         = TSymbolUniqueId(1322);
const TSymbolUniqueId BuiltInId::textureGather_SamplerCube1_Float3_Int1     = TSymbolUniqueId(1323);
const TSymbolUniqueId BuiltInId::textureGather_ISamplerCube1_Float3_Int1    = TSymbolUniqueId(1324);
const TSymbolUniqueId BuiltInId::textureGather_USamplerCube1_Float3_Int1    = TSymbolUniqueId(1325);
const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4     = TSymbolUniqueId(1326);
const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4    = TSymbolUniqueId(1327);
const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4    = TSymbolUniqueId(1328);
const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1 =
    TSymbolUniqueId(1329);
const TSymbolUniqueId BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1 =
    TSymbolUniqueId(1330);
const TSymbolUniqueId BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1 =
    TSymbolUniqueId(1331);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DRect1_Float3       = TSymbolUniqueId(1332);
const TSymbolUniqueId BuiltInId::textureGather_ISampler2DRect1_Float3      = TSymbolUniqueId(1333);
const TSymbolUniqueId BuiltInId::textureGather_USampler2DRect1_Float3      = TSymbolUniqueId(1334);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DRect1_Float3_Int1  = TSymbolUniqueId(1335);
const TSymbolUniqueId BuiltInId::textureGather_ISampler2DRect1_Float3_Int1 = TSymbolUniqueId(1336);
const TSymbolUniqueId BuiltInId::textureGather_USampler2DRect1_Float3_Int1 = TSymbolUniqueId(1337);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DShadow1_Float2     = TSymbolUniqueId(1338);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1 =
    TSymbolUniqueId(1339);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArrayShadow1_Float3 = TSymbolUniqueId(1340);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1 =
    TSymbolUniqueId(1341);
const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeShadow1_Float3 = TSymbolUniqueId(1342);
const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1 =
    TSymbolUniqueId(1343);
const TSymbolUniqueId BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1 =
    TSymbolUniqueId(1344);
const TSymbolUniqueId BuiltInId::textureGather_Sampler2DRectShadow1_Float2_Float1 =
    TSymbolUniqueId(1345);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2 = TSymbolUniqueId(1346);
const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2 =
    TSymbolUniqueId(1347);
const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2 =
    TSymbolUniqueId(1348);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2_Int1 =
    TSymbolUniqueId(1349);
const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1 =
    TSymbolUniqueId(1350);
const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1 =
    TSymbolUniqueId(1351);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2 =
    TSymbolUniqueId(1352);
const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2 =
    TSymbolUniqueId(1353);
const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2 =
    TSymbolUniqueId(1354);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1 =
    TSymbolUniqueId(1355);
const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1 =
    TSymbolUniqueId(1356);
const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1 =
    TSymbolUniqueId(1357);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2 =
    TSymbolUniqueId(1358);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2 =
    TSymbolUniqueId(1359);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DRect1_Float2_Int2 =
    TSymbolUniqueId(1360);
const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2DRect1_Float2_Int2 =
    TSymbolUniqueId(1361);
const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2DRect1_Float2_Int2 =
    TSymbolUniqueId(1362);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DRect1_Float2_Int2_Int1 =
    TSymbolUniqueId(1363);
const TSymbolUniqueId BuiltInId::textureGatherOffset_ISampler2DRect1_Float2_Int2_Int1 =
    TSymbolUniqueId(1364);
const TSymbolUniqueId BuiltInId::textureGatherOffset_USampler2DRect1_Float2_Int2_Int1 =
    TSymbolUniqueId(1365);
const TSymbolUniqueId BuiltInId::textureGatherOffset_Sampler2DRectShadow1_Float2_Float1_Int2 =
    TSymbolUniqueId(1366);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2D1_Float2_Int4x2 =
    TSymbolUniqueId(1367);
const TSymbolUniqueId BuiltInId::pt70D = TSymbolUniqueId(1368);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2D1_Float2_Int4x2 =
    TSymbolUniqueId(1369);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2D1_Float2_Int4x2 =
    TSymbolUniqueId(1370);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2D1_Float2_Int4x2_Int1 =
    TSymbolUniqueId(1371);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2D1_Float2_Int4x2_Int1 =
    TSymbolUniqueId(1372);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2D1_Float2_Int4x2_Int1 =
    TSymbolUniqueId(1373);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_Int4x2 =
    TSymbolUniqueId(1374);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_Int4x2 =
    TSymbolUniqueId(1375);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_Int4x2 =
    TSymbolUniqueId(1376);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_Int4x2_Int1 =
    TSymbolUniqueId(1377);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_Int4x2_Int1 =
    TSymbolUniqueId(1378);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_Int4x2_Int1 =
    TSymbolUniqueId(1379);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DRect1_Float2_Int4x2 =
    TSymbolUniqueId(1380);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2DRect1_Float2_Int4x2 =
    TSymbolUniqueId(1381);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2DRect1_Float2_Int4x2 =
    TSymbolUniqueId(1382);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DRect1_Float2_Int4x2_Int1 =
    TSymbolUniqueId(1383);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_ISampler2DRect1_Float2_Int4x2_Int1 =
    TSymbolUniqueId(1384);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_USampler2DRect1_Float2_Int4x2_Int1 =
    TSymbolUniqueId(1385);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DShadow1_Float2_Float1_Int4x2 =
    TSymbolUniqueId(1386);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_Int4x2 =
    TSymbolUniqueId(1387);
const TSymbolUniqueId BuiltInId::textureGatherOffsets_Sampler2DRectShadow1_Float2_Float1_Int4x2 =
    TSymbolUniqueId(1388);
const TSymbolUniqueId BuiltInId::dFdx_Float1                                = TSymbolUniqueId(1389);
const TSymbolUniqueId BuiltInId::dFdx_Float2                                = TSymbolUniqueId(1390);
const TSymbolUniqueId BuiltInId::dFdx_Float3                                = TSymbolUniqueId(1391);
const TSymbolUniqueId BuiltInId::dFdx_Float4                                = TSymbolUniqueId(1392);
const TSymbolUniqueId BuiltInId::dFdy_Float1                                = TSymbolUniqueId(1393);
const TSymbolUniqueId BuiltInId::dFdy_Float2                                = TSymbolUniqueId(1394);
const TSymbolUniqueId BuiltInId::dFdy_Float3                                = TSymbolUniqueId(1395);
const TSymbolUniqueId BuiltInId::dFdy_Float4                                = TSymbolUniqueId(1396);
const TSymbolUniqueId BuiltInId::fwidth_Float1                              = TSymbolUniqueId(1397);
const TSymbolUniqueId BuiltInId::fwidth_Float2                              = TSymbolUniqueId(1398);
const TSymbolUniqueId BuiltInId::fwidth_Float3                              = TSymbolUniqueId(1399);
const TSymbolUniqueId BuiltInId::fwidth_Float4                              = TSymbolUniqueId(1400);
const TSymbolUniqueId BuiltInId::dFdxFine_Float1                            = TSymbolUniqueId(1401);
const TSymbolUniqueId BuiltInId::dFdxFine_Float2                            = TSymbolUniqueId(1402);
const TSymbolUniqueId BuiltInId::dFdxFine_Float3                            = TSymbolUniqueId(1403);
const TSymbolUniqueId BuiltInId::dFdxFine_Float4                            = TSymbolUniqueId(1404);
const TSymbolUniqueId BuiltInId::dFdyFine_Float1                            = TSymbolUniqueId(1405);
const TSymbolUniqueId BuiltInId::dFdyFine_Float2                            = TSymbolUniqueId(1406);
const TSymbolUniqueId BuiltInId::dFdyFine_Float3                            = TSymbolUniqueId(1407);
const TSymbolUniqueId BuiltInId::dFdyFine_Float4                            = TSymbolUniqueId(1408);
const TSymbolUniqueId BuiltInId::dFdxCoarse_Float1                          = TSymbolUniqueId(1409);
const TSymbolUniqueId BuiltInId::dFdxCoarse_Float2                          = TSymbolUniqueId(1410);
const TSymbolUniqueId BuiltInId::dFdxCoarse_Float3                          = TSymbolUniqueId(1411);
const TSymbolUniqueId BuiltInId::dFdxCoarse_Float4                          = TSymbolUniqueId(1412);
const TSymbolUniqueId BuiltInId::dFdyCoarse_Float1                          = TSymbolUniqueId(1413);
const TSymbolUniqueId BuiltInId::dFdyCoarse_Float2                          = TSymbolUniqueId(1414);
const TSymbolUniqueId BuiltInId::dFdyCoarse_Float3                          = TSymbolUniqueId(1415);
const TSymbolUniqueId BuiltInId::dFdyCoarse_Float4                          = TSymbolUniqueId(1416);
const TSymbolUniqueId BuiltInId::fwidthFine_Float1                          = TSymbolUniqueId(1417);
const TSymbolUniqueId BuiltInId::fwidthFine_Float2                          = TSymbolUniqueId(1418);
const TSymbolUniqueId BuiltInId::fwidthFine_Float3                          = TSymbolUniqueId(1419);
const TSymbolUniqueId BuiltInId::fwidthFine_Float4                          = TSymbolUniqueId(1420);
const TSymbolUniqueId BuiltInId::fwidthCoarse_Float1                        = TSymbolUniqueId(1421);
const TSymbolUniqueId BuiltInId::fwidthCoarse_Float2                        = TSymbolUniqueId(1422);
const TSymbolUniqueId BuiltInId::fwidthCoarse_Float3                        = TSymbolUniqueId(1423);
const TSymbolUniqueId BuiltInId::fwidthCoarse_Float4                        = TSymbolUniqueId(1424);
const TSymbolUniqueId BuiltInId::interpolateAtCentroid_Float1               = TSymbolUniqueId(1425);
const TSymbolUniqueId BuiltInId::interpolateAtCentroid_Float2               = TSymbolUniqueId(1426);
const TSymbolUniqueId BuiltInId::interpolateAtCentroid_Float3               = TSymbolUniqueId(1427);
const TSymbolUniqueId BuiltInId::interpolateAtCentroid_Float4               = TSymbolUniqueId(1428);
const TSymbolUniqueId BuiltInId::interpolateAtSample_Float1_Int1            = TSymbolUniqueId(1429);
const TSymbolUniqueId BuiltInId::interpolateAtSample_Float2_Int1            = TSymbolUniqueId(1430);
const TSymbolUniqueId BuiltInId::interpolateAtSample_Float3_Int1            = TSymbolUniqueId(1431);
const TSymbolUniqueId BuiltInId::interpolateAtSample_Float4_Int1            = TSymbolUniqueId(1432);
const TSymbolUniqueId BuiltInId::interpolateAtOffset_Float1_Float2          = TSymbolUniqueId(1433);
const TSymbolUniqueId BuiltInId::interpolateAtOffset_Float2_Float2          = TSymbolUniqueId(1434);
const TSymbolUniqueId BuiltInId::interpolateAtOffset_Float3_Float2          = TSymbolUniqueId(1435);
const TSymbolUniqueId BuiltInId::interpolateAtOffset_Float4_Float2          = TSymbolUniqueId(1436);
const TSymbolUniqueId BuiltInId::atomicCounter_AtomicCounter1               = TSymbolUniqueId(1437);
const TSymbolUniqueId BuiltInId::pt00G                                      = TSymbolUniqueId(1438);
const TSymbolUniqueId BuiltInId::atomicCounterIncrement_AtomicCounter1      = TSymbolUniqueId(1439);
const TSymbolUniqueId BuiltInId::atomicCounterDecrement_AtomicCounter1      = TSymbolUniqueId(1440);
const TSymbolUniqueId BuiltInId::atomicCounterAdd_AtomicCounter1_UInt1      = TSymbolUniqueId(1441);
const TSymbolUniqueId BuiltInId::atomicCounterSubtract_AtomicCounter1_UInt1 = TSymbolUniqueId(1442);
const TSymbolUniqueId BuiltInId::atomicCounterMin_AtomicCounter1_UInt1      = TSymbolUniqueId(1443);
const TSymbolUniqueId BuiltInId::atomicCounterMax_AtomicCounter1_UInt1      = TSymbolUniqueId(1444);
const TSymbolUniqueId BuiltInId::atomicCounterAnd_AtomicCounter1_UInt1      = TSymbolUniqueId(1445);
const TSymbolUniqueId BuiltInId::atomicCounterOr_AtomicCounter1_UInt1       = TSymbolUniqueId(1446);
const TSymbolUniqueId BuiltInId::atomicCounterXor_AtomicCounter1_UInt1      = TSymbolUniqueId(1447);
const TSymbolUniqueId BuiltInId::atomicCounterExchange_AtomicCounter1_UInt1 = TSymbolUniqueId(1448);
const TSymbolUniqueId BuiltInId::atomicCounterCompSwap_AtomicCounter1_UInt1_UInt1 =
    TSymbolUniqueId(1449);
const TSymbolUniqueId BuiltInId::atomicAdd_UInt1_UInt1                      = TSymbolUniqueId(1450);
const TSymbolUniqueId BuiltInId::pt_io_00E                                  = TSymbolUniqueId(1451);
const TSymbolUniqueId BuiltInId::atomicAdd_Int1_Int1                        = TSymbolUniqueId(1452);
const TSymbolUniqueId BuiltInId::pt_io_00D                                  = TSymbolUniqueId(1453);
const TSymbolUniqueId BuiltInId::atomicMin_UInt1_UInt1                      = TSymbolUniqueId(1454);
const TSymbolUniqueId BuiltInId::atomicMin_Int1_Int1                        = TSymbolUniqueId(1455);
const TSymbolUniqueId BuiltInId::atomicMax_UInt1_UInt1                      = TSymbolUniqueId(1456);
const TSymbolUniqueId BuiltInId::atomicMax_Int1_Int1                        = TSymbolUniqueId(1457);
const TSymbolUniqueId BuiltInId::atomicAnd_UInt1_UInt1                      = TSymbolUniqueId(1458);
const TSymbolUniqueId BuiltInId::atomicAnd_Int1_Int1                        = TSymbolUniqueId(1459);
const TSymbolUniqueId BuiltInId::atomicOr_UInt1_UInt1                       = TSymbolUniqueId(1460);
const TSymbolUniqueId BuiltInId::atomicOr_Int1_Int1                         = TSymbolUniqueId(1461);
const TSymbolUniqueId BuiltInId::atomicXor_UInt1_UInt1                      = TSymbolUniqueId(1462);
const TSymbolUniqueId BuiltInId::atomicXor_Int1_Int1                        = TSymbolUniqueId(1463);
const TSymbolUniqueId BuiltInId::atomicExchange_UInt1_UInt1                 = TSymbolUniqueId(1464);
const TSymbolUniqueId BuiltInId::atomicExchange_Int1_Int1                   = TSymbolUniqueId(1465);
const TSymbolUniqueId BuiltInId::atomicCompSwap_UInt1_UInt1_UInt1           = TSymbolUniqueId(1466);
const TSymbolUniqueId BuiltInId::atomicCompSwap_Int1_Int1_Int1              = TSymbolUniqueId(1467);
const TSymbolUniqueId BuiltInId::imageSize_Image2D1                         = TSymbolUniqueId(1468);
const TSymbolUniqueId BuiltInId::pt00y                                      = TSymbolUniqueId(1469);
const TSymbolUniqueId BuiltInId::imageSize_IImage2D1                        = TSymbolUniqueId(1470);
const TSymbolUniqueId BuiltInId::pt00z                                      = TSymbolUniqueId(1471);
const TSymbolUniqueId BuiltInId::imageSize_UImage2D1                        = TSymbolUniqueId(1472);
const TSymbolUniqueId BuiltInId::pt01A                                      = TSymbolUniqueId(1473);
const TSymbolUniqueId BuiltInId::imageSize_Image3D1                         = TSymbolUniqueId(1474);
const TSymbolUniqueId BuiltInId::pt01B                                      = TSymbolUniqueId(1475);
const TSymbolUniqueId BuiltInId::imageSize_IImage3D1                        = TSymbolUniqueId(1476);
const TSymbolUniqueId BuiltInId::pt01C                                      = TSymbolUniqueId(1477);
const TSymbolUniqueId BuiltInId::imageSize_UImage3D1                        = TSymbolUniqueId(1478);
const TSymbolUniqueId BuiltInId::pt01D                                      = TSymbolUniqueId(1479);
const TSymbolUniqueId BuiltInId::imageSize_Image2DArray1                    = TSymbolUniqueId(1480);
const TSymbolUniqueId BuiltInId::pt01E                                      = TSymbolUniqueId(1481);
const TSymbolUniqueId BuiltInId::imageSize_IImage2DArray1                   = TSymbolUniqueId(1482);
const TSymbolUniqueId BuiltInId::pt01F                                      = TSymbolUniqueId(1483);
const TSymbolUniqueId BuiltInId::imageSize_UImage2DArray1                   = TSymbolUniqueId(1484);
const TSymbolUniqueId BuiltInId::pt01G                                      = TSymbolUniqueId(1485);
const TSymbolUniqueId BuiltInId::imageSize_ImageCube1                       = TSymbolUniqueId(1486);
const TSymbolUniqueId BuiltInId::pt01H                                      = TSymbolUniqueId(1487);
const TSymbolUniqueId BuiltInId::imageSize_IImageCube1                      = TSymbolUniqueId(1488);
const TSymbolUniqueId BuiltInId::pt01I                                      = TSymbolUniqueId(1489);
const TSymbolUniqueId BuiltInId::imageSize_UImageCube1                      = TSymbolUniqueId(1490);
const TSymbolUniqueId BuiltInId::pt01J                                      = TSymbolUniqueId(1491);
const TSymbolUniqueId BuiltInId::imageSize_Image1D1                         = TSymbolUniqueId(1492);
const TSymbolUniqueId BuiltInId::pt01K                                      = TSymbolUniqueId(1493);
const TSymbolUniqueId BuiltInId::imageSize_IImage1D1                        = TSymbolUniqueId(1494);
const TSymbolUniqueId BuiltInId::pt01L                                      = TSymbolUniqueId(1495);
const TSymbolUniqueId BuiltInId::imageSize_UImage1D1                        = TSymbolUniqueId(1496);
const TSymbolUniqueId BuiltInId::pt01M                                      = TSymbolUniqueId(1497);
const TSymbolUniqueId BuiltInId::imageSize_ImageCubeArray1                  = TSymbolUniqueId(1498);
const TSymbolUniqueId BuiltInId::pt01Z                                      = TSymbolUniqueId(1499);
const TSymbolUniqueId BuiltInId::imageSize_IImageCubeArray1                 = TSymbolUniqueId(1500);
const TSymbolUniqueId BuiltInId::pt01a                                      = TSymbolUniqueId(1501);
const TSymbolUniqueId BuiltInId::imageSize_UImageCubeArray1                 = TSymbolUniqueId(1502);
const TSymbolUniqueId BuiltInId::pt01b                                      = TSymbolUniqueId(1503);
const TSymbolUniqueId BuiltInId::imageSize_ImageRect1                       = TSymbolUniqueId(1504);
const TSymbolUniqueId BuiltInId::pt01c                                      = TSymbolUniqueId(1505);
const TSymbolUniqueId BuiltInId::imageSize_IImageRect1                      = TSymbolUniqueId(1506);
const TSymbolUniqueId BuiltInId::pt01d                                      = TSymbolUniqueId(1507);
const TSymbolUniqueId BuiltInId::imageSize_UImageRect1                      = TSymbolUniqueId(1508);
const TSymbolUniqueId BuiltInId::pt01e                                      = TSymbolUniqueId(1509);
const TSymbolUniqueId BuiltInId::imageSize_Image1DArray1                    = TSymbolUniqueId(1510);
const TSymbolUniqueId BuiltInId::pt01N                                      = TSymbolUniqueId(1511);
const TSymbolUniqueId BuiltInId::imageSize_IImage1DArray1                   = TSymbolUniqueId(1512);
const TSymbolUniqueId BuiltInId::pt01O                                      = TSymbolUniqueId(1513);
const TSymbolUniqueId BuiltInId::imageSize_UImage1DArray1                   = TSymbolUniqueId(1514);
const TSymbolUniqueId BuiltInId::pt01P                                      = TSymbolUniqueId(1515);
const TSymbolUniqueId BuiltInId::imageSize_ImageBuffer1                     = TSymbolUniqueId(1516);
const TSymbolUniqueId BuiltInId::pt01f                                      = TSymbolUniqueId(1517);
const TSymbolUniqueId BuiltInId::imageSize_IImageBuffer1                    = TSymbolUniqueId(1518);
const TSymbolUniqueId BuiltInId::pt01g                                      = TSymbolUniqueId(1519);
const TSymbolUniqueId BuiltInId::imageSize_UImageBuffer1                    = TSymbolUniqueId(1520);
const TSymbolUniqueId BuiltInId::pt01h                                      = TSymbolUniqueId(1521);
const TSymbolUniqueId BuiltInId::imageSize_Image2DMS1                       = TSymbolUniqueId(1522);
const TSymbolUniqueId BuiltInId::pt01Q                                      = TSymbolUniqueId(1523);
const TSymbolUniqueId BuiltInId::imageSize_IImage2DMS1                      = TSymbolUniqueId(1524);
const TSymbolUniqueId BuiltInId::pt01R                                      = TSymbolUniqueId(1525);
const TSymbolUniqueId BuiltInId::imageSize_UImage2DMS1                      = TSymbolUniqueId(1526);
const TSymbolUniqueId BuiltInId::pt01S                                      = TSymbolUniqueId(1527);
const TSymbolUniqueId BuiltInId::imageSize_Image2DMSArray1                  = TSymbolUniqueId(1528);
const TSymbolUniqueId BuiltInId::pt01T                                      = TSymbolUniqueId(1529);
const TSymbolUniqueId BuiltInId::imageSize_IImage2DMSArray1                 = TSymbolUniqueId(1530);
const TSymbolUniqueId BuiltInId::pt01U                                      = TSymbolUniqueId(1531);
const TSymbolUniqueId BuiltInId::imageSize_UImage2DMSArray1                 = TSymbolUniqueId(1532);
const TSymbolUniqueId BuiltInId::pt01V                                      = TSymbolUniqueId(1533);
const TSymbolUniqueId BuiltInId::imageSamples_Image2DMS1                    = TSymbolUniqueId(1534);
const TSymbolUniqueId BuiltInId::imageSamples_IImage2DMS1                   = TSymbolUniqueId(1535);
const TSymbolUniqueId BuiltInId::imageSamples_UImage2DMS1                   = TSymbolUniqueId(1536);
const TSymbolUniqueId BuiltInId::imageSamples_Image2DMSArray1               = TSymbolUniqueId(1537);
const TSymbolUniqueId BuiltInId::imageSamples_IImage2DMSArray1              = TSymbolUniqueId(1538);
const TSymbolUniqueId BuiltInId::imageSamples_UImage2DMSArray1              = TSymbolUniqueId(1539);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2D1_Int2_UInt1         = TSymbolUniqueId(1540);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2D1_Int2_UInt1        = TSymbolUniqueId(1541);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2D1_Int2_UInt1        = TSymbolUniqueId(1542);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image3D1_Int3_UInt1         = TSymbolUniqueId(1543);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage3D1_Int3_UInt1        = TSymbolUniqueId(1544);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage3D1_Int3_UInt1        = TSymbolUniqueId(1545);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_ImageCube1_Int3_UInt1       = TSymbolUniqueId(1546);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImageCube1_Int3_UInt1      = TSymbolUniqueId(1547);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImageCube1_Int3_UInt1      = TSymbolUniqueId(1548);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_ImageBuffer1_Int1_UInt1     = TSymbolUniqueId(1549);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1550);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1551);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2DArray1_Int3_UInt1    = TSymbolUniqueId(1552);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1553);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1554);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_ImageCubeArray1_Int3_UInt1  = TSymbolUniqueId(1555);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1556);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1557);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image1D1_Int1_UInt1         = TSymbolUniqueId(1558);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage1D1_Int1_UInt1        = TSymbolUniqueId(1559);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage1D1_Int1_UInt1        = TSymbolUniqueId(1560);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image1DArray1_Int2_UInt1    = TSymbolUniqueId(1561);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1562);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1563);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2DRect1_Int2_UInt1     = TSymbolUniqueId(1564);
const TSymbolUniqueId BuiltInId::pt01W                                      = TSymbolUniqueId(1565);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1566);
const TSymbolUniqueId BuiltInId::pt01X                                      = TSymbolUniqueId(1567);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1568);
const TSymbolUniqueId BuiltInId::pt01Y                                      = TSymbolUniqueId(1569);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2DMS1_Int2_Int1_UInt1  = TSymbolUniqueId(1570);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1571);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1572);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1573);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1574);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1575);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2D1_Int2_Int1         = TSymbolUniqueId(1576);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2D1_Int2_Int1        = TSymbolUniqueId(1577);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2D1_Int2_Int1        = TSymbolUniqueId(1578);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image3D1_Int3_Int1         = TSymbolUniqueId(1579);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage3D1_Int3_Int1        = TSymbolUniqueId(1580);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage3D1_Int3_Int1        = TSymbolUniqueId(1581);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_ImageCube1_Int3_Int1       = TSymbolUniqueId(1582);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImageCube1_Int3_Int1      = TSymbolUniqueId(1583);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImageCube1_Int3_Int1      = TSymbolUniqueId(1584);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_ImageBuffer1_Int1_Int1     = TSymbolUniqueId(1585);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImageBuffer1_Int1_Int1    = TSymbolUniqueId(1586);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImageBuffer1_Int1_Int1    = TSymbolUniqueId(1587);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2DArray1_Int3_Int1    = TSymbolUniqueId(1588);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2DArray1_Int3_Int1   = TSymbolUniqueId(1589);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2DArray1_Int3_Int1   = TSymbolUniqueId(1590);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_ImageCubeArray1_Int3_Int1  = TSymbolUniqueId(1591);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1592);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1593);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image1D1_Int1_Int1         = TSymbolUniqueId(1594);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage1D1_Int1_Int1        = TSymbolUniqueId(1595);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage1D1_Int1_Int1        = TSymbolUniqueId(1596);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image1DArray1_Int2_Int1    = TSymbolUniqueId(1597);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage1DArray1_Int2_Int1   = TSymbolUniqueId(1598);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage1DArray1_Int2_Int1   = TSymbolUniqueId(1599);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2DRect1_Int2_Int1     = TSymbolUniqueId(1600);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2DRect1_Int2_Int1    = TSymbolUniqueId(1601);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2DRect1_Int2_Int1    = TSymbolUniqueId(1602);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2DMS1_Int2_Int1_Int1  = TSymbolUniqueId(1603);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1604);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1605);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_Image2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1606);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_IImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1607);
const TSymbolUniqueId BuiltInId::imageAtomicAdd_UImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1608);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2D1_Int2_UInt1         = TSymbolUniqueId(1609);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2D1_Int2_UInt1        = TSymbolUniqueId(1610);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2D1_Int2_UInt1        = TSymbolUniqueId(1611);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image3D1_Int3_UInt1         = TSymbolUniqueId(1612);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage3D1_Int3_UInt1        = TSymbolUniqueId(1613);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage3D1_Int3_UInt1        = TSymbolUniqueId(1614);
const TSymbolUniqueId BuiltInId::imageAtomicMin_ImageCube1_Int3_UInt1       = TSymbolUniqueId(1615);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImageCube1_Int3_UInt1      = TSymbolUniqueId(1616);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImageCube1_Int3_UInt1      = TSymbolUniqueId(1617);
const TSymbolUniqueId BuiltInId::imageAtomicMin_ImageBuffer1_Int1_UInt1     = TSymbolUniqueId(1618);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1619);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1620);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2DArray1_Int3_UInt1    = TSymbolUniqueId(1621);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1622);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1623);
const TSymbolUniqueId BuiltInId::imageAtomicMin_ImageCubeArray1_Int3_UInt1  = TSymbolUniqueId(1624);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1625);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1626);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image1D1_Int1_UInt1         = TSymbolUniqueId(1627);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage1D1_Int1_UInt1        = TSymbolUniqueId(1628);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage1D1_Int1_UInt1        = TSymbolUniqueId(1629);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image1DArray1_Int2_UInt1    = TSymbolUniqueId(1630);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1631);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1632);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2DRect1_Int2_UInt1     = TSymbolUniqueId(1633);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1634);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1635);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2DMS1_Int2_Int1_UInt1  = TSymbolUniqueId(1636);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1637);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1638);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1639);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1640);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1641);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2D1_Int2_Int1         = TSymbolUniqueId(1642);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2D1_Int2_Int1        = TSymbolUniqueId(1643);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2D1_Int2_Int1        = TSymbolUniqueId(1644);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image3D1_Int3_Int1         = TSymbolUniqueId(1645);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage3D1_Int3_Int1        = TSymbolUniqueId(1646);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage3D1_Int3_Int1        = TSymbolUniqueId(1647);
const TSymbolUniqueId BuiltInId::imageAtomicMin_ImageCube1_Int3_Int1       = TSymbolUniqueId(1648);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImageCube1_Int3_Int1      = TSymbolUniqueId(1649);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImageCube1_Int3_Int1      = TSymbolUniqueId(1650);
const TSymbolUniqueId BuiltInId::imageAtomicMin_ImageBuffer1_Int1_Int1     = TSymbolUniqueId(1651);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImageBuffer1_Int1_Int1    = TSymbolUniqueId(1652);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImageBuffer1_Int1_Int1    = TSymbolUniqueId(1653);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2DArray1_Int3_Int1    = TSymbolUniqueId(1654);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2DArray1_Int3_Int1   = TSymbolUniqueId(1655);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2DArray1_Int3_Int1   = TSymbolUniqueId(1656);
const TSymbolUniqueId BuiltInId::imageAtomicMin_ImageCubeArray1_Int3_Int1  = TSymbolUniqueId(1657);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1658);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1659);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image1D1_Int1_Int1         = TSymbolUniqueId(1660);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage1D1_Int1_Int1        = TSymbolUniqueId(1661);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage1D1_Int1_Int1        = TSymbolUniqueId(1662);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image1DArray1_Int2_Int1    = TSymbolUniqueId(1663);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage1DArray1_Int2_Int1   = TSymbolUniqueId(1664);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage1DArray1_Int2_Int1   = TSymbolUniqueId(1665);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2DRect1_Int2_Int1     = TSymbolUniqueId(1666);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2DRect1_Int2_Int1    = TSymbolUniqueId(1667);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2DRect1_Int2_Int1    = TSymbolUniqueId(1668);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2DMS1_Int2_Int1_Int1  = TSymbolUniqueId(1669);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1670);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1671);
const TSymbolUniqueId BuiltInId::imageAtomicMin_Image2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1672);
const TSymbolUniqueId BuiltInId::imageAtomicMin_IImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1673);
const TSymbolUniqueId BuiltInId::imageAtomicMin_UImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1674);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2D1_Int2_UInt1         = TSymbolUniqueId(1675);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2D1_Int2_UInt1        = TSymbolUniqueId(1676);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2D1_Int2_UInt1        = TSymbolUniqueId(1677);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image3D1_Int3_UInt1         = TSymbolUniqueId(1678);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage3D1_Int3_UInt1        = TSymbolUniqueId(1679);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage3D1_Int3_UInt1        = TSymbolUniqueId(1680);
const TSymbolUniqueId BuiltInId::imageAtomicMax_ImageCube1_Int3_UInt1       = TSymbolUniqueId(1681);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImageCube1_Int3_UInt1      = TSymbolUniqueId(1682);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImageCube1_Int3_UInt1      = TSymbolUniqueId(1683);
const TSymbolUniqueId BuiltInId::imageAtomicMax_ImageBuffer1_Int1_UInt1     = TSymbolUniqueId(1684);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1685);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1686);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2DArray1_Int3_UInt1    = TSymbolUniqueId(1687);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1688);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1689);
const TSymbolUniqueId BuiltInId::imageAtomicMax_ImageCubeArray1_Int3_UInt1  = TSymbolUniqueId(1690);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1691);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1692);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image1D1_Int1_UInt1         = TSymbolUniqueId(1693);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage1D1_Int1_UInt1        = TSymbolUniqueId(1694);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage1D1_Int1_UInt1        = TSymbolUniqueId(1695);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image1DArray1_Int2_UInt1    = TSymbolUniqueId(1696);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1697);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1698);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2DRect1_Int2_UInt1     = TSymbolUniqueId(1699);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1700);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1701);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2DMS1_Int2_Int1_UInt1  = TSymbolUniqueId(1702);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1703);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1704);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1705);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1706);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1707);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2D1_Int2_Int1         = TSymbolUniqueId(1708);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2D1_Int2_Int1        = TSymbolUniqueId(1709);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2D1_Int2_Int1        = TSymbolUniqueId(1710);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image3D1_Int3_Int1         = TSymbolUniqueId(1711);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage3D1_Int3_Int1        = TSymbolUniqueId(1712);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage3D1_Int3_Int1        = TSymbolUniqueId(1713);
const TSymbolUniqueId BuiltInId::imageAtomicMax_ImageCube1_Int3_Int1       = TSymbolUniqueId(1714);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImageCube1_Int3_Int1      = TSymbolUniqueId(1715);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImageCube1_Int3_Int1      = TSymbolUniqueId(1716);
const TSymbolUniqueId BuiltInId::imageAtomicMax_ImageBuffer1_Int1_Int1     = TSymbolUniqueId(1717);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImageBuffer1_Int1_Int1    = TSymbolUniqueId(1718);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImageBuffer1_Int1_Int1    = TSymbolUniqueId(1719);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2DArray1_Int3_Int1    = TSymbolUniqueId(1720);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2DArray1_Int3_Int1   = TSymbolUniqueId(1721);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2DArray1_Int3_Int1   = TSymbolUniqueId(1722);
const TSymbolUniqueId BuiltInId::imageAtomicMax_ImageCubeArray1_Int3_Int1  = TSymbolUniqueId(1723);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1724);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1725);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image1D1_Int1_Int1         = TSymbolUniqueId(1726);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage1D1_Int1_Int1        = TSymbolUniqueId(1727);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage1D1_Int1_Int1        = TSymbolUniqueId(1728);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image1DArray1_Int2_Int1    = TSymbolUniqueId(1729);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage1DArray1_Int2_Int1   = TSymbolUniqueId(1730);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage1DArray1_Int2_Int1   = TSymbolUniqueId(1731);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2DRect1_Int2_Int1     = TSymbolUniqueId(1732);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2DRect1_Int2_Int1    = TSymbolUniqueId(1733);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2DRect1_Int2_Int1    = TSymbolUniqueId(1734);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2DMS1_Int2_Int1_Int1  = TSymbolUniqueId(1735);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1736);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1737);
const TSymbolUniqueId BuiltInId::imageAtomicMax_Image2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1738);
const TSymbolUniqueId BuiltInId::imageAtomicMax_IImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1739);
const TSymbolUniqueId BuiltInId::imageAtomicMax_UImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1740);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2D1_Int2_UInt1         = TSymbolUniqueId(1741);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2D1_Int2_UInt1        = TSymbolUniqueId(1742);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2D1_Int2_UInt1        = TSymbolUniqueId(1743);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image3D1_Int3_UInt1         = TSymbolUniqueId(1744);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage3D1_Int3_UInt1        = TSymbolUniqueId(1745);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage3D1_Int3_UInt1        = TSymbolUniqueId(1746);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_ImageCube1_Int3_UInt1       = TSymbolUniqueId(1747);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImageCube1_Int3_UInt1      = TSymbolUniqueId(1748);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImageCube1_Int3_UInt1      = TSymbolUniqueId(1749);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_ImageBuffer1_Int1_UInt1     = TSymbolUniqueId(1750);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1751);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1752);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2DArray1_Int3_UInt1    = TSymbolUniqueId(1753);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1754);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1755);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_ImageCubeArray1_Int3_UInt1  = TSymbolUniqueId(1756);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1757);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1758);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image1D1_Int1_UInt1         = TSymbolUniqueId(1759);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage1D1_Int1_UInt1        = TSymbolUniqueId(1760);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage1D1_Int1_UInt1        = TSymbolUniqueId(1761);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image1DArray1_Int2_UInt1    = TSymbolUniqueId(1762);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1763);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1764);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2DRect1_Int2_UInt1     = TSymbolUniqueId(1765);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1766);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1767);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2DMS1_Int2_Int1_UInt1  = TSymbolUniqueId(1768);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1769);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1770);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1771);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1772);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1773);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2D1_Int2_Int1         = TSymbolUniqueId(1774);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2D1_Int2_Int1        = TSymbolUniqueId(1775);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2D1_Int2_Int1        = TSymbolUniqueId(1776);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image3D1_Int3_Int1         = TSymbolUniqueId(1777);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage3D1_Int3_Int1        = TSymbolUniqueId(1778);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage3D1_Int3_Int1        = TSymbolUniqueId(1779);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_ImageCube1_Int3_Int1       = TSymbolUniqueId(1780);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImageCube1_Int3_Int1      = TSymbolUniqueId(1781);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImageCube1_Int3_Int1      = TSymbolUniqueId(1782);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_ImageBuffer1_Int1_Int1     = TSymbolUniqueId(1783);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImageBuffer1_Int1_Int1    = TSymbolUniqueId(1784);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImageBuffer1_Int1_Int1    = TSymbolUniqueId(1785);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2DArray1_Int3_Int1    = TSymbolUniqueId(1786);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2DArray1_Int3_Int1   = TSymbolUniqueId(1787);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2DArray1_Int3_Int1   = TSymbolUniqueId(1788);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_ImageCubeArray1_Int3_Int1  = TSymbolUniqueId(1789);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1790);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1791);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image1D1_Int1_Int1         = TSymbolUniqueId(1792);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage1D1_Int1_Int1        = TSymbolUniqueId(1793);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage1D1_Int1_Int1        = TSymbolUniqueId(1794);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image1DArray1_Int2_Int1    = TSymbolUniqueId(1795);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage1DArray1_Int2_Int1   = TSymbolUniqueId(1796);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage1DArray1_Int2_Int1   = TSymbolUniqueId(1797);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2DRect1_Int2_Int1     = TSymbolUniqueId(1798);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2DRect1_Int2_Int1    = TSymbolUniqueId(1799);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2DRect1_Int2_Int1    = TSymbolUniqueId(1800);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2DMS1_Int2_Int1_Int1  = TSymbolUniqueId(1801);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1802);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1803);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_Image2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1804);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_IImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1805);
const TSymbolUniqueId BuiltInId::imageAtomicAnd_UImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1806);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2D1_Int2_UInt1         = TSymbolUniqueId(1807);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2D1_Int2_UInt1        = TSymbolUniqueId(1808);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2D1_Int2_UInt1        = TSymbolUniqueId(1809);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image3D1_Int3_UInt1         = TSymbolUniqueId(1810);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage3D1_Int3_UInt1        = TSymbolUniqueId(1811);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage3D1_Int3_UInt1        = TSymbolUniqueId(1812);
const TSymbolUniqueId BuiltInId::imageAtomicOr_ImageCube1_Int3_UInt1       = TSymbolUniqueId(1813);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImageCube1_Int3_UInt1      = TSymbolUniqueId(1814);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImageCube1_Int3_UInt1      = TSymbolUniqueId(1815);
const TSymbolUniqueId BuiltInId::imageAtomicOr_ImageBuffer1_Int1_UInt1     = TSymbolUniqueId(1816);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1817);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1818);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2DArray1_Int3_UInt1    = TSymbolUniqueId(1819);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1820);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1821);
const TSymbolUniqueId BuiltInId::imageAtomicOr_ImageCubeArray1_Int3_UInt1  = TSymbolUniqueId(1822);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1823);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1824);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image1D1_Int1_UInt1         = TSymbolUniqueId(1825);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage1D1_Int1_UInt1        = TSymbolUniqueId(1826);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage1D1_Int1_UInt1        = TSymbolUniqueId(1827);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image1DArray1_Int2_UInt1    = TSymbolUniqueId(1828);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1829);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1830);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2DRect1_Int2_UInt1     = TSymbolUniqueId(1831);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1832);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1833);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2DMS1_Int2_Int1_UInt1  = TSymbolUniqueId(1834);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1835);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1836);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1837);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1838);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1839);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2D1_Int2_Int1         = TSymbolUniqueId(1840);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2D1_Int2_Int1        = TSymbolUniqueId(1841);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2D1_Int2_Int1        = TSymbolUniqueId(1842);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image3D1_Int3_Int1         = TSymbolUniqueId(1843);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage3D1_Int3_Int1        = TSymbolUniqueId(1844);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage3D1_Int3_Int1        = TSymbolUniqueId(1845);
const TSymbolUniqueId BuiltInId::imageAtomicOr_ImageCube1_Int3_Int1       = TSymbolUniqueId(1846);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImageCube1_Int3_Int1      = TSymbolUniqueId(1847);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImageCube1_Int3_Int1      = TSymbolUniqueId(1848);
const TSymbolUniqueId BuiltInId::imageAtomicOr_ImageBuffer1_Int1_Int1     = TSymbolUniqueId(1849);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImageBuffer1_Int1_Int1    = TSymbolUniqueId(1850);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImageBuffer1_Int1_Int1    = TSymbolUniqueId(1851);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2DArray1_Int3_Int1    = TSymbolUniqueId(1852);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2DArray1_Int3_Int1   = TSymbolUniqueId(1853);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2DArray1_Int3_Int1   = TSymbolUniqueId(1854);
const TSymbolUniqueId BuiltInId::imageAtomicOr_ImageCubeArray1_Int3_Int1  = TSymbolUniqueId(1855);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1856);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1857);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image1D1_Int1_Int1         = TSymbolUniqueId(1858);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage1D1_Int1_Int1        = TSymbolUniqueId(1859);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage1D1_Int1_Int1        = TSymbolUniqueId(1860);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image1DArray1_Int2_Int1    = TSymbolUniqueId(1861);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage1DArray1_Int2_Int1   = TSymbolUniqueId(1862);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage1DArray1_Int2_Int1   = TSymbolUniqueId(1863);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2DRect1_Int2_Int1     = TSymbolUniqueId(1864);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2DRect1_Int2_Int1    = TSymbolUniqueId(1865);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2DRect1_Int2_Int1    = TSymbolUniqueId(1866);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2DMS1_Int2_Int1_Int1  = TSymbolUniqueId(1867);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1868);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1869);
const TSymbolUniqueId BuiltInId::imageAtomicOr_Image2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1870);
const TSymbolUniqueId BuiltInId::imageAtomicOr_IImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1871);
const TSymbolUniqueId BuiltInId::imageAtomicOr_UImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1872);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2D1_Int2_UInt1         = TSymbolUniqueId(1873);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2D1_Int2_UInt1        = TSymbolUniqueId(1874);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2D1_Int2_UInt1        = TSymbolUniqueId(1875);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image3D1_Int3_UInt1         = TSymbolUniqueId(1876);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage3D1_Int3_UInt1        = TSymbolUniqueId(1877);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage3D1_Int3_UInt1        = TSymbolUniqueId(1878);
const TSymbolUniqueId BuiltInId::imageAtomicXor_ImageCube1_Int3_UInt1       = TSymbolUniqueId(1879);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImageCube1_Int3_UInt1      = TSymbolUniqueId(1880);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImageCube1_Int3_UInt1      = TSymbolUniqueId(1881);
const TSymbolUniqueId BuiltInId::imageAtomicXor_ImageBuffer1_Int1_UInt1     = TSymbolUniqueId(1882);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1883);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImageBuffer1_Int1_UInt1    = TSymbolUniqueId(1884);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2DArray1_Int3_UInt1    = TSymbolUniqueId(1885);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1886);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2DArray1_Int3_UInt1   = TSymbolUniqueId(1887);
const TSymbolUniqueId BuiltInId::imageAtomicXor_ImageCubeArray1_Int3_UInt1  = TSymbolUniqueId(1888);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1889);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImageCubeArray1_Int3_UInt1 = TSymbolUniqueId(1890);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image1D1_Int1_UInt1         = TSymbolUniqueId(1891);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage1D1_Int1_UInt1        = TSymbolUniqueId(1892);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage1D1_Int1_UInt1        = TSymbolUniqueId(1893);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image1DArray1_Int2_UInt1    = TSymbolUniqueId(1894);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1895);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage1DArray1_Int2_UInt1   = TSymbolUniqueId(1896);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2DRect1_Int2_UInt1     = TSymbolUniqueId(1897);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1898);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2DRect1_Int2_UInt1    = TSymbolUniqueId(1899);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2DMS1_Int2_Int1_UInt1  = TSymbolUniqueId(1900);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1901);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2DMS1_Int2_Int1_UInt1 = TSymbolUniqueId(1902);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1903);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1904);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1905);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2D1_Int2_Int1         = TSymbolUniqueId(1906);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2D1_Int2_Int1        = TSymbolUniqueId(1907);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2D1_Int2_Int1        = TSymbolUniqueId(1908);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image3D1_Int3_Int1         = TSymbolUniqueId(1909);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage3D1_Int3_Int1        = TSymbolUniqueId(1910);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage3D1_Int3_Int1        = TSymbolUniqueId(1911);
const TSymbolUniqueId BuiltInId::imageAtomicXor_ImageCube1_Int3_Int1       = TSymbolUniqueId(1912);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImageCube1_Int3_Int1      = TSymbolUniqueId(1913);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImageCube1_Int3_Int1      = TSymbolUniqueId(1914);
const TSymbolUniqueId BuiltInId::imageAtomicXor_ImageBuffer1_Int1_Int1     = TSymbolUniqueId(1915);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImageBuffer1_Int1_Int1    = TSymbolUniqueId(1916);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImageBuffer1_Int1_Int1    = TSymbolUniqueId(1917);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2DArray1_Int3_Int1    = TSymbolUniqueId(1918);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2DArray1_Int3_Int1   = TSymbolUniqueId(1919);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2DArray1_Int3_Int1   = TSymbolUniqueId(1920);
const TSymbolUniqueId BuiltInId::imageAtomicXor_ImageCubeArray1_Int3_Int1  = TSymbolUniqueId(1921);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1922);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImageCubeArray1_Int3_Int1 = TSymbolUniqueId(1923);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image1D1_Int1_Int1         = TSymbolUniqueId(1924);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage1D1_Int1_Int1        = TSymbolUniqueId(1925);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage1D1_Int1_Int1        = TSymbolUniqueId(1926);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image1DArray1_Int2_Int1    = TSymbolUniqueId(1927);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage1DArray1_Int2_Int1   = TSymbolUniqueId(1928);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage1DArray1_Int2_Int1   = TSymbolUniqueId(1929);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2DRect1_Int2_Int1     = TSymbolUniqueId(1930);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2DRect1_Int2_Int1    = TSymbolUniqueId(1931);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2DRect1_Int2_Int1    = TSymbolUniqueId(1932);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2DMS1_Int2_Int1_Int1  = TSymbolUniqueId(1933);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1934);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2DMS1_Int2_Int1_Int1 = TSymbolUniqueId(1935);
const TSymbolUniqueId BuiltInId::imageAtomicXor_Image2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1936);
const TSymbolUniqueId BuiltInId::imageAtomicXor_IImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1937);
const TSymbolUniqueId BuiltInId::imageAtomicXor_UImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(1938);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2D1_Int2_UInt1    = TSymbolUniqueId(1939);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2D1_Int2_UInt1   = TSymbolUniqueId(1940);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2D1_Int2_UInt1   = TSymbolUniqueId(1941);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image3D1_Int3_UInt1    = TSymbolUniqueId(1942);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage3D1_Int3_UInt1   = TSymbolUniqueId(1943);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage3D1_Int3_UInt1   = TSymbolUniqueId(1944);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageCube1_Int3_UInt1  = TSymbolUniqueId(1945);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageCube1_Int3_UInt1 = TSymbolUniqueId(1946);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageCube1_Int3_UInt1 = TSymbolUniqueId(1947);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_UInt1 =
    TSymbolUniqueId(1948);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_UInt1 =
    TSymbolUniqueId(1949);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_UInt1 =
    TSymbolUniqueId(1950);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DArray1_Int3_UInt1 =
    TSymbolUniqueId(1951);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_UInt1 =
    TSymbolUniqueId(1952);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_UInt1 =
    TSymbolUniqueId(1953);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_UInt1 =
    TSymbolUniqueId(1954);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_UInt1 =
    TSymbolUniqueId(1955);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_UInt1 =
    TSymbolUniqueId(1956);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image1D1_Int1_UInt1  = TSymbolUniqueId(1957);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage1D1_Int1_UInt1 = TSymbolUniqueId(1958);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage1D1_Int1_UInt1 = TSymbolUniqueId(1959);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image1DArray1_Int2_UInt1 =
    TSymbolUniqueId(1960);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_UInt1 =
    TSymbolUniqueId(1961);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_UInt1 =
    TSymbolUniqueId(1962);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DRect1_Int2_UInt1 =
    TSymbolUniqueId(1963);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DRect1_Int2_UInt1 =
    TSymbolUniqueId(1964);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DRect1_Int2_UInt1 =
    TSymbolUniqueId(1965);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_UInt1 =
    TSymbolUniqueId(1966);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_UInt1 =
    TSymbolUniqueId(1967);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_UInt1 =
    TSymbolUniqueId(1968);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1969);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1970);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_UInt1 =
    TSymbolUniqueId(1971);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2D1_Int2_Int1     = TSymbolUniqueId(1972);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2D1_Int2_Int1    = TSymbolUniqueId(1973);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2D1_Int2_Int1    = TSymbolUniqueId(1974);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image3D1_Int3_Int1     = TSymbolUniqueId(1975);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage3D1_Int3_Int1    = TSymbolUniqueId(1976);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage3D1_Int3_Int1    = TSymbolUniqueId(1977);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageCube1_Int3_Int1   = TSymbolUniqueId(1978);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageCube1_Int3_Int1  = TSymbolUniqueId(1979);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageCube1_Int3_Int1  = TSymbolUniqueId(1980);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_Int1 = TSymbolUniqueId(1981);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_Int1 =
    TSymbolUniqueId(1982);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_Int1 =
    TSymbolUniqueId(1983);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DArray1_Int3_Int1 =
    TSymbolUniqueId(1984);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_Int1 =
    TSymbolUniqueId(1985);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_Int1 =
    TSymbolUniqueId(1986);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_Int1 =
    TSymbolUniqueId(1987);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_Int1 =
    TSymbolUniqueId(1988);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_Int1 =
    TSymbolUniqueId(1989);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image1D1_Int1_Int1  = TSymbolUniqueId(1990);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage1D1_Int1_Int1 = TSymbolUniqueId(1991);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage1D1_Int1_Int1 = TSymbolUniqueId(1992);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image1DArray1_Int2_Int1 =
    TSymbolUniqueId(1993);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_Int1 =
    TSymbolUniqueId(1994);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_Int1 =
    TSymbolUniqueId(1995);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DRect1_Int2_Int1 = TSymbolUniqueId(1996);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DRect1_Int2_Int1 =
    TSymbolUniqueId(1997);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DRect1_Int2_Int1 =
    TSymbolUniqueId(1998);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_Int1 =
    TSymbolUniqueId(1999);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_Int1 =
    TSymbolUniqueId(2000);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_Int1 =
    TSymbolUniqueId(2001);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2002);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2003);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2004);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2D1_Int2_Float1   = TSymbolUniqueId(2005);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2D1_Int2_Float1  = TSymbolUniqueId(2006);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2D1_Int2_Float1  = TSymbolUniqueId(2007);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image3D1_Int3_Float1   = TSymbolUniqueId(2008);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage3D1_Int3_Float1  = TSymbolUniqueId(2009);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage3D1_Int3_Float1  = TSymbolUniqueId(2010);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageCube1_Int3_Float1 = TSymbolUniqueId(2011);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageCube1_Int3_Float1 =
    TSymbolUniqueId(2012);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageCube1_Int3_Float1 =
    TSymbolUniqueId(2013);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_Float1 =
    TSymbolUniqueId(2014);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_Float1 =
    TSymbolUniqueId(2015);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_Float1 =
    TSymbolUniqueId(2016);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DArray1_Int3_Float1 =
    TSymbolUniqueId(2017);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_Float1 =
    TSymbolUniqueId(2018);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_Float1 =
    TSymbolUniqueId(2019);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_Float1 =
    TSymbolUniqueId(2020);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_Float1 =
    TSymbolUniqueId(2021);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_Float1 =
    TSymbolUniqueId(2022);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image1D1_Int1_Float1  = TSymbolUniqueId(2023);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage1D1_Int1_Float1 = TSymbolUniqueId(2024);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage1D1_Int1_Float1 = TSymbolUniqueId(2025);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image1DArray1_Int2_Float1 =
    TSymbolUniqueId(2026);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_Float1 =
    TSymbolUniqueId(2027);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_Float1 =
    TSymbolUniqueId(2028);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DRect1_Int2_Float1 =
    TSymbolUniqueId(2029);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DRect1_Int2_Float1 =
    TSymbolUniqueId(2030);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DRect1_Int2_Float1 =
    TSymbolUniqueId(2031);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_Float1 =
    TSymbolUniqueId(2032);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_Float1 =
    TSymbolUniqueId(2033);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_Float1 =
    TSymbolUniqueId(2034);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_Float1 =
    TSymbolUniqueId(2035);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Float1 =
    TSymbolUniqueId(2036);
const TSymbolUniqueId BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Float1 =
    TSymbolUniqueId(2037);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2D1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2038);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2D1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2039);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2D1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2040);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image3D1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2041);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage3D1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2042);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage3D1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2043);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_ImageCube1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2044);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImageCube1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2045);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImageCube1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2046);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_ImageBuffer1_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2047);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImageBuffer1_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2048);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImageBuffer1_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2049);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2DArray1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2050);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2DArray1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2051);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2DArray1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2052);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_ImageCubeArray1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2053);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImageCubeArray1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2054);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImageCubeArray1_Int3_UInt1_UInt1 =
    TSymbolUniqueId(2055);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image1D1_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2056);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage1D1_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2057);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage1D1_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2058);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image1DArray1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2059);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage1DArray1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2060);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage1DArray1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2061);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2DRect1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2062);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2DRect1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2063);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2DRect1_Int2_UInt1_UInt1 =
    TSymbolUniqueId(2064);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2DMS1_Int2_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2065);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2DMS1_Int2_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2066);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2DMS1_Int2_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2067);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2068);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2069);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_UInt1_UInt1 =
    TSymbolUniqueId(2070);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2D1_Int2_Int1_Int1 =
    TSymbolUniqueId(2071);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2D1_Int2_Int1_Int1 =
    TSymbolUniqueId(2072);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2D1_Int2_Int1_Int1 =
    TSymbolUniqueId(2073);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image3D1_Int3_Int1_Int1 =
    TSymbolUniqueId(2074);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage3D1_Int3_Int1_Int1 =
    TSymbolUniqueId(2075);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage3D1_Int3_Int1_Int1 =
    TSymbolUniqueId(2076);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_ImageCube1_Int3_Int1_Int1 =
    TSymbolUniqueId(2077);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImageCube1_Int3_Int1_Int1 =
    TSymbolUniqueId(2078);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImageCube1_Int3_Int1_Int1 =
    TSymbolUniqueId(2079);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_ImageBuffer1_Int1_Int1_Int1 =
    TSymbolUniqueId(2080);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImageBuffer1_Int1_Int1_Int1 =
    TSymbolUniqueId(2081);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImageBuffer1_Int1_Int1_Int1 =
    TSymbolUniqueId(2082);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2DArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2083);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2DArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2084);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2DArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2085);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_ImageCubeArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2086);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImageCubeArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2087);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImageCubeArray1_Int3_Int1_Int1 =
    TSymbolUniqueId(2088);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image1D1_Int1_Int1_Int1 =
    TSymbolUniqueId(2089);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage1D1_Int1_Int1_Int1 =
    TSymbolUniqueId(2090);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage1D1_Int1_Int1_Int1 =
    TSymbolUniqueId(2091);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image1DArray1_Int2_Int1_Int1 =
    TSymbolUniqueId(2092);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage1DArray1_Int2_Int1_Int1 =
    TSymbolUniqueId(2093);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage1DArray1_Int2_Int1_Int1 =
    TSymbolUniqueId(2094);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2DRect1_Int2_Int1_Int1 =
    TSymbolUniqueId(2095);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2DRect1_Int2_Int1_Int1 =
    TSymbolUniqueId(2096);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2DRect1_Int2_Int1_Int1 =
    TSymbolUniqueId(2097);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2DMS1_Int2_Int1_Int1_Int1 =
    TSymbolUniqueId(2098);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2DMS1_Int2_Int1_Int1_Int1 =
    TSymbolUniqueId(2099);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2DMS1_Int2_Int1_Int1_Int1 =
    TSymbolUniqueId(2100);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_Int1_Int1 =
    TSymbolUniqueId(2101);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_Int1_Int1 =
    TSymbolUniqueId(2102);
const TSymbolUniqueId BuiltInId::imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_Int1_Int1 =
    TSymbolUniqueId(2103);
const TSymbolUniqueId BuiltInId::imageLoad_Image2D1_Int2                = TSymbolUniqueId(2104);
const TSymbolUniqueId BuiltInId::imageLoad_IImage2D1_Int2               = TSymbolUniqueId(2105);
const TSymbolUniqueId BuiltInId::imageLoad_UImage2D1_Int2               = TSymbolUniqueId(2106);
const TSymbolUniqueId BuiltInId::imageLoad_Image3D1_Int3                = TSymbolUniqueId(2107);
const TSymbolUniqueId BuiltInId::imageLoad_IImage3D1_Int3               = TSymbolUniqueId(2108);
const TSymbolUniqueId BuiltInId::imageLoad_UImage3D1_Int3               = TSymbolUniqueId(2109);
const TSymbolUniqueId BuiltInId::imageLoad_Image2DArray1_Int3           = TSymbolUniqueId(2110);
const TSymbolUniqueId BuiltInId::imageLoad_IImage2DArray1_Int3          = TSymbolUniqueId(2111);
const TSymbolUniqueId BuiltInId::imageLoad_UImage2DArray1_Int3          = TSymbolUniqueId(2112);
const TSymbolUniqueId BuiltInId::imageLoad_ImageCube1_Int3              = TSymbolUniqueId(2113);
const TSymbolUniqueId BuiltInId::imageLoad_IImageCube1_Int3             = TSymbolUniqueId(2114);
const TSymbolUniqueId BuiltInId::imageLoad_UImageCube1_Int3             = TSymbolUniqueId(2115);
const TSymbolUniqueId BuiltInId::imageLoad_ImageBuffer1_Int1            = TSymbolUniqueId(2116);
const TSymbolUniqueId BuiltInId::imageLoad_IImageBuffer1_Int1           = TSymbolUniqueId(2117);
const TSymbolUniqueId BuiltInId::imageLoad_UImageBuffer1_Int1           = TSymbolUniqueId(2118);
const TSymbolUniqueId BuiltInId::imageLoad_ImageCubeArray1_Int3         = TSymbolUniqueId(2119);
const TSymbolUniqueId BuiltInId::imageLoad_IImageCubeArray1_Int3        = TSymbolUniqueId(2120);
const TSymbolUniqueId BuiltInId::imageLoad_UImageCubeArray1_Int3        = TSymbolUniqueId(2121);
const TSymbolUniqueId BuiltInId::imageLoad_Image1D1_Int1                = TSymbolUniqueId(2122);
const TSymbolUniqueId BuiltInId::imageLoad_IImage1D1_Int1               = TSymbolUniqueId(2123);
const TSymbolUniqueId BuiltInId::imageLoad_UImage1D1_Int1               = TSymbolUniqueId(2124);
const TSymbolUniqueId BuiltInId::imageLoad_Image1DArray1_Int2           = TSymbolUniqueId(2125);
const TSymbolUniqueId BuiltInId::imageLoad_IImage1DArray1_Int2          = TSymbolUniqueId(2126);
const TSymbolUniqueId BuiltInId::imageLoad_UImage1DArray1_Int2          = TSymbolUniqueId(2127);
const TSymbolUniqueId BuiltInId::imageLoad_Image2DRect1_Int2            = TSymbolUniqueId(2128);
const TSymbolUniqueId BuiltInId::imageLoad_IImage2DRect1_Int2           = TSymbolUniqueId(2129);
const TSymbolUniqueId BuiltInId::imageLoad_UImage2DRect1_Int2           = TSymbolUniqueId(2130);
const TSymbolUniqueId BuiltInId::imageLoad_Image2DMS1_Int2_Int1         = TSymbolUniqueId(2131);
const TSymbolUniqueId BuiltInId::imageLoad_IImage2DMS1_Int2_Int1        = TSymbolUniqueId(2132);
const TSymbolUniqueId BuiltInId::imageLoad_UImage2DMS1_Int2_Int1        = TSymbolUniqueId(2133);
const TSymbolUniqueId BuiltInId::imageLoad_Image2DMSArray1_Int3_Int1    = TSymbolUniqueId(2134);
const TSymbolUniqueId BuiltInId::imageLoad_IImage2DMSArray1_Int3_Int1   = TSymbolUniqueId(2135);
const TSymbolUniqueId BuiltInId::imageLoad_UImage2DMSArray1_Int3_Int1   = TSymbolUniqueId(2136);
const TSymbolUniqueId BuiltInId::imageStore_Image2D1_Int2_Float4        = TSymbolUniqueId(2137);
const TSymbolUniqueId BuiltInId::imageStore_IImage2D1_Int2_Int4         = TSymbolUniqueId(2138);
const TSymbolUniqueId BuiltInId::imageStore_UImage2D1_Int2_UInt4        = TSymbolUniqueId(2139);
const TSymbolUniqueId BuiltInId::imageStore_Image3D1_Int3_Float4        = TSymbolUniqueId(2140);
const TSymbolUniqueId BuiltInId::imageStore_IImage3D1_Int3_Int4         = TSymbolUniqueId(2141);
const TSymbolUniqueId BuiltInId::imageStore_UImage3D1_Int3_UInt4        = TSymbolUniqueId(2142);
const TSymbolUniqueId BuiltInId::imageStore_Image2DArray1_Int3_Float4   = TSymbolUniqueId(2143);
const TSymbolUniqueId BuiltInId::imageStore_IImage2DArray1_Int3_Int4    = TSymbolUniqueId(2144);
const TSymbolUniqueId BuiltInId::imageStore_UImage2DArray1_Int3_UInt4   = TSymbolUniqueId(2145);
const TSymbolUniqueId BuiltInId::imageStore_ImageCube1_Int3_Float4      = TSymbolUniqueId(2146);
const TSymbolUniqueId BuiltInId::imageStore_IImageCube1_Int3_Int4       = TSymbolUniqueId(2147);
const TSymbolUniqueId BuiltInId::imageStore_UImageCube1_Int3_UInt4      = TSymbolUniqueId(2148);
const TSymbolUniqueId BuiltInId::imageStore_ImageBuffer1_Int1_Float4    = TSymbolUniqueId(2149);
const TSymbolUniqueId BuiltInId::imageStore_IImageBuffer1_Int1_Int4     = TSymbolUniqueId(2150);
const TSymbolUniqueId BuiltInId::imageStore_UImageBuffer1_Int1_UInt4    = TSymbolUniqueId(2151);
const TSymbolUniqueId BuiltInId::imageStore_ImageCubeArray1_Int3_Float4 = TSymbolUniqueId(2152);
const TSymbolUniqueId BuiltInId::imageStore_IImageCubeArray1_Int3_Int4  = TSymbolUniqueId(2153);
const TSymbolUniqueId BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4 = TSymbolUniqueId(2154);
const TSymbolUniqueId BuiltInId::imageStore_Image1D1_Int1_Float4        = TSymbolUniqueId(2155);
const TSymbolUniqueId BuiltInId::imageStore_IImage1D1_Int1_Int4         = TSymbolUniqueId(2156);
const TSymbolUniqueId BuiltInId::imageStore_UImage1D1_Int1_UInt4        = TSymbolUniqueId(2157);
const TSymbolUniqueId BuiltInId::imageStore_Image1DArray1_Int2_Float4   = TSymbolUniqueId(2158);
const TSymbolUniqueId BuiltInId::imageStore_IImage1DArray1_Int2_Int4    = TSymbolUniqueId(2159);
const TSymbolUniqueId BuiltInId::imageStore_UImage1DArray1_Int2_UInt4   = TSymbolUniqueId(2160);
const TSymbolUniqueId BuiltInId::imageStore_Image2DRect1_Int2_Float4    = TSymbolUniqueId(2161);
const TSymbolUniqueId BuiltInId::imageStore_IImage2DRect1_Int2_Int4     = TSymbolUniqueId(2162);
const TSymbolUniqueId BuiltInId::imageStore_UImage2DRect1_Int2_UInt4    = TSymbolUniqueId(2163);
const TSymbolUniqueId BuiltInId::imageStore_Image2DMS1_Int2_Int1_Float4 = TSymbolUniqueId(2164);
const TSymbolUniqueId BuiltInId::imageStore_IImage2DMS1_Int2_Int1_Int4  = TSymbolUniqueId(2165);
const TSymbolUniqueId BuiltInId::imageStore_UImage2DMS1_Int2_Int1_UInt4 = TSymbolUniqueId(2166);
const TSymbolUniqueId BuiltInId::imageStore_Image2DMSArray1_Int3_Int1_Float4 =
    TSymbolUniqueId(2167);
const TSymbolUniqueId BuiltInId::imageStore_IImage2DMSArray1_Int3_Int1_Int4 = TSymbolUniqueId(2168);
const TSymbolUniqueId BuiltInId::imageStore_UImage2DMSArray1_Int3_Int1_UInt4 =
    TSymbolUniqueId(2169);
const TSymbolUniqueId BuiltInId::noise1_Float1                       = TSymbolUniqueId(2170);
const TSymbolUniqueId BuiltInId::noise1_Float2                       = TSymbolUniqueId(2171);
const TSymbolUniqueId BuiltInId::noise1_Float3                       = TSymbolUniqueId(2172);
const TSymbolUniqueId BuiltInId::noise1_Float4                       = TSymbolUniqueId(2173);
const TSymbolUniqueId BuiltInId::noise2_Float1                       = TSymbolUniqueId(2174);
const TSymbolUniqueId BuiltInId::noise2_Float2                       = TSymbolUniqueId(2175);
const TSymbolUniqueId BuiltInId::noise2_Float3                       = TSymbolUniqueId(2176);
const TSymbolUniqueId BuiltInId::noise2_Float4                       = TSymbolUniqueId(2177);
const TSymbolUniqueId BuiltInId::noise3_Float1                       = TSymbolUniqueId(2178);
const TSymbolUniqueId BuiltInId::noise3_Float2                       = TSymbolUniqueId(2179);
const TSymbolUniqueId BuiltInId::noise3_Float3                       = TSymbolUniqueId(2180);
const TSymbolUniqueId BuiltInId::noise3_Float4                       = TSymbolUniqueId(2181);
const TSymbolUniqueId BuiltInId::noise4_Float1                       = TSymbolUniqueId(2182);
const TSymbolUniqueId BuiltInId::noise4_Float2                       = TSymbolUniqueId(2183);
const TSymbolUniqueId BuiltInId::noise4_Float3                       = TSymbolUniqueId(2184);
const TSymbolUniqueId BuiltInId::noise4_Float4                       = TSymbolUniqueId(2185);
const TSymbolUniqueId BuiltInId::memoryBarrier                       = TSymbolUniqueId(2186);
const TSymbolUniqueId BuiltInId::memoryBarrierAtomicCounter          = TSymbolUniqueId(2187);
const TSymbolUniqueId BuiltInId::memoryBarrierBuffer                 = TSymbolUniqueId(2188);
const TSymbolUniqueId BuiltInId::memoryBarrierImage                  = TSymbolUniqueId(2189);
const TSymbolUniqueId BuiltInId::barrier                             = TSymbolUniqueId(2190);
const TSymbolUniqueId BuiltInId::memoryBarrierShared                 = TSymbolUniqueId(2191);
const TSymbolUniqueId BuiltInId::groupMemoryBarrier                  = TSymbolUniqueId(2192);
const TSymbolUniqueId BuiltInId::EmitVertex                          = TSymbolUniqueId(2193);
const TSymbolUniqueId BuiltInId::EndPrimitive                        = TSymbolUniqueId(2194);
const TSymbolUniqueId BuiltInId::EmitStreamVertex_Int1               = TSymbolUniqueId(2195);
const TSymbolUniqueId BuiltInId::EndStreamPrimitive_Int1             = TSymbolUniqueId(2196);
const TSymbolUniqueId BuiltInId::subpassLoad_SubpassInput1           = TSymbolUniqueId(2197);
const TSymbolUniqueId BuiltInId::pt01i                               = TSymbolUniqueId(2198);
const TSymbolUniqueId BuiltInId::subpassLoad_ISubpassInput1          = TSymbolUniqueId(2199);
const TSymbolUniqueId BuiltInId::pt01j                               = TSymbolUniqueId(2200);
const TSymbolUniqueId BuiltInId::subpassLoad_USubpassInput1          = TSymbolUniqueId(2201);
const TSymbolUniqueId BuiltInId::pt01k                               = TSymbolUniqueId(2202);
const TSymbolUniqueId BuiltInId::subpassLoad_SubpassInputMS1_Int1    = TSymbolUniqueId(2203);
const TSymbolUniqueId BuiltInId::pt01l                               = TSymbolUniqueId(2204);
const TSymbolUniqueId BuiltInId::subpassLoad_ISubpassInputMS1_Int1   = TSymbolUniqueId(2205);
const TSymbolUniqueId BuiltInId::pt01m                               = TSymbolUniqueId(2206);
const TSymbolUniqueId BuiltInId::subpassLoad_USubpassInputMS1_Int1   = TSymbolUniqueId(2207);
const TSymbolUniqueId BuiltInId::pt01n                               = TSymbolUniqueId(2208);
const TSymbolUniqueId BuiltInId::anyInvocation_Bool1                 = TSymbolUniqueId(2209);
const TSymbolUniqueId BuiltInId::allInvocations_Bool1                = TSymbolUniqueId(2210);
const TSymbolUniqueId BuiltInId::allInvocationsEqual_Bool1           = TSymbolUniqueId(2211);
const TSymbolUniqueId BuiltInId::gl_DepthRangeParameters             = TSymbolUniqueId(2212);
const TSymbolUniqueId BuiltInId::gl_DepthRange                       = TSymbolUniqueId(2213);
const TSymbolUniqueId BuiltInId::gl_MaxVertexAttribs                 = TSymbolUniqueId(2214);
const TSymbolUniqueId BuiltInId::gl_MaxVertexUniformVectors          = TSymbolUniqueId(2215);
const TSymbolUniqueId BuiltInId::gl_MaxVertexTextureImageUnits       = TSymbolUniqueId(2216);
const TSymbolUniqueId BuiltInId::gl_MaxCombinedTextureImageUnits     = TSymbolUniqueId(2217);
const TSymbolUniqueId BuiltInId::gl_MaxTextureImageUnits             = TSymbolUniqueId(2218);
const TSymbolUniqueId BuiltInId::gl_MaxFragmentUniformVectors        = TSymbolUniqueId(2219);
const TSymbolUniqueId BuiltInId::gl_MaxVaryingVectors                = TSymbolUniqueId(2220);
const TSymbolUniqueId BuiltInId::gl_MaxDrawBuffers                   = TSymbolUniqueId(2221);
const TSymbolUniqueId BuiltInId::gl_MaxDualSourceDrawBuffersEXT      = TSymbolUniqueId(2222);
const TSymbolUniqueId BuiltInId::gl_MaxVertexOutputVectors           = TSymbolUniqueId(2223);
const TSymbolUniqueId BuiltInId::gl_MaxFragmentInputVectors          = TSymbolUniqueId(2224);
const TSymbolUniqueId BuiltInId::gl_MinProgramTexelOffset            = TSymbolUniqueId(2225);
const TSymbolUniqueId BuiltInId::gl_MaxProgramTexelOffset            = TSymbolUniqueId(2226);
const TSymbolUniqueId BuiltInId::gl_MaxImageUnits                    = TSymbolUniqueId(2227);
const TSymbolUniqueId BuiltInId::gl_MaxVertexImageUniforms           = TSymbolUniqueId(2228);
const TSymbolUniqueId BuiltInId::gl_MaxFragmentImageUniforms         = TSymbolUniqueId(2229);
const TSymbolUniqueId BuiltInId::gl_MaxComputeImageUniforms          = TSymbolUniqueId(2230);
const TSymbolUniqueId BuiltInId::gl_MaxCombinedImageUniforms         = TSymbolUniqueId(2231);
const TSymbolUniqueId BuiltInId::gl_MaxCombinedShaderOutputResources = TSymbolUniqueId(2232);
const TSymbolUniqueId BuiltInId::gl_MaxComputeWorkGroupCount         = TSymbolUniqueId(2233);
const TSymbolUniqueId BuiltInId::gl_MaxComputeWorkGroupSize          = TSymbolUniqueId(2234);
const TSymbolUniqueId BuiltInId::gl_MaxComputeUniformComponents      = TSymbolUniqueId(2235);
const TSymbolUniqueId BuiltInId::gl_MaxComputeTextureImageUnits      = TSymbolUniqueId(2236);
const TSymbolUniqueId BuiltInId::gl_MaxComputeAtomicCounters         = TSymbolUniqueId(2237);
const TSymbolUniqueId BuiltInId::gl_MaxComputeAtomicCounterBuffers   = TSymbolUniqueId(2238);
const TSymbolUniqueId BuiltInId::gl_MaxVertexAtomicCounters          = TSymbolUniqueId(2239);
const TSymbolUniqueId BuiltInId::gl_MaxFragmentAtomicCounters        = TSymbolUniqueId(2240);
const TSymbolUniqueId BuiltInId::gl_MaxCombinedAtomicCounters        = TSymbolUniqueId(2241);
const TSymbolUniqueId BuiltInId::gl_MaxAtomicCounterBindings         = TSymbolUniqueId(2242);
const TSymbolUniqueId BuiltInId::gl_MaxVertexAtomicCounterBuffers    = TSymbolUniqueId(2243);
const TSymbolUniqueId BuiltInId::gl_MaxFragmentAtomicCounterBuffers  = TSymbolUniqueId(2244);
const TSymbolUniqueId BuiltInId::gl_MaxCombinedAtomicCounterBuffers  = TSymbolUniqueId(2245);
const TSymbolUniqueId BuiltInId::gl_MaxAtomicCounterBufferSize       = TSymbolUniqueId(2246);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryInputComponents       = TSymbolUniqueId(2247);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryOutputComponents      = TSymbolUniqueId(2248);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryImageUniforms         = TSymbolUniqueId(2249);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryTextureImageUnits     = TSymbolUniqueId(2250);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryOutputVertices        = TSymbolUniqueId(2251);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryTotalOutputComponents = TSymbolUniqueId(2252);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryUniformComponents     = TSymbolUniqueId(2253);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryAtomicCounters        = TSymbolUniqueId(2254);
const TSymbolUniqueId BuiltInId::gl_MaxGeometryAtomicCounterBuffers  = TSymbolUniqueId(2255);
const TSymbolUniqueId BuiltInId::gl_FragCoord                        = TSymbolUniqueId(2256);
const TSymbolUniqueId BuiltInId::gl_FrontFacing                      = TSymbolUniqueId(2257);
const TSymbolUniqueId BuiltInId::gl_PointCoord                       = TSymbolUniqueId(2258);
const TSymbolUniqueId BuiltInId::gl_FragColor                        = TSymbolUniqueId(2259);
const TSymbolUniqueId BuiltInId::gl_FragData                         = TSymbolUniqueId(2260);
const TSymbolUniqueId BuiltInId::gl_FragDepth                        = TSymbolUniqueId(2261);
const TSymbolUniqueId BuiltInId::gl_HelperInvocation                 = TSymbolUniqueId(2262);
const TSymbolUniqueId BuiltInId::gl_SecondaryFragColorEXT            = TSymbolUniqueId(2263);
const TSymbolUniqueId BuiltInId::gl_SecondaryFragDataEXT             = TSymbolUniqueId(2264);
const TSymbolUniqueId BuiltInId::gl_FragDepthEXT                     = TSymbolUniqueId(2265);
const TSymbolUniqueId BuiltInId::gl_LastFragData                     = TSymbolUniqueId(2266);
const TSymbolUniqueId BuiltInId::gl_LastFragColor                    = TSymbolUniqueId(2267);
const TSymbolUniqueId BuiltInId::gl_LastFragDataNV                   = TSymbolUniqueId(2268);
const TSymbolUniqueId BuiltInId::gl_LastFragColorARM                 = TSymbolUniqueId(2269);
const TSymbolUniqueId BuiltInId::gl_PrimitiveID                      = TSymbolUniqueId(2270);
const TSymbolUniqueId BuiltInId::gl_Layer                            = TSymbolUniqueId(2271);
const TSymbolUniqueId BuiltInId::gl_Position                         = TSymbolUniqueId(2272);
const TSymbolUniqueId BuiltInId::gl_PointSize                        = TSymbolUniqueId(2273);
const TSymbolUniqueId BuiltInId::gl_InstanceID                       = TSymbolUniqueId(2274);
const TSymbolUniqueId BuiltInId::gl_InstanceIndex                    = TSymbolUniqueId(2275);
const TSymbolUniqueId BuiltInId::gl_VertexID                         = TSymbolUniqueId(2276);
const TSymbolUniqueId BuiltInId::gl_VertexIndex                      = TSymbolUniqueId(2277);
const TSymbolUniqueId BuiltInId::gl_ViewportIndex                    = TSymbolUniqueId(2278);
const TSymbolUniqueId BuiltInId::gl_LayerVS                          = TSymbolUniqueId(2279);
const TSymbolUniqueId BuiltInId::gl_DrawID                           = TSymbolUniqueId(2280);
const TSymbolUniqueId BuiltInId::gl_BaseVertex                       = TSymbolUniqueId(2281);
const TSymbolUniqueId BuiltInId::gl_BaseInstance                     = TSymbolUniqueId(2282);
const TSymbolUniqueId BuiltInId::angle_BaseVertex                    = TSymbolUniqueId(2283);
const TSymbolUniqueId BuiltInId::angle_BaseInstance                  = TSymbolUniqueId(2284);
const TSymbolUniqueId BuiltInId::gl_NumWorkGroups                    = TSymbolUniqueId(2285);
const TSymbolUniqueId BuiltInId::gl_WorkGroupSize                    = TSymbolUniqueId(2286);
const TSymbolUniqueId BuiltInId::gl_WorkGroupID                      = TSymbolUniqueId(2287);
const TSymbolUniqueId BuiltInId::gl_LocalInvocationID                = TSymbolUniqueId(2288);
const TSymbolUniqueId BuiltInId::gl_GlobalInvocationID               = TSymbolUniqueId(2289);
const TSymbolUniqueId BuiltInId::gl_LocalInvocationIndex             = TSymbolUniqueId(2290);
const TSymbolUniqueId BuiltInId::gl_PrimitiveIDIn                    = TSymbolUniqueId(2291);
const TSymbolUniqueId BuiltInId::gl_InvocationID                     = TSymbolUniqueId(2292);
const TSymbolUniqueId BuiltInId::gl_PrimitiveIDGS                    = TSymbolUniqueId(2293);
const TSymbolUniqueId BuiltInId::gl_LayerGS                          = TSymbolUniqueId(2294);
const TSymbolUniqueId BuiltInId::gl_PerVertex                        = TSymbolUniqueId(2295);
const TSymbolUniqueId BuiltInId::gl_in                               = TSymbolUniqueId(2296);
const TSymbolUniqueId BuiltInId::gl_PerVertexOutBlock                = TSymbolUniqueId(2297);
const TSymbolUniqueId BuiltInId::gl_PositionGS                       = TSymbolUniqueId(2298);
const TSymbolUniqueId BuiltInId::gl_ViewID_OVR                       = TSymbolUniqueId(2299);

const int TSymbolTable::kLastBuiltInId = 2299;

namespace BuiltInName
{

const ImmutableString _empty("");
const ImmutableString EmitStreamVertex("EmitStreamVertex");
const ImmutableString EmitVertex("EmitVertex");
const ImmutableString EndPrimitive("EndPrimitive");
const ImmutableString EndStreamPrimitive("EndStreamPrimitive");
const ImmutableString abs("abs");
const ImmutableString acos("acos");
const ImmutableString acosh("acosh");
const ImmutableString all("all");
const ImmutableString allInvocations("allInvocations");
const ImmutableString allInvocationsEqual("allInvocationsEqual");
const ImmutableString angle_BaseInstance("angle_BaseInstance");
const ImmutableString angle_BaseVertex("angle_BaseVertex");
const ImmutableString any("any");
const ImmutableString anyInvocation("anyInvocation");
const ImmutableString asin("asin");
const ImmutableString asinh("asinh");
const ImmutableString atan("atan");
const ImmutableString atanh("atanh");
const ImmutableString atomicAdd("atomicAdd");
const ImmutableString atomicAnd("atomicAnd");
const ImmutableString atomicCompSwap("atomicCompSwap");
const ImmutableString atomicCounter("atomicCounter");
const ImmutableString atomicCounterAdd("atomicCounterAdd");
const ImmutableString atomicCounterAnd("atomicCounterAnd");
const ImmutableString atomicCounterCompSwap("atomicCounterCompSwap");
const ImmutableString atomicCounterDecrement("atomicCounterDecrement");
const ImmutableString atomicCounterExchange("atomicCounterExchange");
const ImmutableString atomicCounterIncrement("atomicCounterIncrement");
const ImmutableString atomicCounterMax("atomicCounterMax");
const ImmutableString atomicCounterMin("atomicCounterMin");
const ImmutableString atomicCounterOr("atomicCounterOr");
const ImmutableString atomicCounterSubtract("atomicCounterSubtract");
const ImmutableString atomicCounterXor("atomicCounterXor");
const ImmutableString atomicExchange("atomicExchange");
const ImmutableString atomicMax("atomicMax");
const ImmutableString atomicMin("atomicMin");
const ImmutableString atomicOr("atomicOr");
const ImmutableString atomicXor("atomicXor");
const ImmutableString barrier("barrier");
const ImmutableString bitCount("bitCount");
const ImmutableString bitfieldExtract("bitfieldExtract");
const ImmutableString bitfieldInsert("bitfieldInsert");
const ImmutableString bitfieldReverse("bitfieldReverse");
const ImmutableString ceil("ceil");
const ImmutableString clamp("clamp");
const ImmutableString cos("cos");
const ImmutableString cosh("cosh");
const ImmutableString cross("cross");
const ImmutableString dFdx("dFdx");
const ImmutableString dFdxCoarse("dFdxCoarse");
const ImmutableString dFdxExt("dFdx");
const ImmutableString dFdxFine("dFdxFine");
const ImmutableString dFdy("dFdy");
const ImmutableString dFdyCoarse("dFdyCoarse");
const ImmutableString dFdyExt("dFdy");
const ImmutableString dFdyFine("dFdyFine");
const ImmutableString degrees("degrees");
const ImmutableString determinant("determinant");
const ImmutableString diff("diff");
const ImmutableString distance("distance");
const ImmutableString dot("dot");
const ImmutableString equal("equal");
const ImmutableString exp("exp");
const ImmutableString exp2("exp2");
const ImmutableString faceforward("faceforward");
const ImmutableString far("far");
const ImmutableString findLSB("findLSB");
const ImmutableString findMSB("findMSB");
const ImmutableString floatBitsToInt("floatBitsToInt");
const ImmutableString floatBitsToUint("floatBitsToUint");
const ImmutableString floor("floor");
const ImmutableString fma("fma");
const ImmutableString fract("fract");
const ImmutableString frexp("frexp");
const ImmutableString ftransform("ftransform");
const ImmutableString fwidth("fwidth");
const ImmutableString fwidthCoarse("fwidthCoarse");
const ImmutableString fwidthExt("fwidth");
const ImmutableString fwidthFine("fwidthFine");
const ImmutableString gl_BaseInstance("gl_BaseInstance");
const ImmutableString gl_BaseVertex("gl_BaseVertex");
const ImmutableString gl_DepthRange("gl_DepthRange");
const ImmutableString gl_DepthRangeParameters("gl_DepthRangeParameters");
const ImmutableString gl_DrawID("gl_DrawID");
const ImmutableString gl_FragColor("gl_FragColor");
const ImmutableString gl_FragCoord("gl_FragCoord");
const ImmutableString gl_FragData("gl_FragData");
const ImmutableString gl_FragDepth("gl_FragDepth");
const ImmutableString gl_FragDepthEXT("gl_FragDepthEXT");
const ImmutableString gl_FrontFacing("gl_FrontFacing");
const ImmutableString gl_GlobalInvocationID("gl_GlobalInvocationID");
const ImmutableString gl_HelperInvocation("gl_HelperInvocation");
const ImmutableString gl_InstanceID("gl_InstanceID");
const ImmutableString gl_InstanceIndex("gl_InstanceIndex");
const ImmutableString gl_InvocationID("gl_InvocationID");
const ImmutableString gl_LastFragColor("gl_LastFragColor");
const ImmutableString gl_LastFragColorARM("gl_LastFragColorARM");
const ImmutableString gl_LastFragData("gl_LastFragData");
const ImmutableString gl_Layer("gl_Layer");
const ImmutableString gl_LocalInvocationID("gl_LocalInvocationID");
const ImmutableString gl_LocalInvocationIndex("gl_LocalInvocationIndex");
const ImmutableString gl_MaxAtomicCounterBindings("gl_MaxAtomicCounterBindings");
const ImmutableString gl_MaxAtomicCounterBufferSize("gl_MaxAtomicCounterBufferSize");
const ImmutableString gl_MaxCombinedAtomicCounterBuffers("gl_MaxCombinedAtomicCounterBuffers");
const ImmutableString gl_MaxCombinedAtomicCounters("gl_MaxCombinedAtomicCounters");
const ImmutableString gl_MaxCombinedImageUniforms("gl_MaxCombinedImageUniforms");
const ImmutableString gl_MaxCombinedShaderOutputResources("gl_MaxCombinedShaderOutputResources");
const ImmutableString gl_MaxCombinedTextureImageUnits("gl_MaxCombinedTextureImageUnits");
const ImmutableString gl_MaxComputeAtomicCounterBuffers("gl_MaxComputeAtomicCounterBuffers");
const ImmutableString gl_MaxComputeAtomicCounters("gl_MaxComputeAtomicCounters");
const ImmutableString gl_MaxComputeImageUniforms("gl_MaxComputeImageUniforms");
const ImmutableString gl_MaxComputeTextureImageUnits("gl_MaxComputeTextureImageUnits");
const ImmutableString gl_MaxComputeUniformComponents("gl_MaxComputeUniformComponents");
const ImmutableString gl_MaxComputeWorkGroupCount("gl_MaxComputeWorkGroupCount");
const ImmutableString gl_MaxComputeWorkGroupSize("gl_MaxComputeWorkGroupSize");
const ImmutableString gl_MaxDrawBuffers("gl_MaxDrawBuffers");
const ImmutableString gl_MaxDualSourceDrawBuffersEXT("gl_MaxDualSourceDrawBuffersEXT");
const ImmutableString gl_MaxFragmentAtomicCounterBuffers("gl_MaxFragmentAtomicCounterBuffers");
const ImmutableString gl_MaxFragmentAtomicCounters("gl_MaxFragmentAtomicCounters");
const ImmutableString gl_MaxFragmentImageUniforms("gl_MaxFragmentImageUniforms");
const ImmutableString gl_MaxFragmentInputVectors("gl_MaxFragmentInputVectors");
const ImmutableString gl_MaxFragmentUniformVectors("gl_MaxFragmentUniformVectors");
const ImmutableString gl_MaxGeometryAtomicCounterBuffers("gl_MaxGeometryAtomicCounterBuffers");
const ImmutableString gl_MaxGeometryAtomicCounters("gl_MaxGeometryAtomicCounters");
const ImmutableString gl_MaxGeometryImageUniforms("gl_MaxGeometryImageUniforms");
const ImmutableString gl_MaxGeometryInputComponents("gl_MaxGeometryInputComponents");
const ImmutableString gl_MaxGeometryOutputComponents("gl_MaxGeometryOutputComponents");
const ImmutableString gl_MaxGeometryOutputVertices("gl_MaxGeometryOutputVertices");
const ImmutableString gl_MaxGeometryTextureImageUnits("gl_MaxGeometryTextureImageUnits");
const ImmutableString gl_MaxGeometryTotalOutputComponents("gl_MaxGeometryTotalOutputComponents");
const ImmutableString gl_MaxGeometryUniformComponents("gl_MaxGeometryUniformComponents");
const ImmutableString gl_MaxImageUnits("gl_MaxImageUnits");
const ImmutableString gl_MaxProgramTexelOffset("gl_MaxProgramTexelOffset");
const ImmutableString gl_MaxTextureImageUnits("gl_MaxTextureImageUnits");
const ImmutableString gl_MaxVaryingVectors("gl_MaxVaryingVectors");
const ImmutableString gl_MaxVertexAtomicCounterBuffers("gl_MaxVertexAtomicCounterBuffers");
const ImmutableString gl_MaxVertexAtomicCounters("gl_MaxVertexAtomicCounters");
const ImmutableString gl_MaxVertexAttribs("gl_MaxVertexAttribs");
const ImmutableString gl_MaxVertexImageUniforms("gl_MaxVertexImageUniforms");
const ImmutableString gl_MaxVertexOutputVectors("gl_MaxVertexOutputVectors");
const ImmutableString gl_MaxVertexTextureImageUnits("gl_MaxVertexTextureImageUnits");
const ImmutableString gl_MaxVertexUniformVectors("gl_MaxVertexUniformVectors");
const ImmutableString gl_MinProgramTexelOffset("gl_MinProgramTexelOffset");
const ImmutableString gl_NumWorkGroups("gl_NumWorkGroups");
const ImmutableString gl_PerVertex("gl_PerVertex");
const ImmutableString gl_PointCoord("gl_PointCoord");
const ImmutableString gl_PointSize("gl_PointSize");
const ImmutableString gl_Position("gl_Position");
const ImmutableString gl_PrimitiveID("gl_PrimitiveID");
const ImmutableString gl_PrimitiveIDIn("gl_PrimitiveIDIn");
const ImmutableString gl_SecondaryFragColorEXT("gl_SecondaryFragColorEXT");
const ImmutableString gl_SecondaryFragDataEXT("gl_SecondaryFragDataEXT");
const ImmutableString gl_VertexID("gl_VertexID");
const ImmutableString gl_VertexIndex("gl_VertexIndex");
const ImmutableString gl_ViewID_OVR("gl_ViewID_OVR");
const ImmutableString gl_ViewportIndex("gl_ViewportIndex");
const ImmutableString gl_WorkGroupID("gl_WorkGroupID");
const ImmutableString gl_WorkGroupSize("gl_WorkGroupSize");
const ImmutableString gl_in("gl_in");
const ImmutableString greaterThan("greaterThan");
const ImmutableString greaterThanEqual("greaterThanEqual");
const ImmutableString groupMemoryBarrier("groupMemoryBarrier");
const ImmutableString imageAtomicAdd("imageAtomicAdd");
const ImmutableString imageAtomicAnd("imageAtomicAnd");
const ImmutableString imageAtomicCompSwap("imageAtomicCompSwap");
const ImmutableString imageAtomicExchange("imageAtomicExchange");
const ImmutableString imageAtomicMax("imageAtomicMax");
const ImmutableString imageAtomicMin("imageAtomicMin");
const ImmutableString imageAtomicOr("imageAtomicOr");
const ImmutableString imageAtomicXor("imageAtomicXor");
const ImmutableString imageLoad("imageLoad");
const ImmutableString imageSamples("imageSamples");
const ImmutableString imageSize("imageSize");
const ImmutableString imageStore("imageStore");
const ImmutableString imulExtended("imulExtended");
const ImmutableString intBitsToFloat("intBitsToFloat");
const ImmutableString interpolateAtCentroid("interpolateAtCentroid");
const ImmutableString interpolateAtOffset("interpolateAtOffset");
const ImmutableString interpolateAtSample("interpolateAtSample");
const ImmutableString inverse("inverse");
const ImmutableString inversesqrt("inversesqrt");
const ImmutableString isinf("isinf");
const ImmutableString isnan("isnan");
const ImmutableString ldexp("ldexp");
const ImmutableString length("length");
const ImmutableString lessThan("lessThan");
const ImmutableString lessThanEqual("lessThanEqual");
const ImmutableString log("log");
const ImmutableString log2("log2");
const ImmutableString matrixCompMult("matrixCompMult");
const ImmutableString max("max");
const ImmutableString memoryBarrier("memoryBarrier");
const ImmutableString memoryBarrierAtomicCounter("memoryBarrierAtomicCounter");
const ImmutableString memoryBarrierBuffer("memoryBarrierBuffer");
const ImmutableString memoryBarrierImage("memoryBarrierImage");
const ImmutableString memoryBarrierShared("memoryBarrierShared");
const ImmutableString min("min");
const ImmutableString mix("mix");
const ImmutableString mod("mod");
const ImmutableString modf("modf");
const ImmutableString near("near");
const ImmutableString noise1("noise1");
const ImmutableString noise2("noise2");
const ImmutableString noise3("noise3");
const ImmutableString noise4("noise4");
const ImmutableString normalize("normalize");
const ImmutableString notEqual("notEqual");
const ImmutableString notFunc("not");
const ImmutableString outerProduct("outerProduct");
const ImmutableString packDouble2x32("packDouble2x32");
const ImmutableString packHalf2x16("packHalf2x16");
const ImmutableString packSnorm2x16("packSnorm2x16");
const ImmutableString packSnorm4x8("packSnorm4x8");
const ImmutableString packUnorm2x16("packUnorm2x16");
const ImmutableString packUnorm4x8("packUnorm4x8");
const ImmutableString pow("pow");
const ImmutableString radians("radians");
const ImmutableString reflect("reflect");
const ImmutableString refract("refract");
const ImmutableString rgb_2_yuv("rgb_2_yuv");
const ImmutableString round("round");
const ImmutableString roundEven("roundEven");
const ImmutableString shadow1D("shadow1D");
const ImmutableString shadow1DLod("shadow1DLod");
const ImmutableString shadow1DProj("shadow1DProj");
const ImmutableString shadow1DProjLod("shadow1DProjLod");
const ImmutableString shadow2D("shadow2D");
const ImmutableString shadow2DLod("shadow2DLod");
const ImmutableString shadow2DProj("shadow2DProj");
const ImmutableString shadow2DProjLod("shadow2DProjLod");
const ImmutableString sign("sign");
const ImmutableString sin("sin");
const ImmutableString sinh("sinh");
const ImmutableString smoothstep("smoothstep");
const ImmutableString sqrt("sqrt");
const ImmutableString step("step");
const ImmutableString subpassLoad("subpassLoad");
const ImmutableString tan("tan");
const ImmutableString tanh("tanh");
const ImmutableString texelFetch("texelFetch");
const ImmutableString texelFetchExt("texelFetch");
const ImmutableString texelFetchOffset("texelFetchOffset");
const ImmutableString texture("texture");
const ImmutableString texture1D("texture1D");
const ImmutableString texture1DLod("texture1DLod");
const ImmutableString texture1DProj("texture1DProj");
const ImmutableString texture1DProjLod("texture1DProjLod");
const ImmutableString texture2D("texture2D");
const ImmutableString texture2DGradEXT("texture2DGradEXT");
const ImmutableString texture2DLod("texture2DLod");
const ImmutableString texture2DLodEXT("texture2DLodEXT");
const ImmutableString texture2DProj("texture2DProj");
const ImmutableString texture2DProjGradEXT("texture2DProjGradEXT");
const ImmutableString texture2DProjLod("texture2DProjLod");
const ImmutableString texture2DProjLodEXT("texture2DProjLodEXT");
const ImmutableString texture2DRect("texture2DRect");
const ImmutableString texture2DRectProj("texture2DRectProj");
const ImmutableString texture3D("texture3D");
const ImmutableString texture3DLod("texture3DLod");
const ImmutableString texture3DProj("texture3DProj");
const ImmutableString texture3DProjLod("texture3DProjLod");
const ImmutableString textureCube("textureCube");
const ImmutableString textureCubeGradEXT("textureCubeGradEXT");
const ImmutableString textureCubeLod("textureCubeLod");
const ImmutableString textureCubeLodEXT("textureCubeLodEXT");
const ImmutableString textureGather("textureGather");
const ImmutableString textureGatherOffset("textureGatherOffset");
const ImmutableString textureGatherOffsets("textureGatherOffsets");
const ImmutableString textureGrad("textureGrad");
const ImmutableString textureGradOffset("textureGradOffset");
const ImmutableString textureLod("textureLod");
const ImmutableString textureLodOffset("textureLodOffset");
const ImmutableString textureOffset("textureOffset");
const ImmutableString textureProj("textureProj");
const ImmutableString textureProjGrad("textureProjGrad");
const ImmutableString textureProjGradOffset("textureProjGradOffset");
const ImmutableString textureProjLod("textureProjLod");
const ImmutableString textureProjLodOffset("textureProjLodOffset");
const ImmutableString textureProjOffset("textureProjOffset");
const ImmutableString textureQueryLevels("textureQueryLevels");
const ImmutableString textureQueryLod("textureQueryLod");
const ImmutableString textureSamples("textureSamples");
const ImmutableString textureSize("textureSize");
const ImmutableString textureSizeExt("textureSize");
const ImmutableString transpose("transpose");
const ImmutableString trunc("trunc");
const ImmutableString uaddCarry("uaddCarry");
const ImmutableString uintBitsToFloat("uintBitsToFloat");
const ImmutableString umulExtended("umulExtended");
const ImmutableString unpackDouble2x32("unpackDouble2x32");
const ImmutableString unpackHalf2x16("unpackHalf2x16");
const ImmutableString unpackSnorm2x16("unpackSnorm2x16");
const ImmutableString unpackSnorm4x8("unpackSnorm4x8");
const ImmutableString unpackUnorm2x16("unpackUnorm2x16");
const ImmutableString unpackUnorm4x8("unpackUnorm4x8");
const ImmutableString usubBorrow("usubBorrow");
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
{

const TVariable kangle_BaseInstance(BuiltInId::angle_BaseInstance,
                                    BuiltInName::angle_BaseInstance,
                                    SymbolType::BuiltIn,
                                    TExtension::ANGLE_base_vertex_base_instance,
                                    StaticType::Get<EbtInt, EbpHigh, EvqBaseInstance, 1, 1>());
const TVariable kangle_BaseVertex(BuiltInId::angle_BaseVertex,
                                  BuiltInName::angle_BaseVertex,
                                  SymbolType::BuiltIn,
                                  TExtension::ANGLE_base_vertex_base_instance,
                                  StaticType::Get<EbtInt, EbpHigh, EvqBaseVertex, 1, 1>());
const TVariable kgl_BaseInstance(BuiltInId::gl_BaseInstance,
                                 BuiltInName::gl_BaseInstance,
                                 SymbolType::BuiltIn,
                                 TExtension::ANGLE_base_vertex_base_instance,
                                 StaticType::Get<EbtInt, EbpHigh, EvqBaseInstance, 1, 1>());
const TVariable kgl_BaseVertex(BuiltInId::gl_BaseVertex,
                               BuiltInName::gl_BaseVertex,
                               SymbolType::BuiltIn,
                               TExtension::ANGLE_base_vertex_base_instance,
                               StaticType::Get<EbtInt, EbpHigh, EvqBaseVertex, 1, 1>());
const TVariable kgl_DrawID(BuiltInId::gl_DrawID,
                           BuiltInName::gl_DrawID,
                           SymbolType::BuiltIn,
                           TExtension::ANGLE_multi_draw,
                           StaticType::Get<EbtInt, EbpHigh, EvqDrawID, 1, 1>());
const TVariable kgl_FragColor(BuiltInId::gl_FragColor,
                              BuiltInName::gl_FragColor,
                              SymbolType::BuiltIn,
                              TExtension::UNDEFINED,
                              StaticType::Get<EbtFloat, EbpMedium, EvqFragColor, 4, 1>());
const TVariable kgl_FragCoord(BuiltInId::gl_FragCoord,
                              BuiltInName::gl_FragCoord,
                              SymbolType::BuiltIn,
                              TExtension::UNDEFINED,
                              StaticType::Get<EbtFloat, EbpMedium, EvqFragCoord, 4, 1>());
const TVariable kgl_FragDepth(BuiltInId::gl_FragDepth,
                              BuiltInName::gl_FragDepth,
                              SymbolType::BuiltIn,
                              TExtension::UNDEFINED,
                              StaticType::Get<EbtFloat, EbpHigh, EvqFragDepth, 1, 1>());
const TVariable kgl_FrontFacing(BuiltInId::gl_FrontFacing,
                                BuiltInName::gl_FrontFacing,
                                SymbolType::BuiltIn,
                                TExtension::UNDEFINED,
                                StaticType::Get<EbtBool, EbpUndefined, EvqFrontFacing, 1, 1>());
const TVariable kgl_GlobalInvocationID(
    BuiltInId::gl_GlobalInvocationID,
    BuiltInName::gl_GlobalInvocationID,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobalInvocationID, 3, 1>());
const TVariable kgl_HelperInvocation(
    BuiltInId::gl_HelperInvocation,
    BuiltInName::gl_HelperInvocation,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtBool, EbpUndefined, EvqHelperInvocation, 1, 1>());
const TVariable kgl_InstanceID(BuiltInId::gl_InstanceID,
                               BuiltInName::gl_InstanceID,
                               SymbolType::BuiltIn,
                               TExtension::UNDEFINED,
                               StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>());
const TVariable kgl_InstanceIndex(BuiltInId::gl_InstanceIndex,
                                  BuiltInName::gl_InstanceIndex,
                                  SymbolType::BuiltIn,
                                  TExtension::UNDEFINED,
                                  StaticType::Get<EbtInt, EbpHigh, EvqInstanceID, 1, 1>());
const TVariable kgl_InvocationID(BuiltInId::gl_InvocationID,
                                 BuiltInName::gl_InvocationID,
                                 SymbolType::BuiltIn,
                                 TExtension::EXT_geometry_shader,
                                 StaticType::Get<EbtInt, EbpHigh, EvqInvocationID, 1, 1>());
const TVariable kgl_LastFragColor(BuiltInId::gl_LastFragColor,
                                  BuiltInName::gl_LastFragColor,
                                  SymbolType::BuiltIn,
                                  TExtension::NV_shader_framebuffer_fetch,
                                  StaticType::Get<EbtFloat, EbpMedium, EvqLastFragColor, 4, 1>());
const TVariable kgl_LastFragColorARM(
    BuiltInId::gl_LastFragColorARM,
    BuiltInName::gl_LastFragColorARM,
    SymbolType::BuiltIn,
    TExtension::ARM_shader_framebuffer_fetch,
    StaticType::Get<EbtFloat, EbpMedium, EvqLastFragColor, 4, 1>());
const TVariable kgl_Layer(BuiltInId::gl_Layer,
                          BuiltInName::gl_Layer,
                          SymbolType::BuiltIn,
                          TExtension::EXT_geometry_shader,
                          StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
const TVariable kgl_LayerGS(BuiltInId::gl_LayerGS,
                            BuiltInName::gl_Layer,
                            SymbolType::BuiltIn,
                            TExtension::EXT_geometry_shader,
                            StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
const TVariable kgl_LayerVS(BuiltInId::gl_LayerVS,
                            BuiltInName::gl_Layer,
                            SymbolType::BuiltIn,
                            TExtension::UNDEFINED,
                            StaticType::Get<EbtInt, EbpHigh, EvqLayer, 1, 1>());
const TVariable kgl_LocalInvocationID(
    BuiltInId::gl_LocalInvocationID,
    BuiltInName::gl_LocalInvocationID,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUInt, EbpUndefined, EvqLocalInvocationID, 3, 1>());
const TVariable kgl_LocalInvocationIndex(
    BuiltInId::gl_LocalInvocationIndex,
    BuiltInName::gl_LocalInvocationIndex,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtUInt, EbpUndefined, EvqLocalInvocationIndex, 1, 1>());
const TVariable kgl_NumWorkGroups(BuiltInId::gl_NumWorkGroups,
                                  BuiltInName::gl_NumWorkGroups,
                                  SymbolType::BuiltIn,
                                  TExtension::UNDEFINED,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqNumWorkGroups, 3, 1>());
const TVariable kgl_PointCoord(BuiltInId::gl_PointCoord,
                               BuiltInName::gl_PointCoord,
                               SymbolType::BuiltIn,
                               TExtension::UNDEFINED,
                               StaticType::Get<EbtFloat, EbpMedium, EvqPointCoord, 2, 1>());
const TVariable kgl_PointSize(BuiltInId::gl_PointSize,
                              BuiltInName::gl_PointSize,
                              SymbolType::BuiltIn,
                              TExtension::UNDEFINED,
                              StaticType::Get<EbtFloat, EbpMedium, EvqPointSize, 1, 1>());
const TVariable kgl_Position(BuiltInId::gl_Position,
                             BuiltInName::gl_Position,
                             SymbolType::BuiltIn,
                             TExtension::UNDEFINED,
                             StaticType::Get<EbtFloat, EbpHigh, EvqPosition, 4, 1>());
const TVariable kgl_PrimitiveID(BuiltInId::gl_PrimitiveID,
                                BuiltInName::gl_PrimitiveID,
                                SymbolType::BuiltIn,
                                TExtension::EXT_geometry_shader,
                                StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
const TVariable kgl_PrimitiveIDGS(BuiltInId::gl_PrimitiveIDGS,
                                  BuiltInName::gl_PrimitiveID,
                                  SymbolType::BuiltIn,
                                  TExtension::EXT_geometry_shader,
                                  StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveID, 1, 1>());
const TVariable kgl_PrimitiveIDIn(BuiltInId::gl_PrimitiveIDIn,
                                  BuiltInName::gl_PrimitiveIDIn,
                                  SymbolType::BuiltIn,
                                  TExtension::EXT_geometry_shader,
                                  StaticType::Get<EbtInt, EbpHigh, EvqPrimitiveIDIn, 1, 1>());
const TVariable kgl_SecondaryFragColorEXT(
    BuiltInId::gl_SecondaryFragColorEXT,
    BuiltInName::gl_SecondaryFragColorEXT,
    SymbolType::BuiltIn,
    TExtension::EXT_blend_func_extended,
    StaticType::Get<EbtFloat, EbpMedium, EvqSecondaryFragColorEXT, 4, 1>());
const TVariable kgl_VertexID(BuiltInId::gl_VertexID,
                             BuiltInName::gl_VertexID,
                             SymbolType::BuiltIn,
                             TExtension::UNDEFINED,
                             StaticType::Get<EbtInt, EbpHigh, EvqVertexID, 1, 1>());
const TVariable kgl_VertexIndex(BuiltInId::gl_VertexIndex,
                                BuiltInName::gl_VertexIndex,
                                SymbolType::BuiltIn,
                                TExtension::UNDEFINED,
                                StaticType::Get<EbtInt, EbpHigh, EvqVertexID, 1, 1>());
const TVariable kgl_ViewID_OVR(BuiltInId::gl_ViewID_OVR,
                               BuiltInName::gl_ViewID_OVR,
                               SymbolType::BuiltIn,
                               TExtension::OVR_multiview,
                               StaticType::Get<EbtUInt, EbpHigh, EvqViewIDOVR, 1, 1>());
const TVariable kgl_ViewportIndex(BuiltInId::gl_ViewportIndex,
                                  BuiltInName::gl_ViewportIndex,
                                  SymbolType::BuiltIn,
                                  TExtension::UNDEFINED,
                                  StaticType::Get<EbtInt, EbpHigh, EvqViewportIndex, 1, 1>());
const TVariable kgl_WorkGroupID(BuiltInId::gl_WorkGroupID,
                                BuiltInName::gl_WorkGroupID,
                                SymbolType::BuiltIn,
                                TExtension::UNDEFINED,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqWorkGroupID, 3, 1>());
const TVariable kgl_WorkGroupSize(BuiltInId::gl_WorkGroupSize,
                                  BuiltInName::gl_WorkGroupSize,
                                  SymbolType::BuiltIn,
                                  TExtension::UNDEFINED,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqWorkGroupSize, 3, 1>());
const TVariable kpt00B(BuiltInId::pt00B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00C(BuiltInId::pt00C,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00D(BuiltInId::pt00D,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00E(BuiltInId::pt00E,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00F(BuiltInId::pt00F,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00G(BuiltInId::pt00G,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtAtomicCounter, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00H(BuiltInId::pt00H,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtYuvCscStandardEXT, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00I(BuiltInId::pt00I,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00J(BuiltInId::pt00J,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00K(BuiltInId::pt00K,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00L(BuiltInId::pt00L,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00M(BuiltInId::pt00M,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSamplerExternalOES, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00N(
    BuiltInId::pt00N,
    BuiltInName::_empty,
    SymbolType::BuiltIn,
    TExtension::UNDEFINED,
    StaticType::Get<EbtSamplerExternal2DY2YEXT, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00O(BuiltInId::pt00O,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler2DRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00P(BuiltInId::pt00P,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00Q(BuiltInId::pt00Q,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00R(BuiltInId::pt00R,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISampler2D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00S(BuiltInId::pt00S,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISampler3D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00T(BuiltInId::pt00T,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00U(BuiltInId::pt00U,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00V(BuiltInId::pt00V,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00W(BuiltInId::pt00W,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00X(BuiltInId::pt00X,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSampler2D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00Y(BuiltInId::pt00Y,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSampler3D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00Z(BuiltInId::pt00Z,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSamplerCube, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00a(BuiltInId::pt00a,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSampler2DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00b(BuiltInId::pt00b,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSampler2DMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00c(BuiltInId::pt00c,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSampler2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00d(BuiltInId::pt00d,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler2DShadow, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00e(BuiltInId::pt00e,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSamplerCubeShadow, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00f(BuiltInId::pt00f,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler2DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00g(BuiltInId::pt00g,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler1D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00h(BuiltInId::pt00h,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler1DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00i(BuiltInId::pt00i,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler1DArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00j(BuiltInId::pt00j,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00k(BuiltInId::pt00k,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00l(BuiltInId::pt00l,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSamplerCubeArrayShadow, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00m(BuiltInId::pt00m,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler1DShadow, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00n(BuiltInId::pt00n,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSampler2DRectShadow, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00o(BuiltInId::pt00o,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISampler1D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00p(BuiltInId::pt00p,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISampler1DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00q(BuiltInId::pt00q,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISampler2DRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00r(BuiltInId::pt00r,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00s(BuiltInId::pt00s,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00t(BuiltInId::pt00t,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSampler1D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00u(BuiltInId::pt00u,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSampler1DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00v(BuiltInId::pt00v,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSampler2DRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00w(BuiltInId::pt00w,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSamplerBuffer, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00x(BuiltInId::pt00x,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSamplerCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00y(BuiltInId::pt00y,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImage2D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt00z(BuiltInId::pt00z,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImage2D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01A(BuiltInId::pt01A,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImage2D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01B(BuiltInId::pt01B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImage3D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01C(BuiltInId::pt01C,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImage3D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01D(BuiltInId::pt01D,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImage3D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01E(BuiltInId::pt01E,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01F(BuiltInId::pt01F,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01G(BuiltInId::pt01G,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImage2DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01H(BuiltInId::pt01H,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImageCube, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01I(BuiltInId::pt01I,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImageCube, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01J(BuiltInId::pt01J,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImageCube, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01K(BuiltInId::pt01K,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImage1D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01L(BuiltInId::pt01L,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImage1D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01M(BuiltInId::pt01M,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImage1D, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01N(BuiltInId::pt01N,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImage1DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01O(BuiltInId::pt01O,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImage1DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01P(BuiltInId::pt01P,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImage1DArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01Q(BuiltInId::pt01Q,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01R(BuiltInId::pt01R,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01S(BuiltInId::pt01S,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImage2DMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01T(BuiltInId::pt01T,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01U(BuiltInId::pt01U,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01V(BuiltInId::pt01V,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImage2DMSArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01W(BuiltInId::pt01W,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImage2DRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01X(BuiltInId::pt01X,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImage2DRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01Y(BuiltInId::pt01Y,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImage2DRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01Z(BuiltInId::pt01Z,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01a(BuiltInId::pt01a,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01b(BuiltInId::pt01b,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImageCubeArray, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01c(BuiltInId::pt01c,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImageRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01d(BuiltInId::pt01d,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImageRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01e(BuiltInId::pt01e,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImageRect, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01f(BuiltInId::pt01f,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01g(BuiltInId::pt01g,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtIImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01h(BuiltInId::pt01h,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUImageBuffer, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01i(BuiltInId::pt01i,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSubpassInput, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01j(BuiltInId::pt01j,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISubpassInput, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01k(BuiltInId::pt01k,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSubpassInput, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01l(BuiltInId::pt01l,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtSubpassInputMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01m(BuiltInId::pt01m,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtISubpassInputMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt01n(BuiltInId::pt01n,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUSubpassInputMS, EbpUndefined, EvqGlobal, 1, 1>());
const TVariable kpt10B(BuiltInId::pt10B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>());
const TVariable kpt10C(BuiltInId::pt10C,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>());
const TVariable kpt10D(BuiltInId::pt10D,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>());
const TVariable kpt10E(BuiltInId::pt10E,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>());
const TVariable kpt10F(BuiltInId::pt10F,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>());
const TVariable kpt20B(BuiltInId::pt20B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>());
const TVariable kpt20C(BuiltInId::pt20C,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>());
const TVariable kpt20D(BuiltInId::pt20D,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>());
const TVariable kpt20E(BuiltInId::pt20E,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>());
const TVariable kpt20F(BuiltInId::pt20F,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>());
const TVariable kpt30B(BuiltInId::pt30B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>());
const TVariable kpt30C(BuiltInId::pt30C,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>());
const TVariable kpt30D(BuiltInId::pt30D,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>());
const TVariable kpt30E(BuiltInId::pt30E,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>());
const TVariable kpt30F(BuiltInId::pt30F,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>());
const TVariable kpt50B(BuiltInId::pt50B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>());
const TVariable kpt60B(BuiltInId::pt60B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>());
const TVariable kpt70B(BuiltInId::pt70B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>());
const TVariable kpt70D(BuiltInId::pt70D,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 2>());
const TVariable kpt90B(BuiltInId::pt90B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>());
const TVariable kptA0B(BuiltInId::ptA0B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>());
const TVariable kptB0B(BuiltInId::ptB0B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>());
const TVariable kptD0B(BuiltInId::ptD0B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>());
const TVariable kptE0B(BuiltInId::ptE0B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>());
const TVariable kptF0B(BuiltInId::ptF0B,
                       BuiltInName::_empty,
                       SymbolType::BuiltIn,
                       TExtension::UNDEFINED,
                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>());
const TVariable kpt_io_00D(BuiltInId::pt_io_00D,
                           BuiltInName::_empty,
                           SymbolType::BuiltIn,
                           TExtension::UNDEFINED,
                           StaticType::Get<EbtInt, EbpUndefined, EvqInOut, 1, 1>());
const TVariable kpt_io_00E(BuiltInId::pt_io_00E,
                           BuiltInName::_empty,
                           SymbolType::BuiltIn,
                           TExtension::UNDEFINED,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqInOut, 1, 1>());
const TVariable kpt_o_00B(BuiltInId::pt_o_00B,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 1, 1>());
const TVariable kpt_o_00C(BuiltInId::pt_o_00C,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqOut, 1, 1>());
const TVariable kpt_o_00D(BuiltInId::pt_o_00D,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpUndefined, EvqOut, 1, 1>());
const TVariable kpt_o_00E(BuiltInId::pt_o_00E,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 1, 1>());
const TVariable kpt_o_10B(BuiltInId::pt_o_10B,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 2, 1>());
const TVariable kpt_o_10C(BuiltInId::pt_o_10C,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqOut, 2, 1>());
const TVariable kpt_o_10D(BuiltInId::pt_o_10D,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpUndefined, EvqOut, 2, 1>());
const TVariable kpt_o_10E(BuiltInId::pt_o_10E,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 2, 1>());
const TVariable kpt_o_20B(BuiltInId::pt_o_20B,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 3, 1>());
const TVariable kpt_o_20C(BuiltInId::pt_o_20C,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqOut, 3, 1>());
const TVariable kpt_o_20D(BuiltInId::pt_o_20D,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpUndefined, EvqOut, 3, 1>());
const TVariable kpt_o_20E(BuiltInId::pt_o_20E,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 3, 1>());
const TVariable kpt_o_30B(BuiltInId::pt_o_30B,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqOut, 4, 1>());
const TVariable kpt_o_30C(BuiltInId::pt_o_30C,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqOut, 4, 1>());
const TVariable kpt_o_30D(BuiltInId::pt_o_30D,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtInt, EbpUndefined, EvqOut, 4, 1>());
const TVariable kpt_o_30E(BuiltInId::pt_o_30E,
                          BuiltInName::_empty,
                          SymbolType::BuiltIn,
                          TExtension::UNDEFINED,
                          StaticType::Get<EbtUInt, EbpUndefined, EvqOut, 4, 1>());

const TVariable *angle_BaseInstance()
{
    return &kangle_BaseInstance;
}

const TVariable *angle_BaseVertex()
{
    return &kangle_BaseVertex;
}

const TVariable *gl_BaseInstance()
{
    return &kgl_BaseInstance;
}

const TVariable *gl_BaseVertex()
{
    return &kgl_BaseVertex;
}

const TVariable *gl_DrawID()
{
    return &kgl_DrawID;
}

const TVariable *gl_FragColor()
{
    return &kgl_FragColor;
}

const TVariable *gl_FragCoord()
{
    return &kgl_FragCoord;
}

const TVariable *gl_FragDepth()
{
    return &kgl_FragDepth;
}

const TVariable *gl_FrontFacing()
{
    return &kgl_FrontFacing;
}

const TVariable *gl_GlobalInvocationID()
{
    return &kgl_GlobalInvocationID;
}

const TVariable *gl_HelperInvocation()
{
    return &kgl_HelperInvocation;
}

const TVariable *gl_InstanceID()
{
    return &kgl_InstanceID;
}

const TVariable *gl_InstanceIndex()
{
    return &kgl_InstanceIndex;
}

const TVariable *gl_InvocationID()
{
    return &kgl_InvocationID;
}

const TVariable *gl_LastFragColor()
{
    return &kgl_LastFragColor;
}

const TVariable *gl_LastFragColorARM()
{
    return &kgl_LastFragColorARM;
}

const TVariable *gl_Layer()
{
    return &kgl_Layer;
}

const TVariable *gl_LayerGS()
{
    return &kgl_LayerGS;
}

const TVariable *gl_LayerVS()
{
    return &kgl_LayerVS;
}

const TVariable *gl_LocalInvocationID()
{
    return &kgl_LocalInvocationID;
}

const TVariable *gl_LocalInvocationIndex()
{
    return &kgl_LocalInvocationIndex;
}

const TVariable *gl_NumWorkGroups()
{
    return &kgl_NumWorkGroups;
}

const TVariable *gl_PointCoord()
{
    return &kgl_PointCoord;
}

const TVariable *gl_PointSize()
{
    return &kgl_PointSize;
}

const TVariable *gl_Position()
{
    return &kgl_Position;
}

const TVariable *gl_PrimitiveID()
{
    return &kgl_PrimitiveID;
}

const TVariable *gl_PrimitiveIDGS()
{
    return &kgl_PrimitiveIDGS;
}

const TVariable *gl_PrimitiveIDIn()
{
    return &kgl_PrimitiveIDIn;
}

const TVariable *gl_SecondaryFragColorEXT()
{
    return &kgl_SecondaryFragColorEXT;
}

const TVariable *gl_VertexID()
{
    return &kgl_VertexID;
}

const TVariable *gl_VertexIndex()
{
    return &kgl_VertexIndex;
}

const TVariable *gl_ViewID_OVR()
{
    return &kgl_ViewID_OVR;
}

const TVariable *gl_ViewportIndex()
{
    return &kgl_ViewportIndex;
}

const TVariable *gl_WorkGroupID()
{
    return &kgl_WorkGroupID;
}

const TVariable *gl_WorkGroupSize()
{
    return &kgl_WorkGroupSize;
}

}  // namespace BuiltInVariable

namespace BuiltInParameters
{

constexpr const TVariable **empty        = nullptr;
constexpr const TVariable *p00B00B00B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00B00B00F[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
                                            &BuiltInVariable::kpt00F};
constexpr const TVariable *p00B00B10B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
                                            &BuiltInVariable::kpt10B};
constexpr const TVariable *p00B00B20B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
                                            &BuiltInVariable::kpt20B};
constexpr const TVariable *p00B00B30B[3] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p00B00D[2]    = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00B10B[2]    = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt10B};
constexpr const TVariable *p00B20B[2]    = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00B30B[2]    = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt30B};
constexpr const TVariable *p00B_o_00B[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt_o_00B};
constexpr const TVariable *p00B_o_00D[2] = {&BuiltInVariable::kpt00B, &BuiltInVariable::kpt_o_00D};
constexpr const TVariable *p00C00C00B[3] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00C00C00C[3] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt00C};
constexpr const TVariable *p00C00C00F[3] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt00F};
constexpr const TVariable *p00C00C10C[3] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt10C};
constexpr const TVariable *p00C00C20C[3] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt20C};
constexpr const TVariable *p00C00C30C[3] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt30C};
constexpr const TVariable *p00C00D[2]    = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00C10C[2]    = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt10C};
constexpr const TVariable *p00C20C[2]    = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt20C};
constexpr const TVariable *p00C30C[2]    = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt30C};
constexpr const TVariable *p00C_o_00C[2] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt_o_00C};
constexpr const TVariable *p00C_o_00D[2] = {&BuiltInVariable::kpt00C, &BuiltInVariable::kpt_o_00D};
constexpr const TVariable *p00D00D00D00D[4] = {&BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00D00D00F[3]    = {&BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00F};
constexpr const TVariable *p00D00D_o_00D_o_00D[4] = {
    &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D, &BuiltInVariable::kpt_o_00D,
    &BuiltInVariable::kpt_o_00D};
constexpr const TVariable *p00E00D00D[3]    = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00E00E00D00D[4] = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00E00E00E[3]    = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E,
                                            &BuiltInVariable::kpt00E};
constexpr const TVariable *p00E00E00F[3]    = {&BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E,
                                            &BuiltInVariable::kpt00F};
constexpr const TVariable *p00E00E_o_00E_o_00E[4] = {
    &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E, &BuiltInVariable::kpt_o_00E,
    &BuiltInVariable::kpt_o_00E};
constexpr const TVariable *p00F00F00F[3]    = {&BuiltInVariable::kpt00F, &BuiltInVariable::kpt00F,
                                            &BuiltInVariable::kpt00F};
constexpr const TVariable *p00G00E00E[3]    = {&BuiltInVariable::kpt00G, &BuiltInVariable::kpt00E,
                                            &BuiltInVariable::kpt00E};
constexpr const TVariable *p00I00B00B00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00I00D[2]       = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00I10B00B10D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00I10B00D[3]    = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00I10B10B10B10D[5] = {
    &BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00I10B10D00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00I10B10D00D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00I10B70D00D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00I10D00D10D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00I20B00B10D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00I20B10B10B10D[5] = {
    &BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00I20B10D00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00I30B00B10D[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00I30B10B10B10D[5] = {
    &BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00I30B10D00B[4] = {&BuiltInVariable::kpt00I, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00J00D[2]       = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00J20B00B20D[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00J20B20B20B20D[5] = {
    &BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
    &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00J20B20D00B[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00J20D00D20D[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00J30B00B20D[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00J30B20B20B20D[5] = {
    &BuiltInVariable::kpt00J, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B,
    &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00J30B20D00B[4] = {&BuiltInVariable::kpt00J, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00K00D[2]       = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00K20B00B[3]    = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00K20B00D[3]    = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00K20B20B20B[4] = {&BuiltInVariable::kpt00K, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00L00D[2]       = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00L10B[2]       = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt10B};
constexpr const TVariable *p00L20B00B10D[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00L20B00D[3]    = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00L20B10B10B10D[5] = {
    &BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00L20B10D00B[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00L20B10D00D[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00L20B70D00D[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00L20D00D10D[4] = {&BuiltInVariable::kpt00L, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00M00D[2]       = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00M10B00B[3]    = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt10B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00M10D00D[3]    = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00M20B00B[3]    = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00M30B00B[3]    = {&BuiltInVariable::kpt00M, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00N00D[2]       = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00N10B00B[3]    = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt10B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00N10D00D[3]    = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00N20B00B[3]    = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00N30B00B[3]    = {&BuiltInVariable::kpt00N, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00O10B10B10B10D[5] = {
    &BuiltInVariable::kpt00O, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00O10B10D00D[4] = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00O10B70D00D[4] = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00O10D10D[3]    = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00O20B00D[3]    = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00O20B10B10B10D[5] = {
    &BuiltInVariable::kpt00O, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00O20B10D[3] = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00O30B10B10B10D[5] = {
    &BuiltInVariable::kpt00O, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00O30B10D[3]    = {&BuiltInVariable::kpt00O, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00P10D00D[3]    = {&BuiltInVariable::kpt00P, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00Q20D00D[3]    = {&BuiltInVariable::kpt00Q, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00R00B00B00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00R00D[2]       = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00R10B00B10D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00R10B00D[3]    = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00R10B10B10B10D[5] = {
    &BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00R10B10D00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00R10B10D00D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00R10B70D00D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00R10D00D10D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00R20B00B10D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00R20B10B10B10D[5] = {
    &BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00R20B10D00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00R30B00B10D[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00R30B10B10B10D[5] = {
    &BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00R30B10D00B[4] = {&BuiltInVariable::kpt00R, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00S00D[2]       = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00S20B00B20D[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00S20B20B20B20D[5] = {
    &BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
    &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00S20B20D00B[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00S20D00D20D[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00S30B00B20D[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00S30B20B20B20D[5] = {
    &BuiltInVariable::kpt00S, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B,
    &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00S30B20D00B[4] = {&BuiltInVariable::kpt00S, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00T00D[2]       = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00T20B00B[3]    = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00T20B00D[3]    = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00T20B20B20B[4] = {&BuiltInVariable::kpt00T, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00U00D[2]       = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00U10B[2]       = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt10B};
constexpr const TVariable *p00U20B00B10D[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00U20B00D[3]    = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00U20B10B10B10D[5] = {
    &BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00U20B10D00B[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00U20B10D00D[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00U20B70D00D[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00U20D00D10D[4] = {&BuiltInVariable::kpt00U, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00V10D00D[3]    = {&BuiltInVariable::kpt00V, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00W20D00D[3]    = {&BuiltInVariable::kpt00W, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00X00B00B00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00X00D[2]       = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00X10B00B10D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00X10B00D[3]    = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00X10B10B10B10D[5] = {
    &BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00X10B10D00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00X10B10D00D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00X10B70D00D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00X10D00D10D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00X20B00B10D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00X20B10B10B10D[5] = {
    &BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00X20B10D00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00X30B00B10D[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00X30B10B10B10D[5] = {
    &BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00X30B10D00B[4] = {&BuiltInVariable::kpt00X, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00Y00D[2]       = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00Y20B00B20D[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00Y20B20B20B20D[5] = {
    &BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
    &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00Y20B20D00B[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00Y20D00D20D[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00Y30B00B20D[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00Y30B20B20B20D[5] = {
    &BuiltInVariable::kpt00Y, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B,
    &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p00Y30B20D00B[4] = {&BuiltInVariable::kpt00Y, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00Z00D[2]       = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00Z20B00B[3]    = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00Z20B00D[3]    = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00Z20B20B20B[4] = {&BuiltInVariable::kpt00Z, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00a00D[2]       = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00a10B[2]       = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt10B};
constexpr const TVariable *p00a20B00B10D[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00a20B00D[3]    = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00a20B10B10B10D[5] = {
    &BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00a20B10D00B[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00a20B10D00D[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00a20B70D00D[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00a20D00D10D[4] = {&BuiltInVariable::kpt00a, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00b10D00D[3]    = {&BuiltInVariable::kpt00b, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00c20D00D[3]    = {&BuiltInVariable::kpt00c, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00d00D[2]       = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00d10B00B10D[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00d10B00B70D[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt70D};
constexpr const TVariable *p00d20B00B10D[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00d20B10B10B10D[5] = {
    &BuiltInVariable::kpt00d, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00d20B10D00B[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00d30B00B10D[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00d30B10B10B10D[5] = {
    &BuiltInVariable::kpt00d, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00d30B10D00B[4] = {&BuiltInVariable::kpt00d, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00e00D[2]       = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00e20B00B[3]    = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00e30B00B[3]    = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00e30B20B20B[4] = {&BuiltInVariable::kpt00e, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00f00D[2]       = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00f10B[2]       = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt10B};
constexpr const TVariable *p00f20B00B10D[4] = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00f20B00B70D[4] = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt70D};
constexpr const TVariable *p00f30B00B[3]    = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00f30B10B10B10D[5] = {
    &BuiltInVariable::kpt00f, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00f30B10D[3] = {&BuiltInVariable::kpt00f, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00g00B00B00B00D[5] = {
    &BuiltInVariable::kpt00g, &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00g00B00B00D[4] = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00g00B00D00B[4] = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00g00D00D00D[4] = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00g10B00B00B00D[5] = {
    &BuiltInVariable::kpt00g, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00g10B00B00D[4] = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00g10B00D00B[4] = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00g30B00B00B00D[5] = {
    &BuiltInVariable::kpt00g, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00g30B00B00D[4] = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00g30B00D00B[4] = {&BuiltInVariable::kpt00g, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00h00B[2]       = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00h00D[2]       = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00h10B00B00B00D[5] = {
    &BuiltInVariable::kpt00h, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00h10B00B00D[4] = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00h10B00D00B[4] = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00h10D00D00D[4] = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00h20B00B[3]    = {&BuiltInVariable::kpt00h, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00i00B[2]       = {&BuiltInVariable::kpt00i, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00i00D[2]       = {&BuiltInVariable::kpt00i, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00i20B00B00B00D[5] = {
    &BuiltInVariable::kpt00i, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00i20B00B00D[4] = {&BuiltInVariable::kpt00i, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00i20B00D00B[4] = {&BuiltInVariable::kpt00i, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00j00D[2]       = {&BuiltInVariable::kpt00j, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00k00D[2]       = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00k20B[2]       = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00k30B00B[3]    = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00k30B00D[3]    = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00k30B20B20B[4] = {&BuiltInVariable::kpt00k, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00l00D[2]       = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00l20B[2]       = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00l30B00B[3]    = {&BuiltInVariable::kpt00l, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00m00B[2]       = {&BuiltInVariable::kpt00m, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00m00D[2]       = {&BuiltInVariable::kpt00m, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00m20B00B00B00D[5] = {
    &BuiltInVariable::kpt00m, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00m20B00B00D[4] = {&BuiltInVariable::kpt00m, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00m20B00D00B[4] = {&BuiltInVariable::kpt00m, &BuiltInVariable::kpt20B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00m30B00B00B00D[5] = {
    &BuiltInVariable::kpt00m, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00m30B00B00D[4] = {&BuiltInVariable::kpt00m, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00m30B00D00B[4] = {&BuiltInVariable::kpt00m, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00n10B00B10D[4] = {&BuiltInVariable::kpt00n, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00n10B00B70D[4] = {&BuiltInVariable::kpt00n, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt70D};
constexpr const TVariable *p00n20B10B10B10D[5] = {
    &BuiltInVariable::kpt00n, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00n20B10D[3] = {&BuiltInVariable::kpt00n, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00n30B10B10B10D[5] = {
    &BuiltInVariable::kpt00n, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00n30B10D[3] = {&BuiltInVariable::kpt00n, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00o00B00B00B00D[5] = {
    &BuiltInVariable::kpt00o, &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00o00B00B00D[4] = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00o00B00D00B[4] = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00o00D00D00D[4] = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00o10B00B00B00D[5] = {
    &BuiltInVariable::kpt00o, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00o10B00B00D[4] = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00o10B00D00B[4] = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00o30B00B00B00D[5] = {
    &BuiltInVariable::kpt00o, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00o30B00B00D[4] = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00o30B00D00B[4] = {&BuiltInVariable::kpt00o, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00p00B[2]       = {&BuiltInVariable::kpt00p, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00p00D[2]       = {&BuiltInVariable::kpt00p, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00p10B00B00B00D[5] = {
    &BuiltInVariable::kpt00p, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00p10B00B00D[4] = {&BuiltInVariable::kpt00p, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00p10B00D00B[4] = {&BuiltInVariable::kpt00p, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00p10D00D00D[4] = {&BuiltInVariable::kpt00p, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00p20B00B[3]    = {&BuiltInVariable::kpt00p, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00q10B10B10B10D[5] = {
    &BuiltInVariable::kpt00q, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00q10B10D00D[4] = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00q10B70D00D[4] = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00q10D10D[3]    = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00q20B00D[3]    = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00q20B10B10B10D[5] = {
    &BuiltInVariable::kpt00q, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00q20B10D[3] = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00q30B10B10B10D[5] = {
    &BuiltInVariable::kpt00q, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00q30B10D[3]    = {&BuiltInVariable::kpt00q, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00r00D[2]       = {&BuiltInVariable::kpt00r, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00s00D[2]       = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00s20B[2]       = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00s30B00B[3]    = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00s30B00D[3]    = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00s30B20B20B[4] = {&BuiltInVariable::kpt00s, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00t00B00B00B00D[5] = {
    &BuiltInVariable::kpt00t, &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00t00B00B00D[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00t00B00D00B[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt00B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00t00D00D00D[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00t10B00B00B00D[5] = {
    &BuiltInVariable::kpt00t, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00t10B00B00D[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00t10B00D00B[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00t30B00B00B00D[5] = {
    &BuiltInVariable::kpt00t, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00t30B00B00D[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00t30B00D00B[4] = {&BuiltInVariable::kpt00t, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00u00B[2]       = {&BuiltInVariable::kpt00u, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00u00D[2]       = {&BuiltInVariable::kpt00u, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00u10B00B00B00D[5] = {
    &BuiltInVariable::kpt00u, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
    &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00u10B00B00D[4] = {&BuiltInVariable::kpt00u, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00u10B00D00B[4] = {&BuiltInVariable::kpt00u, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p00u10D00D00D[4] = {&BuiltInVariable::kpt00u, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00u20B00B[3]    = {&BuiltInVariable::kpt00u, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00v10B10B10B10D[5] = {
    &BuiltInVariable::kpt00v, &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00v10B10D00D[4] = {&BuiltInVariable::kpt00v, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00v10B70D00D[4] = {&BuiltInVariable::kpt00v, &BuiltInVariable::kpt10B,
                                               &BuiltInVariable::kpt70D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00v10D10D[3]    = {&BuiltInVariable::kpt00v, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00v20B00D[3]    = {&BuiltInVariable::kpt00v, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00v20B10B10B10D[5] = {
    &BuiltInVariable::kpt00v, &BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00v20B10D[3] = {&BuiltInVariable::kpt00v, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00v30B10B10B10D[5] = {
    &BuiltInVariable::kpt00v, &BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B,
    &BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p00v30B10D[3]    = {&BuiltInVariable::kpt00v, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p00w00D[2]       = {&BuiltInVariable::kpt00w, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00x00D[2]       = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00x20B[2]       = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00x30B00B[3]    = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00x30B00D[3]    = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p00x30B20B20B[4] = {&BuiltInVariable::kpt00x, &BuiltInVariable::kpt30B,
                                               &BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p00y10D00B[3]    = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00y10D00D00D[4] = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00y10D00E00E[4] = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p00y10D30B[3]    = {&BuiltInVariable::kpt00y, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p00z10D00B[3]    = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p00z10D00D00D[4] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p00z10D00E00E[4] = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p00z10D30D[3]    = {&BuiltInVariable::kpt00z, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01A10D00B[3]    = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01A10D00D00D[4] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01A10D00E00E[4] = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01A10D30E[3]    = {&BuiltInVariable::kpt01A, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01B20D00B[3]    = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01B20D00D00D[4] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01B20D00E00E[4] = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01B20D30B[3]    = {&BuiltInVariable::kpt01B, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p01C20D00B[3]    = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01C20D00D00D[4] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01C20D00E00E[4] = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01C20D30D[3]    = {&BuiltInVariable::kpt01C, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01D20D00B[3]    = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01D20D00D00D[4] = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01D20D00E00E[4] = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01D20D30E[3]    = {&BuiltInVariable::kpt01D, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01E20D00B[3]    = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01E20D00D00D[4] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01E20D00E00E[4] = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01E20D30B[3]    = {&BuiltInVariable::kpt01E, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p01F20D00B[3]    = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01F20D00D00D[4] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01F20D00E00E[4] = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01F20D30D[3]    = {&BuiltInVariable::kpt01F, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01G20D00B[3]    = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01G20D00D00D[4] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01G20D00E00E[4] = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01G20D30E[3]    = {&BuiltInVariable::kpt01G, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01H20D00B[3]    = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01H20D00D00D[4] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01H20D00E00E[4] = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01H20D30B[3]    = {&BuiltInVariable::kpt01H, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p01I20D00B[3]    = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01I20D00D00D[4] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01I20D00E00E[4] = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01I20D30D[3]    = {&BuiltInVariable::kpt01I, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01J20D00B[3]    = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01J20D00D00D[4] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01J20D00E00E[4] = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01J20D30E[3]    = {&BuiltInVariable::kpt01J, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01K00D00B[3]    = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01K00D00D00D[4] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01K00D00E00E[4] = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01K00D30B[3]    = {&BuiltInVariable::kpt01K, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p01L00D00B[3]    = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01L00D00D00D[4] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01L00D00E00E[4] = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01L00D30D[3]    = {&BuiltInVariable::kpt01L, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01M00D00B[3]    = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01M00D00D00D[4] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01M00D00E00E[4] = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01M00D30E[3]    = {&BuiltInVariable::kpt01M, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01N10D00B[3]    = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01N10D00D00D[4] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01N10D00E00E[4] = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01N10D30B[3]    = {&BuiltInVariable::kpt01N, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p01O10D00B[3]    = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01O10D00D00D[4] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01O10D00E00E[4] = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01O10D30D[3]    = {&BuiltInVariable::kpt01O, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01P10D00B[3]    = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01P10D00D00D[4] = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01P10D00E00E[4] = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01P10D30E[3]    = {&BuiltInVariable::kpt01P, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01Q10D00D00B[4] = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p01Q10D00D00D00D[5] = {
    &BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01Q10D00D00E00E[5] = {
    &BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01Q10D00D30B[4] = {&BuiltInVariable::kpt01Q, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt30B};
constexpr const TVariable *p01R10D00D00B[4] = {&BuiltInVariable::kpt01R, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p01R10D00D00D00D[5] = {
    &BuiltInVariable::kpt01R, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01R10D00D00E00E[5] = {
    &BuiltInVariable::kpt01R, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01R10D00D30D[4] = {&BuiltInVariable::kpt01R, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt30D};
constexpr const TVariable *p01S10D00D00B[4] = {&BuiltInVariable::kpt01S, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p01S10D00D00D00D[5] = {
    &BuiltInVariable::kpt01S, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01S10D00D00E00E[5] = {
    &BuiltInVariable::kpt01S, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01S10D00D30E[4] = {&BuiltInVariable::kpt01S, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt30E};
constexpr const TVariable *p01T20D00D00B[4] = {&BuiltInVariable::kpt01T, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p01T20D00D00D00D[5] = {
    &BuiltInVariable::kpt01T, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01T20D00D00E00E[5] = {
    &BuiltInVariable::kpt01T, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01T20D00D30B[4] = {&BuiltInVariable::kpt01T, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt30B};
constexpr const TVariable *p01U20D00D00B[4] = {&BuiltInVariable::kpt01U, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p01U20D00D00D00D[5] = {
    &BuiltInVariable::kpt01U, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01U20D00D00E00E[5] = {
    &BuiltInVariable::kpt01U, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01U20D00D30D[4] = {&BuiltInVariable::kpt01U, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt30D};
constexpr const TVariable *p01V20D00D00B[4] = {&BuiltInVariable::kpt01V, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00B};
constexpr const TVariable *p01V20D00D00D00D[5] = {
    &BuiltInVariable::kpt01V, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01V20D00D00E00E[5] = {
    &BuiltInVariable::kpt01V, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
    &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01V20D00D30E[4] = {&BuiltInVariable::kpt01V, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt30E};
constexpr const TVariable *p01W10D00B[3]    = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01W10D00D00D[4] = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01W10D00E00E[4] = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01W10D30B[3]    = {&BuiltInVariable::kpt01W, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p01X10D00B[3]    = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01X10D00D00D[4] = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01X10D00E00E[4] = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01X10D30D[3]    = {&BuiltInVariable::kpt01X, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01Y10D00B[3]    = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01Y10D00D00D[4] = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01Y10D00E00E[4] = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01Y10D30E[3]    = {&BuiltInVariable::kpt01Y, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01Z20D00B[3]    = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01Z20D00D00D[4] = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01Z20D00E00E[4] = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01Z20D30B[3]    = {&BuiltInVariable::kpt01Z, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p01a20D00B[3]    = {&BuiltInVariable::kpt01a, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01a20D00D00D[4] = {&BuiltInVariable::kpt01a, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01a20D00E00E[4] = {&BuiltInVariable::kpt01a, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01a20D30D[3]    = {&BuiltInVariable::kpt01a, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01b20D00B[3]    = {&BuiltInVariable::kpt01b, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01b20D00D00D[4] = {&BuiltInVariable::kpt01b, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01b20D00E00E[4] = {&BuiltInVariable::kpt01b, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01b20D30E[3]    = {&BuiltInVariable::kpt01b, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01c[1]          = {&BuiltInVariable::kpt01c};
constexpr const TVariable *p01d[1]          = {&BuiltInVariable::kpt01d};
constexpr const TVariable *p01e[1]          = {&BuiltInVariable::kpt01e};
constexpr const TVariable *p01f00D00B[3]    = {&BuiltInVariable::kpt01f, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01f00D00D00D[4] = {&BuiltInVariable::kpt01f, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01f00D00E00E[4] = {&BuiltInVariable::kpt01f, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01f00D30B[3]    = {&BuiltInVariable::kpt01f, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p01g00D00B[3]    = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01g00D00D00D[4] = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01g00D00E00E[4] = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01g00D30D[3]    = {&BuiltInVariable::kpt01g, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p01h00D00B[3]    = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p01h00D00D00D[4] = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01h00D00E00E[4] = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt00D,
                                               &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};
constexpr const TVariable *p01h00D30E[3]    = {&BuiltInVariable::kpt01h, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p01i[1]          = {&BuiltInVariable::kpt01i};
constexpr const TVariable *p01j[1]          = {&BuiltInVariable::kpt01j};
constexpr const TVariable *p01k[1]          = {&BuiltInVariable::kpt01k};
constexpr const TVariable *p01l00D[2]       = {&BuiltInVariable::kpt01l, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01m00D[2]       = {&BuiltInVariable::kpt01m, &BuiltInVariable::kpt00D};
constexpr const TVariable *p01n00D[2]       = {&BuiltInVariable::kpt01n, &BuiltInVariable::kpt00D};
constexpr const TVariable *p10B00B00B[3]    = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt00B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p10B00D[2]       = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p10B10B00B[3]    = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p10B10B10B[3]    = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
                                            &BuiltInVariable::kpt10B};
constexpr const TVariable *p10B10B10F[3]    = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10B,
                                            &BuiltInVariable::kpt10F};
constexpr const TVariable *p10B10D[2]       = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt10D};
constexpr const TVariable *p10B20B[2]       = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p10B30B[2]       = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt30B};
constexpr const TVariable *p10B_o_10B[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt_o_10B};
constexpr const TVariable *p10B_o_10D[2] = {&BuiltInVariable::kpt10B, &BuiltInVariable::kpt_o_10D};
constexpr const TVariable *p10C00C00C[3] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt00C};
constexpr const TVariable *p10C10C00B[3] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt10C,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p10C10C00C[3] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt10C,
                                            &BuiltInVariable::kpt00C};
constexpr const TVariable *p10C10C10C[3] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt10C,
                                            &BuiltInVariable::kpt10C};
constexpr const TVariable *p10C10C10F[3] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt10C,
                                            &BuiltInVariable::kpt10F};
constexpr const TVariable *p10C10D[2]    = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt10D};
constexpr const TVariable *p10C_o_10C[2] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt_o_10C};
constexpr const TVariable *p10C_o_10D[2] = {&BuiltInVariable::kpt10C, &BuiltInVariable::kpt_o_10D};
constexpr const TVariable *p10D00D00D[3] = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p10D10D00D00D[4] = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p10D10D10D[3]    = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt10D};
constexpr const TVariable *p10D10D10F[3]    = {&BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D,
                                            &BuiltInVariable::kpt10F};
constexpr const TVariable *p10D10D_o_10D_o_10D[4] = {
    &BuiltInVariable::kpt10D, &BuiltInVariable::kpt10D, &BuiltInVariable::kpt_o_10D,
    &BuiltInVariable::kpt_o_10D};
constexpr const TVariable *p10E00D00D[3]    = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p10E00E00E[3]    = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt00E,
                                            &BuiltInVariable::kpt00E};
constexpr const TVariable *p10E10E00D00D[4] = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p10E10E10E[3]    = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E,
                                            &BuiltInVariable::kpt10E};
constexpr const TVariable *p10E10E10F[3]    = {&BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E,
                                            &BuiltInVariable::kpt10F};
constexpr const TVariable *p10E10E_o_10E_o_10E[4] = {
    &BuiltInVariable::kpt10E, &BuiltInVariable::kpt10E, &BuiltInVariable::kpt_o_10E,
    &BuiltInVariable::kpt_o_10E};
constexpr const TVariable *p10F10F10F[3] = {&BuiltInVariable::kpt10F, &BuiltInVariable::kpt10F,
                                            &BuiltInVariable::kpt10F};
constexpr const TVariable *p20B00B00B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p20B00D[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p20B00H[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt00H};
constexpr const TVariable *p20B10B[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt10B};
constexpr const TVariable *p20B20B00B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p20B20B20B[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt20B};
constexpr const TVariable *p20B20B20F[3] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20B,
                                            &BuiltInVariable::kpt20F};
constexpr const TVariable *p20B20D[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt20D};
constexpr const TVariable *p20B30B[2]    = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt30B};
constexpr const TVariable *p20B_o_20B[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt_o_20B};
constexpr const TVariable *p20B_o_20D[2] = {&BuiltInVariable::kpt20B, &BuiltInVariable::kpt_o_20D};
constexpr const TVariable *p20C00C00C[3] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt00C};
constexpr const TVariable *p20C20C00B[3] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt20C,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p20C20C00C[3] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt20C,
                                            &BuiltInVariable::kpt00C};
constexpr const TVariable *p20C20C20C[3] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt20C,
                                            &BuiltInVariable::kpt20C};
constexpr const TVariable *p20C20C20F[3] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt20C,
                                            &BuiltInVariable::kpt20F};
constexpr const TVariable *p20C20D[2]    = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt20D};
constexpr const TVariable *p20C_o_20C[2] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt_o_20C};
constexpr const TVariable *p20C_o_20D[2] = {&BuiltInVariable::kpt20C, &BuiltInVariable::kpt_o_20D};
constexpr const TVariable *p20D00D00D[3] = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p20D20D00D00D[4] = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p20D20D20D[3]    = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt20D};
constexpr const TVariable *p20D20D20F[3]    = {&BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D,
                                            &BuiltInVariable::kpt20F};
constexpr const TVariable *p20D20D_o_20D_o_20D[4] = {
    &BuiltInVariable::kpt20D, &BuiltInVariable::kpt20D, &BuiltInVariable::kpt_o_20D,
    &BuiltInVariable::kpt_o_20D};
constexpr const TVariable *p20E00D00D[3]    = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p20E00E00E[3]    = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt00E,
                                            &BuiltInVariable::kpt00E};
constexpr const TVariable *p20E20E00D00D[4] = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p20E20E20E[3]    = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E,
                                            &BuiltInVariable::kpt20E};
constexpr const TVariable *p20E20E20F[3]    = {&BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E,
                                            &BuiltInVariable::kpt20F};
constexpr const TVariable *p20E20E_o_20E_o_20E[4] = {
    &BuiltInVariable::kpt20E, &BuiltInVariable::kpt20E, &BuiltInVariable::kpt_o_20E,
    &BuiltInVariable::kpt_o_20E};
constexpr const TVariable *p20F20F20F[3] = {&BuiltInVariable::kpt20F, &BuiltInVariable::kpt20F,
                                            &BuiltInVariable::kpt20F};
constexpr const TVariable *p30B00B00B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt00B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p30B00D[2]    = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt00D};
constexpr const TVariable *p30B10B[2]    = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt10B};
constexpr const TVariable *p30B20B[2]    = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt20B};
constexpr const TVariable *p30B30B00B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p30B30B30B[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt30B};
constexpr const TVariable *p30B30B30F[3] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30B,
                                            &BuiltInVariable::kpt30F};
constexpr const TVariable *p30B30D[2]    = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt30D};
constexpr const TVariable *p30B_o_30B[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt_o_30B};
constexpr const TVariable *p30B_o_30D[2] = {&BuiltInVariable::kpt30B, &BuiltInVariable::kpt_o_30D};
constexpr const TVariable *p30C00C00C[3] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt00C,
                                            &BuiltInVariable::kpt00C};
constexpr const TVariable *p30C30C00B[3] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt30C,
                                            &BuiltInVariable::kpt00B};
constexpr const TVariable *p30C30C00C[3] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt30C,
                                            &BuiltInVariable::kpt00C};
constexpr const TVariable *p30C30C30C[3] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt30C,
                                            &BuiltInVariable::kpt30C};
constexpr const TVariable *p30C30C30F[3] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt30C,
                                            &BuiltInVariable::kpt30F};
constexpr const TVariable *p30C30D[2]    = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt30D};
constexpr const TVariable *p30C_o_30C[2] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt_o_30C};
constexpr const TVariable *p30C_o_30D[2] = {&BuiltInVariable::kpt30C, &BuiltInVariable::kpt_o_30D};
constexpr const TVariable *p30D00D00D[3] = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p30D30D00D00D[4] = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p30D30D30D[3]    = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D,
                                            &BuiltInVariable::kpt30D};
constexpr const TVariable *p30D30D30F[3]    = {&BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D,
                                            &BuiltInVariable::kpt30F};
constexpr const TVariable *p30D30D_o_30D_o_30D[4] = {
    &BuiltInVariable::kpt30D, &BuiltInVariable::kpt30D, &BuiltInVariable::kpt_o_30D,
    &BuiltInVariable::kpt_o_30D};
constexpr const TVariable *p30E00D00D[3]    = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt00D,
                                            &BuiltInVariable::kpt00D};
constexpr const TVariable *p30E00E00E[3]    = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt00E,
                                            &BuiltInVariable::kpt00E};
constexpr const TVariable *p30E30E00D00D[4] = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E,
                                               &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p30E30E30E[3]    = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E,
                                            &BuiltInVariable::kpt30E};
constexpr const TVariable *p30E30E30F[3]    = {&BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E,
                                            &BuiltInVariable::kpt30F};
constexpr const TVariable *p30E30E_o_30E_o_30E[4] = {
    &BuiltInVariable::kpt30E, &BuiltInVariable::kpt30E, &BuiltInVariable::kpt_o_30E,
    &BuiltInVariable::kpt_o_30E};
constexpr const TVariable *p30F30F30F[3]     = {&BuiltInVariable::kpt30F, &BuiltInVariable::kpt30F,
                                            &BuiltInVariable::kpt30F};
constexpr const TVariable *p50B50B[2]        = {&BuiltInVariable::kpt50B, &BuiltInVariable::kpt50B};
constexpr const TVariable *p60B60B[2]        = {&BuiltInVariable::kpt60B, &BuiltInVariable::kpt60B};
constexpr const TVariable *p70B70B[2]        = {&BuiltInVariable::kpt70B, &BuiltInVariable::kpt70B};
constexpr const TVariable *p90B90B[2]        = {&BuiltInVariable::kpt90B, &BuiltInVariable::kpt90B};
constexpr const TVariable *pA0BA0B[2]        = {&BuiltInVariable::kptA0B, &BuiltInVariable::kptA0B};
constexpr const TVariable *pB0BB0B[2]        = {&BuiltInVariable::kptB0B, &BuiltInVariable::kptB0B};
constexpr const TVariable *pD0BD0B[2]        = {&BuiltInVariable::kptD0B, &BuiltInVariable::kptD0B};
constexpr const TVariable *pE0BE0B[2]        = {&BuiltInVariable::kptE0B, &BuiltInVariable::kptE0B};
constexpr const TVariable *pF0BF0B[2]        = {&BuiltInVariable::kptF0B, &BuiltInVariable::kptF0B};
constexpr const TVariable *p_io_00D00D00D[3] = {&BuiltInVariable::kpt_io_00D,
                                                &BuiltInVariable::kpt00D, &BuiltInVariable::kpt00D};
constexpr const TVariable *p_io_00E00E00E[3] = {&BuiltInVariable::kpt_io_00E,
                                                &BuiltInVariable::kpt00E, &BuiltInVariable::kpt00E};

}  // namespace BuiltInParameters

// 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 Func
{

const TFunction radians_00B(BuiltInId::radians_Float1,
                            BuiltInName::radians,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00B00B30B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpRadians,
                            true);
const TFunction radians_10B(BuiltInId::radians_Float2,
                            BuiltInName::radians,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10B_o_10B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpRadians,
                            true);
const TFunction radians_20B(BuiltInId::radians_Float3,
                            BuiltInName::radians,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20B20B00B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpRadians,
                            true);
const TFunction radians_30B(BuiltInId::radians_Float4,
                            BuiltInName::radians,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30B30D,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpRadians,
                            true);
const TFunction degrees_00B(BuiltInId::degrees_Float1,
                            BuiltInName::degrees,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00B00B30B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpDegrees,
                            true);
const TFunction degrees_10B(BuiltInId::degrees_Float2,
                            BuiltInName::degrees,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10B_o_10B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpDegrees,
                            true);
const TFunction degrees_20B(BuiltInId::degrees_Float3,
                            BuiltInName::degrees,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20B20B00B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpDegrees,
                            true);
const TFunction degrees_30B(BuiltInId::degrees_Float4,
                            BuiltInName::degrees,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30B30D,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpDegrees,
                            true);
const TFunction sin_00B(BuiltInId::sin_Float1,
                        BuiltInName::sin,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p00B00B30B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpSin,
                        true);
const TFunction sin_10B(BuiltInId::sin_Float2,
                        BuiltInName::sin,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10B_o_10B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                        EOpSin,
                        true);
const TFunction sin_20B(BuiltInId::sin_Float3,
                        BuiltInName::sin,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20B20B00B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                        EOpSin,
                        true);
const TFunction sin_30B(BuiltInId::sin_Float4,
                        BuiltInName::sin,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30B30D,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                        EOpSin,
                        true);
const TFunction cos_00B(BuiltInId::cos_Float1,
                        BuiltInName::cos,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p00B00B30B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpCos,
                        true);
const TFunction cos_10B(BuiltInId::cos_Float2,
                        BuiltInName::cos,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10B_o_10B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                        EOpCos,
                        true);
const TFunction cos_20B(BuiltInId::cos_Float3,
                        BuiltInName::cos,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20B20B00B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                        EOpCos,
                        true);
const TFunction cos_30B(BuiltInId::cos_Float4,
                        BuiltInName::cos,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30B30D,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                        EOpCos,
                        true);
const TFunction tan_00B(BuiltInId::tan_Float1,
                        BuiltInName::tan,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p00B00B30B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpTan,
                        true);
const TFunction tan_10B(BuiltInId::tan_Float2,
                        BuiltInName::tan,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10B_o_10B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                        EOpTan,
                        true);
const TFunction tan_20B(BuiltInId::tan_Float3,
                        BuiltInName::tan,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20B20B00B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                        EOpTan,
                        true);
const TFunction tan_30B(BuiltInId::tan_Float4,
                        BuiltInName::tan,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30B30D,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                        EOpTan,
                        true);
const TFunction asin_00B(BuiltInId::asin_Float1,
                         BuiltInName::asin,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpAsin,
                         true);
const TFunction asin_10B(BuiltInId::asin_Float2,
                         BuiltInName::asin,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpAsin,
                         true);
const TFunction asin_20B(BuiltInId::asin_Float3,
                         BuiltInName::asin,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpAsin,
                         true);
const TFunction asin_30B(BuiltInId::asin_Float4,
                         BuiltInName::asin,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpAsin,
                         true);
const TFunction acos_00B(BuiltInId::acos_Float1,
                         BuiltInName::acos,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpAcos,
                         true);
const TFunction acos_10B(BuiltInId::acos_Float2,
                         BuiltInName::acos,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpAcos,
                         true);
const TFunction acos_20B(BuiltInId::acos_Float3,
                         BuiltInName::acos,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpAcos,
                         true);
const TFunction acos_30B(BuiltInId::acos_Float4,
                         BuiltInName::acos,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpAcos,
                         true);
const TFunction atan_00B00B(BuiltInId::atan_Float1_Float1,
                            BuiltInName::atan,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00B00B30B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpAtan,
                            true);
const TFunction atan_10B10B(BuiltInId::atan_Float2_Float2,
                            BuiltInName::atan,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10B10B00B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpAtan,
                            true);
const TFunction atan_20B20B(BuiltInId::atan_Float3_Float3,
                            BuiltInName::atan,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20B20B00B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpAtan,
                            true);
const TFunction atan_30B30B(BuiltInId::atan_Float4_Float4,
                            BuiltInName::atan,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30B30B30F,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpAtan,
                            true);
const TFunction atan_00B(BuiltInId::atan_Float1,
                         BuiltInName::atan,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpAtan,
                         true);
const TFunction atan_10B(BuiltInId::atan_Float2,
                         BuiltInName::atan,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpAtan,
                         true);
const TFunction atan_20B(BuiltInId::atan_Float3,
                         BuiltInName::atan,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpAtan,
                         true);
const TFunction atan_30B(BuiltInId::atan_Float4,
                         BuiltInName::atan,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpAtan,
                         true);
const TFunction sinh_00B(BuiltInId::sinh_Float1,
                         BuiltInName::sinh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpSinh,
                         true);
const TFunction sinh_10B(BuiltInId::sinh_Float2,
                         BuiltInName::sinh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpSinh,
                         true);
const TFunction sinh_20B(BuiltInId::sinh_Float3,
                         BuiltInName::sinh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpSinh,
                         true);
const TFunction sinh_30B(BuiltInId::sinh_Float4,
                         BuiltInName::sinh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpSinh,
                         true);
const TFunction cosh_00B(BuiltInId::cosh_Float1,
                         BuiltInName::cosh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpCosh,
                         true);
const TFunction cosh_10B(BuiltInId::cosh_Float2,
                         BuiltInName::cosh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpCosh,
                         true);
const TFunction cosh_20B(BuiltInId::cosh_Float3,
                         BuiltInName::cosh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpCosh,
                         true);
const TFunction cosh_30B(BuiltInId::cosh_Float4,
                         BuiltInName::cosh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpCosh,
                         true);
const TFunction tanh_00B(BuiltInId::tanh_Float1,
                         BuiltInName::tanh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpTanh,
                         true);
const TFunction tanh_10B(BuiltInId::tanh_Float2,
                         BuiltInName::tanh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpTanh,
                         true);
const TFunction tanh_20B(BuiltInId::tanh_Float3,
                         BuiltInName::tanh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpTanh,
                         true);
const TFunction tanh_30B(BuiltInId::tanh_Float4,
                         BuiltInName::tanh,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpTanh,
                         true);
const TFunction asinh_00B(BuiltInId::asinh_Float1,
                          BuiltInName::asinh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpAsinh,
                          true);
const TFunction asinh_10B(BuiltInId::asinh_Float2,
                          BuiltInName::asinh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpAsinh,
                          true);
const TFunction asinh_20B(BuiltInId::asinh_Float3,
                          BuiltInName::asinh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpAsinh,
                          true);
const TFunction asinh_30B(BuiltInId::asinh_Float4,
                          BuiltInName::asinh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpAsinh,
                          true);
const TFunction acosh_00B(BuiltInId::acosh_Float1,
                          BuiltInName::acosh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpAcosh,
                          true);
const TFunction acosh_10B(BuiltInId::acosh_Float2,
                          BuiltInName::acosh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpAcosh,
                          true);
const TFunction acosh_20B(BuiltInId::acosh_Float3,
                          BuiltInName::acosh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpAcosh,
                          true);
const TFunction acosh_30B(BuiltInId::acosh_Float4,
                          BuiltInName::acosh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpAcosh,
                          true);
const TFunction atanh_00B(BuiltInId::atanh_Float1,
                          BuiltInName::atanh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpAtanh,
                          true);
const TFunction atanh_10B(BuiltInId::atanh_Float2,
                          BuiltInName::atanh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpAtanh,
                          true);
const TFunction atanh_20B(BuiltInId::atanh_Float3,
                          BuiltInName::atanh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpAtanh,
                          true);
const TFunction atanh_30B(BuiltInId::atanh_Float4,
                          BuiltInName::atanh,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpAtanh,
                          true);
const TFunction pow_00B00B(BuiltInId::pow_Float1_Float1,
                           BuiltInName::pow,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpPow,
                           true);
const TFunction pow_10B10B(BuiltInId::pow_Float2_Float2,
                           BuiltInName::pow,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B10B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpPow,
                           true);
const TFunction pow_20B20B(BuiltInId::pow_Float3_Float3,
                           BuiltInName::pow,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpPow,
                           true);
const TFunction pow_30B30B(BuiltInId::pow_Float4_Float4,
                           BuiltInName::pow,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30B30F,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpPow,
                           true);
const TFunction exp_00B(BuiltInId::exp_Float1,
                        BuiltInName::exp,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p00B00B30B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpExp,
                        true);
const TFunction exp_10B(BuiltInId::exp_Float2,
                        BuiltInName::exp,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10B_o_10B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                        EOpExp,
                        true);
const TFunction exp_20B(BuiltInId::exp_Float3,
                        BuiltInName::exp,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20B20B00B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                        EOpExp,
                        true);
const TFunction exp_30B(BuiltInId::exp_Float4,
                        BuiltInName::exp,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30B30D,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                        EOpExp,
                        true);
const TFunction log_00B(BuiltInId::log_Float1,
                        BuiltInName::log,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p00B00B30B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpLog,
                        true);
const TFunction log_10B(BuiltInId::log_Float2,
                        BuiltInName::log,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10B_o_10B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                        EOpLog,
                        true);
const TFunction log_20B(BuiltInId::log_Float3,
                        BuiltInName::log,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20B20B00B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                        EOpLog,
                        true);
const TFunction log_30B(BuiltInId::log_Float4,
                        BuiltInName::log,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30B30D,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                        EOpLog,
                        true);
const TFunction exp2_00B(BuiltInId::exp2_Float1,
                         BuiltInName::exp2,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpExp2,
                         true);
const TFunction exp2_10B(BuiltInId::exp2_Float2,
                         BuiltInName::exp2,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpExp2,
                         true);
const TFunction exp2_20B(BuiltInId::exp2_Float3,
                         BuiltInName::exp2,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpExp2,
                         true);
const TFunction exp2_30B(BuiltInId::exp2_Float4,
                         BuiltInName::exp2,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpExp2,
                         true);
const TFunction log2_00B(BuiltInId::log2_Float1,
                         BuiltInName::log2,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpLog2,
                         true);
const TFunction log2_10B(BuiltInId::log2_Float2,
                         BuiltInName::log2,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpLog2,
                         true);
const TFunction log2_20B(BuiltInId::log2_Float3,
                         BuiltInName::log2,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpLog2,
                         true);
const TFunction log2_30B(BuiltInId::log2_Float4,
                         BuiltInName::log2,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpLog2,
                         true);
const TFunction sqrt_00B(BuiltInId::sqrt_Float1,
                         BuiltInName::sqrt,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpSqrt,
                         true);
const TFunction sqrt_10B(BuiltInId::sqrt_Float2,
                         BuiltInName::sqrt,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpSqrt,
                         true);
const TFunction sqrt_20B(BuiltInId::sqrt_Float3,
                         BuiltInName::sqrt,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpSqrt,
                         true);
const TFunction sqrt_30B(BuiltInId::sqrt_Float4,
                         BuiltInName::sqrt,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpSqrt,
                         true);
const TFunction sqrt_00C(BuiltInId::sqrt_Double1,
                         BuiltInName::sqrt,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00C10C,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpSqrt,
                         true);
const TFunction sqrt_10C(BuiltInId::sqrt_Double2,
                         BuiltInName::sqrt,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10C_o_10C,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpSqrt,
                         true);
const TFunction sqrt_20C(BuiltInId::sqrt_Double3,
                         BuiltInName::sqrt,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20C20C20F,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpSqrt,
                         true);
const TFunction sqrt_30C(BuiltInId::sqrt_Double4,
                         BuiltInName::sqrt,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30C30C00B,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpSqrt,
                         true);
const TFunction inversesqrt_00B(BuiltInId::inversesqrt_Float1,
                                BuiltInName::inversesqrt,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00B00B30B,
                                1,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpInversesqrt,
                                true);
const TFunction inversesqrt_10B(BuiltInId::inversesqrt_Float2,
                                BuiltInName::inversesqrt,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10B_o_10B,
                                1,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpInversesqrt,
                                true);
const TFunction inversesqrt_20B(BuiltInId::inversesqrt_Float3,
                                BuiltInName::inversesqrt,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20B20B00B,
                                1,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpInversesqrt,
                                true);
const TFunction inversesqrt_30B(BuiltInId::inversesqrt_Float4,
                                BuiltInName::inversesqrt,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30B30D,
                                1,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpInversesqrt,
                                true);
const TFunction inversesqrt_00C(BuiltInId::inversesqrt_Double1,
                                BuiltInName::inversesqrt,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00C10C,
                                1,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpInversesqrt,
                                true);
const TFunction inversesqrt_10C(BuiltInId::inversesqrt_Double2,
                                BuiltInName::inversesqrt,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10C_o_10C,
                                1,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpInversesqrt,
                                true);
const TFunction inversesqrt_20C(BuiltInId::inversesqrt_Double3,
                                BuiltInName::inversesqrt,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20C20C20F,
                                1,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpInversesqrt,
                                true);
const TFunction inversesqrt_30C(BuiltInId::inversesqrt_Double4,
                                BuiltInName::inversesqrt,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30C30C00B,
                                1,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpInversesqrt,
                                true);
const TFunction abs_00B(BuiltInId::abs_Float1,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p00B00B30B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_10B(BuiltInId::abs_Float2,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10B_o_10B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_20B(BuiltInId::abs_Float3,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20B20B00B,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_30B(BuiltInId::abs_Float4,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30B30D,
                        1,
                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_00D(BuiltInId::abs_Int1,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p00D00D_o_00D_o_00D,
                        1,
                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_10D(BuiltInId::abs_Int2,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10D10D_o_10D_o_10D,
                        1,
                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_20D(BuiltInId::abs_Int3,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20D20D00D00D,
                        1,
                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_30D(BuiltInId::abs_Int4,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30D30D30F,
                        1,
                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_00C(BuiltInId::abs_Double1,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p00C10C,
                        1,
                        StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_10C(BuiltInId::abs_Double2,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10C_o_10C,
                        1,
                        StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_20C(BuiltInId::abs_Double3,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20C20C20F,
                        1,
                        StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                        EOpAbs,
                        true);
const TFunction abs_30C(BuiltInId::abs_Double4,
                        BuiltInName::abs,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30C30C00B,
                        1,
                        StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                        EOpAbs,
                        true);
const TFunction sign_00B(BuiltInId::sign_Float1,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpSign,
                         true);
const TFunction sign_10B(BuiltInId::sign_Float2,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpSign,
                         true);
const TFunction sign_20B(BuiltInId::sign_Float3,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpSign,
                         true);
const TFunction sign_30B(BuiltInId::sign_Float4,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpSign,
                         true);
const TFunction sign_00D(BuiltInId::sign_Int1,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00D00D_o_00D_o_00D,
                         1,
                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpSign,
                         true);
const TFunction sign_10D(BuiltInId::sign_Int2,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10D10D_o_10D_o_10D,
                         1,
                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpSign,
                         true);
const TFunction sign_20D(BuiltInId::sign_Int3,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20D20D00D00D,
                         1,
                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpSign,
                         true);
const TFunction sign_30D(BuiltInId::sign_Int4,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30D30D30F,
                         1,
                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpSign,
                         true);
const TFunction sign_00C(BuiltInId::sign_Double1,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00C10C,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpSign,
                         true);
const TFunction sign_10C(BuiltInId::sign_Double2,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10C_o_10C,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpSign,
                         true);
const TFunction sign_20C(BuiltInId::sign_Double3,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20C20C20F,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpSign,
                         true);
const TFunction sign_30C(BuiltInId::sign_Double4,
                         BuiltInName::sign,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30C30C00B,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpSign,
                         true);
const TFunction floor_00B(BuiltInId::floor_Float1,
                          BuiltInName::floor,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpFloor,
                          true);
const TFunction floor_10B(BuiltInId::floor_Float2,
                          BuiltInName::floor,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpFloor,
                          true);
const TFunction floor_20B(BuiltInId::floor_Float3,
                          BuiltInName::floor,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpFloor,
                          true);
const TFunction floor_30B(BuiltInId::floor_Float4,
                          BuiltInName::floor,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpFloor,
                          true);
const TFunction floor_00C(BuiltInId::floor_Double1,
                          BuiltInName::floor,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00C10C,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpFloor,
                          true);
const TFunction floor_10C(BuiltInId::floor_Double2,
                          BuiltInName::floor,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10C_o_10C,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpFloor,
                          true);
const TFunction floor_20C(BuiltInId::floor_Double3,
                          BuiltInName::floor,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20C20C20F,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpFloor,
                          true);
const TFunction floor_30C(BuiltInId::floor_Double4,
                          BuiltInName::floor,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30C30C00B,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpFloor,
                          true);
const TFunction trunc_00B(BuiltInId::trunc_Float1,
                          BuiltInName::trunc,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpTrunc,
                          true);
const TFunction trunc_10B(BuiltInId::trunc_Float2,
                          BuiltInName::trunc,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpTrunc,
                          true);
const TFunction trunc_20B(BuiltInId::trunc_Float3,
                          BuiltInName::trunc,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpTrunc,
                          true);
const TFunction trunc_30B(BuiltInId::trunc_Float4,
                          BuiltInName::trunc,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpTrunc,
                          true);
const TFunction trunc_00C(BuiltInId::trunc_Double1,
                          BuiltInName::trunc,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00C10C,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpTrunc,
                          true);
const TFunction trunc_10C(BuiltInId::trunc_Double2,
                          BuiltInName::trunc,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10C_o_10C,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpTrunc,
                          true);
const TFunction trunc_20C(BuiltInId::trunc_Double3,
                          BuiltInName::trunc,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20C20C20F,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpTrunc,
                          true);
const TFunction trunc_30C(BuiltInId::trunc_Double4,
                          BuiltInName::trunc,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30C30C00B,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpTrunc,
                          true);
const TFunction round_00B(BuiltInId::round_Float1,
                          BuiltInName::round,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpRound,
                          true);
const TFunction round_10B(BuiltInId::round_Float2,
                          BuiltInName::round,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpRound,
                          true);
const TFunction round_20B(BuiltInId::round_Float3,
                          BuiltInName::round,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpRound,
                          true);
const TFunction round_30B(BuiltInId::round_Float4,
                          BuiltInName::round,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpRound,
                          true);
const TFunction round_00C(BuiltInId::round_Double1,
                          BuiltInName::round,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00C10C,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpRound,
                          true);
const TFunction round_10C(BuiltInId::round_Double2,
                          BuiltInName::round,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10C_o_10C,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpRound,
                          true);
const TFunction round_20C(BuiltInId::round_Double3,
                          BuiltInName::round,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20C20C20F,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpRound,
                          true);
const TFunction round_30C(BuiltInId::round_Double4,
                          BuiltInName::round,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30C30C00B,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpRound,
                          true);
const TFunction roundEven_00B(BuiltInId::roundEven_Float1,
                              BuiltInName::roundEven,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00B00B30B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpRoundEven,
                              true);
const TFunction roundEven_10B(BuiltInId::roundEven_Float2,
                              BuiltInName::roundEven,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10B_o_10B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpRoundEven,
                              true);
const TFunction roundEven_20B(BuiltInId::roundEven_Float3,
                              BuiltInName::roundEven,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20B20B00B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpRoundEven,
                              true);
const TFunction roundEven_30B(BuiltInId::roundEven_Float4,
                              BuiltInName::roundEven,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30B30D,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpRoundEven,
                              true);
const TFunction roundEven_00C(BuiltInId::roundEven_Double1,
                              BuiltInName::roundEven,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00C10C,
                              1,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpRoundEven,
                              true);
const TFunction roundEven_10C(BuiltInId::roundEven_Double2,
                              BuiltInName::roundEven,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10C_o_10C,
                              1,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpRoundEven,
                              true);
const TFunction roundEven_20C(BuiltInId::roundEven_Double3,
                              BuiltInName::roundEven,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20C20C20F,
                              1,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpRoundEven,
                              true);
const TFunction roundEven_30C(BuiltInId::roundEven_Double4,
                              BuiltInName::roundEven,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30C30C00B,
                              1,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpRoundEven,
                              true);
const TFunction ceil_00B(BuiltInId::ceil_Float1,
                         BuiltInName::ceil,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpCeil,
                         true);
const TFunction ceil_10B(BuiltInId::ceil_Float2,
                         BuiltInName::ceil,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpCeil,
                         true);
const TFunction ceil_20B(BuiltInId::ceil_Float3,
                         BuiltInName::ceil,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpCeil,
                         true);
const TFunction ceil_30B(BuiltInId::ceil_Float4,
                         BuiltInName::ceil,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpCeil,
                         true);
const TFunction ceil_00C(BuiltInId::ceil_Double1,
                         BuiltInName::ceil,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00C10C,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpCeil,
                         true);
const TFunction ceil_10C(BuiltInId::ceil_Double2,
                         BuiltInName::ceil,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10C_o_10C,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpCeil,
                         true);
const TFunction ceil_20C(BuiltInId::ceil_Double3,
                         BuiltInName::ceil,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20C20C20F,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpCeil,
                         true);
const TFunction ceil_30C(BuiltInId::ceil_Double4,
                         BuiltInName::ceil,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30C30C00B,
                         1,
                         StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpCeil,
                         true);
const TFunction fract_00B(BuiltInId::fract_Float1,
                          BuiltInName::fract,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpFract,
                          true);
const TFunction fract_10B(BuiltInId::fract_Float2,
                          BuiltInName::fract,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpFract,
                          true);
const TFunction fract_20B(BuiltInId::fract_Float3,
                          BuiltInName::fract,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpFract,
                          true);
const TFunction fract_30B(BuiltInId::fract_Float4,
                          BuiltInName::fract,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpFract,
                          true);
const TFunction fract_00C(BuiltInId::fract_Double1,
                          BuiltInName::fract,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00C10C,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpFract,
                          true);
const TFunction fract_10C(BuiltInId::fract_Double2,
                          BuiltInName::fract,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10C_o_10C,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpFract,
                          true);
const TFunction fract_20C(BuiltInId::fract_Double3,
                          BuiltInName::fract,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20C20C20F,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpFract,
                          true);
const TFunction fract_30C(BuiltInId::fract_Double4,
                          BuiltInName::fract,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30C30C00B,
                          1,
                          StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpFract,
                          true);
const TFunction mod_00B00B(BuiltInId::mod_Float1_Float1,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMod,
                           true);
const TFunction mod_10B00B(BuiltInId::mod_Float2_Float1,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMod,
                           true);
const TFunction mod_20B00B(BuiltInId::mod_Float3_Float1,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMod,
                           true);
const TFunction mod_30B00B(BuiltInId::mod_Float4_Float1,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMod,
                           true);
const TFunction mod_10B10B(BuiltInId::mod_Float2_Float2,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B10B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMod,
                           true);
const TFunction mod_20B20B(BuiltInId::mod_Float3_Float3,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMod,
                           true);
const TFunction mod_30B30B(BuiltInId::mod_Float4_Float4,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30B30F,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMod,
                           true);
const TFunction mod_00C00C(BuiltInId::mod_Double1_Double1,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00C00C10C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMod,
                           true);
const TFunction mod_10C00C(BuiltInId::mod_Double2_Double1,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMod,
                           true);
const TFunction mod_20C00C(BuiltInId::mod_Double3_Double1,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMod,
                           true);
const TFunction mod_30C00C(BuiltInId::mod_Double4_Double1,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMod,
                           true);
const TFunction mod_10C10C(BuiltInId::mod_Double2_Double2,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10C10C10F,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMod,
                           true);
const TFunction mod_20C20C(BuiltInId::mod_Double3_Double3,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20C20C20F,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMod,
                           true);
const TFunction mod_30C30C(BuiltInId::mod_Double4_Double4,
                           BuiltInName::mod,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30C30C00B,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMod,
                           true);
const TFunction min_00B00B(BuiltInId::min_Float1_Float1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMin,
                           true);
const TFunction min_10B00B(BuiltInId::min_Float2_Float1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMin,
                           true);
const TFunction min_20B00B(BuiltInId::min_Float3_Float1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMin,
                           true);
const TFunction min_30B00B(BuiltInId::min_Float4_Float1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMin,
                           true);
const TFunction min_10B10B(BuiltInId::min_Float2_Float2,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B10B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMin,
                           true);
const TFunction min_20B20B(BuiltInId::min_Float3_Float3,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMin,
                           true);
const TFunction min_30B30B(BuiltInId::min_Float4_Float4,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30B30F,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMin,
                           true);
const TFunction min_00C00C(BuiltInId::min_Double1_Double1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00C00C10C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMin,
                           true);
const TFunction min_10C10C(BuiltInId::min_Double2_Double2,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10C10C10F,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMin,
                           true);
const TFunction min_20C20C(BuiltInId::min_Double3_Double3,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20C20C20F,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMin,
                           true);
const TFunction min_30C30C(BuiltInId::min_Double4_Double4,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30C30C00B,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMin,
                           true);
const TFunction min_10C00C(BuiltInId::min_Double2_Double1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMin,
                           true);
const TFunction min_20C00C(BuiltInId::min_Double3_Double1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMin,
                           true);
const TFunction min_30C00C(BuiltInId::min_Double4_Double1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMin,
                           true);
const TFunction min_00D00D(BuiltInId::min_Int1_Int1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00D00D_o_00D_o_00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMin,
                           true);
const TFunction min_10D10D(BuiltInId::min_Int2_Int2,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10D10D_o_10D_o_10D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMin,
                           true);
const TFunction min_20D20D(BuiltInId::min_Int3_Int3,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20D20D00D00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMin,
                           true);
const TFunction min_30D30D(BuiltInId::min_Int4_Int4,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30D30D30F,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMin,
                           true);
const TFunction min_10D00D(BuiltInId::min_Int2_Int1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10D00D00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMin,
                           true);
const TFunction min_20D00D(BuiltInId::min_Int3_Int1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20D00D00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMin,
                           true);
const TFunction min_30D00D(BuiltInId::min_Int4_Int1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30D00D00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMin,
                           true);
const TFunction min_00E00E(BuiltInId::min_UInt1_UInt1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00E00E00E,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMin,
                           true);
const TFunction min_10E10E(BuiltInId::min_UInt2_UInt2,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10E10E00D00D,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMin,
                           true);
const TFunction min_20E20E(BuiltInId::min_UInt3_UInt3,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20E20E00D00D,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMin,
                           true);
const TFunction min_30E30E(BuiltInId::min_UInt4_UInt4,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30E30E00D00D,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMin,
                           true);
const TFunction min_10E00E(BuiltInId::min_UInt2_UInt1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10E00E00E,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMin,
                           true);
const TFunction min_20E00E(BuiltInId::min_UInt3_UInt1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20E00E00E,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMin,
                           true);
const TFunction min_30E00E(BuiltInId::min_UInt4_UInt1,
                           BuiltInName::min,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30E00E00E,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMin,
                           true);
const TFunction max_00B00B(BuiltInId::max_Float1_Float1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMax,
                           true);
const TFunction max_10B00B(BuiltInId::max_Float2_Float1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMax,
                           true);
const TFunction max_20B00B(BuiltInId::max_Float3_Float1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMax,
                           true);
const TFunction max_30B00B(BuiltInId::max_Float4_Float1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B00B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMax,
                           true);
const TFunction max_10B10B(BuiltInId::max_Float2_Float2,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B10B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMax,
                           true);
const TFunction max_20B20B(BuiltInId::max_Float3_Float3,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMax,
                           true);
const TFunction max_30B30B(BuiltInId::max_Float4_Float4,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30B30F,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMax,
                           true);
const TFunction max_00C00C(BuiltInId::max_Double1_Double1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00C00C10C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMax,
                           true);
const TFunction max_10C10C(BuiltInId::max_Double2_Double2,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10C10C10F,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMax,
                           true);
const TFunction max_20C20C(BuiltInId::max_Double3_Double3,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20C20C20F,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMax,
                           true);
const TFunction max_30C30C(BuiltInId::max_Double4_Double4,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30C30C00B,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMax,
                           true);
const TFunction max_10C00C(BuiltInId::max_Double2_Double1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMax,
                           true);
const TFunction max_20C00C(BuiltInId::max_Double3_Double1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMax,
                           true);
const TFunction max_30C00C(BuiltInId::max_Double4_Double1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30C00C00C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMax,
                           true);
const TFunction max_00D00D(BuiltInId::max_Int1_Int1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00D00D_o_00D_o_00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMax,
                           true);
const TFunction max_10D10D(BuiltInId::max_Int2_Int2,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10D10D_o_10D_o_10D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMax,
                           true);
const TFunction max_20D20D(BuiltInId::max_Int3_Int3,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20D20D00D00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMax,
                           true);
const TFunction max_30D30D(BuiltInId::max_Int4_Int4,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30D30D30F,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMax,
                           true);
const TFunction max_10D00D(BuiltInId::max_Int2_Int1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10D00D00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMax,
                           true);
const TFunction max_20D00D(BuiltInId::max_Int3_Int1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20D00D00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMax,
                           true);
const TFunction max_30D00D(BuiltInId::max_Int4_Int1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30D00D00D,
                           2,
                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMax,
                           true);
const TFunction max_00E00E(BuiltInId::max_UInt1_UInt1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00E00E00E,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpMax,
                           true);
const TFunction max_10E10E(BuiltInId::max_UInt2_UInt2,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10E10E00D00D,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMax,
                           true);
const TFunction max_20E20E(BuiltInId::max_UInt3_UInt3,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20E20E00D00D,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMax,
                           true);
const TFunction max_30E30E(BuiltInId::max_UInt4_UInt4,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30E30E00D00D,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMax,
                           true);
const TFunction max_10E00E(BuiltInId::max_UInt2_UInt1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10E00E00E,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpMax,
                           true);
const TFunction max_20E00E(BuiltInId::max_UInt3_UInt1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20E00E00E,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpMax,
                           true);
const TFunction max_30E00E(BuiltInId::max_UInt4_UInt1,
                           BuiltInName::max,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30E00E00E,
                           2,
                           StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpMax,
                           true);
const TFunction clamp_00B00B00B(BuiltInId::clamp_Float1_Float1_Float1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00B00B00B,
                                3,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_10B00B00B(BuiltInId::clamp_Float2_Float1_Float1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10B00B00B,
                                3,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_20B00B00B(BuiltInId::clamp_Float3_Float1_Float1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20B00B00B,
                                3,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_30B00B00B(BuiltInId::clamp_Float4_Float1_Float1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30B00B00B,
                                3,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_10B10B10B(BuiltInId::clamp_Float2_Float2_Float2,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10B10B10B,
                                3,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_20B20B20B(BuiltInId::clamp_Float3_Float3_Float3,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20B20B20B,
                                3,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_30B30B30B(BuiltInId::clamp_Float4_Float4_Float4,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30B30B30B,
                                3,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_00C00C00C(BuiltInId::clamp_Double1_Double1_Double1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00C00C00C,
                                3,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_10C00C00C(BuiltInId::clamp_Double2_Double1_Double1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10C00C00C,
                                3,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_20C00C00C(BuiltInId::clamp_Double3_Double1_Double1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20C00C00C,
                                3,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_30C00C00C(BuiltInId::clamp_Double4_Double1_Double1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30C00C00C,
                                3,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_10C10C10C(BuiltInId::clamp_Double2_Double2_Double2,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10C10C10C,
                                3,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_20C20C20C(BuiltInId::clamp_Double3_Double3_Double3,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20C20C20C,
                                3,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_30C30C30C(BuiltInId::clamp_Double4_Double4_Double4,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30C30C30C,
                                3,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_00D00D00D(BuiltInId::clamp_Int1_Int1_Int1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00D00D00D00D,
                                3,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_10D00D00D(BuiltInId::clamp_Int2_Int1_Int1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10D00D00D,
                                3,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_20D00D00D(BuiltInId::clamp_Int3_Int1_Int1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20D00D00D,
                                3,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_30D00D00D(BuiltInId::clamp_Int4_Int1_Int1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30D00D00D,
                                3,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_10D10D10D(BuiltInId::clamp_Int2_Int2_Int2,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10D10D10D,
                                3,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_20D20D20D(BuiltInId::clamp_Int3_Int3_Int3,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20D20D20D,
                                3,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_30D30D30D(BuiltInId::clamp_Int4_Int4_Int4,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30D30D30D,
                                3,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_00E00E00E(BuiltInId::clamp_UInt1_UInt1_UInt1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00E00E00E,
                                3,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_10E00E00E(BuiltInId::clamp_UInt2_UInt1_UInt1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10E00E00E,
                                3,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_20E00E00E(BuiltInId::clamp_UInt3_UInt1_UInt1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20E00E00E,
                                3,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_30E00E00E(BuiltInId::clamp_UInt4_UInt1_UInt1,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30E00E00E,
                                3,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_10E10E10E(BuiltInId::clamp_UInt2_UInt2_UInt2,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10E10E10E,
                                3,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_20E20E20E(BuiltInId::clamp_UInt3_UInt3_UInt3,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20E20E20E,
                                3,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpClamp,
                                true);
const TFunction clamp_30E30E30E(BuiltInId::clamp_UInt4_UInt4_UInt4,
                                BuiltInName::clamp,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30E30E30E,
                                3,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpClamp,
                                true);
const TFunction mix_00B00B00B(BuiltInId::mix_Float1_Float1_Float1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00B00B00B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10B10B00B(BuiltInId::mix_Float2_Float2_Float1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10B10B00B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20B20B00B(BuiltInId::mix_Float3_Float3_Float1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20B20B00B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30B30B00B(BuiltInId::mix_Float4_Float4_Float1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30B30B00B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10B10B10B(BuiltInId::mix_Float2_Float2_Float2,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10B10B10B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20B20B20B(BuiltInId::mix_Float3_Float3_Float3,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20B20B20B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30B30B30B(BuiltInId::mix_Float4_Float4_Float4,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30B30B30B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction mix_00C00C00C(BuiltInId::mix_Double1_Double1_Double1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00C00C00C,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10C10C00C(BuiltInId::mix_Double2_Double2_Double1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10C10C00C,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20C20C00C(BuiltInId::mix_Double3_Double3_Double1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20C20C00C,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30C30C00C(BuiltInId::mix_Double4_Double4_Double1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30C30C00C,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10C10C10C(BuiltInId::mix_Double2_Double2_Double2,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10C10C10C,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20C20C20C(BuiltInId::mix_Double3_Double3_Double3,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20C20C20C,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30C30C30C(BuiltInId::mix_Double4_Double4_Double4,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30C30C30C,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction mix_00B00B00F(BuiltInId::mix_Float1_Float1_Bool1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00B00B00F,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10B10B10F(BuiltInId::mix_Float2_Float2_Bool2,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10B10B10F,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20B20B20F(BuiltInId::mix_Float3_Float3_Bool3,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20B20B20F,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30B30B30F(BuiltInId::mix_Float4_Float4_Bool4,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30B30B30F,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction mix_00C00C00F(BuiltInId::mix_Double1_Double1_Bool1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00C00C00F,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10C10C10F(BuiltInId::mix_Double2_Double2_Bool2,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10C10C10F,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20C20C20F(BuiltInId::mix_Double3_Double3_Bool3,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20C20C20F,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30C30C30F(BuiltInId::mix_Double4_Double4_Bool4,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30C30C30F,
                              3,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction mix_00D00D00F(BuiltInId::mix_Int1_Int1_Bool1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00D00D00F,
                              3,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10D10D10F(BuiltInId::mix_Int2_Int2_Bool2,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10D10D10F,
                              3,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20D20D20F(BuiltInId::mix_Int3_Int3_Bool3,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20D20D20F,
                              3,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30D30D30F(BuiltInId::mix_Int4_Int4_Bool4,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30D30D30F,
                              3,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction mix_00E00E00F(BuiltInId::mix_UInt1_UInt1_Bool1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00E00E00F,
                              3,
                              StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10E10E10F(BuiltInId::mix_UInt2_UInt2_Bool2,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10E10E10F,
                              3,
                              StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20E20E20F(BuiltInId::mix_UInt3_UInt3_Bool3,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20E20E20F,
                              3,
                              StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30E30E30F(BuiltInId::mix_UInt4_UInt4_Bool4,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30E30E30F,
                              3,
                              StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction mix_00F00F00F(BuiltInId::mix_Bool1_Bool1_Bool1,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00F00F00F,
                              3,
                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpMix,
                              true);
const TFunction mix_10F10F10F(BuiltInId::mix_Bool2_Bool2_Bool2,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10F10F10F,
                              3,
                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpMix,
                              true);
const TFunction mix_20F20F20F(BuiltInId::mix_Bool3_Bool3_Bool3,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20F20F20F,
                              3,
                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpMix,
                              true);
const TFunction mix_30F30F30F(BuiltInId::mix_Bool4_Bool4_Bool4,
                              BuiltInName::mix,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30F30F30F,
                              3,
                              StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpMix,
                              true);
const TFunction step_00B00B(BuiltInId::step_Float1_Float1,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00B00B30B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpStep,
                            true);
const TFunction step_10B10B(BuiltInId::step_Float2_Float2,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10B10B00B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpStep,
                            true);
const TFunction step_20B20B(BuiltInId::step_Float3_Float3,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20B20B00B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpStep,
                            true);
const TFunction step_30B30B(BuiltInId::step_Float4_Float4,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30B30B30F,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpStep,
                            true);
const TFunction step_00B10B(BuiltInId::step_Float1_Float2,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00B10B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpStep,
                            true);
const TFunction step_00B20B(BuiltInId::step_Float1_Float3,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00B20B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpStep,
                            true);
const TFunction step_00B30B(BuiltInId::step_Float1_Float4,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00B30B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpStep,
                            true);
const TFunction step_00C00C(BuiltInId::step_Double1_Double1,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00C00C10C,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpStep,
                            true);
const TFunction step_10C10C(BuiltInId::step_Double2_Double2,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10C10C10F,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpStep,
                            true);
const TFunction step_20C20C(BuiltInId::step_Double3_Double3,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20C20C20F,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpStep,
                            true);
const TFunction step_30C30C(BuiltInId::step_Double4_Double4,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30C30C00B,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpStep,
                            true);
const TFunction step_00C10C(BuiltInId::step_Double1_Double2,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00C10C,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpStep,
                            true);
const TFunction step_00C20C(BuiltInId::step_Double1_Double3,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00C20C,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpStep,
                            true);
const TFunction step_00C30C(BuiltInId::step_Double1_Double4,
                            BuiltInName::step,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00C30C,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpStep,
                            true);
const TFunction smoothstep_00C00C00C(BuiltInId::smoothstep_Double1_Double1_Double1,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00C00C00C,
                                     3,
                                     StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_10C10C10C(BuiltInId::smoothstep_Double2_Double2_Double2,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p10C10C10C,
                                     3,
                                     StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_20C20C20C(BuiltInId::smoothstep_Double3_Double3_Double3,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p20C20C20C,
                                     3,
                                     StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_30C30C30C(BuiltInId::smoothstep_Double4_Double4_Double4,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p30C30C30C,
                                     3,
                                     StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_00C00C10C(BuiltInId::smoothstep_Double1_Double1_Double2,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00C00C10C,
                                     3,
                                     StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_00C00C20C(BuiltInId::smoothstep_Double1_Double1_Double3,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00C00C20C,
                                     3,
                                     StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_00C00C30C(BuiltInId::smoothstep_Double1_Double1_Double4,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00C00C30C,
                                     3,
                                     StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_00B00B00B(BuiltInId::smoothstep_Float1_Float1_Float1,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00B00B00B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_10B10B10B(BuiltInId::smoothstep_Float2_Float2_Float2,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p10B10B10B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_20B20B20B(BuiltInId::smoothstep_Float3_Float3_Float3,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p20B20B20B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_30B30B30B(BuiltInId::smoothstep_Float4_Float4_Float4,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p30B30B30B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_00B00B10B(BuiltInId::smoothstep_Float1_Float1_Float2,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00B00B10B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_00B00B20B(BuiltInId::smoothstep_Float1_Float1_Float3,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00B00B20B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction smoothstep_00B00B30B(BuiltInId::smoothstep_Float1_Float1_Float4,
                                     BuiltInName::smoothstep,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00B00B30B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpSmoothstep,
                                     true);
const TFunction modf_00B00B(BuiltInId::modf_Float1_Float1,
                            BuiltInName::modf,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00B_o_00B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpModf,
                            false);
const TFunction modf_10B10B(BuiltInId::modf_Float2_Float2,
                            BuiltInName::modf,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10B_o_10B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpModf,
                            false);
const TFunction modf_20B20B(BuiltInId::modf_Float3_Float3,
                            BuiltInName::modf,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20B_o_20B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpModf,
                            false);
const TFunction modf_30B30B(BuiltInId::modf_Float4_Float4,
                            BuiltInName::modf,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30B_o_30B,
                            2,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpModf,
                            false);
const TFunction modf_00C00C(BuiltInId::modf_Double1_Double1,
                            BuiltInName::modf,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00C_o_00C,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpModf,
                            false);
const TFunction modf_10C10C(BuiltInId::modf_Double2_Double2,
                            BuiltInName::modf,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10C_o_10C,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpModf,
                            false);
const TFunction modf_20C20C(BuiltInId::modf_Double3_Double3,
                            BuiltInName::modf,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20C_o_20C,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpModf,
                            false);
const TFunction modf_30C30C(BuiltInId::modf_Double4_Double4,
                            BuiltInName::modf,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30C_o_30C,
                            2,
                            StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpModf,
                            false);
const TFunction isnan_00B(BuiltInId::isnan_Float1,
                          BuiltInName::isnan,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpIsnan,
                          true);
const TFunction isnan_10B(BuiltInId::isnan_Float2,
                          BuiltInName::isnan,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpIsnan,
                          true);
const TFunction isnan_20B(BuiltInId::isnan_Float3,
                          BuiltInName::isnan,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpIsnan,
                          true);
const TFunction isnan_30B(BuiltInId::isnan_Float4,
                          BuiltInName::isnan,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpIsnan,
                          true);
const TFunction isnan_00C(BuiltInId::isnan_Double1,
                          BuiltInName::isnan,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00C10C,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpIsnan,
                          true);
const TFunction isnan_10C(BuiltInId::isnan_Double2,
                          BuiltInName::isnan,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10C_o_10C,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpIsnan,
                          true);
const TFunction isnan_20C(BuiltInId::isnan_Double3,
                          BuiltInName::isnan,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20C20C20F,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpIsnan,
                          true);
const TFunction isnan_30C(BuiltInId::isnan_Double4,
                          BuiltInName::isnan,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30C30C00B,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpIsnan,
                          true);
const TFunction isinf_00B(BuiltInId::isinf_Float1,
                          BuiltInName::isinf,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00B00B30B,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpIsinf,
                          true);
const TFunction isinf_10B(BuiltInId::isinf_Float2,
                          BuiltInName::isinf,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10B_o_10B,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpIsinf,
                          true);
const TFunction isinf_20B(BuiltInId::isinf_Float3,
                          BuiltInName::isinf,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20B20B00B,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpIsinf,
                          true);
const TFunction isinf_30B(BuiltInId::isinf_Float4,
                          BuiltInName::isinf,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30B30D,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpIsinf,
                          true);
const TFunction isinf_00C(BuiltInId::isinf_Double1,
                          BuiltInName::isinf,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p00C10C,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                          EOpIsinf,
                          true);
const TFunction isinf_10C(BuiltInId::isinf_Double2,
                          BuiltInName::isinf,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p10C_o_10C,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                          EOpIsinf,
                          true);
const TFunction isinf_20C(BuiltInId::isinf_Double3,
                          BuiltInName::isinf,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p20C20C20F,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                          EOpIsinf,
                          true);
const TFunction isinf_30C(BuiltInId::isinf_Double4,
                          BuiltInName::isinf,
                          TExtension::UNDEFINED,
                          BuiltInParameters::p30C30C00B,
                          1,
                          StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                          EOpIsinf,
                          true);
const TFunction floatBitsToInt_00B(BuiltInId::floatBitsToInt_Float1,
                                   BuiltInName::floatBitsToInt,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00B00B30B,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpFloatBitsToInt,
                                   true);
const TFunction floatBitsToInt_10B(BuiltInId::floatBitsToInt_Float2,
                                   BuiltInName::floatBitsToInt,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p10B_o_10B,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpFloatBitsToInt,
                                   true);
const TFunction floatBitsToInt_20B(BuiltInId::floatBitsToInt_Float3,
                                   BuiltInName::floatBitsToInt,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p20B20B00B,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpFloatBitsToInt,
                                   true);
const TFunction floatBitsToInt_30B(BuiltInId::floatBitsToInt_Float4,
                                   BuiltInName::floatBitsToInt,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p30B30D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpFloatBitsToInt,
                                   true);
const TFunction floatBitsToUint_00B(BuiltInId::floatBitsToUint_Float1,
                                    BuiltInName::floatBitsToUint,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00B00B30B,
                                    1,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                    EOpFloatBitsToUint,
                                    true);
const TFunction floatBitsToUint_10B(BuiltInId::floatBitsToUint_Float2,
                                    BuiltInName::floatBitsToUint,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p10B_o_10B,
                                    1,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                    EOpFloatBitsToUint,
                                    true);
const TFunction floatBitsToUint_20B(BuiltInId::floatBitsToUint_Float3,
                                    BuiltInName::floatBitsToUint,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p20B20B00B,
                                    1,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                    EOpFloatBitsToUint,
                                    true);
const TFunction floatBitsToUint_30B(BuiltInId::floatBitsToUint_Float4,
                                    BuiltInName::floatBitsToUint,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p30B30D,
                                    1,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpFloatBitsToUint,
                                    true);
const TFunction intBitsToFloat_00D(BuiltInId::intBitsToFloat_Int1,
                                   BuiltInName::intBitsToFloat,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00D00D_o_00D_o_00D,
                                   1,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpIntBitsToFloat,
                                   true);
const TFunction intBitsToFloat_10D(BuiltInId::intBitsToFloat_Int2,
                                   BuiltInName::intBitsToFloat,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p10D10D_o_10D_o_10D,
                                   1,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpIntBitsToFloat,
                                   true);
const TFunction intBitsToFloat_20D(BuiltInId::intBitsToFloat_Int3,
                                   BuiltInName::intBitsToFloat,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p20D20D00D00D,
                                   1,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpIntBitsToFloat,
                                   true);
const TFunction intBitsToFloat_30D(BuiltInId::intBitsToFloat_Int4,
                                   BuiltInName::intBitsToFloat,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p30D30D30F,
                                   1,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpIntBitsToFloat,
                                   true);
const TFunction uintBitsToFloat_00E(BuiltInId::uintBitsToFloat_UInt1,
                                    BuiltInName::uintBitsToFloat,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00E00E00E,
                                    1,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                    EOpUintBitsToFloat,
                                    true);
const TFunction uintBitsToFloat_10E(BuiltInId::uintBitsToFloat_UInt2,
                                    BuiltInName::uintBitsToFloat,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p10E10E00D00D,
                                    1,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                    EOpUintBitsToFloat,
                                    true);
const TFunction uintBitsToFloat_20E(BuiltInId::uintBitsToFloat_UInt3,
                                    BuiltInName::uintBitsToFloat,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p20E20E00D00D,
                                    1,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                    EOpUintBitsToFloat,
                                    true);
const TFunction uintBitsToFloat_30E(BuiltInId::uintBitsToFloat_UInt4,
                                    BuiltInName::uintBitsToFloat,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p30E30E00D00D,
                                    1,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpUintBitsToFloat,
                                    true);
const TFunction fma_00B00B00B(BuiltInId::fma_Float1_Float1_Float1,
                              BuiltInName::fma,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00B00B00B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpFma,
                              true);
const TFunction fma_10B10B10B(BuiltInId::fma_Float2_Float2_Float2,
                              BuiltInName::fma,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10B10B10B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpFma,
                              true);
const TFunction fma_20B20B20B(BuiltInId::fma_Float3_Float3_Float3,
                              BuiltInName::fma,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20B20B20B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpFma,
                              true);
const TFunction fma_30B30B30B(BuiltInId::fma_Float4_Float4_Float4,
                              BuiltInName::fma,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30B30B30B,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpFma,
                              true);
const TFunction fma_00C00C00C(BuiltInId::fma_Double1_Double1_Double1,
                              BuiltInName::fma,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00C00C00C,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpFma,
                              true);
const TFunction fma_10C10C10C(BuiltInId::fma_Double2_Double2_Double2,
                              BuiltInName::fma,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10C10C10C,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpFma,
                              true);
const TFunction fma_20C20C20C(BuiltInId::fma_Double3_Double3_Double3,
                              BuiltInName::fma,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20C20C20C,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpFma,
                              true);
const TFunction fma_30C30C30C(BuiltInId::fma_Double4_Double4_Double4,
                              BuiltInName::fma,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30C30C30C,
                              3,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpFma,
                              true);
const TFunction frexp_00B00D(BuiltInId::frexp_Float1_Int1,
                             BuiltInName::frexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p00B_o_00D,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                             EOpFrexp,
                             false);
const TFunction frexp_10B10D(BuiltInId::frexp_Float2_Int2,
                             BuiltInName::frexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10B_o_10D,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpFrexp,
                             false);
const TFunction frexp_20B20D(BuiltInId::frexp_Float3_Int3,
                             BuiltInName::frexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20B_o_20D,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpFrexp,
                             false);
const TFunction frexp_30B30D(BuiltInId::frexp_Float4_Int4,
                             BuiltInName::frexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30B_o_30D,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpFrexp,
                             false);
const TFunction frexp_00C00D(BuiltInId::frexp_Double1_Int1,
                             BuiltInName::frexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p00C_o_00D,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                             EOpFrexp,
                             false);
const TFunction frexp_10C10D(BuiltInId::frexp_Double2_Int2,
                             BuiltInName::frexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10C_o_10D,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpFrexp,
                             false);
const TFunction frexp_20C20D(BuiltInId::frexp_Double3_Int3,
                             BuiltInName::frexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20C_o_20D,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpFrexp,
                             false);
const TFunction frexp_30C30D(BuiltInId::frexp_Double4_Int4,
                             BuiltInName::frexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30C_o_30D,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpFrexp,
                             false);
const TFunction ldexp_00B00D(BuiltInId::ldexp_Float1_Int1,
                             BuiltInName::ldexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p00B00D,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                             EOpLdexp,
                             true);
const TFunction ldexp_10B10D(BuiltInId::ldexp_Float2_Int2,
                             BuiltInName::ldexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10B10D,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpLdexp,
                             true);
const TFunction ldexp_20B20D(BuiltInId::ldexp_Float3_Int3,
                             BuiltInName::ldexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20B20D,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpLdexp,
                             true);
const TFunction ldexp_30B30D(BuiltInId::ldexp_Float4_Int4,
                             BuiltInName::ldexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30B30D,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpLdexp,
                             true);
const TFunction ldexp_00C00D(BuiltInId::ldexp_Double1_Int1,
                             BuiltInName::ldexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p00C00D,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                             EOpLdexp,
                             true);
const TFunction ldexp_10C10D(BuiltInId::ldexp_Double2_Int2,
                             BuiltInName::ldexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10C10D,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpLdexp,
                             true);
const TFunction ldexp_20C20D(BuiltInId::ldexp_Double3_Int3,
                             BuiltInName::ldexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20C20D,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpLdexp,
                             true);
const TFunction ldexp_30C30D(BuiltInId::ldexp_Double4_Int4,
                             BuiltInName::ldexp,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30C30D,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpLdexp,
                             true);
const TFunction packSnorm2x16_10B(BuiltInId::packSnorm2x16_Float2,
                                  BuiltInName::packSnorm2x16,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p10B_o_10B,
                                  1,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpPackSnorm2x16,
                                  true);
const TFunction packHalf2x16_10B(BuiltInId::packHalf2x16_Float2,
                                 BuiltInName::packHalf2x16,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p10B_o_10B,
                                 1,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpPackHalf2x16,
                                 true);
const TFunction unpackSnorm2x16_00E(BuiltInId::unpackSnorm2x16_UInt1,
                                    BuiltInName::unpackSnorm2x16,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00E00E00E,
                                    1,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                    EOpUnpackSnorm2x16,
                                    true);
const TFunction unpackHalf2x16_00E(BuiltInId::unpackHalf2x16_UInt1,
                                   BuiltInName::unpackHalf2x16,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00E00E00E,
                                   1,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpUnpackHalf2x16,
                                   true);
const TFunction packUnorm2x16_10B(BuiltInId::packUnorm2x16_Float2,
                                  BuiltInName::packUnorm2x16,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p10B_o_10B,
                                  1,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpPackUnorm2x16,
                                  true);
const TFunction unpackUnorm2x16_00E(BuiltInId::unpackUnorm2x16_UInt1,
                                    BuiltInName::unpackUnorm2x16,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00E00E00E,
                                    1,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                    EOpUnpackUnorm2x16,
                                    true);
const TFunction packUnorm4x8_30B(BuiltInId::packUnorm4x8_Float4,
                                 BuiltInName::packUnorm4x8,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p30B30D,
                                 1,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpPackUnorm4x8,
                                 true);
const TFunction packSnorm4x8_30B(BuiltInId::packSnorm4x8_Float4,
                                 BuiltInName::packSnorm4x8,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p30B30D,
                                 1,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpPackSnorm4x8,
                                 true);
const TFunction unpackUnorm4x8_00E(BuiltInId::unpackUnorm4x8_UInt1,
                                   BuiltInName::unpackUnorm4x8,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00E00E00E,
                                   1,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpUnpackUnorm4x8,
                                   true);
const TFunction unpackSnorm4x8_00E(BuiltInId::unpackSnorm4x8_UInt1,
                                   BuiltInName::unpackSnorm4x8,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00E00E00E,
                                   1,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpUnpackSnorm4x8,
                                   true);
const TFunction packDouble2x32_10E(BuiltInId::packDouble2x32_UInt2,
                                   BuiltInName::packDouble2x32,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p10E10E00D00D,
                                   1,
                                   StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpPackDouble2x32,
                                   true);
const TFunction unpackDouble2x32_00C(BuiltInId::unpackDouble2x32_Double1,
                                     BuiltInName::unpackDouble2x32,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00C10C,
                                     1,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpUnpackDouble2x32,
                                     true);
const TFunction length_00B(BuiltInId::length_Float1,
                           BuiltInName::length,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpLength,
                           true);
const TFunction length_10B(BuiltInId::length_Float2,
                           BuiltInName::length,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B_o_10B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpLength,
                           true);
const TFunction length_20B(BuiltInId::length_Float3,
                           BuiltInName::length,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpLength,
                           true);
const TFunction length_30B(BuiltInId::length_Float4,
                           BuiltInName::length,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30D,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpLength,
                           true);
const TFunction length_00C(BuiltInId::length_Double1,
                           BuiltInName::length,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00C10C,
                           1,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpLength,
                           true);
const TFunction length_10C(BuiltInId::length_Double2,
                           BuiltInName::length,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10C_o_10C,
                           1,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpLength,
                           true);
const TFunction length_20C(BuiltInId::length_Double3,
                           BuiltInName::length,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20C20C20F,
                           1,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpLength,
                           true);
const TFunction length_30C(BuiltInId::length_Double4,
                           BuiltInName::length,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30C30C00B,
                           1,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpLength,
                           true);
const TFunction distance_00B00B(BuiltInId::distance_Float1_Float1,
                                BuiltInName::distance,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00B00B30B,
                                2,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDistance,
                                true);
const TFunction distance_10B10B(BuiltInId::distance_Float2_Float2,
                                BuiltInName::distance,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10B10B00B,
                                2,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDistance,
                                true);
const TFunction distance_20B20B(BuiltInId::distance_Float3_Float3,
                                BuiltInName::distance,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20B20B00B,
                                2,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDistance,
                                true);
const TFunction distance_30B30B(BuiltInId::distance_Float4_Float4,
                                BuiltInName::distance,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30B30B30F,
                                2,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDistance,
                                true);
const TFunction distance_00C00C(BuiltInId::distance_Double1_Double1,
                                BuiltInName::distance,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00C00C10C,
                                2,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDistance,
                                true);
const TFunction distance_10C10C(BuiltInId::distance_Double2_Double2,
                                BuiltInName::distance,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10C10C10F,
                                2,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDistance,
                                true);
const TFunction distance_20C20C(BuiltInId::distance_Double3_Double3,
                                BuiltInName::distance,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20C20C20F,
                                2,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDistance,
                                true);
const TFunction distance_30C30C(BuiltInId::distance_Double4_Double4,
                                BuiltInName::distance,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30C30C00B,
                                2,
                                StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDistance,
                                true);
const TFunction dot_00B00B(BuiltInId::dot_Float1_Float1,
                           BuiltInName::dot,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpDot,
                           true);
const TFunction dot_10B10B(BuiltInId::dot_Float2_Float2,
                           BuiltInName::dot,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B10B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpDot,
                           true);
const TFunction dot_20B20B(BuiltInId::dot_Float3_Float3,
                           BuiltInName::dot,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpDot,
                           true);
const TFunction dot_30B30B(BuiltInId::dot_Float4_Float4,
                           BuiltInName::dot,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30B30F,
                           2,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpDot,
                           true);
const TFunction dot_00C00C(BuiltInId::dot_Double1_Double1,
                           BuiltInName::dot,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00C00C10C,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpDot,
                           true);
const TFunction dot_10C10C(BuiltInId::dot_Double2_Double2,
                           BuiltInName::dot,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10C10C10F,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpDot,
                           true);
const TFunction dot_20C20C(BuiltInId::dot_Double3_Double3,
                           BuiltInName::dot,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20C20C20F,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpDot,
                           true);
const TFunction dot_30C30C(BuiltInId::dot_Double4_Double4,
                           BuiltInName::dot,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30C30C00B,
                           2,
                           StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpDot,
                           true);
const TFunction cross_20B20B(BuiltInId::cross_Float3_Float3,
                             BuiltInName::cross,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20B20B00B,
                             2,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpCross,
                             true);
const TFunction cross_20C20C(BuiltInId::cross_Double3_Double3,
                             BuiltInName::cross,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20C20C20F,
                             2,
                             StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpCross,
                             true);
const TFunction normalize_00B(BuiltInId::normalize_Float1,
                              BuiltInName::normalize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00B00B30B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpNormalize,
                              true);
const TFunction normalize_10B(BuiltInId::normalize_Float2,
                              BuiltInName::normalize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10B_o_10B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpNormalize,
                              true);
const TFunction normalize_20B(BuiltInId::normalize_Float3,
                              BuiltInName::normalize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20B20B00B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpNormalize,
                              true);
const TFunction normalize_30B(BuiltInId::normalize_Float4,
                              BuiltInName::normalize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30B30D,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpNormalize,
                              true);
const TFunction normalize_00C(BuiltInId::normalize_Double1,
                              BuiltInName::normalize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00C10C,
                              1,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpNormalize,
                              true);
const TFunction normalize_10C(BuiltInId::normalize_Double2,
                              BuiltInName::normalize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p10C_o_10C,
                              1,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpNormalize,
                              true);
const TFunction normalize_20C(BuiltInId::normalize_Double3,
                              BuiltInName::normalize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p20C20C20F,
                              1,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpNormalize,
                              true);
const TFunction normalize_30C(BuiltInId::normalize_Double4,
                              BuiltInName::normalize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p30C30C00B,
                              1,
                              StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpNormalize,
                              true);
const TFunction faceforward_00B00B00B(BuiltInId::faceforward_Float1_Float1_Float1,
                                      BuiltInName::faceforward,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00B00B00B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpFaceforward,
                                      true);
const TFunction faceforward_10B10B10B(BuiltInId::faceforward_Float2_Float2_Float2,
                                      BuiltInName::faceforward,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10B10B10B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpFaceforward,
                                      true);
const TFunction faceforward_20B20B20B(BuiltInId::faceforward_Float3_Float3_Float3,
                                      BuiltInName::faceforward,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20B20B20B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpFaceforward,
                                      true);
const TFunction faceforward_30B30B30B(BuiltInId::faceforward_Float4_Float4_Float4,
                                      BuiltInName::faceforward,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30B30B30B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpFaceforward,
                                      true);
const TFunction faceforward_00C00C00C(BuiltInId::faceforward_Double1_Double1_Double1,
                                      BuiltInName::faceforward,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00C00C00C,
                                      3,
                                      StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpFaceforward,
                                      true);
const TFunction faceforward_10C10C10C(BuiltInId::faceforward_Double2_Double2_Double2,
                                      BuiltInName::faceforward,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p10C10C10C,
                                      3,
                                      StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                                      EOpFaceforward,
                                      true);
const TFunction faceforward_20C20C20C(BuiltInId::faceforward_Double3_Double3_Double3,
                                      BuiltInName::faceforward,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p20C20C20C,
                                      3,
                                      StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                                      EOpFaceforward,
                                      true);
const TFunction faceforward_30C30C30C(BuiltInId::faceforward_Double4_Double4_Double4,
                                      BuiltInName::faceforward,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p30C30C30C,
                                      3,
                                      StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpFaceforward,
                                      true);
const TFunction reflect_00B00B(BuiltInId::reflect_Float1_Float1,
                               BuiltInName::reflect,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00B00B30B,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpReflect,
                               true);
const TFunction reflect_10B10B(BuiltInId::reflect_Float2_Float2,
                               BuiltInName::reflect,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p10B10B00B,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                               EOpReflect,
                               true);
const TFunction reflect_20B20B(BuiltInId::reflect_Float3_Float3,
                               BuiltInName::reflect,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p20B20B00B,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                               EOpReflect,
                               true);
const TFunction reflect_30B30B(BuiltInId::reflect_Float4_Float4,
                               BuiltInName::reflect,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p30B30B30F,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpReflect,
                               true);
const TFunction reflect_00C00C(BuiltInId::reflect_Double1_Double1,
                               BuiltInName::reflect,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00C00C10C,
                               2,
                               StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpReflect,
                               true);
const TFunction reflect_10C10C(BuiltInId::reflect_Double2_Double2,
                               BuiltInName::reflect,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p10C10C10F,
                               2,
                               StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                               EOpReflect,
                               true);
const TFunction reflect_20C20C(BuiltInId::reflect_Double3_Double3,
                               BuiltInName::reflect,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p20C20C20F,
                               2,
                               StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                               EOpReflect,
                               true);
const TFunction reflect_30C30C(BuiltInId::reflect_Double4_Double4,
                               BuiltInName::reflect,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p30C30C00B,
                               2,
                               StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpReflect,
                               true);
const TFunction refract_00B00B00B(BuiltInId::refract_Float1_Float1_Float1,
                                  BuiltInName::refract,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00B00B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpRefract,
                                  true);
const TFunction refract_10B10B00B(BuiltInId::refract_Float2_Float2_Float1,
                                  BuiltInName::refract,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p10B10B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                  EOpRefract,
                                  true);
const TFunction refract_20B20B00B(BuiltInId::refract_Float3_Float3_Float1,
                                  BuiltInName::refract,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p20B20B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                  EOpRefract,
                                  true);
const TFunction refract_30B30B00B(BuiltInId::refract_Float4_Float4_Float1,
                                  BuiltInName::refract,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p30B30B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpRefract,
                                  true);
const TFunction refract_00C00C00B(BuiltInId::refract_Double1_Double1_Float1,
                                  BuiltInName::refract,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00C00C00B,
                                  3,
                                  StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpRefract,
                                  true);
const TFunction refract_10C10C00B(BuiltInId::refract_Double2_Double2_Float1,
                                  BuiltInName::refract,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p10C10C00B,
                                  3,
                                  StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 2, 1>(),
                                  EOpRefract,
                                  true);
const TFunction refract_20C20C00B(BuiltInId::refract_Double3_Double3_Float1,
                                  BuiltInName::refract,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p20C20C00B,
                                  3,
                                  StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 3, 1>(),
                                  EOpRefract,
                                  true);
const TFunction refract_30C30C00B(BuiltInId::refract_Double4_Double4_Float1,
                                  BuiltInName::refract,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p30C30C00B,
                                  3,
                                  StaticType::Get<EbtDouble, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpRefract,
                                  true);
const TFunction ftransform_(BuiltInId::ftransform,
                            BuiltInName::ftransform,
                            TExtension::UNDEFINED,
                            BuiltInParameters::empty,
                            0,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpCallBuiltInFunction,
                            false);
const TFunction matrixCompMult_50B50B(BuiltInId::matrixCompMult_Float2x2_Float2x2,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p50B50B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction matrixCompMult_A0BA0B(BuiltInId::matrixCompMult_Float3x3_Float3x3,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::pA0BA0B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction matrixCompMult_F0BF0B(BuiltInId::matrixCompMult_Float4x4_Float4x4,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::pF0BF0B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction matrixCompMult_90B90B(BuiltInId::matrixCompMult_Float2x3_Float2x3,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p90B90B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction matrixCompMult_60B60B(BuiltInId::matrixCompMult_Float3x2_Float3x2,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p60B60B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction matrixCompMult_D0BD0B(BuiltInId::matrixCompMult_Float2x4_Float2x4,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::pD0BD0B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction matrixCompMult_70B70B(BuiltInId::matrixCompMult_Float4x2_Float4x2,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p70B70B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction matrixCompMult_E0BE0B(BuiltInId::matrixCompMult_Float3x4_Float3x4,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::pE0BE0B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction matrixCompMult_B0BB0B(BuiltInId::matrixCompMult_Float4x3_Float4x3,
                                      BuiltInName::matrixCompMult,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::pB0BB0B,
                                      2,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
                                      EOpMulMatrixComponentWise,
                                      true);
const TFunction outerProduct_10B10B(BuiltInId::outerProduct_Float2_Float2,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p10B10B00B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
                                    EOpOuterProduct,
                                    true);
const TFunction outerProduct_20B20B(BuiltInId::outerProduct_Float3_Float3,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p20B20B00B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
                                    EOpOuterProduct,
                                    true);
const TFunction outerProduct_30B30B(BuiltInId::outerProduct_Float4_Float4,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p30B30B30F,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
                                    EOpOuterProduct,
                                    true);
const TFunction outerProduct_20B10B(BuiltInId::outerProduct_Float3_Float2,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p20B10B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
                                    EOpOuterProduct,
                                    true);
const TFunction outerProduct_10B20B(BuiltInId::outerProduct_Float2_Float3,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p10B20B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
                                    EOpOuterProduct,
                                    true);
const TFunction outerProduct_30B10B(BuiltInId::outerProduct_Float4_Float2,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p30B10B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
                                    EOpOuterProduct,
                                    true);
const TFunction outerProduct_10B30B(BuiltInId::outerProduct_Float2_Float4,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p10B30B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
                                    EOpOuterProduct,
                                    true);
const TFunction outerProduct_30B20B(BuiltInId::outerProduct_Float4_Float3,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p30B20B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
                                    EOpOuterProduct,
                                    true);
const TFunction outerProduct_20B30B(BuiltInId::outerProduct_Float3_Float4,
                                    BuiltInName::outerProduct,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p20B30B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
                                    EOpOuterProduct,
                                    true);
const TFunction transpose_50B(BuiltInId::transpose_Float2x2,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p50B50B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
                              EOpTranspose,
                              true);
const TFunction transpose_A0B(BuiltInId::transpose_Float3x3,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::pA0BA0B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
                              EOpTranspose,
                              true);
const TFunction transpose_F0B(BuiltInId::transpose_Float4x4,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::pF0BF0B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
                              EOpTranspose,
                              true);
const TFunction transpose_60B(BuiltInId::transpose_Float3x2,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p60B60B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 3>(),
                              EOpTranspose,
                              true);
const TFunction transpose_90B(BuiltInId::transpose_Float2x3,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p90B90B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 2>(),
                              EOpTranspose,
                              true);
const TFunction transpose_70B(BuiltInId::transpose_Float4x2,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p70B70B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 4>(),
                              EOpTranspose,
                              true);
const TFunction transpose_D0B(BuiltInId::transpose_Float2x4,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::pD0BD0B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 2>(),
                              EOpTranspose,
                              true);
const TFunction transpose_B0B(BuiltInId::transpose_Float4x3,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::pB0BB0B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 4>(),
                              EOpTranspose,
                              true);
const TFunction transpose_E0B(BuiltInId::transpose_Float3x4,
                              BuiltInName::transpose,
                              TExtension::UNDEFINED,
                              BuiltInParameters::pE0BE0B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 3>(),
                              EOpTranspose,
                              true);
const TFunction determinant_50B(BuiltInId::determinant_Float2x2,
                                BuiltInName::determinant,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p50B50B,
                                1,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDeterminant,
                                true);
const TFunction determinant_A0B(BuiltInId::determinant_Float3x3,
                                BuiltInName::determinant,
                                TExtension::UNDEFINED,
                                BuiltInParameters::pA0BA0B,
                                1,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDeterminant,
                                true);
const TFunction determinant_F0B(BuiltInId::determinant_Float4x4,
                                BuiltInName::determinant,
                                TExtension::UNDEFINED,
                                BuiltInParameters::pF0BF0B,
                                1,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpDeterminant,
                                true);
const TFunction inverse_50B(BuiltInId::inverse_Float2x2,
                            BuiltInName::inverse,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p50B50B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 2>(),
                            EOpInverse,
                            true);
const TFunction inverse_A0B(BuiltInId::inverse_Float3x3,
                            BuiltInName::inverse,
                            TExtension::UNDEFINED,
                            BuiltInParameters::pA0BA0B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 3>(),
                            EOpInverse,
                            true);
const TFunction inverse_F0B(BuiltInId::inverse_Float4x4,
                            BuiltInName::inverse,
                            TExtension::UNDEFINED,
                            BuiltInParameters::pF0BF0B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 4>(),
                            EOpInverse,
                            true);
const TFunction lessThan_10B10B(BuiltInId::lessThan_Float2_Float2,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10B10B00B,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThan_20B20B(BuiltInId::lessThan_Float3_Float3,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20B20B00B,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThan_30B30B(BuiltInId::lessThan_Float4_Float4,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30B30B30F,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThan_10D10D(BuiltInId::lessThan_Int2_Int2,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10D10D_o_10D_o_10D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThan_20D20D(BuiltInId::lessThan_Int3_Int3,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20D20D00D00D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThan_30D30D(BuiltInId::lessThan_Int4_Int4,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30D30D30F,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThan_10E10E(BuiltInId::lessThan_UInt2_UInt2,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10E10E00D00D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThan_20E20E(BuiltInId::lessThan_UInt3_UInt3,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20E20E00D00D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThan_30E30E(BuiltInId::lessThan_UInt4_UInt4,
                                BuiltInName::lessThan,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30E30E00D00D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpLessThanComponentWise,
                                true);
const TFunction lessThanEqual_10B10B(BuiltInId::lessThanEqual_Float2_Float2,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p10B10B00B,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction lessThanEqual_20B20B(BuiltInId::lessThanEqual_Float3_Float3,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p20B20B00B,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction lessThanEqual_30B30B(BuiltInId::lessThanEqual_Float4_Float4,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p30B30B30F,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction lessThanEqual_10D10D(BuiltInId::lessThanEqual_Int2_Int2,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p10D10D_o_10D_o_10D,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction lessThanEqual_20D20D(BuiltInId::lessThanEqual_Int3_Int3,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p20D20D00D00D,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction lessThanEqual_30D30D(BuiltInId::lessThanEqual_Int4_Int4,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p30D30D30F,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction lessThanEqual_10E10E(BuiltInId::lessThanEqual_UInt2_UInt2,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p10E10E00D00D,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction lessThanEqual_20E20E(BuiltInId::lessThanEqual_UInt3_UInt3,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p20E20E00D00D,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction lessThanEqual_30E30E(BuiltInId::lessThanEqual_UInt4_UInt4,
                                     BuiltInName::lessThanEqual,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p30E30E00D00D,
                                     2,
                                     StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpLessThanEqualComponentWise,
                                     true);
const TFunction greaterThan_10B10B(BuiltInId::greaterThan_Float2_Float2,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p10B10B00B,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThan_20B20B(BuiltInId::greaterThan_Float3_Float3,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p20B20B00B,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThan_30B30B(BuiltInId::greaterThan_Float4_Float4,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p30B30B30F,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThan_10D10D(BuiltInId::greaterThan_Int2_Int2,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p10D10D_o_10D_o_10D,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThan_20D20D(BuiltInId::greaterThan_Int3_Int3,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p20D20D00D00D,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThan_30D30D(BuiltInId::greaterThan_Int4_Int4,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p30D30D30F,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThan_10E10E(BuiltInId::greaterThan_UInt2_UInt2,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p10E10E00D00D,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThan_20E20E(BuiltInId::greaterThan_UInt3_UInt3,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p20E20E00D00D,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThan_30E30E(BuiltInId::greaterThan_UInt4_UInt4,
                                   BuiltInName::greaterThan,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p30E30E00D00D,
                                   2,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpGreaterThanComponentWise,
                                   true);
const TFunction greaterThanEqual_10B10B(BuiltInId::greaterThanEqual_Float2_Float2,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10B10B00B,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction greaterThanEqual_20B20B(BuiltInId::greaterThanEqual_Float3_Float3,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20B20B00B,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction greaterThanEqual_30B30B(BuiltInId::greaterThanEqual_Float4_Float4,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30B30B30F,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction greaterThanEqual_10D10D(BuiltInId::greaterThanEqual_Int2_Int2,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10D10D_o_10D_o_10D,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction greaterThanEqual_20D20D(BuiltInId::greaterThanEqual_Int3_Int3,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20D20D00D00D,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction greaterThanEqual_30D30D(BuiltInId::greaterThanEqual_Int4_Int4,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30D30D30F,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction greaterThanEqual_10E10E(BuiltInId::greaterThanEqual_UInt2_UInt2,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p10E10E00D00D,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction greaterThanEqual_20E20E(BuiltInId::greaterThanEqual_UInt3_UInt3,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p20E20E00D00D,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction greaterThanEqual_30E30E(BuiltInId::greaterThanEqual_UInt4_UInt4,
                                        BuiltInName::greaterThanEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p30E30E00D00D,
                                        2,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpGreaterThanEqualComponentWise,
                                        true);
const TFunction equal_10B10B(BuiltInId::equal_Float2_Float2,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10B10B00B,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_20B20B(BuiltInId::equal_Float3_Float3,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20B20B00B,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_30B30B(BuiltInId::equal_Float4_Float4,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30B30B30F,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_10D10D(BuiltInId::equal_Int2_Int2,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10D10D_o_10D_o_10D,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_20D20D(BuiltInId::equal_Int3_Int3,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20D20D00D00D,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_30D30D(BuiltInId::equal_Int4_Int4,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30D30D30F,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_10E10E(BuiltInId::equal_UInt2_UInt2,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10E10E00D00D,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_20E20E(BuiltInId::equal_UInt3_UInt3,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20E20E00D00D,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_30E30E(BuiltInId::equal_UInt4_UInt4,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30E30E00D00D,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_10F10F(BuiltInId::equal_Bool2_Bool2,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10F10F10F,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_20F20F(BuiltInId::equal_Bool3_Bool3,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20F20F20F,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction equal_30F30F(BuiltInId::equal_Bool4_Bool4,
                             BuiltInName::equal,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30F30F30F,
                             2,
                             StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpEqualComponentWise,
                             true);
const TFunction notEqual_10B10B(BuiltInId::notEqual_Float2_Float2,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10B10B00B,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_20B20B(BuiltInId::notEqual_Float3_Float3,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20B20B00B,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_30B30B(BuiltInId::notEqual_Float4_Float4,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30B30B30F,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_10D10D(BuiltInId::notEqual_Int2_Int2,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10D10D_o_10D_o_10D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_20D20D(BuiltInId::notEqual_Int3_Int3,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20D20D00D00D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_30D30D(BuiltInId::notEqual_Int4_Int4,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30D30D30F,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_10E10E(BuiltInId::notEqual_UInt2_UInt2,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10E10E00D00D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_20E20E(BuiltInId::notEqual_UInt3_UInt3,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20E20E00D00D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_30E30E(BuiltInId::notEqual_UInt4_UInt4,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30E30E00D00D,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_10F10F(BuiltInId::notEqual_Bool2_Bool2,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p10F10F10F,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_20F20F(BuiltInId::notEqual_Bool3_Bool3,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p20F20F20F,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction notEqual_30F30F(BuiltInId::notEqual_Bool4_Bool4,
                                BuiltInName::notEqual,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p30F30F30F,
                                2,
                                StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpNotEqualComponentWise,
                                true);
const TFunction any_10F(BuiltInId::any_Bool2,
                        BuiltInName::any,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10F10F10F,
                        1,
                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAny,
                        true);
const TFunction any_20F(BuiltInId::any_Bool3,
                        BuiltInName::any,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20F20F20F,
                        1,
                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAny,
                        true);
const TFunction any_30F(BuiltInId::any_Bool4,
                        BuiltInName::any,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30F30F30F,
                        1,
                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAny,
                        true);
const TFunction all_10F(BuiltInId::all_Bool2,
                        BuiltInName::all,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p10F10F10F,
                        1,
                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAll,
                        true);
const TFunction all_20F(BuiltInId::all_Bool3,
                        BuiltInName::all,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p20F20F20F,
                        1,
                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAll,
                        true);
const TFunction all_30F(BuiltInId::all_Bool4,
                        BuiltInName::all,
                        TExtension::UNDEFINED,
                        BuiltInParameters::p30F30F30F,
                        1,
                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                        EOpAll,
                        true);
const TFunction notFunc_10F(BuiltInId::notFunc_Bool2,
                            BuiltInName::notFunc,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10F10F10F,
                            1,
                            StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpLogicalNotComponentWise,
                            true);
const TFunction notFunc_20F(BuiltInId::notFunc_Bool3,
                            BuiltInName::notFunc,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20F20F20F,
                            1,
                            StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpLogicalNotComponentWise,
                            true);
const TFunction notFunc_30F(BuiltInId::notFunc_Bool4,
                            BuiltInName::notFunc,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30F30F30F,
                            1,
                            StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpLogicalNotComponentWise,
                            true);
const TFunction bitfieldExtract_00D00D00D(BuiltInId::bitfieldExtract_Int1_Int1_Int1,
                                          BuiltInName::bitfieldExtract,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00D00D00D00D,
                                          3,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpBitfieldExtract,
                                          true);
const TFunction bitfieldExtract_10D00D00D(BuiltInId::bitfieldExtract_Int2_Int1_Int1,
                                          BuiltInName::bitfieldExtract,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10D00D00D,
                                          3,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpBitfieldExtract,
                                          true);
const TFunction bitfieldExtract_20D00D00D(BuiltInId::bitfieldExtract_Int3_Int1_Int1,
                                          BuiltInName::bitfieldExtract,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20D00D00D,
                                          3,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpBitfieldExtract,
                                          true);
const TFunction bitfieldExtract_30D00D00D(BuiltInId::bitfieldExtract_Int4_Int1_Int1,
                                          BuiltInName::bitfieldExtract,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30D00D00D,
                                          3,
                                          StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpBitfieldExtract,
                                          true);
const TFunction bitfieldExtract_00E00D00D(BuiltInId::bitfieldExtract_UInt1_Int1_Int1,
                                          BuiltInName::bitfieldExtract,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00E00D00D,
                                          3,
                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpBitfieldExtract,
                                          true);
const TFunction bitfieldExtract_10E00D00D(BuiltInId::bitfieldExtract_UInt2_Int1_Int1,
                                          BuiltInName::bitfieldExtract,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10E00D00D,
                                          3,
                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                          EOpBitfieldExtract,
                                          true);
const TFunction bitfieldExtract_20E00D00D(BuiltInId::bitfieldExtract_UInt3_Int1_Int1,
                                          BuiltInName::bitfieldExtract,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20E00D00D,
                                          3,
                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                          EOpBitfieldExtract,
                                          true);
const TFunction bitfieldExtract_30E00D00D(BuiltInId::bitfieldExtract_UInt4_Int1_Int1,
                                          BuiltInName::bitfieldExtract,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30E00D00D,
                                          3,
                                          StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                          EOpBitfieldExtract,
                                          true);
const TFunction bitfieldInsert_00D00D00D00D(
    BuiltInId::bitfieldInsert_Int1_Int1_Int1_Int1,
    BuiltInName::bitfieldInsert,
    TExtension::UNDEFINED,
    BuiltInParameters::p00D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpBitfieldInsert,
    true);
const TFunction bitfieldInsert_10D10D00D00D(
    BuiltInId::bitfieldInsert_Int2_Int2_Int1_Int1,
    BuiltInName::bitfieldInsert,
    TExtension::UNDEFINED,
    BuiltInParameters::p10D10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpBitfieldInsert,
    true);
const TFunction bitfieldInsert_20D20D00D00D(
    BuiltInId::bitfieldInsert_Int3_Int3_Int1_Int1,
    BuiltInName::bitfieldInsert,
    TExtension::UNDEFINED,
    BuiltInParameters::p20D20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpBitfieldInsert,
    true);
const TFunction bitfieldInsert_30D30D00D00D(
    BuiltInId::bitfieldInsert_Int4_Int4_Int1_Int1,
    BuiltInName::bitfieldInsert,
    TExtension::UNDEFINED,
    BuiltInParameters::p30D30D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpBitfieldInsert,
    true);
const TFunction bitfieldInsert_00E00E00D00D(
    BuiltInId::bitfieldInsert_UInt1_UInt1_Int1_Int1,
    BuiltInName::bitfieldInsert,
    TExtension::UNDEFINED,
    BuiltInParameters::p00E00E00D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpBitfieldInsert,
    true);
const TFunction bitfieldInsert_10E10E00D00D(
    BuiltInId::bitfieldInsert_UInt2_UInt2_Int1_Int1,
    BuiltInName::bitfieldInsert,
    TExtension::UNDEFINED,
    BuiltInParameters::p10E10E00D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpBitfieldInsert,
    true);
const TFunction bitfieldInsert_20E20E00D00D(
    BuiltInId::bitfieldInsert_UInt3_UInt3_Int1_Int1,
    BuiltInName::bitfieldInsert,
    TExtension::UNDEFINED,
    BuiltInParameters::p20E20E00D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpBitfieldInsert,
    true);
const TFunction bitfieldInsert_30E30E00D00D(
    BuiltInId::bitfieldInsert_UInt4_UInt4_Int1_Int1,
    BuiltInName::bitfieldInsert,
    TExtension::UNDEFINED,
    BuiltInParameters::p30E30E00D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpBitfieldInsert,
    true);
const TFunction bitfieldReverse_00D(BuiltInId::bitfieldReverse_Int1,
                                    BuiltInName::bitfieldReverse,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00D00D_o_00D_o_00D,
                                    1,
                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                    EOpBitfieldReverse,
                                    true);
const TFunction bitfieldReverse_10D(BuiltInId::bitfieldReverse_Int2,
                                    BuiltInName::bitfieldReverse,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p10D10D_o_10D_o_10D,
                                    1,
                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                    EOpBitfieldReverse,
                                    true);
const TFunction bitfieldReverse_20D(BuiltInId::bitfieldReverse_Int3,
                                    BuiltInName::bitfieldReverse,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p20D20D00D00D,
                                    1,
                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                    EOpBitfieldReverse,
                                    true);
const TFunction bitfieldReverse_30D(BuiltInId::bitfieldReverse_Int4,
                                    BuiltInName::bitfieldReverse,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p30D30D30F,
                                    1,
                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpBitfieldReverse,
                                    true);
const TFunction bitfieldReverse_00E(BuiltInId::bitfieldReverse_UInt1,
                                    BuiltInName::bitfieldReverse,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00E00E00E,
                                    1,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                    EOpBitfieldReverse,
                                    true);
const TFunction bitfieldReverse_10E(BuiltInId::bitfieldReverse_UInt2,
                                    BuiltInName::bitfieldReverse,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p10E10E00D00D,
                                    1,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                    EOpBitfieldReverse,
                                    true);
const TFunction bitfieldReverse_20E(BuiltInId::bitfieldReverse_UInt3,
                                    BuiltInName::bitfieldReverse,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p20E20E00D00D,
                                    1,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                    EOpBitfieldReverse,
                                    true);
const TFunction bitfieldReverse_30E(BuiltInId::bitfieldReverse_UInt4,
                                    BuiltInName::bitfieldReverse,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p30E30E00D00D,
                                    1,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpBitfieldReverse,
                                    true);
const TFunction bitCount_00D(BuiltInId::bitCount_Int1,
                             BuiltInName::bitCount,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p00D00D_o_00D_o_00D,
                             1,
                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                             EOpBitCount,
                             true);
const TFunction bitCount_10D(BuiltInId::bitCount_Int2,
                             BuiltInName::bitCount,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10D10D_o_10D_o_10D,
                             1,
                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpBitCount,
                             true);
const TFunction bitCount_20D(BuiltInId::bitCount_Int3,
                             BuiltInName::bitCount,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20D20D00D00D,
                             1,
                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpBitCount,
                             true);
const TFunction bitCount_30D(BuiltInId::bitCount_Int4,
                             BuiltInName::bitCount,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30D30D30F,
                             1,
                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpBitCount,
                             true);
const TFunction bitCount_00E(BuiltInId::bitCount_UInt1,
                             BuiltInName::bitCount,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p00E00E00E,
                             1,
                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                             EOpBitCount,
                             true);
const TFunction bitCount_10E(BuiltInId::bitCount_UInt2,
                             BuiltInName::bitCount,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10E10E00D00D,
                             1,
                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpBitCount,
                             true);
const TFunction bitCount_20E(BuiltInId::bitCount_UInt3,
                             BuiltInName::bitCount,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20E20E00D00D,
                             1,
                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpBitCount,
                             true);
const TFunction bitCount_30E(BuiltInId::bitCount_UInt4,
                             BuiltInName::bitCount,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30E30E00D00D,
                             1,
                             StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpBitCount,
                             true);
const TFunction findLSB_00D(BuiltInId::findLSB_Int1,
                            BuiltInName::findLSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00D00D_o_00D_o_00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpFindLSB,
                            true);
const TFunction findLSB_10D(BuiltInId::findLSB_Int2,
                            BuiltInName::findLSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10D10D_o_10D_o_10D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpFindLSB,
                            true);
const TFunction findLSB_20D(BuiltInId::findLSB_Int3,
                            BuiltInName::findLSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20D20D00D00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpFindLSB,
                            true);
const TFunction findLSB_30D(BuiltInId::findLSB_Int4,
                            BuiltInName::findLSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30D30D30F,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpFindLSB,
                            true);
const TFunction findLSB_00E(BuiltInId::findLSB_UInt1,
                            BuiltInName::findLSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00E00E00E,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpFindLSB,
                            true);
const TFunction findLSB_10E(BuiltInId::findLSB_UInt2,
                            BuiltInName::findLSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10E10E00D00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpFindLSB,
                            true);
const TFunction findLSB_20E(BuiltInId::findLSB_UInt3,
                            BuiltInName::findLSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20E20E00D00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpFindLSB,
                            true);
const TFunction findLSB_30E(BuiltInId::findLSB_UInt4,
                            BuiltInName::findLSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30E30E00D00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpFindLSB,
                            true);
const TFunction findMSB_00D(BuiltInId::findMSB_Int1,
                            BuiltInName::findMSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00D00D_o_00D_o_00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpFindMSB,
                            true);
const TFunction findMSB_10D(BuiltInId::findMSB_Int2,
                            BuiltInName::findMSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10D10D_o_10D_o_10D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpFindMSB,
                            true);
const TFunction findMSB_20D(BuiltInId::findMSB_Int3,
                            BuiltInName::findMSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20D20D00D00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpFindMSB,
                            true);
const TFunction findMSB_30D(BuiltInId::findMSB_Int4,
                            BuiltInName::findMSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30D30D30F,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpFindMSB,
                            true);
const TFunction findMSB_00E(BuiltInId::findMSB_UInt1,
                            BuiltInName::findMSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p00E00E00E,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpFindMSB,
                            true);
const TFunction findMSB_10E(BuiltInId::findMSB_UInt2,
                            BuiltInName::findMSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p10E10E00D00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpFindMSB,
                            true);
const TFunction findMSB_20E(BuiltInId::findMSB_UInt3,
                            BuiltInName::findMSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p20E20E00D00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpFindMSB,
                            true);
const TFunction findMSB_30E(BuiltInId::findMSB_UInt4,
                            BuiltInName::findMSB,
                            TExtension::UNDEFINED,
                            BuiltInParameters::p30E30E00D00D,
                            1,
                            StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpFindMSB,
                            true);
const TFunction uaddCarry_00E00E00E(BuiltInId::uaddCarry_UInt1_UInt1_UInt1,
                                    BuiltInName::uaddCarry,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00E00E_o_00E_o_00E,
                                    3,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                    EOpUaddCarry,
                                    false);
const TFunction uaddCarry_10E10E10E(BuiltInId::uaddCarry_UInt2_UInt2_UInt2,
                                    BuiltInName::uaddCarry,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p10E10E_o_10E_o_10E,
                                    3,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                    EOpUaddCarry,
                                    false);
const TFunction uaddCarry_20E20E20E(BuiltInId::uaddCarry_UInt3_UInt3_UInt3,
                                    BuiltInName::uaddCarry,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p20E20E_o_20E_o_20E,
                                    3,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                    EOpUaddCarry,
                                    false);
const TFunction uaddCarry_30E30E30E(BuiltInId::uaddCarry_UInt4_UInt4_UInt4,
                                    BuiltInName::uaddCarry,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p30E30E_o_30E_o_30E,
                                    3,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpUaddCarry,
                                    false);
const TFunction usubBorrow_00E00E00E(BuiltInId::usubBorrow_UInt1_UInt1_UInt1,
                                     BuiltInName::usubBorrow,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00E00E_o_00E_o_00E,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpUsubBorrow,
                                     false);
const TFunction usubBorrow_10E10E10E(BuiltInId::usubBorrow_UInt2_UInt2_UInt2,
                                     BuiltInName::usubBorrow,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p10E10E_o_10E_o_10E,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                     EOpUsubBorrow,
                                     false);
const TFunction usubBorrow_20E20E20E(BuiltInId::usubBorrow_UInt3_UInt3_UInt3,
                                     BuiltInName::usubBorrow,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p20E20E_o_20E_o_20E,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                     EOpUsubBorrow,
                                     false);
const TFunction usubBorrow_30E30E30E(BuiltInId::usubBorrow_UInt4_UInt4_UInt4,
                                     BuiltInName::usubBorrow,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p30E30E_o_30E_o_30E,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpUsubBorrow,
                                     false);
const TFunction umulExtended_00E00E00E00E(BuiltInId::umulExtended_UInt1_UInt1_UInt1_UInt1,
                                          BuiltInName::umulExtended,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00E00E_o_00E_o_00E,
                                          4,
                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpUmulExtended,
                                          false);
const TFunction umulExtended_10E10E10E10E(BuiltInId::umulExtended_UInt2_UInt2_UInt2_UInt2,
                                          BuiltInName::umulExtended,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10E10E_o_10E_o_10E,
                                          4,
                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpUmulExtended,
                                          false);
const TFunction umulExtended_20E20E20E20E(BuiltInId::umulExtended_UInt3_UInt3_UInt3_UInt3,
                                          BuiltInName::umulExtended,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20E20E_o_20E_o_20E,
                                          4,
                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpUmulExtended,
                                          false);
const TFunction umulExtended_30E30E30E30E(BuiltInId::umulExtended_UInt4_UInt4_UInt4_UInt4,
                                          BuiltInName::umulExtended,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30E30E_o_30E_o_30E,
                                          4,
                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpUmulExtended,
                                          false);
const TFunction imulExtended_00D00D00D00D(BuiltInId::imulExtended_Int1_Int1_Int1_Int1,
                                          BuiltInName::imulExtended,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p00D00D_o_00D_o_00D,
                                          4,
                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpImulExtended,
                                          false);
const TFunction imulExtended_10D10D10D10D(BuiltInId::imulExtended_Int2_Int2_Int2_Int2,
                                          BuiltInName::imulExtended,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p10D10D_o_10D_o_10D,
                                          4,
                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpImulExtended,
                                          false);
const TFunction imulExtended_20D20D20D20D(BuiltInId::imulExtended_Int3_Int3_Int3_Int3,
                                          BuiltInName::imulExtended,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p20D20D_o_20D_o_20D,
                                          4,
                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpImulExtended,
                                          false);
const TFunction imulExtended_30D30D30D30D(BuiltInId::imulExtended_Int4_Int4_Int4_Int4,
                                          BuiltInName::imulExtended,
                                          TExtension::UNDEFINED,
                                          BuiltInParameters::p30D30D_o_30D_o_30D,
                                          4,
                                          StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                          EOpImulExtended,
                                          false);
const TFunction texture2D_00I10B(BuiltInId::texture2D_Sampler2D1_Float2,
                                 BuiltInName::texture2D,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p00I10B00D,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction texture2DProj_00I20B(BuiltInId::texture2DProj_Sampler2D1_Float3,
                                     BuiltInName::texture2DProj,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00I20B10B10B10D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texture2DProj_00I30B(BuiltInId::texture2DProj_Sampler2D1_Float4,
                                     BuiltInName::texture2DProj,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00I30B00B10D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureCube_00K20B(BuiltInId::textureCube_SamplerCube1_Float3,
                                   BuiltInName::textureCube,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00K20B20B20B,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction texture1D_00g00B(BuiltInId::texture1D_Sampler1D1_Float1,
                                 BuiltInName::texture1D,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p00g00B00B00B00D,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction texture1DProj_00g10B(BuiltInId::texture1DProj_Sampler1D1_Float2,
                                     BuiltInName::texture1DProj,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00g10B00B00D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texture1DProj_00g30B(BuiltInId::texture1DProj_Sampler1D1_Float4,
                                     BuiltInName::texture1DProj,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00g30B00B00D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texture3D_00J20B(BuiltInId::texture3D_Sampler3D1_Float3,
                                 BuiltInName::texture3D,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p00J20B00B20D,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction texture3DProj_00J30B(BuiltInId::texture3DProj_Sampler3D1_Float4,
                                     BuiltInName::texture3DProj,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00J30B00B20D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction shadow1D_00m20B(BuiltInId::shadow1D_Sampler1DShadow1_Float3,
                                BuiltInName::shadow1D,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00m20B00B00D,
                                2,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction shadow1DProj_00m30B(BuiltInId::shadow1DProj_Sampler1DShadow1_Float4,
                                    BuiltInName::shadow1DProj,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00m30B00D00B,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction shadow2D_00d20B(BuiltInId::shadow2D_Sampler2DShadow1_Float3,
                                BuiltInName::shadow2D,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00d20B00B10D,
                                2,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction shadow2DProj_00d30B(BuiltInId::shadow2DProj_Sampler2DShadow1_Float4,
                                    BuiltInName::shadow2DProj,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00d30B10B10B10D,
                                    2,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction texture2D_00M10B(BuiltInId::texture2D_SamplerExternalOES1_Float2,
                                 BuiltInName::texture2D,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p00M10B00B,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction texture2DProj_00M20B(BuiltInId::texture2DProj_SamplerExternalOES1_Float3,
                                     BuiltInName::texture2DProj,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00M20B00B,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texture2DProj_00M30B(BuiltInId::texture2DProj_SamplerExternalOES1_Float4,
                                     BuiltInName::texture2DProj,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00M30B00B,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texture2DRect_00O10B(BuiltInId::texture2DRect_Sampler2DRect1_Float2,
                                     BuiltInName::texture2DRect,
                                     TExtension::ARB_texture_rectangle,
                                     BuiltInParameters::p00O10B70D00D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texture2DRectProj_00O20B(BuiltInId::texture2DRectProj_Sampler2DRect1_Float3,
                                         BuiltInName::texture2DRectProj,
                                         TExtension::ARB_texture_rectangle,
                                         BuiltInParameters::p00O20B00D,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction texture2DRectProj_00O30B(BuiltInId::texture2DRectProj_Sampler2DRect1_Float4,
                                         BuiltInName::texture2DRectProj,
                                         TExtension::ARB_texture_rectangle,
                                         BuiltInParameters::p00O30B10B10B10D,
                                         2,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction texture_00O10B(BuiltInId::texture_Sampler2DRect1_Float2,
                               BuiltInName::texture,
                               TExtension::ARB_texture_rectangle,
                               BuiltInParameters::p00O10B70D00D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction textureProj_00O20B(BuiltInId::textureProj_Sampler2DRect1_Float3,
                                   BuiltInName::textureProj,
                                   TExtension::ARB_texture_rectangle,
                                   BuiltInParameters::p00O20B00D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00O30B(BuiltInId::textureProj_Sampler2DRect1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::ARB_texture_rectangle,
                                   BuiltInParameters::p00O30B10B10B10D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction texture2DGradEXT_00I10B10B10B(
    BuiltInId::texture2DGradEXT_Sampler2D1_Float2_Float2_Float2,
    BuiltInName::texture2DGradEXT,
    TExtension::EXT_shader_texture_lod,
    BuiltInParameters::p00I10B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture2DProjGradEXT_00I20B10B10B(
    BuiltInId::texture2DProjGradEXT_Sampler2D1_Float3_Float2_Float2,
    BuiltInName::texture2DProjGradEXT,
    TExtension::EXT_shader_texture_lod,
    BuiltInParameters::p00I20B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture2DProjGradEXT_00I30B10B10B(
    BuiltInId::texture2DProjGradEXT_Sampler2D1_Float4_Float2_Float2,
    BuiltInName::texture2DProjGradEXT,
    TExtension::EXT_shader_texture_lod,
    BuiltInParameters::p00I30B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureCubeGradEXT_00K20B20B20B(
    BuiltInId::textureCubeGradEXT_SamplerCube1_Float3_Float3_Float3,
    BuiltInName::textureCubeGradEXT,
    TExtension::EXT_shader_texture_lod,
    BuiltInParameters::p00K20B20B20B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture2D_00I10B00B(BuiltInId::texture2D_Sampler2D1_Float2_Float1,
                                    BuiltInName::texture2D,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00I10B00B10D,
                                    3,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction texture2DProj_00I20B00B(BuiltInId::texture2DProj_Sampler2D1_Float3_Float1,
                                        BuiltInName::texture2DProj,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00I20B00B10D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texture2DProj_00I30B00B(BuiltInId::texture2DProj_Sampler2D1_Float4_Float1,
                                        BuiltInName::texture2DProj,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00I30B00B10D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureCube_00K20B00B(BuiltInId::textureCube_SamplerCube1_Float3_Float1,
                                      BuiltInName::textureCube,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00K20B00B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction texture3D_00J20B00B(BuiltInId::texture3D_Sampler3D1_Float3_Float1,
                                    BuiltInName::texture3D,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00J20B00B20D,
                                    3,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction texture3DProj_00J30B00B(BuiltInId::texture3DProj_Sampler3D1_Float4_Float1,
                                        BuiltInName::texture3DProj,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00J30B00B20D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texture3DLod_00J20B00B(BuiltInId::texture3DLod_Sampler3D1_Float3_Float1,
                                       BuiltInName::texture3DLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00J20B00B20D,
                                       3,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction texture3DProjLod_00J30B00B(
    BuiltInId::texture3DProjLod_Sampler3D1_Float4_Float1,
    BuiltInName::texture3DProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J30B00B20D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture1D_00g00B00B(BuiltInId::texture1D_Sampler1D1_Float1_Float1,
                                    BuiltInName::texture1D,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p00g00B00B00B00D,
                                    3,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction texture1DProj_00g10B00B(BuiltInId::texture1DProj_Sampler1D1_Float2_Float1,
                                        BuiltInName::texture1DProj,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00g10B00B00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texture1DProj_00g30B00B(BuiltInId::texture1DProj_Sampler1D1_Float4_Float1,
                                        BuiltInName::texture1DProj,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00g30B00B00B00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction shadow1D_00m20B00B(BuiltInId::shadow1D_Sampler1DShadow1_Float3_Float1,
                                   BuiltInName::shadow1D,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00m20B00B00B00D,
                                   3,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction shadow1DProj_00m30B00B(BuiltInId::shadow1DProj_Sampler1DShadow1_Float4_Float1,
                                       BuiltInName::shadow1DProj,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00m30B00B00D,
                                       3,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction shadow2D_00d20B00B(BuiltInId::shadow2D_Sampler2DShadow1_Float3_Float1,
                                   BuiltInName::shadow2D,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00d20B00B10D,
                                   3,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction shadow2DProj_00d30B00B(BuiltInId::shadow2DProj_Sampler2DShadow1_Float4_Float1,
                                       BuiltInName::shadow2DProj,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00d30B00B10D,
                                       3,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction dFdxExt_00B(BuiltInId::dFdxExt_Float1,
                            BuiltInName::dFdxExt,
                            TExtension::OES_standard_derivatives,
                            BuiltInParameters::p00B00B30B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpDFdx,
                            false);
const TFunction dFdxExt_10B(BuiltInId::dFdxExt_Float2,
                            BuiltInName::dFdxExt,
                            TExtension::OES_standard_derivatives,
                            BuiltInParameters::p10B_o_10B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpDFdx,
                            false);
const TFunction dFdxExt_20B(BuiltInId::dFdxExt_Float3,
                            BuiltInName::dFdxExt,
                            TExtension::OES_standard_derivatives,
                            BuiltInParameters::p20B20B00B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpDFdx,
                            false);
const TFunction dFdxExt_30B(BuiltInId::dFdxExt_Float4,
                            BuiltInName::dFdxExt,
                            TExtension::OES_standard_derivatives,
                            BuiltInParameters::p30B30D,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpDFdx,
                            false);
const TFunction dFdyExt_00B(BuiltInId::dFdyExt_Float1,
                            BuiltInName::dFdyExt,
                            TExtension::OES_standard_derivatives,
                            BuiltInParameters::p00B00B30B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpDFdy,
                            false);
const TFunction dFdyExt_10B(BuiltInId::dFdyExt_Float2,
                            BuiltInName::dFdyExt,
                            TExtension::OES_standard_derivatives,
                            BuiltInParameters::p10B_o_10B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                            EOpDFdy,
                            false);
const TFunction dFdyExt_20B(BuiltInId::dFdyExt_Float3,
                            BuiltInName::dFdyExt,
                            TExtension::OES_standard_derivatives,
                            BuiltInParameters::p20B20B00B,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                            EOpDFdy,
                            false);
const TFunction dFdyExt_30B(BuiltInId::dFdyExt_Float4,
                            BuiltInName::dFdyExt,
                            TExtension::OES_standard_derivatives,
                            BuiltInParameters::p30B30D,
                            1,
                            StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                            EOpDFdy,
                            false);
const TFunction fwidthExt_00B(BuiltInId::fwidthExt_Float1,
                              BuiltInName::fwidthExt,
                              TExtension::OES_standard_derivatives,
                              BuiltInParameters::p00B00B30B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpFwidth,
                              false);
const TFunction fwidthExt_10B(BuiltInId::fwidthExt_Float2,
                              BuiltInName::fwidthExt,
                              TExtension::OES_standard_derivatives,
                              BuiltInParameters::p10B_o_10B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpFwidth,
                              false);
const TFunction fwidthExt_20B(BuiltInId::fwidthExt_Float3,
                              BuiltInName::fwidthExt,
                              TExtension::OES_standard_derivatives,
                              BuiltInParameters::p20B20B00B,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpFwidth,
                              false);
const TFunction fwidthExt_30B(BuiltInId::fwidthExt_Float4,
                              BuiltInName::fwidthExt,
                              TExtension::OES_standard_derivatives,
                              BuiltInParameters::p30B30D,
                              1,
                              StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                              EOpFwidth,
                              false);
const TFunction texture2DLodEXT_00I10B00B(
    BuiltInId::texture2DLodEXT_Sampler2D1_Float2_Float1,
    BuiltInName::texture2DLodEXT,
    TExtension::EXT_shader_texture_lod,
    BuiltInParameters::p00I10B00B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture2DProjLodEXT_00I20B00B(
    BuiltInId::texture2DProjLodEXT_Sampler2D1_Float3_Float1,
    BuiltInName::texture2DProjLodEXT,
    TExtension::EXT_shader_texture_lod,
    BuiltInParameters::p00I20B00B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture2DProjLodEXT_00I30B00B(
    BuiltInId::texture2DProjLodEXT_Sampler2D1_Float4_Float1,
    BuiltInName::texture2DProjLodEXT,
    TExtension::EXT_shader_texture_lod,
    BuiltInParameters::p00I30B00B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureCubeLodEXT_00K20B00B(
    BuiltInId::textureCubeLodEXT_SamplerCube1_Float3_Float1,
    BuiltInName::textureCubeLodEXT,
    TExtension::EXT_shader_texture_lod,
    BuiltInParameters::p00K20B00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture2DLod_00I10B00B(BuiltInId::texture2DLod_Sampler2D1_Float2_Float1,
                                       BuiltInName::texture2DLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00I10B00B10D,
                                       3,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction texture2DProjLod_00I20B00B(
    BuiltInId::texture2DProjLod_Sampler2D1_Float3_Float1,
    BuiltInName::texture2DProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I20B00B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture2DProjLod_00I30B00B(
    BuiltInId::texture2DProjLod_Sampler2D1_Float4_Float1,
    BuiltInName::texture2DProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I30B00B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureCubeLod_00K20B00B(BuiltInId::textureCubeLod_SamplerCube1_Float3_Float1,
                                         BuiltInName::textureCubeLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00K20B00B,
                                         3,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction texture1DLod_00g00B00B(BuiltInId::texture1DLod_Sampler1D1_Float1_Float1,
                                       BuiltInName::texture1DLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00g00B00B00B00D,
                                       3,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction texture1DProjLod_00g10B00B(
    BuiltInId::texture1DProjLod_Sampler1D1_Float2_Float1,
    BuiltInName::texture1DProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g10B00B00D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture1DProjLod_00g30B00B(
    BuiltInId::texture1DProjLod_Sampler1D1_Float4_Float1,
    BuiltInName::texture1DProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g30B00B00B00D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction shadow1DLod_00m20B00B(BuiltInId::shadow1DLod_Sampler1DShadow1_Float3_Float1,
                                      BuiltInName::shadow1DLod,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00m20B00B00B00D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction shadow1DProjLod_00m30B00B(
    BuiltInId::shadow1DProjLod_Sampler1DShadow1_Float4_Float1,
    BuiltInName::shadow1DProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m30B00B00D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction shadow2DLod_00d20B00B(BuiltInId::shadow2DLod_Sampler2DShadow1_Float3_Float1,
                                      BuiltInName::shadow2DLod,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00d20B00B10D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction shadow2DProjLod_00d30B00B(
    BuiltInId::shadow2DProjLod_Sampler2DShadow1_Float4_Float1,
    BuiltInName::shadow2DProjLod,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d30B00B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture_00I10B(BuiltInId::texture_Sampler2D1_Float2,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00I10B00D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00R10B(BuiltInId::texture_ISampler2D1_Float2,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00R10B70D00D,
                               2,
                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00X10B(BuiltInId::texture_USampler2D1_Float2,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00X10B70D00D,
                               2,
                               StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00J20B(BuiltInId::texture_Sampler3D1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00J20B00B20D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00S20B(BuiltInId::texture_ISampler3D1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00S20B20B20B20D,
                               2,
                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00Y20B(BuiltInId::texture_USampler3D1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00Y20B20B20B20D,
                               2,
                               StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00K20B(BuiltInId::texture_SamplerCube1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00K20B20B20B,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00T20B(BuiltInId::texture_ISamplerCube1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00T20B00D,
                               2,
                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00Z20B(BuiltInId::texture_USamplerCube1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00Z20B00B,
                               2,
                               StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00L20B(BuiltInId::texture_Sampler2DArray1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00L20B10D00D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00U20B(BuiltInId::texture_ISampler2DArray1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00U20B10D00D,
                               2,
                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00a20B(BuiltInId::texture_USampler2DArray1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00a20B10B10B10D,
                               2,
                               StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00d20B(BuiltInId::texture_Sampler2DShadow1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00d20B00B10D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00e30B(BuiltInId::texture_SamplerCubeShadow1_Float4,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00e30B20B20B,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00f30B(BuiltInId::texture_Sampler2DArrayShadow1_Float4,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00f30B10B10B10D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00g00B(BuiltInId::texture_Sampler1D1_Float1,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00g00B00B00B00D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00o00B(BuiltInId::texture_ISampler1D1_Float1,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00o00B00B00D,
                               2,
                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00t00B(BuiltInId::texture_USampler1D1_Float1,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00t00B00B00D,
                               2,
                               StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00m20B(BuiltInId::texture_Sampler1DShadow1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00m20B00B00D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00h20B(BuiltInId::texture_Sampler1DArray1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00h20B00B,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00p20B(BuiltInId::texture_ISampler1DArray1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00p20B00B,
                               2,
                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00u20B(BuiltInId::texture_USampler1DArray1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00u20B00B,
                               2,
                               StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00i20B(BuiltInId::texture_Sampler1DArrayShadow1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00i20B00B00D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00q10B(BuiltInId::texture_ISampler2DRect1_Float2,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00q10B10D00D,
                               2,
                               StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00v10B(BuiltInId::texture_USampler2DRect1_Float2,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00v10B70D00D,
                               2,
                               StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00n20B(BuiltInId::texture_Sampler2DRectShadow1_Float3,
                               BuiltInName::texture,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00n20B10B10B10D,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction texture_00l30B00B(BuiltInId::texture_SamplerCubeArrayShadow1_Float4_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00l30B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction textureProj_00I20B(BuiltInId::textureProj_Sampler2D1_Float3,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00I20B10B10B10D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00R20B(BuiltInId::textureProj_ISampler2D1_Float3,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00R20B00B10D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00X20B(BuiltInId::textureProj_USampler2D1_Float3,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00X20B10B10B10D,
                                   2,
                                   StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00I30B(BuiltInId::textureProj_Sampler2D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00I30B00B10D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00R30B(BuiltInId::textureProj_ISampler2D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00R30B10B10B10D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00X30B(BuiltInId::textureProj_USampler2D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00X30B10D00B,
                                   2,
                                   StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00J30B(BuiltInId::textureProj_Sampler3D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00J30B00B20D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00S30B(BuiltInId::textureProj_ISampler3D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00S30B20D00B,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00Y30B(BuiltInId::textureProj_USampler3D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00Y30B20D00B,
                                   2,
                                   StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00d30B(BuiltInId::textureProj_Sampler2DShadow1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00d30B10B10B10D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00g10B(BuiltInId::textureProj_Sampler1D1_Float2,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00g10B00B00D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00o10B(BuiltInId::textureProj_ISampler1D1_Float2,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00o10B00B00B00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00t10B(BuiltInId::textureProj_USampler1D1_Float2,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00t10B00D00B,
                                   2,
                                   StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00g30B(BuiltInId::textureProj_Sampler1D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00g30B00B00D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00o30B(BuiltInId::textureProj_ISampler1D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00o30B00D00B,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00t30B(BuiltInId::textureProj_USampler1D1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00t30B00D00B,
                                   2,
                                   StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00m30B(BuiltInId::textureProj_Sampler1DShadow1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00m30B00D00B,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00q20B(BuiltInId::textureProj_ISampler2DRect1_Float3,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00q20B10B10B10D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00v20B(BuiltInId::textureProj_USampler2DRect1_Float3,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00v20B00D,
                                   2,
                                   StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00q30B(BuiltInId::textureProj_ISampler2DRect1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00q30B10D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00v30B(BuiltInId::textureProj_USampler2DRect1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00v30B10D,
                                   2,
                                   StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00n30B(BuiltInId::textureProj_Sampler2DRectShadow1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00n30B10D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureLod_00I10B00B(BuiltInId::textureLod_Sampler2D1_Float2_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00I10B00B10D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00R10B00B(BuiltInId::textureLod_ISampler2D1_Float2_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00R10B00B10D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00X10B00B(BuiltInId::textureLod_USampler2D1_Float2_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00X10B00B10D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00J20B00B(BuiltInId::textureLod_Sampler3D1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00J20B00B20D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00S20B00B(BuiltInId::textureLod_ISampler3D1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00S20B00B20D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00Y20B00B(BuiltInId::textureLod_USampler3D1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00Y20B00B20D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00K20B00B(BuiltInId::textureLod_SamplerCube1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00K20B00B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00T20B00B(BuiltInId::textureLod_ISamplerCube1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00T20B00B,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00Z20B00B(BuiltInId::textureLod_USamplerCube1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00Z20B00B,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00L20B00B(BuiltInId::textureLod_Sampler2DArray1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00L20B00B10D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00U20B00B(BuiltInId::textureLod_ISampler2DArray1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00U20B00B10D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00a20B00B(BuiltInId::textureLod_USampler2DArray1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00a20B00B10D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00d20B00B(BuiltInId::textureLod_Sampler2DShadow1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00d20B00B10D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00g00B00B(BuiltInId::textureLod_Sampler1D1_Float1_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00g00B00B00B00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00o00B00B(BuiltInId::textureLod_ISampler1D1_Float1_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00o00B00B00D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00t00B00B(BuiltInId::textureLod_USampler1D1_Float1_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00t00B00B00D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00m20B00B(BuiltInId::textureLod_Sampler1DShadow1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00m20B00B00B00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00h10B00B(BuiltInId::textureLod_Sampler1DArray1_Float2_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00h10B00B00B00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00p10B00B(BuiltInId::textureLod_ISampler1DArray1_Float2_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00p10B00B00B00D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00u10B00B(BuiltInId::textureLod_USampler1DArray1_Float2_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00u10B00B00B00D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00i20B00B(BuiltInId::textureLod_Sampler1DArrayShadow1_Float3_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00i20B00B00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00k30B00B(BuiltInId::textureLod_SamplerCubeArray1_Float4_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00k30B00B,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00s30B00B(BuiltInId::textureLod_ISamplerCubeArray1_Float4_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00s30B00B,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureLod_00x30B00B(BuiltInId::textureLod_USamplerCubeArray1_Float4_Float1,
                                     BuiltInName::textureLod,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00x30B00B,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureSize_00I00D(BuiltInId::textureSize_Sampler2D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00I00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00R00D(BuiltInId::textureSize_ISampler2D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00R00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00X00D(BuiltInId::textureSize_USampler2D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00X00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00J00D(BuiltInId::textureSize_Sampler3D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00J00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00S00D(BuiltInId::textureSize_ISampler3D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00S00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00Y00D(BuiltInId::textureSize_USampler3D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00Y00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00K00D(BuiltInId::textureSize_SamplerCube1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00K00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00T00D(BuiltInId::textureSize_ISamplerCube1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00T00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00Z00D(BuiltInId::textureSize_USamplerCube1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00Z00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00L00D(BuiltInId::textureSize_Sampler2DArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00L00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00U00D(BuiltInId::textureSize_ISampler2DArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00U00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00a00D(BuiltInId::textureSize_USampler2DArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00a00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00d00D(BuiltInId::textureSize_Sampler2DShadow1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00d00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00e00D(BuiltInId::textureSize_SamplerCubeShadow1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00e00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00f00D(BuiltInId::textureSize_Sampler2DArrayShadow1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00f00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00g00D(BuiltInId::textureSize_Sampler1D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00g00D00D00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00o00D(BuiltInId::textureSize_ISampler1D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00o00D00D00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00t00D(BuiltInId::textureSize_USampler1D1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00t00D00D00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00m00D(BuiltInId::textureSize_Sampler1DShadow1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00m00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00k00D(BuiltInId::textureSize_SamplerCubeArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00k00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00s00D(BuiltInId::textureSize_ISamplerCubeArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00s00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00x00D(BuiltInId::textureSize_USamplerCubeArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00x00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00l00D(BuiltInId::textureSize_SamplerCubeArrayShadow1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00l00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00O(BuiltInId::textureSize_Sampler2DRect1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00O20B00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00q(BuiltInId::textureSize_ISampler2DRect1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00q30B10D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00v(BuiltInId::textureSize_USampler2DRect1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00v20B00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00n(BuiltInId::textureSize_Sampler2DRectShadow1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00n10B00B70D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00h00D(BuiltInId::textureSize_Sampler1DArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00h00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00p00D(BuiltInId::textureSize_ISampler1DArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00p00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00u00D(BuiltInId::textureSize_USampler1DArray1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00u00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00i00D(BuiltInId::textureSize_Sampler1DArrayShadow1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00i00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00j(BuiltInId::textureSize_SamplerBuffer1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00j00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00r(BuiltInId::textureSize_ISamplerBuffer1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00r00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00w(BuiltInId::textureSize_USamplerBuffer1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00w00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureProjLod_00I20B00B(BuiltInId::textureProjLod_Sampler2D1_Float3_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00I20B00B10D,
                                         3,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00R20B00B(BuiltInId::textureProjLod_ISampler2D1_Float3_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00R20B00B10D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00X20B00B(BuiltInId::textureProjLod_USampler2D1_Float3_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00X20B00B10D,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00I30B00B(BuiltInId::textureProjLod_Sampler2D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00I30B00B10D,
                                         3,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00R30B00B(BuiltInId::textureProjLod_ISampler2D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00R30B00B10D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00X30B00B(BuiltInId::textureProjLod_USampler2D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00X30B00B10D,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00J30B00B(BuiltInId::textureProjLod_Sampler3D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00J30B00B20D,
                                         3,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00S30B00B(BuiltInId::textureProjLod_ISampler3D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00S30B00B20D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00Y30B00B(BuiltInId::textureProjLod_USampler3D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00Y30B00B20D,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00d30B00B(BuiltInId::textureProjLod_Sampler2DShadow1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00d30B00B10D,
                                         3,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00g10B00B(BuiltInId::textureProjLod_Sampler1D1_Float2_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00g10B00B00D,
                                         3,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00o10B00B(BuiltInId::textureProjLod_ISampler1D1_Float2_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00o10B00B00B00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00t10B00B(BuiltInId::textureProjLod_USampler1D1_Float2_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00t10B00B00D,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00g30B00B(BuiltInId::textureProjLod_Sampler1D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00g30B00B00B00D,
                                         3,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00o30B00B(BuiltInId::textureProjLod_ISampler1D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00o30B00B00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00t30B00B(BuiltInId::textureProjLod_USampler1D1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00t30B00B00D,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureProjLod_00m30B00B(BuiltInId::textureProjLod_Sampler1DShadow1_Float4_Float1,
                                         BuiltInName::textureProjLod,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00m30B00B00D,
                                         3,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction texelFetch_00I10D00D(BuiltInId::texelFetch_Sampler2D1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00I10D00D10D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00R10D00D(BuiltInId::texelFetch_ISampler2D1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00R10D00D10D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00X10D00D(BuiltInId::texelFetch_USampler2D1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00X10D00D10D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00J20D00D(BuiltInId::texelFetch_Sampler3D1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00J20D00D20D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00S20D00D(BuiltInId::texelFetch_ISampler3D1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00S20D00D20D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00Y20D00D(BuiltInId::texelFetch_USampler3D1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00Y20D00D20D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00L20D00D(BuiltInId::texelFetch_Sampler2DArray1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00L20D00D10D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00U20D00D(BuiltInId::texelFetch_ISampler2DArray1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00U20D00D10D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00a20D00D(BuiltInId::texelFetch_USampler2DArray1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00a20D00D10D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00g00D00D(BuiltInId::texelFetch_Sampler1D1_Int1_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00g00D00D00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00o00D00D(BuiltInId::texelFetch_ISampler1D1_Int1_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00o00D00D00D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00t00D00D(BuiltInId::texelFetch_USampler1D1_Int1_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00t00D00D00D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00O10D(BuiltInId::texelFetch_Sampler2DRect1_Int2,
                                  BuiltInName::texelFetch,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00O10D10D,
                                  2,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texelFetch_00q10D(BuiltInId::texelFetch_ISampler2DRect1_Int2,
                                  BuiltInName::texelFetch,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00q10D10D,
                                  2,
                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texelFetch_00v10D(BuiltInId::texelFetch_USampler2DRect1_Int2,
                                  BuiltInName::texelFetch,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00v10D10D,
                                  2,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texelFetch_00h10D00D(BuiltInId::texelFetch_Sampler1DArray1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00h10D00D00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00p10D00D(BuiltInId::texelFetch_ISampler1DArray1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00p10D00D00D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00u10D00D(BuiltInId::texelFetch_USampler1DArray1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00u10D00D00D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00j00D(BuiltInId::texelFetch_SamplerBuffer1_Int1,
                                  BuiltInName::texelFetch,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00j00D,
                                  2,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texelFetch_00r00D(BuiltInId::texelFetch_ISamplerBuffer1_Int1,
                                  BuiltInName::texelFetch,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00r00D,
                                  2,
                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texelFetch_00w00D(BuiltInId::texelFetch_USamplerBuffer1_Int1,
                                  BuiltInName::texelFetch,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00w00D,
                                  2,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction textureGrad_00I10B10B10B(BuiltInId::textureGrad_Sampler2D1_Float2_Float2_Float2,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00I10B10B10B10D,
                                         4,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00R10B10B10B(BuiltInId::textureGrad_ISampler2D1_Float2_Float2_Float2,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00R10B10B10B10D,
                                         4,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00X10B10B10B(BuiltInId::textureGrad_USampler2D1_Float2_Float2_Float2,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00X10B10B10B10D,
                                         4,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00J20B20B20B(BuiltInId::textureGrad_Sampler3D1_Float3_Float3_Float3,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00J20B20B20B20D,
                                         4,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00S20B20B20B(BuiltInId::textureGrad_ISampler3D1_Float3_Float3_Float3,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00S20B20B20B20D,
                                         4,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00Y20B20B20B(BuiltInId::textureGrad_USampler3D1_Float3_Float3_Float3,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00Y20B20B20B20D,
                                         4,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00K20B20B20B(BuiltInId::textureGrad_SamplerCube1_Float3_Float3_Float3,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00K20B20B20B,
                                         4,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00T20B20B20B(BuiltInId::textureGrad_ISamplerCube1_Float3_Float3_Float3,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00T20B20B20B,
                                         4,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00Z20B20B20B(BuiltInId::textureGrad_USamplerCube1_Float3_Float3_Float3,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00Z20B20B20B,
                                         4,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00I00B00B00B(BuiltInId::textureGrad_Sampler2D1_Float1_Float1_Float1,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00I00B00B00B,
                                         4,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00R00B00B00B(BuiltInId::textureGrad_ISampler2D1_Float1_Float1_Float1,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00R00B00B00B,
                                         4,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00X00B00B00B(BuiltInId::textureGrad_USampler2D1_Float1_Float1_Float1,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00X00B00B00B,
                                         4,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00O10B10B10B(BuiltInId::textureGrad_Sampler2DRect1_Float2_Float2_Float2,
                                         BuiltInName::textureGrad,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00O10B10B10B10D,
                                         4,
                                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction textureGrad_00q10B10B10B(
    BuiltInId::textureGrad_ISampler2DRect1_Float2_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q10B10B10B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00v10B10B10B(
    BuiltInId::textureGrad_USampler2DRect1_Float2_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v10B10B10B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00n20B10B10B(
    BuiltInId::textureGrad_Sampler2DRectShadow1_Float3_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00n20B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00d20B10B10B(
    BuiltInId::textureGrad_Sampler2DShadow1_Float3_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d20B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00e30B20B20B(
    BuiltInId::textureGrad_SamplerCubeShadow1_Float4_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00e30B20B20B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00L20B10B10B(
    BuiltInId::textureGrad_Sampler2DArray1_Float3_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00U20B10B10B(
    BuiltInId::textureGrad_ISampler2DArray1_Float3_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20B10B10B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00a20B10B10B(
    BuiltInId::textureGrad_USampler2DArray1_Float3_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20B10B10B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00f30B10B10B(
    BuiltInId::textureGrad_Sampler2DArrayShadow1_Float4_Float2_Float2,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00f30B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00m20B00B00B(
    BuiltInId::textureGrad_Sampler1DShadow1_Float3_Float1_Float1,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m20B00B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00h10B00B00B(
    BuiltInId::textureGrad_Sampler1DArray1_Float2_Float1_Float1,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00h10B00B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00p10B00B00B(
    BuiltInId::textureGrad_ISampler1DArray1_Float2_Float1_Float1,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00p10B00B00B00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00u10B00B00B(
    BuiltInId::textureGrad_USampler1DArray1_Float2_Float1_Float1,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00u10B00B00B00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00i20B00B00B(
    BuiltInId::textureGrad_Sampler1DArrayShadow1_Float3_Float1_Float1,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00i20B00B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00k30B20B20B(
    BuiltInId::textureGrad_SamplerCubeArray1_Float4_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00k30B20B20B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00s30B20B20B(
    BuiltInId::textureGrad_ISamplerCubeArray1_Float4_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00s30B20B20B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGrad_00x30B20B20B(
    BuiltInId::textureGrad_USamplerCubeArray1_Float4_Float3_Float3,
    BuiltInName::textureGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00x30B20B20B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00I20B10B10B(
    BuiltInId::textureProjGrad_Sampler2D1_Float3_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I20B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00R20B10B10B(
    BuiltInId::textureProjGrad_ISampler2D1_Float3_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R20B10B10B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00X20B10B10B(
    BuiltInId::textureProjGrad_USampler2D1_Float3_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X20B10B10B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00I30B10B10B(
    BuiltInId::textureProjGrad_Sampler2D1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I30B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00R30B10B10B(
    BuiltInId::textureProjGrad_ISampler2D1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R30B10B10B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00X30B10B10B(
    BuiltInId::textureProjGrad_USampler2D1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X30B10B10B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00J30B20B20B(
    BuiltInId::textureProjGrad_Sampler3D1_Float4_Float3_Float3,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J30B20B20B20D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00S30B20B20B(
    BuiltInId::textureProjGrad_ISampler3D1_Float4_Float3_Float3,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00S30B20B20B20D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00Y30B20B20B(
    BuiltInId::textureProjGrad_USampler3D1_Float4_Float3_Float3,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y30B20B20B20D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00d30B10B10B(
    BuiltInId::textureProjGrad_Sampler2DShadow1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d30B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00g10B00B00B(
    BuiltInId::textureProjGrad_Sampler1D1_Float2_Float1_Float1,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g10B00B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00o10B00B00B(
    BuiltInId::textureProjGrad_ISampler1D1_Float2_Float1_Float1,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o10B00B00B00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00t10B00B00B(
    BuiltInId::textureProjGrad_USampler1D1_Float2_Float1_Float1,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t10B00B00B00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00g30B00B00B(
    BuiltInId::textureProjGrad_Sampler1D1_Float4_Float1_Float1,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g30B00B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00o30B00B00B(
    BuiltInId::textureProjGrad_ISampler1D1_Float4_Float1_Float1,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o30B00B00B00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00t30B00B00B(
    BuiltInId::textureProjGrad_USampler1D1_Float4_Float1_Float1,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t30B00B00B00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00m30B00B00B(
    BuiltInId::textureProjGrad_Sampler1DShadow1_Float4_Float1_Float1,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m30B00B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00O20B10B10B(
    BuiltInId::textureProjGrad_Sampler2DRect1_Float3_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O20B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00q20B10B10B(
    BuiltInId::textureProjGrad_ISampler2DRect1_Float3_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q20B10B10B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00v20B10B10B(
    BuiltInId::textureProjGrad_USampler2DRect1_Float3_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v20B10B10B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00O30B10B10B(
    BuiltInId::textureProjGrad_Sampler2DRect1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O30B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00q30B10B10B(
    BuiltInId::textureProjGrad_ISampler2DRect1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q30B10B10B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00v30B10B10B(
    BuiltInId::textureProjGrad_USampler2DRect1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v30B10B10B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGrad_00n30B10B10B(
    BuiltInId::textureProjGrad_Sampler2DRectShadow1_Float4_Float2_Float2,
    BuiltInName::textureProjGrad,
    TExtension::UNDEFINED,
    BuiltInParameters::p00n30B10B10B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureQueryLevels_00g(BuiltInId::textureQueryLevels_Sampler1D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00g00B00B00B00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00o(BuiltInId::textureQueryLevels_ISampler1D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00o00B00B00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00t(BuiltInId::textureQueryLevels_USampler1D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00t10B00D00B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00I(BuiltInId::textureQueryLevels_Sampler2D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00I10B00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00R(BuiltInId::textureQueryLevels_ISampler2D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00R10B70D00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00X(BuiltInId::textureQueryLevels_USampler2D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00X10D00D10D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00J(BuiltInId::textureQueryLevels_Sampler3D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00J30B00B20D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00S(BuiltInId::textureQueryLevels_ISampler3D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00S30B20D00B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00Y(BuiltInId::textureQueryLevels_USampler3D1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00Y20B20B20B20D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00K(BuiltInId::textureQueryLevels_SamplerCube1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00K00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00T(BuiltInId::textureQueryLevels_ISamplerCube1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00T00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00Z(BuiltInId::textureQueryLevels_USamplerCube1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00Z00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00h(BuiltInId::textureQueryLevels_Sampler1DArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00h10B00B00B00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00p(BuiltInId::textureQueryLevels_ISampler1DArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00p00B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00u(BuiltInId::textureQueryLevels_USampler1DArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00u00B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00L(BuiltInId::textureQueryLevels_Sampler2DArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00L20B10D00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00U(BuiltInId::textureQueryLevels_ISampler2DArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00U20B10D00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00a(BuiltInId::textureQueryLevels_USampler2DArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00a00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00k(BuiltInId::textureQueryLevels_SamplerCubeArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00k30B00B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00s(BuiltInId::textureQueryLevels_ISamplerCubeArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00s20B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00x(BuiltInId::textureQueryLevels_USamplerCubeArray1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00x20B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00m(BuiltInId::textureQueryLevels_Sampler1DShadow1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00m30B00D00B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00d(BuiltInId::textureQueryLevels_Sampler2DShadow1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00d20B00B10D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00e(BuiltInId::textureQueryLevels_SamplerCubeShadow1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00e20B00B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00i(BuiltInId::textureQueryLevels_Sampler1DArrayShadow1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00i00D,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00f(BuiltInId::textureQueryLevels_Sampler2DArrayShadow1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00f10B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLevels_00l(BuiltInId::textureQueryLevels_SamplerCubeArrayShadow1,
                                       BuiltInName::textureQueryLevels,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00l30B00B,
                                       1,
                                       StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureSamples_00P(BuiltInId::textureSamples_Sampler2DMS1,
                                   BuiltInName::textureSamples,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00P10D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSamples_00V(BuiltInId::textureSamples_ISampler2DMS1,
                                   BuiltInName::textureSamples,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00V10D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSamples_00b(BuiltInId::textureSamples_USampler2DMS1,
                                   BuiltInName::textureSamples,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00b10D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSamples_00Q(BuiltInId::textureSamples_Sampler2DMSArray1,
                                   BuiltInName::textureSamples,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00Q20D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSamples_00W(BuiltInId::textureSamples_ISampler2DMSArray1,
                                   BuiltInName::textureSamples,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00W20D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSamples_00c(BuiltInId::textureSamples_USampler2DMSArray1,
                                   BuiltInName::textureSamples,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00c20D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00P(BuiltInId::textureSize_Sampler2DMS1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00P10D00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00V(BuiltInId::textureSize_ISampler2DMS1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00V10D00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00b(BuiltInId::textureSize_USampler2DMS1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00b10D00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSizeExt_00P(BuiltInId::textureSizeExt_Sampler2DMS1,
                                   BuiltInName::textureSizeExt,
                                   TExtension::ANGLE_texture_multisample,
                                   BuiltInParameters::p00P10D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSizeExt_00V(BuiltInId::textureSizeExt_ISampler2DMS1,
                                   BuiltInName::textureSizeExt,
                                   TExtension::ANGLE_texture_multisample,
                                   BuiltInParameters::p00V10D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSizeExt_00b(BuiltInId::textureSizeExt_USampler2DMS1,
                                   BuiltInName::textureSizeExt,
                                   TExtension::ANGLE_texture_multisample,
                                   BuiltInParameters::p00b10D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00Q(BuiltInId::textureSize_Sampler2DMSArray1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00Q20D00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00W(BuiltInId::textureSize_ISampler2DMSArray1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00W20D00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSize_00c(BuiltInId::textureSize_USampler2DMSArray1,
                                BuiltInName::textureSize,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p00c20D00D,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction textureSizeExt_00Q(BuiltInId::textureSizeExt_Sampler2DMSArray1,
                                   BuiltInName::textureSizeExt,
                                   TExtension::OES_texture_storage_multisample_2d_array,
                                   BuiltInParameters::p00Q20D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSizeExt_00W(BuiltInId::textureSizeExt_ISampler2DMSArray1,
                                   BuiltInName::textureSizeExt,
                                   TExtension::OES_texture_storage_multisample_2d_array,
                                   BuiltInParameters::p00W20D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSizeExt_00c(BuiltInId::textureSizeExt_USampler2DMSArray1,
                                   BuiltInName::textureSizeExt,
                                   TExtension::OES_texture_storage_multisample_2d_array,
                                   BuiltInParameters::p00c20D00D,
                                   1,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction texelFetch_00P10D00D(BuiltInId::texelFetch_Sampler2DMS1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00P10D00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00V10D00D(BuiltInId::texelFetch_ISampler2DMS1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00V10D00D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00b10D00D(BuiltInId::texelFetch_USampler2DMS1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00b10D00D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetchExt_00P10D00D(BuiltInId::texelFetchExt_Sampler2DMS1_Int2_Int1,
                                        BuiltInName::texelFetchExt,
                                        TExtension::ANGLE_texture_multisample,
                                        BuiltInParameters::p00P10D00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texelFetchExt_00V10D00D(BuiltInId::texelFetchExt_ISampler2DMS1_Int2_Int1,
                                        BuiltInName::texelFetchExt,
                                        TExtension::ANGLE_texture_multisample,
                                        BuiltInParameters::p00V10D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texelFetchExt_00b10D00D(BuiltInId::texelFetchExt_USampler2DMS1_Int2_Int1,
                                        BuiltInName::texelFetchExt,
                                        TExtension::ANGLE_texture_multisample,
                                        BuiltInParameters::p00b10D00D,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texelFetch_00Q20D00D(BuiltInId::texelFetch_Sampler2DMSArray1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00Q20D00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00W20D00D(BuiltInId::texelFetch_ISampler2DMSArray1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00W20D00D,
                                     3,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetch_00c20D00D(BuiltInId::texelFetch_USampler2DMSArray1_Int3_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00c20D00D,
                                     3,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texelFetchExt_00Q20D00D(BuiltInId::texelFetchExt_Sampler2DMSArray1_Int3_Int1,
                                        BuiltInName::texelFetchExt,
                                        TExtension::OES_texture_storage_multisample_2d_array,
                                        BuiltInParameters::p00Q20D00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texelFetchExt_00W20D00D(BuiltInId::texelFetchExt_ISampler2DMSArray1_Int3_Int1,
                                        BuiltInName::texelFetchExt,
                                        TExtension::OES_texture_storage_multisample_2d_array,
                                        BuiltInParameters::p00W20D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texelFetchExt_00c20D00D(BuiltInId::texelFetchExt_USampler2DMSArray1_Int3_Int1,
                                        BuiltInName::texelFetchExt,
                                        TExtension::OES_texture_storage_multisample_2d_array,
                                        BuiltInParameters::p00c20D00D,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction texture_00I10B00B(BuiltInId::texture_Sampler2D1_Float2_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00I10B00B10D,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00R10B00B(BuiltInId::texture_ISampler2D1_Float2_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00R10B00B10D,
                                  3,
                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00X10B00B(BuiltInId::texture_USampler2D1_Float2_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00X10B00B10D,
                                  3,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00J20B00B(BuiltInId::texture_Sampler3D1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00J20B00B20D,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00S20B00B(BuiltInId::texture_ISampler3D1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00S20B00B20D,
                                  3,
                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00Y20B00B(BuiltInId::texture_USampler3D1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00Y20B00B20D,
                                  3,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00K20B00B(BuiltInId::texture_SamplerCube1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00K20B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00T20B00B(BuiltInId::texture_ISamplerCube1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00T20B00B,
                                  3,
                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00Z20B00B(BuiltInId::texture_USamplerCube1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00Z20B00B,
                                  3,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00L20B00B(BuiltInId::texture_Sampler2DArray1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00L20B00B10D,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00U20B00B(BuiltInId::texture_ISampler2DArray1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00U20B00B10D,
                                  3,
                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00a20B00B(BuiltInId::texture_USampler2DArray1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00a20B00B10D,
                                  3,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction textureProj_00I20B00B(BuiltInId::textureProj_Sampler2D1_Float3_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00I20B00B10D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00R20B00B(BuiltInId::textureProj_ISampler2D1_Float3_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00R20B00B10D,
                                      3,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00X20B00B(BuiltInId::textureProj_USampler2D1_Float3_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00X20B00B10D,
                                      3,
                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00I30B00B(BuiltInId::textureProj_Sampler2D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00I30B00B10D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00R30B00B(BuiltInId::textureProj_ISampler2D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00R30B00B10D,
                                      3,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00X30B00B(BuiltInId::textureProj_USampler2D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00X30B00B10D,
                                      3,
                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00J30B00B(BuiltInId::textureProj_Sampler3D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00J30B00B20D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00S30B00B(BuiltInId::textureProj_ISampler3D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00S30B00B20D,
                                      3,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00Y30B00B(BuiltInId::textureProj_USampler3D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00Y30B00B20D,
                                      3,
                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction texture_00d20B00B(BuiltInId::texture_Sampler2DShadow1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00d20B00B10D,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00e30B00B(BuiltInId::texture_SamplerCubeShadow1_Float4_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00e30B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction textureProj_00d30B00B(BuiltInId::textureProj_Sampler2DShadow1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00d30B00B10D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction texture_00g00B00B(BuiltInId::texture_Sampler1D1_Float1_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00g00B00B00B00D,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00o00B00B(BuiltInId::texture_ISampler1D1_Float1_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00o00B00B00D,
                                  3,
                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00t00B00B(BuiltInId::texture_USampler1D1_Float1_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00t00B00B00D,
                                  3,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00m20B00B(BuiltInId::texture_Sampler1DShadow1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00m20B00B00B00D,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00h20B00B(BuiltInId::texture_Sampler1DArray1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00h20B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00p20B00B(BuiltInId::texture_ISampler1DArray1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00p20B00B,
                                  3,
                                  StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00u20B00B(BuiltInId::texture_USampler1DArray1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00u20B00B,
                                  3,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00i20B00B(BuiltInId::texture_Sampler1DArrayShadow1_Float3_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00i20B00B00D,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction texture_00f30B00B(BuiltInId::texture_Sampler2DArrayShadow1_Float4_Float1,
                                  BuiltInName::texture,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00f30B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction textureProj_00g10B00B(BuiltInId::textureProj_Sampler1D1_Float2_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00g10B00B00D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00o10B00B(BuiltInId::textureProj_ISampler1D1_Float2_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00o10B00B00B00D,
                                      3,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00t10B00B(BuiltInId::textureProj_USampler1D1_Float2_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00t10B00B00D,
                                      3,
                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00g30B00B(BuiltInId::textureProj_Sampler1D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00g30B00B00B00D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00o30B00B(BuiltInId::textureProj_ISampler1D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00o30B00B00D,
                                      3,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00t30B00B(BuiltInId::textureProj_USampler1D1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00t30B00B00D,
                                      3,
                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00m30B00B(BuiltInId::textureProj_Sampler1DShadow1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p00m30B00B00D,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction texture_00M10B00B(BuiltInId::texture_SamplerExternalOES1_Float2_Float1,
                                  BuiltInName::texture,
                                  TExtension::OES_EGL_image_external_essl3,
                                  BuiltInParameters::p00M10B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction textureProj_00M20B00B(BuiltInId::textureProj_SamplerExternalOES1_Float3_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::OES_EGL_image_external_essl3,
                                      BuiltInParameters::p00M20B00B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00M30B00B(BuiltInId::textureProj_SamplerExternalOES1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::OES_EGL_image_external_essl3,
                                      BuiltInParameters::p00M30B00B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction texture_00N10B00B(BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2_Float1,
                                  BuiltInName::texture,
                                  TExtension::EXT_YUV_target,
                                  BuiltInParameters::p00N10B00B,
                                  3,
                                  StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction textureProj_00N20B00B(BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::EXT_YUV_target,
                                      BuiltInParameters::p00N20B00B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureProj_00N30B00B(BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4_Float1,
                                      BuiltInName::textureProj,
                                      TExtension::EXT_YUV_target,
                                      BuiltInParameters::p00N30B00B,
                                      3,
                                      StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                      EOpCallBuiltInFunction,
                                      false);
const TFunction textureQueryLod_00g00B(BuiltInId::textureQueryLod_Sampler1D1_Float1,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00g00B00B00B00D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00o00B(BuiltInId::textureQueryLod_ISampler1D1_Float1,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00o00B00B00D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00t00B(BuiltInId::textureQueryLod_USampler1D1_Float1,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00t00B00B00D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00I10B(BuiltInId::textureQueryLod_Sampler2D1_Float2,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00I10B00D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00R10B(BuiltInId::textureQueryLod_ISampler2D1_Float2,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00R10B70D00D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00X10B(BuiltInId::textureQueryLod_USampler2D1_Float2,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00X10B70D00D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00J20B(BuiltInId::textureQueryLod_Sampler3D1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00J20B00B20D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00S20B(BuiltInId::textureQueryLod_ISampler3D1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00S20B20B20B20D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00Y20B(BuiltInId::textureQueryLod_USampler3D1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00Y20B20B20B20D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00K20B(BuiltInId::textureQueryLod_SamplerCube1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00K20B20B20B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00T20B(BuiltInId::textureQueryLod_ISamplerCube1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00T20B00D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00Z20B(BuiltInId::textureQueryLod_USamplerCube1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00Z20B00B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00h00B(BuiltInId::textureQueryLod_Sampler1DArray1_Float1,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00h00B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00p00B(BuiltInId::textureQueryLod_ISampler1DArray1_Float1,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00p00B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00u00B(BuiltInId::textureQueryLod_USampler1DArray1_Float1,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00u00B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00L10B(BuiltInId::textureQueryLod_Sampler2DArray1_Float2,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00L10B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00U10B(BuiltInId::textureQueryLod_ISampler2DArray1_Float2,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00U10B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00a10B(BuiltInId::textureQueryLod_USampler2DArray1_Float2,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00a10B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00k20B(BuiltInId::textureQueryLod_SamplerCubeArray1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00k20B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00s20B(BuiltInId::textureQueryLod_ISamplerCubeArray1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00s20B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00x20B(BuiltInId::textureQueryLod_USamplerCubeArray1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00x20B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00m00B(BuiltInId::textureQueryLod_Sampler1DShadow1_Float1,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00m00B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00d10B(BuiltInId::textureQueryLod_Sampler2DShadow1_Float2,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00d10B00B10D,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00e20B(BuiltInId::textureQueryLod_SamplerCubeShadow1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00e20B00B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00i00B(BuiltInId::textureQueryLod_Sampler1DArrayShadow1_Float1,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00i00B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00f10B(BuiltInId::textureQueryLod_Sampler2DArrayShadow1_Float2,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00f10B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureQueryLod_00l20B(BuiltInId::textureQueryLod_SamplerCubeArrayShadow1_Float3,
                                       BuiltInName::textureQueryLod,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00l20B,
                                       2,
                                       StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction textureOffset_00I10B10D(BuiltInId::textureOffset_Sampler2D1_Float2_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00I10B10D00B,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00R10B10D(BuiltInId::textureOffset_ISampler2D1_Float2_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00R10B10D00B,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00X10B10D(BuiltInId::textureOffset_USampler2D1_Float2_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00X10B10D00B,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00J20B20D(BuiltInId::textureOffset_Sampler3D1_Float3_Int3,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00J20B20D00B,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00S20B20D(BuiltInId::textureOffset_ISampler3D1_Float3_Int3,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00S20B20D00B,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00Y20B20D(BuiltInId::textureOffset_USampler3D1_Float3_Int3,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00Y20B20D00B,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00d20B10D(BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00d20B10D00B,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00L20B10D(BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00L20B10D00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00U20B10D(BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00U20B10D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00a20B10D(BuiltInId::textureOffset_USampler2DArray1_Float3_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00a20B10D00B,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00g00B00D(BuiltInId::textureOffset_Sampler1D1_Float1_Int1,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00g00B00D00B,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00o00B00D(BuiltInId::textureOffset_ISampler1D1_Float1_Int1,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00o00B00D00B,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00t00B00D(BuiltInId::textureOffset_USampler1D1_Float1_Int1,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00t00B00D00B,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00O10B10D(BuiltInId::textureOffset_Sampler2DRect1_Float2_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00O10B10D00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00q10B10D(BuiltInId::textureOffset_ISampler2DRect1_Float2_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00q10B10D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00v10B10D(BuiltInId::textureOffset_USampler2DRect1_Float2_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00v10B10D00D,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00n20B10D(BuiltInId::textureOffset_Sampler2DRectShadow1_Float3_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00n20B10D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00m20B00D(BuiltInId::textureOffset_Sampler1DShadow1_Float3_Int1,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00m20B00D00B,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00h10B00D(BuiltInId::textureOffset_Sampler1DArray1_Float2_Int1,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00h10B00D00B,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00p10B00D(BuiltInId::textureOffset_ISampler1DArray1_Float2_Int1,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00p10B00D00B,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00u10B00D(BuiltInId::textureOffset_USampler1DArray1_Float2_Int1,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00u10B00D00B,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00i20B00D(BuiltInId::textureOffset_Sampler1DArrayShadow1_Float3_Int1,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00i20B00D00B,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureOffset_00f30B10D(BuiltInId::textureOffset_Sampler2DArrayShadow1_Float4_Int2,
                                        BuiltInName::textureOffset,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00f30B10D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureProjOffset_00I20B10D(
    BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I20B10D00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00R20B10D(
    BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R20B10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00X20B10D(
    BuiltInId::textureProjOffset_USampler2D1_Float3_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X20B10D00B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00I30B10D(
    BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I30B10D00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00R30B10D(
    BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R30B10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00X30B10D(
    BuiltInId::textureProjOffset_USampler2D1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X30B10D00B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00J30B20D(
    BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J30B20D00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00S30B20D(
    BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00S30B20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00Y30B20D(
    BuiltInId::textureProjOffset_USampler3D1_Float4_Int3,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y30B20D00B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00d30B10D(
    BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d30B10D00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00g10B00D(
    BuiltInId::textureProjOffset_Sampler1D1_Float2_Int1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g10B00D00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00o10B00D(
    BuiltInId::textureProjOffset_ISampler1D1_Float2_Int1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o10B00D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00t10B00D(
    BuiltInId::textureProjOffset_USampler1D1_Float2_Int1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t10B00D00B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00g30B00D(
    BuiltInId::textureProjOffset_Sampler1D1_Float4_Int1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g30B00D00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00o30B00D(
    BuiltInId::textureProjOffset_ISampler1D1_Float4_Int1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o30B00D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00t30B00D(
    BuiltInId::textureProjOffset_USampler1D1_Float4_Int1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t30B00D00B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00O20B10D(
    BuiltInId::textureProjOffset_Sampler2DRect1_Float3_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O20B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00q20B10D(
    BuiltInId::textureProjOffset_ISampler2DRect1_Float3_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q20B10D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00v20B10D(
    BuiltInId::textureProjOffset_USampler2DRect1_Float3_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v20B10D,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00O30B10D(
    BuiltInId::textureProjOffset_Sampler2DRect1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O30B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00q30B10D(
    BuiltInId::textureProjOffset_ISampler2DRect1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q30B10D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00v30B10D(
    BuiltInId::textureProjOffset_USampler2DRect1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v30B10D,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00n30B10D(
    BuiltInId::textureProjOffset_Sampler2DRectShadow1_Float4_Int2,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00n30B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00m30B00D(
    BuiltInId::textureProjOffset_Sampler1DShadow1_Float4_Int1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m30B00D00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00I10B00B10D(
    BuiltInId::textureLodOffset_Sampler2D1_Float2_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I10B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00R10B00B10D(
    BuiltInId::textureLodOffset_ISampler2D1_Float2_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R10B00B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00X10B00B10D(
    BuiltInId::textureLodOffset_USampler2D1_Float2_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X10B00B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00J20B00B20D(
    BuiltInId::textureLodOffset_Sampler3D1_Float3_Float1_Int3,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J20B00B20D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00S20B00B20D(
    BuiltInId::textureLodOffset_ISampler3D1_Float3_Float1_Int3,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00S20B00B20D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00Y20B00B20D(
    BuiltInId::textureLodOffset_USampler3D1_Float3_Float1_Int3,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y20B00B20D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00d20B00B10D(
    BuiltInId::textureLodOffset_Sampler2DShadow1_Float3_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d20B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00L20B00B10D(
    BuiltInId::textureLodOffset_Sampler2DArray1_Float3_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00U20B00B10D(
    BuiltInId::textureLodOffset_ISampler2DArray1_Float3_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20B00B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00a20B00B10D(
    BuiltInId::textureLodOffset_USampler2DArray1_Float3_Float1_Int2,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20B00B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00g00B00B00D(
    BuiltInId::textureLodOffset_Sampler1D1_Float1_Float1_Int1,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g00B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00o00B00B00D(
    BuiltInId::textureLodOffset_ISampler1D1_Float1_Float1_Int1,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o00B00B00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00t00B00B00D(
    BuiltInId::textureLodOffset_USampler1D1_Float1_Float1_Int1,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t00B00B00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00m20B00B00D(
    BuiltInId::textureLodOffset_Sampler1DShadow1_Float3_Float1_Int1,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m20B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00h10B00B00D(
    BuiltInId::textureLodOffset_Sampler1DArray1_Float2_Float1_Int1,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00h10B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00p10B00B00D(
    BuiltInId::textureLodOffset_ISampler1DArray1_Float2_Float1_Int1,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00p10B00B00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00u10B00B00D(
    BuiltInId::textureLodOffset_USampler1DArray1_Float2_Float1_Int1,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00u10B00B00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureLodOffset_00i20B00B00D(
    BuiltInId::textureLodOffset_Sampler1DArrayShadow1_Float3_Float1_Int1,
    BuiltInName::textureLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00i20B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00I20B00B10D(
    BuiltInId::textureProjLodOffset_Sampler2D1_Float3_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I20B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00R20B00B10D(
    BuiltInId::textureProjLodOffset_ISampler2D1_Float3_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R20B00B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00X20B00B10D(
    BuiltInId::textureProjLodOffset_USampler2D1_Float3_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X20B00B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00I30B00B10D(
    BuiltInId::textureProjLodOffset_Sampler2D1_Float4_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I30B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00R30B00B10D(
    BuiltInId::textureProjLodOffset_ISampler2D1_Float4_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R30B00B10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00X30B00B10D(
    BuiltInId::textureProjLodOffset_USampler2D1_Float4_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X30B00B10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00J30B00B20D(
    BuiltInId::textureProjLodOffset_Sampler3D1_Float4_Float1_Int3,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J30B00B20D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00S30B00B20D(
    BuiltInId::textureProjLodOffset_ISampler3D1_Float4_Float1_Int3,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00S30B00B20D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00Y30B00B20D(
    BuiltInId::textureProjLodOffset_USampler3D1_Float4_Float1_Int3,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y30B00B20D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00d30B00B10D(
    BuiltInId::textureProjLodOffset_Sampler2DShadow1_Float4_Float1_Int2,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d30B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00g10B00B00D(
    BuiltInId::textureProjLodOffset_Sampler1D1_Float2_Float1_Int1,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g10B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00o10B00B00D(
    BuiltInId::textureProjLodOffset_ISampler1D1_Float2_Float1_Int1,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o10B00B00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00t10B00B00D(
    BuiltInId::textureProjLodOffset_USampler1D1_Float2_Float1_Int1,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t10B00B00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00g30B00B00D(
    BuiltInId::textureProjLodOffset_Sampler1D1_Float4_Float1_Int1,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g30B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00o30B00B00D(
    BuiltInId::textureProjLodOffset_ISampler1D1_Float4_Float1_Int1,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o30B00B00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00t30B00B00D(
    BuiltInId::textureProjLodOffset_USampler1D1_Float4_Float1_Int1,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t30B00B00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjLodOffset_00m30B00B00D(
    BuiltInId::textureProjLodOffset_Sampler1DShadow1_Float4_Float1_Int1,
    BuiltInName::textureProjLodOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m30B00B00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00I10D00D10D(
    BuiltInId::texelFetchOffset_Sampler2D1_Int2_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I10D00D10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00R10D00D10D(
    BuiltInId::texelFetchOffset_ISampler2D1_Int2_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R10D00D10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00X10D00D10D(
    BuiltInId::texelFetchOffset_USampler2D1_Int2_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X10D00D10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00J20D00D20D(
    BuiltInId::texelFetchOffset_Sampler3D1_Int3_Int1_Int3,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J20D00D20D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00S20D00D20D(
    BuiltInId::texelFetchOffset_ISampler3D1_Int3_Int1_Int3,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00S20D00D20D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00Y20D00D20D(
    BuiltInId::texelFetchOffset_USampler3D1_Int3_Int1_Int3,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y20D00D20D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00L20D00D10D(
    BuiltInId::texelFetchOffset_Sampler2DArray1_Int3_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20D00D10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00U20D00D10D(
    BuiltInId::texelFetchOffset_ISampler2DArray1_Int3_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20D00D10D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00a20D00D10D(
    BuiltInId::texelFetchOffset_USampler2DArray1_Int3_Int1_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20D00D10D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00g00D00D00D(
    BuiltInId::texelFetchOffset_Sampler1D1_Int1_Int1_Int1,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g00D00D00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00o00D00D00D(
    BuiltInId::texelFetchOffset_ISampler1D1_Int1_Int1_Int1,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00t00D00D00D(
    BuiltInId::texelFetchOffset_USampler1D1_Int1_Int1_Int1,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t00D00D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00O10D10D(
    BuiltInId::texelFetchOffset_Sampler2DRect1_Int2_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O10D10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00q10D10D(BuiltInId::texelFetchOffset_ISampler2DRect1_Int2_Int2,
                                           BuiltInName::texelFetchOffset,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p00q10D10D,
                                           3,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction texelFetchOffset_00v10D10D(
    BuiltInId::texelFetchOffset_USampler2DRect1_Int2_Int2,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v10D10D,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00h10D00D00D(
    BuiltInId::texelFetchOffset_Sampler1DArray1_Int2_Int1_Int1,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00h10D00D00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00p10D00D00D(
    BuiltInId::texelFetchOffset_ISampler1DArray1_Int2_Int1_Int1,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00p10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texelFetchOffset_00u10D00D00D(
    BuiltInId::texelFetchOffset_USampler1DArray1_Int2_Int1_Int1,
    BuiltInName::texelFetchOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00u10D00D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00I10B10B10B10D(
    BuiltInId::textureGradOffset_Sampler2D1_Float2_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I10B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00R10B10B10B10D(
    BuiltInId::textureGradOffset_ISampler2D1_Float2_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R10B10B10B10D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00X10B10B10B10D(
    BuiltInId::textureGradOffset_USampler2D1_Float2_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X10B10B10B10D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00J20B20B20B20D(
    BuiltInId::textureGradOffset_Sampler3D1_Float3_Float3_Float3_Int3,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J20B20B20B20D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00S20B20B20B20D(
    BuiltInId::textureGradOffset_ISampler3D1_Float3_Float3_Float3_Int3,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00S20B20B20B20D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00Y20B20B20B20D(
    BuiltInId::textureGradOffset_USampler3D1_Float3_Float3_Float3_Int3,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y20B20B20B20D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00d20B10B10B10D(
    BuiltInId::textureGradOffset_Sampler2DShadow1_Float3_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d20B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00L20B10B10B10D(
    BuiltInId::textureGradOffset_Sampler2DArray1_Float3_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00U20B10B10B10D(
    BuiltInId::textureGradOffset_ISampler2DArray1_Float3_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20B10B10B10D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00a20B10B10B10D(
    BuiltInId::textureGradOffset_USampler2DArray1_Float3_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20B10B10B10D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00f30B10B10B10D(
    BuiltInId::textureGradOffset_Sampler2DArrayShadow1_Float4_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00f30B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00g00B00B00B00D(
    BuiltInId::textureGradOffset_Sampler1D1_Float1_Float1_Float1_Int1,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g00B00B00B00D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00o00B00B00B00D(
    BuiltInId::textureGradOffset_ISampler1D1_Float1_Float1_Float1_Int1,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o00B00B00B00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00t00B00B00B00D(
    BuiltInId::textureGradOffset_USampler1D1_Float1_Float1_Float1_Int1,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t00B00B00B00D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00O10B10B10B10D(
    BuiltInId::textureGradOffset_Sampler2DRect1_Float2_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O10B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00q10B10B10B10D(
    BuiltInId::textureGradOffset_ISampler2DRect1_Float2_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q10B10B10B10D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00v10B10B10B10D(
    BuiltInId::textureGradOffset_USampler2DRect1_Float2_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v10B10B10B10D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00n20B10B10B10D(
    BuiltInId::textureGradOffset_Sampler2DRectShadow1_Float3_Float2_Float2_Int2,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00n20B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00m20B00B00B00D(
    BuiltInId::textureGradOffset_Sampler1DShadow1_Float3_Float1_Float1_Int1,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m20B00B00B00D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00h10B00B00B00D(
    BuiltInId::textureGradOffset_Sampler1DArray1_Float2_Float1_Float1_Int1,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00h10B00B00B00D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00p10B00B00B00D(
    BuiltInId::textureGradOffset_ISampler1DArray1_Float2_Float1_Float1_Int1,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00p10B00B00B00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00u10B00B00B00D(
    BuiltInId::textureGradOffset_USampler1DArray1_Float2_Float1_Float1_Int1,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00u10B00B00B00D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGradOffset_00i20B00B00B00D(
    BuiltInId::textureGradOffset_Sampler1DArrayShadow1_Float3_Float1_Float1_Int1,
    BuiltInName::textureGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00i20B00B00B00D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00I20B10B10B10D(
    BuiltInId::textureProjGradOffset_Sampler2D1_Float3_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I20B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00R20B10B10B10D(
    BuiltInId::textureProjGradOffset_ISampler2D1_Float3_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R20B10B10B10D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00X20B10B10B10D(
    BuiltInId::textureProjGradOffset_USampler2D1_Float3_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X20B10B10B10D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00I30B10B10B10D(
    BuiltInId::textureProjGradOffset_Sampler2D1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I30B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00R30B10B10B10D(
    BuiltInId::textureProjGradOffset_ISampler2D1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R30B10B10B10D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00X30B10B10B10D(
    BuiltInId::textureProjGradOffset_USampler2D1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X30B10B10B10D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00J30B20B20B20D(
    BuiltInId::textureProjGradOffset_Sampler3D1_Float4_Float3_Float3_Int3,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J30B20B20B20D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00S30B20B20B20D(
    BuiltInId::textureProjGradOffset_ISampler3D1_Float4_Float3_Float3_Int3,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00S30B20B20B20D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00Y30B20B20B20D(
    BuiltInId::textureProjGradOffset_USampler3D1_Float4_Float3_Float3_Int3,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y30B20B20B20D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00d30B10B10B10D(
    BuiltInId::textureProjGradOffset_Sampler2DShadow1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d30B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00g10B00B00B00D(
    BuiltInId::textureProjGradOffset_Sampler1D1_Float2_Float1_Float1_Int1,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g10B00B00B00D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00o10B00B00B00D(
    BuiltInId::textureProjGradOffset_ISampler1D1_Float2_Float1_Float1_Int1,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o10B00B00B00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00t10B00B00B00D(
    BuiltInId::textureProjGradOffset_USampler1D1_Float2_Float1_Float1_Int1,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t10B00B00B00D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00g30B00B00B00D(
    BuiltInId::textureProjGradOffset_Sampler1D1_Float4_Float1_Float1_Int1,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g30B00B00B00D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00o30B00B00B00D(
    BuiltInId::textureProjGradOffset_ISampler1D1_Float4_Float1_Float1_Int1,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o30B00B00B00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00t30B00B00B00D(
    BuiltInId::textureProjGradOffset_USampler1D1_Float4_Float1_Float1_Int1,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t30B00B00B00D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00O20B10B10B10D(
    BuiltInId::textureProjGradOffset_Sampler2DRect1_Float3_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O20B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00q20B10B10B10D(
    BuiltInId::textureProjGradOffset_ISampler2DRect1_Float3_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q20B10B10B10D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00v20B10B10B10D(
    BuiltInId::textureProjGradOffset_USampler2DRect1_Float3_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v20B10B10B10D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00O30B10B10B10D(
    BuiltInId::textureProjGradOffset_Sampler2DRect1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O30B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00q30B10B10B10D(
    BuiltInId::textureProjGradOffset_ISampler2DRect1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q30B10B10B10D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00v30B10B10B10D(
    BuiltInId::textureProjGradOffset_USampler2DRect1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v30B10B10B10D,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00n30B10B10B10D(
    BuiltInId::textureProjGradOffset_Sampler2DRectShadow1_Float4_Float2_Float2_Int2,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00n30B10B10B10D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjGradOffset_00m30B00B00B00D(
    BuiltInId::textureProjGradOffset_Sampler1DShadow1_Float4_Float1_Float1_Int1,
    BuiltInName::textureProjGradOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m30B00B00B00D,
    5,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00I10B10D00B(
    BuiltInId::textureOffset_Sampler2D1_Float2_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I10B10D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00R10B10D00B(BuiltInId::textureOffset_ISampler2D1_Float2_Int2_Float1,
                                           BuiltInName::textureOffset,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p00R10B10D00B,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction textureOffset_00X10B10D00B(
    BuiltInId::textureOffset_USampler2D1_Float2_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X10B10D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00J20B20D00B(
    BuiltInId::textureOffset_Sampler3D1_Float3_Int3_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J20B20D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00S20B20D00B(BuiltInId::textureOffset_ISampler3D1_Float3_Int3_Float1,
                                           BuiltInName::textureOffset,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p00S20B20D00B,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction textureOffset_00Y20B20D00B(
    BuiltInId::textureOffset_USampler3D1_Float3_Int3_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y20B20D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00d20B10D00B(
    BuiltInId::textureOffset_Sampler2DShadow1_Float3_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d20B10D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00L20B10D00B(
    BuiltInId::textureOffset_Sampler2DArray1_Float3_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20B10D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00U20B10D00B(
    BuiltInId::textureOffset_ISampler2DArray1_Float3_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20B10D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00a20B10D00B(
    BuiltInId::textureOffset_USampler2DArray1_Float3_Int2_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20B10D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00g00B00D00B(
    BuiltInId::textureOffset_Sampler1D1_Float1_Int1_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g00B00D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00o00B00D00B(BuiltInId::textureOffset_ISampler1D1_Float1_Int1_Float1,
                                           BuiltInName::textureOffset,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p00o00B00D00B,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction textureOffset_00t00B00D00B(
    BuiltInId::textureOffset_USampler1D1_Float1_Int1_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t00B00D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00m20B00D00B(
    BuiltInId::textureOffset_Sampler1DShadow1_Float3_Int1_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m20B00D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00h10B00D00B(
    BuiltInId::textureOffset_Sampler1DArray1_Float2_Int1_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00h10B00D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00p10B00D00B(
    BuiltInId::textureOffset_ISampler1DArray1_Float2_Int1_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00p10B00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00u10B00D00B(
    BuiltInId::textureOffset_USampler1DArray1_Float2_Int1_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00u10B00D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureOffset_00i20B00D00B(
    BuiltInId::textureOffset_Sampler1DArrayShadow1_Float3_Int1_Float1,
    BuiltInName::textureOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00i20B00D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00I20B10D00B(
    BuiltInId::textureProjOffset_Sampler2D1_Float3_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I20B10D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00R20B10D00B(
    BuiltInId::textureProjOffset_ISampler2D1_Float3_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R20B10D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00X20B10D00B(
    BuiltInId::textureProjOffset_USampler2D1_Float3_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X20B10D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00I30B10D00B(
    BuiltInId::textureProjOffset_Sampler2D1_Float4_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I30B10D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00R30B10D00B(
    BuiltInId::textureProjOffset_ISampler2D1_Float4_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R30B10D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00X30B10D00B(
    BuiltInId::textureProjOffset_USampler2D1_Float4_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X30B10D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00J30B20D00B(
    BuiltInId::textureProjOffset_Sampler3D1_Float4_Int3_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00J30B20D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00S30B20D00B(
    BuiltInId::textureProjOffset_ISampler3D1_Float4_Int3_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00S30B20D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00Y30B20D00B(
    BuiltInId::textureProjOffset_USampler3D1_Float4_Int3_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00Y30B20D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00d30B10D00B(
    BuiltInId::textureProjOffset_Sampler2DShadow1_Float4_Int2_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d30B10D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00g10B00D00B(
    BuiltInId::textureProjOffset_Sampler1D1_Float2_Int1_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g10B00D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00o10B00D00B(
    BuiltInId::textureProjOffset_ISampler1D1_Float2_Int1_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o10B00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00t10B00D00B(
    BuiltInId::textureProjOffset_USampler1D1_Float2_Int1_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t10B00D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00g30B00D00B(
    BuiltInId::textureProjOffset_Sampler1D1_Float4_Int1_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00g30B00D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00o30B00D00B(
    BuiltInId::textureProjOffset_ISampler1D1_Float4_Int1_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00o30B00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00t30B00D00B(
    BuiltInId::textureProjOffset_USampler1D1_Float4_Int1_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00t30B00D00B,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureProjOffset_00m30B00D00B(
    BuiltInId::textureProjOffset_Sampler1DShadow1_Float4_Int1_Float1,
    BuiltInName::textureProjOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00m30B00D00B,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction texture_00M10B(BuiltInId::texture_SamplerExternalOES1_Float2,
                               BuiltInName::texture,
                               TExtension::OES_EGL_image_external_essl3,
                               BuiltInParameters::p00M10B00B,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction textureProj_00M20B(BuiltInId::textureProj_SamplerExternalOES1_Float3,
                                   BuiltInName::textureProj,
                                   TExtension::OES_EGL_image_external_essl3,
                                   BuiltInParameters::p00M20B00B,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00M30B(BuiltInId::textureProj_SamplerExternalOES1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::OES_EGL_image_external_essl3,
                                   BuiltInParameters::p00M30B00B,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureSize_00M00D(BuiltInId::textureSize_SamplerExternalOES1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::OES_EGL_image_external_essl3,
                                   BuiltInParameters::p00M00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction texelFetch_00M10D00D(BuiltInId::texelFetch_SamplerExternalOES1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::OES_EGL_image_external_essl3,
                                     BuiltInParameters::p00M10D00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction texture_00N10B(BuiltInId::texture_SamplerExternal2DY2YEXT1_Float2,
                               BuiltInName::texture,
                               TExtension::EXT_YUV_target,
                               BuiltInParameters::p00N10B00B,
                               2,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction textureProj_00N20B(BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float3,
                                   BuiltInName::textureProj,
                                   TExtension::EXT_YUV_target,
                                   BuiltInParameters::p00N20B00B,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction textureProj_00N30B(BuiltInId::textureProj_SamplerExternal2DY2YEXT1_Float4,
                                   BuiltInName::textureProj,
                                   TExtension::EXT_YUV_target,
                                   BuiltInParameters::p00N30B00B,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction rgb_2_yuv_20B00H(BuiltInId::rgb_2_yuv_Float3_YuvCscStandardEXT1,
                                 BuiltInName::rgb_2_yuv,
                                 TExtension::EXT_YUV_target,
                                 BuiltInParameters::p20B00H,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction yuv_2_rgb_20B00H(BuiltInId::yuv_2_rgb_Float3_YuvCscStandardEXT1,
                                 BuiltInName::yuv_2_rgb,
                                 TExtension::EXT_YUV_target,
                                 BuiltInParameters::p20B00H,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction textureSize_00N00D(BuiltInId::textureSize_SamplerExternal2DY2YEXT1_Int1,
                                   BuiltInName::textureSize,
                                   TExtension::EXT_YUV_target,
                                   BuiltInParameters::p00N00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction texelFetch_00N10D00D(BuiltInId::texelFetch_SamplerExternal2DY2YEXT1_Int2_Int1,
                                     BuiltInName::texelFetch,
                                     TExtension::EXT_YUV_target,
                                     BuiltInParameters::p00N10D00D,
                                     3,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00I10B(BuiltInId::textureGather_Sampler2D1_Float2,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00I10B00D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00R10B(BuiltInId::textureGather_ISampler2D1_Float2,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00R10B70D00D,
                                     2,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00X10B(BuiltInId::textureGather_USampler2D1_Float2,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00X10B70D00D,
                                     2,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00I10B00D(BuiltInId::textureGather_Sampler2D1_Float2_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00I10B00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00R10B00D(BuiltInId::textureGather_ISampler2D1_Float2_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00R10B00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00X10B00D(BuiltInId::textureGather_USampler2D1_Float2_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00X10B00D,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00L20B(BuiltInId::textureGather_Sampler2DArray1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00L20B10D00D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00U20B(BuiltInId::textureGather_ISampler2DArray1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00U20B10D00D,
                                     2,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00a20B(BuiltInId::textureGather_USampler2DArray1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00a20B10B10B10D,
                                     2,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00L20B00D(BuiltInId::textureGather_Sampler2DArray1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00L20B00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00U20B00D(BuiltInId::textureGather_ISampler2DArray1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00U20B00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00a20B00D(BuiltInId::textureGather_USampler2DArray1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00a20B00D,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00K20B(BuiltInId::textureGather_SamplerCube1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00K20B20B20B,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00T20B(BuiltInId::textureGather_ISamplerCube1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00T20B00D,
                                     2,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00Z20B(BuiltInId::textureGather_USamplerCube1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00Z20B00B,
                                     2,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00K20B00D(BuiltInId::textureGather_SamplerCube1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00K20B00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00T20B00D(BuiltInId::textureGather_ISamplerCube1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00T20B00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00Z20B00D(BuiltInId::textureGather_USamplerCube1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00Z20B00D,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00k30B(BuiltInId::textureGather_SamplerCubeArray1_Float4,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00k30B00B,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00s30B(BuiltInId::textureGather_ISamplerCubeArray1_Float4,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00s30B00B,
                                     2,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00x30B(BuiltInId::textureGather_USamplerCubeArray1_Float4,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00x30B00B,
                                     2,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00k30B00D(BuiltInId::textureGather_SamplerCubeArray1_Float4_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00k30B00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00s30B00D(BuiltInId::textureGather_ISamplerCubeArray1_Float4_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00s30B00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00x30B00D(BuiltInId::textureGather_USamplerCubeArray1_Float4_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00x30B00D,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00O20B(BuiltInId::textureGather_Sampler2DRect1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00O20B00D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00q20B(BuiltInId::textureGather_ISampler2DRect1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00q20B10B10B10D,
                                     2,
                                     StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00v20B(BuiltInId::textureGather_USampler2DRect1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00v20B00D,
                                     2,
                                     StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00O20B00D(BuiltInId::textureGather_Sampler2DRect1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00O20B00D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00q20B00D(BuiltInId::textureGather_ISampler2DRect1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00q20B00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00v20B00D(BuiltInId::textureGather_USampler2DRect1_Float3_Int1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00v20B00D,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00d10B(BuiltInId::textureGather_Sampler2DShadow1_Float2,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00d10B00B10D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00d10B00B(BuiltInId::textureGather_Sampler2DShadow1_Float2_Float1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00d10B00B10D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00f20B(BuiltInId::textureGather_Sampler2DArrayShadow1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00f20B00B10D,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00f20B00B(
    BuiltInId::textureGather_Sampler2DArrayShadow1_Float3_Float1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p00f20B00B10D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGather_00e20B(BuiltInId::textureGather_SamplerCubeShadow1_Float3,
                                     BuiltInName::textureGather,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00e20B00B,
                                     2,
                                     StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction textureGather_00e20B00B(BuiltInId::textureGather_SamplerCubeShadow1_Float3_Float1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00e20B00B,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGather_00l30B00B(
    BuiltInId::textureGather_SamplerCubeArrayShadow1_Float4_Float1,
    BuiltInName::textureGather,
    TExtension::UNDEFINED,
    BuiltInParameters::p00l30B00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGather_00n10B00B(BuiltInId::textureGather_Sampler2DRectShadow1_Float2_Float1,
                                        BuiltInName::textureGather,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00n10B00B70D,
                                        3,
                                        StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction textureGatherOffset_00I10B10D(
    BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I10B10D00B,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00R10B10D(
    BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R10B10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00X10B10D(
    BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X10B10D00B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00I10B10D00D(
    BuiltInId::textureGatherOffset_Sampler2D1_Float2_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I10B10D00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00R10B10D00D(
    BuiltInId::textureGatherOffset_ISampler2D1_Float2_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R10B10D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00X10B10D00D(
    BuiltInId::textureGatherOffset_USampler2D1_Float2_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X10B10D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00L20B10D(
    BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20B10D00D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00U20B10D(
    BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20B10D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00a20B10D(
    BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20B10D00B,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00L20B10D00D(
    BuiltInId::textureGatherOffset_Sampler2DArray1_Float3_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20B10D00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00U20B10D00D(
    BuiltInId::textureGatherOffset_ISampler2DArray1_Float3_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20B10D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00a20B10D00D(
    BuiltInId::textureGatherOffset_USampler2DArray1_Float3_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20B10D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00d10B00B10D(
    BuiltInId::textureGatherOffset_Sampler2DShadow1_Float2_Float1_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d10B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00f20B00B10D(
    BuiltInId::textureGatherOffset_Sampler2DArrayShadow1_Float3_Float1_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00f20B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00O10B10D(
    BuiltInId::textureGatherOffset_Sampler2DRect1_Float2_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O10B10D00D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00q10B10D(
    BuiltInId::textureGatherOffset_ISampler2DRect1_Float2_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q10B10D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00v10B10D(
    BuiltInId::textureGatherOffset_USampler2DRect1_Float2_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v10B10D00D,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00O10B10D00D(
    BuiltInId::textureGatherOffset_Sampler2DRect1_Float2_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O10B10D00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00q10B10D00D(
    BuiltInId::textureGatherOffset_ISampler2DRect1_Float2_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q10B10D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00v10B10D00D(
    BuiltInId::textureGatherOffset_USampler2DRect1_Float2_Int2_Int1,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v10B10D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffset_00n10B00B10D(
    BuiltInId::textureGatherOffset_Sampler2DRectShadow1_Float2_Float1_Int2,
    BuiltInName::textureGatherOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00n10B00B10D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00I10B70D(
    BuiltInId::textureGatherOffsets_Sampler2D1_Float2_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I10B70D00D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00R10B70D(
    BuiltInId::textureGatherOffsets_ISampler2D1_Float2_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R10B70D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00X10B70D(
    BuiltInId::textureGatherOffsets_USampler2D1_Float2_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X10B70D00D,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00I10B70D00D(
    BuiltInId::textureGatherOffsets_Sampler2D1_Float2_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00I10B70D00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00R10B70D00D(
    BuiltInId::textureGatherOffsets_ISampler2D1_Float2_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00R10B70D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00X10B70D00D(
    BuiltInId::textureGatherOffsets_USampler2D1_Float2_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00X10B70D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00L20B70D(
    BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20B70D00D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00U20B70D(
    BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20B70D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00a20B70D(
    BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20B70D00D,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00L20B70D00D(
    BuiltInId::textureGatherOffsets_Sampler2DArray1_Float3_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00L20B70D00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00U20B70D00D(
    BuiltInId::textureGatherOffsets_ISampler2DArray1_Float3_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00U20B70D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00a20B70D00D(
    BuiltInId::textureGatherOffsets_USampler2DArray1_Float3_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00a20B70D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00O10B70D(
    BuiltInId::textureGatherOffsets_Sampler2DRect1_Float2_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O10B70D00D,
    3,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00q10B70D(
    BuiltInId::textureGatherOffsets_ISampler2DRect1_Float2_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q10B70D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00v10B70D(
    BuiltInId::textureGatherOffsets_USampler2DRect1_Float2_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v10B70D00D,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00O10B70D00D(
    BuiltInId::textureGatherOffsets_Sampler2DRect1_Float2_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00O10B70D00D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00q10B70D00D(
    BuiltInId::textureGatherOffsets_ISampler2DRect1_Float2_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00q10B70D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00v10B70D00D(
    BuiltInId::textureGatherOffsets_USampler2DRect1_Float2_Int4x2_Int1,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00v10B70D00D,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00d10B00B70D(
    BuiltInId::textureGatherOffsets_Sampler2DShadow1_Float2_Float1_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00d10B00B70D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00f20B00B70D(
    BuiltInId::textureGatherOffsets_Sampler2DArrayShadow1_Float3_Float1_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00f20B00B70D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction textureGatherOffsets_00n10B00B70D(
    BuiltInId::textureGatherOffsets_Sampler2DRectShadow1_Float2_Float1_Int4x2,
    BuiltInName::textureGatherOffsets,
    TExtension::UNDEFINED,
    BuiltInParameters::p00n10B00B70D,
    4,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction dFdx_00B(BuiltInId::dFdx_Float1,
                         BuiltInName::dFdx,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpDFdx,
                         false);
const TFunction dFdx_10B(BuiltInId::dFdx_Float2,
                         BuiltInName::dFdx,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpDFdx,
                         false);
const TFunction dFdx_20B(BuiltInId::dFdx_Float3,
                         BuiltInName::dFdx,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpDFdx,
                         false);
const TFunction dFdx_30B(BuiltInId::dFdx_Float4,
                         BuiltInName::dFdx,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpDFdx,
                         false);
const TFunction dFdy_00B(BuiltInId::dFdy_Float1,
                         BuiltInName::dFdy,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p00B00B30B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpDFdy,
                         false);
const TFunction dFdy_10B(BuiltInId::dFdy_Float2,
                         BuiltInName::dFdy,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p10B_o_10B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                         EOpDFdy,
                         false);
const TFunction dFdy_20B(BuiltInId::dFdy_Float3,
                         BuiltInName::dFdy,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p20B20B00B,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                         EOpDFdy,
                         false);
const TFunction dFdy_30B(BuiltInId::dFdy_Float4,
                         BuiltInName::dFdy,
                         TExtension::UNDEFINED,
                         BuiltInParameters::p30B30D,
                         1,
                         StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                         EOpDFdy,
                         false);
const TFunction fwidth_00B(BuiltInId::fwidth_Float1,
                           BuiltInName::fwidth,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpFwidth,
                           false);
const TFunction fwidth_10B(BuiltInId::fwidth_Float2,
                           BuiltInName::fwidth,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B_o_10B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpFwidth,
                           false);
const TFunction fwidth_20B(BuiltInId::fwidth_Float3,
                           BuiltInName::fwidth,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpFwidth,
                           false);
const TFunction fwidth_30B(BuiltInId::fwidth_Float4,
                           BuiltInName::fwidth,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30D,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpFwidth,
                           false);
const TFunction dFdxFine_00B(BuiltInId::dFdxFine_Float1,
                             BuiltInName::dFdxFine,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p00B00B30B,
                             1,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                             EOpCallBuiltInFunction,
                             false);
const TFunction dFdxFine_10B(BuiltInId::dFdxFine_Float2,
                             BuiltInName::dFdxFine,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10B_o_10B,
                             1,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpCallBuiltInFunction,
                             false);
const TFunction dFdxFine_20B(BuiltInId::dFdxFine_Float3,
                             BuiltInName::dFdxFine,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20B20B00B,
                             1,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpCallBuiltInFunction,
                             false);
const TFunction dFdxFine_30B(BuiltInId::dFdxFine_Float4,
                             BuiltInName::dFdxFine,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30B30D,
                             1,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpCallBuiltInFunction,
                             false);
const TFunction dFdyFine_00B(BuiltInId::dFdyFine_Float1,
                             BuiltInName::dFdyFine,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p00B00B30B,
                             1,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                             EOpCallBuiltInFunction,
                             false);
const TFunction dFdyFine_10B(BuiltInId::dFdyFine_Float2,
                             BuiltInName::dFdyFine,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p10B_o_10B,
                             1,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                             EOpCallBuiltInFunction,
                             false);
const TFunction dFdyFine_20B(BuiltInId::dFdyFine_Float3,
                             BuiltInName::dFdyFine,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p20B20B00B,
                             1,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                             EOpCallBuiltInFunction,
                             false);
const TFunction dFdyFine_30B(BuiltInId::dFdyFine_Float4,
                             BuiltInName::dFdyFine,
                             TExtension::UNDEFINED,
                             BuiltInParameters::p30B30D,
                             1,
                             StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                             EOpCallBuiltInFunction,
                             false);
const TFunction dFdxCoarse_00B(BuiltInId::dFdxCoarse_Float1,
                               BuiltInName::dFdxCoarse,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00B00B30B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction dFdxCoarse_10B(BuiltInId::dFdxCoarse_Float2,
                               BuiltInName::dFdxCoarse,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p10B_o_10B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction dFdxCoarse_20B(BuiltInId::dFdxCoarse_Float3,
                               BuiltInName::dFdxCoarse,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p20B20B00B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction dFdxCoarse_30B(BuiltInId::dFdxCoarse_Float4,
                               BuiltInName::dFdxCoarse,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p30B30D,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction dFdyCoarse_00B(BuiltInId::dFdyCoarse_Float1,
                               BuiltInName::dFdyCoarse,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00B00B30B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction dFdyCoarse_10B(BuiltInId::dFdyCoarse_Float2,
                               BuiltInName::dFdyCoarse,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p10B_o_10B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction dFdyCoarse_20B(BuiltInId::dFdyCoarse_Float3,
                               BuiltInName::dFdyCoarse,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p20B20B00B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction dFdyCoarse_30B(BuiltInId::dFdyCoarse_Float4,
                               BuiltInName::dFdyCoarse,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p30B30D,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction fwidthFine_00B(BuiltInId::fwidthFine_Float1,
                               BuiltInName::fwidthFine,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p00B00B30B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction fwidthFine_10B(BuiltInId::fwidthFine_Float2,
                               BuiltInName::fwidthFine,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p10B_o_10B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction fwidthFine_20B(BuiltInId::fwidthFine_Float3,
                               BuiltInName::fwidthFine,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p20B20B00B,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction fwidthFine_30B(BuiltInId::fwidthFine_Float4,
                               BuiltInName::fwidthFine,
                               TExtension::UNDEFINED,
                               BuiltInParameters::p30B30D,
                               1,
                               StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                               EOpCallBuiltInFunction,
                               false);
const TFunction fwidthCoarse_00B(BuiltInId::fwidthCoarse_Float1,
                                 BuiltInName::fwidthCoarse,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p00B00B30B,
                                 1,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction fwidthCoarse_10B(BuiltInId::fwidthCoarse_Float2,
                                 BuiltInName::fwidthCoarse,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p10B_o_10B,
                                 1,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction fwidthCoarse_20B(BuiltInId::fwidthCoarse_Float3,
                                 BuiltInName::fwidthCoarse,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p20B20B00B,
                                 1,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction fwidthCoarse_30B(BuiltInId::fwidthCoarse_Float4,
                                 BuiltInName::fwidthCoarse,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p30B30D,
                                 1,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction interpolateAtCentroid_00B(
    BuiltInId::interpolateAtCentroid_Float1,
    BuiltInName::interpolateAtCentroid,
    TExtension::UNDEFINED,
    BuiltInParameters::p00B00B30B,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtCentroid_10B(
    BuiltInId::interpolateAtCentroid_Float2,
    BuiltInName::interpolateAtCentroid,
    TExtension::UNDEFINED,
    BuiltInParameters::p10B_o_10B,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtCentroid_20B(
    BuiltInId::interpolateAtCentroid_Float3,
    BuiltInName::interpolateAtCentroid,
    TExtension::UNDEFINED,
    BuiltInParameters::p20B20B00B,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtCentroid_30B(
    BuiltInId::interpolateAtCentroid_Float4,
    BuiltInName::interpolateAtCentroid,
    TExtension::UNDEFINED,
    BuiltInParameters::p30B30D,
    1,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtSample_00B00D(
    BuiltInId::interpolateAtSample_Float1_Int1,
    BuiltInName::interpolateAtSample,
    TExtension::UNDEFINED,
    BuiltInParameters::p00B00D,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtSample_10B00D(
    BuiltInId::interpolateAtSample_Float2_Int1,
    BuiltInName::interpolateAtSample,
    TExtension::UNDEFINED,
    BuiltInParameters::p10B00D,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtSample_20B00D(
    BuiltInId::interpolateAtSample_Float3_Int1,
    BuiltInName::interpolateAtSample,
    TExtension::UNDEFINED,
    BuiltInParameters::p20B00D,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtSample_30B00D(
    BuiltInId::interpolateAtSample_Float4_Int1,
    BuiltInName::interpolateAtSample,
    TExtension::UNDEFINED,
    BuiltInParameters::p30B00D,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtOffset_00B10B(
    BuiltInId::interpolateAtOffset_Float1_Float2,
    BuiltInName::interpolateAtOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p00B10B,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtOffset_10B10B(
    BuiltInId::interpolateAtOffset_Float2_Float2,
    BuiltInName::interpolateAtOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p10B10B00B,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtOffset_20B10B(
    BuiltInId::interpolateAtOffset_Float3_Float2,
    BuiltInName::interpolateAtOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p20B10B,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction interpolateAtOffset_30B10B(
    BuiltInId::interpolateAtOffset_Float4_Float2,
    BuiltInName::interpolateAtOffset,
    TExtension::UNDEFINED,
    BuiltInParameters::p30B10B,
    2,
    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction atomicCounter_00G(BuiltInId::atomicCounter_AtomicCounter1,
                                  BuiltInName::atomicCounter,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00G00E00E,
                                  1,
                                  StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction atomicCounterIncrement_00G(
    BuiltInId::atomicCounterIncrement_AtomicCounter1,
    BuiltInName::atomicCounterIncrement,
    TExtension::UNDEFINED,
    BuiltInParameters::p00G00E00E,
    1,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction atomicCounterDecrement_00G(
    BuiltInId::atomicCounterDecrement_AtomicCounter1,
    BuiltInName::atomicCounterDecrement,
    TExtension::UNDEFINED,
    BuiltInParameters::p00G00E00E,
    1,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction atomicCounterAdd_00G00E(BuiltInId::atomicCounterAdd_AtomicCounter1_UInt1,
                                        BuiltInName::atomicCounterAdd,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00G00E00E,
                                        2,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction atomicCounterSubtract_00G00E(
    BuiltInId::atomicCounterSubtract_AtomicCounter1_UInt1,
    BuiltInName::atomicCounterSubtract,
    TExtension::UNDEFINED,
    BuiltInParameters::p00G00E00E,
    2,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction atomicCounterMin_00G00E(BuiltInId::atomicCounterMin_AtomicCounter1_UInt1,
                                        BuiltInName::atomicCounterMin,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00G00E00E,
                                        2,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction atomicCounterMax_00G00E(BuiltInId::atomicCounterMax_AtomicCounter1_UInt1,
                                        BuiltInName::atomicCounterMax,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00G00E00E,
                                        2,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction atomicCounterAnd_00G00E(BuiltInId::atomicCounterAnd_AtomicCounter1_UInt1,
                                        BuiltInName::atomicCounterAnd,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00G00E00E,
                                        2,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction atomicCounterOr_00G00E(BuiltInId::atomicCounterOr_AtomicCounter1_UInt1,
                                       BuiltInName::atomicCounterOr,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00G00E00E,
                                       2,
                                       StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction atomicCounterXor_00G00E(BuiltInId::atomicCounterXor_AtomicCounter1_UInt1,
                                        BuiltInName::atomicCounterXor,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00G00E00E,
                                        2,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction atomicCounterExchange_00G00E(
    BuiltInId::atomicCounterExchange_AtomicCounter1_UInt1,
    BuiltInName::atomicCounterExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p00G00E00E,
    2,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction atomicCounterCompSwap_00G00E00E(
    BuiltInId::atomicCounterCompSwap_AtomicCounter1_UInt1_UInt1,
    BuiltInName::atomicCounterCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p00G00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction atomicAdd_00E00E(BuiltInId::atomicAdd_UInt1_UInt1,
                                 BuiltInName::atomicAdd,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00E00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicAdd,
                                 false);
const TFunction atomicAdd_00D00D(BuiltInId::atomicAdd_Int1_Int1,
                                 BuiltInName::atomicAdd,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicAdd,
                                 false);
const TFunction atomicMin_00E00E(BuiltInId::atomicMin_UInt1_UInt1,
                                 BuiltInName::atomicMin,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00E00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicMin,
                                 false);
const TFunction atomicMin_00D00D(BuiltInId::atomicMin_Int1_Int1,
                                 BuiltInName::atomicMin,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicMin,
                                 false);
const TFunction atomicMax_00E00E(BuiltInId::atomicMax_UInt1_UInt1,
                                 BuiltInName::atomicMax,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00E00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicMax,
                                 false);
const TFunction atomicMax_00D00D(BuiltInId::atomicMax_Int1_Int1,
                                 BuiltInName::atomicMax,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicMax,
                                 false);
const TFunction atomicAnd_00E00E(BuiltInId::atomicAnd_UInt1_UInt1,
                                 BuiltInName::atomicAnd,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00E00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicAnd,
                                 false);
const TFunction atomicAnd_00D00D(BuiltInId::atomicAnd_Int1_Int1,
                                 BuiltInName::atomicAnd,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicAnd,
                                 false);
const TFunction atomicOr_00E00E(BuiltInId::atomicOr_UInt1_UInt1,
                                BuiltInName::atomicOr,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p_io_00E00E00E,
                                2,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpAtomicOr,
                                false);
const TFunction atomicOr_00D00D(BuiltInId::atomicOr_Int1_Int1,
                                BuiltInName::atomicOr,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p_io_00D00D00D,
                                2,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                EOpAtomicOr,
                                false);
const TFunction atomicXor_00E00E(BuiltInId::atomicXor_UInt1_UInt1,
                                 BuiltInName::atomicXor,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00E00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicXor,
                                 false);
const TFunction atomicXor_00D00D(BuiltInId::atomicXor_Int1_Int1,
                                 BuiltInName::atomicXor,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p_io_00D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpAtomicXor,
                                 false);
const TFunction atomicExchange_00E00E(BuiltInId::atomicExchange_UInt1_UInt1,
                                      BuiltInName::atomicExchange,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p_io_00E00E00E,
                                      2,
                                      StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAtomicExchange,
                                      false);
const TFunction atomicExchange_00D00D(BuiltInId::atomicExchange_Int1_Int1,
                                      BuiltInName::atomicExchange,
                                      TExtension::UNDEFINED,
                                      BuiltInParameters::p_io_00D00D00D,
                                      2,
                                      StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                      EOpAtomicExchange,
                                      false);
const TFunction atomicCompSwap_00E00E00E(BuiltInId::atomicCompSwap_UInt1_UInt1_UInt1,
                                         BuiltInName::atomicCompSwap,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p_io_00E00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpAtomicCompSwap,
                                         false);
const TFunction atomicCompSwap_00D00D00D(BuiltInId::atomicCompSwap_Int1_Int1_Int1,
                                         BuiltInName::atomicCompSwap,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p_io_00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpAtomicCompSwap,
                                         false);
const TFunction imageSize_00y(BuiltInId::imageSize_Image2D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00y10D30B,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_00z(BuiltInId::imageSize_IImage2D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p00z10D00B,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01A(BuiltInId::imageSize_UImage2D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01A10D00D00D,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01B(BuiltInId::imageSize_Image3D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01B20D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01C(BuiltInId::imageSize_IImage3D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01C20D00D00D,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01D(BuiltInId::imageSize_UImage3D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01D20D00B,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01E(BuiltInId::imageSize_Image2DArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01E20D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01F(BuiltInId::imageSize_IImage2DArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01F20D00D00D,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01G(BuiltInId::imageSize_UImage2DArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01G20D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01H(BuiltInId::imageSize_ImageCube1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01H20D30B,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01I(BuiltInId::imageSize_IImageCube1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01I20D00D00D,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01J(BuiltInId::imageSize_UImageCube1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01J20D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01K(BuiltInId::imageSize_Image1D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01K00D00B,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01L(BuiltInId::imageSize_IImage1D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01L00D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01M(BuiltInId::imageSize_UImage1D1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01M00D30E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01Z(BuiltInId::imageSize_ImageCubeArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01Z20D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01a(BuiltInId::imageSize_IImageCubeArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01a20D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01b(BuiltInId::imageSize_UImageCubeArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01b20D00D00D,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01c(BuiltInId::imageSize_ImageRect1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01c,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01d(BuiltInId::imageSize_IImageRect1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01d,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01e(BuiltInId::imageSize_UImageRect1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01e,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01N(BuiltInId::imageSize_Image1DArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01N10D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01O(BuiltInId::imageSize_IImage1DArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01O10D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01P(BuiltInId::imageSize_UImage1DArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01P10D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01f(BuiltInId::imageSize_ImageBuffer1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01f00D30B,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01g(BuiltInId::imageSize_IImageBuffer1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01g00D30D,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01h(BuiltInId::imageSize_UImageBuffer1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01h00D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01Q(BuiltInId::imageSize_Image2DMS1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01Q10D00D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01R(BuiltInId::imageSize_IImage2DMS1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01R10D00D00B,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01S(BuiltInId::imageSize_UImage2DMS1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01S10D00D00B,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 2, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01T(BuiltInId::imageSize_Image2DMSArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01T20D00D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01U(BuiltInId::imageSize_IImage2DMSArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01U20D00D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSize_01V(BuiltInId::imageSize_UImage2DMSArray1,
                              BuiltInName::imageSize,
                              TExtension::UNDEFINED,
                              BuiltInParameters::p01V20D00D00E00E,
                              1,
                              StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 3, 1>(),
                              EOpCallBuiltInFunction,
                              false);
const TFunction imageSamples_01Q(BuiltInId::imageSamples_Image2DMS1,
                                 BuiltInName::imageSamples,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01Q10D00D00E00E,
                                 1,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageSamples_01R(BuiltInId::imageSamples_IImage2DMS1,
                                 BuiltInName::imageSamples,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01R10D00D00B,
                                 1,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageSamples_01S(BuiltInId::imageSamples_UImage2DMS1,
                                 BuiltInName::imageSamples,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01S10D00D00B,
                                 1,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageSamples_01T(BuiltInId::imageSamples_Image2DMSArray1,
                                 BuiltInName::imageSamples,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01T20D00D00E00E,
                                 1,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageSamples_01U(BuiltInId::imageSamples_IImage2DMSArray1,
                                 BuiltInName::imageSamples,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01U20D00D00E00E,
                                 1,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageSamples_01V(BuiltInId::imageSamples_UImage2DMSArray1,
                                 BuiltInName::imageSamples,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01V20D00D00E00E,
                                 1,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageAtomicAdd_00y10D00E(BuiltInId::imageAtomicAdd_Image2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_00z10D00E(BuiltInId::imageAtomicAdd_IImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01A10D00E(BuiltInId::imageAtomicAdd_UImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01B20D00E(BuiltInId::imageAtomicAdd_Image3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01C20D00E(BuiltInId::imageAtomicAdd_IImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01D20D00E(BuiltInId::imageAtomicAdd_UImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01H20D00E(BuiltInId::imageAtomicAdd_ImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01I20D00E(BuiltInId::imageAtomicAdd_IImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01J20D00E(BuiltInId::imageAtomicAdd_UImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01f00D00E(BuiltInId::imageAtomicAdd_ImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01g00D00E(BuiltInId::imageAtomicAdd_IImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01h00D00E(BuiltInId::imageAtomicAdd_UImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01E20D00E(BuiltInId::imageAtomicAdd_Image2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01F20D00E(BuiltInId::imageAtomicAdd_IImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01G20D00E(BuiltInId::imageAtomicAdd_UImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01Z20D00E(BuiltInId::imageAtomicAdd_ImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01a20D00E(BuiltInId::imageAtomicAdd_IImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01b20D00E(BuiltInId::imageAtomicAdd_UImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01K00D00E(BuiltInId::imageAtomicAdd_Image1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01L00D00E(BuiltInId::imageAtomicAdd_IImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01M00D00E(BuiltInId::imageAtomicAdd_UImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01N10D00E(BuiltInId::imageAtomicAdd_Image1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01O10D00E(BuiltInId::imageAtomicAdd_IImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01P10D00E(BuiltInId::imageAtomicAdd_UImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01W10D00E(BuiltInId::imageAtomicAdd_Image2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01X10D00E(BuiltInId::imageAtomicAdd_IImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01Y10D00E(BuiltInId::imageAtomicAdd_UImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01Q10D00D00E(
    BuiltInId::imageAtomicAdd_Image2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01R10D00D00E(
    BuiltInId::imageAtomicAdd_IImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01S10D00D00E(
    BuiltInId::imageAtomicAdd_UImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01T20D00D00E(
    BuiltInId::imageAtomicAdd_Image2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01U20D00D00E(
    BuiltInId::imageAtomicAdd_IImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01V20D00D00E(
    BuiltInId::imageAtomicAdd_UImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_00y10D00D(BuiltInId::imageAtomicAdd_Image2D1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_00z10D00D(BuiltInId::imageAtomicAdd_IImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01A10D00D(BuiltInId::imageAtomicAdd_UImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01B20D00D(BuiltInId::imageAtomicAdd_Image3D1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01C20D00D(BuiltInId::imageAtomicAdd_IImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01D20D00D(BuiltInId::imageAtomicAdd_UImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01H20D00D(BuiltInId::imageAtomicAdd_ImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01I20D00D(BuiltInId::imageAtomicAdd_IImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01J20D00D(BuiltInId::imageAtomicAdd_UImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01f00D00D(BuiltInId::imageAtomicAdd_ImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01g00D00D(BuiltInId::imageAtomicAdd_IImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01h00D00D(BuiltInId::imageAtomicAdd_UImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01E20D00D(BuiltInId::imageAtomicAdd_Image2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01F20D00D(BuiltInId::imageAtomicAdd_IImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01G20D00D(BuiltInId::imageAtomicAdd_UImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01Z20D00D(BuiltInId::imageAtomicAdd_ImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01a20D00D(BuiltInId::imageAtomicAdd_IImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01b20D00D(BuiltInId::imageAtomicAdd_UImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01K00D00D(BuiltInId::imageAtomicAdd_Image1D1_Int1_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01L00D00D(BuiltInId::imageAtomicAdd_IImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01M00D00D(BuiltInId::imageAtomicAdd_UImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01N10D00D(BuiltInId::imageAtomicAdd_Image1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01O10D00D(BuiltInId::imageAtomicAdd_IImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01P10D00D(BuiltInId::imageAtomicAdd_UImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01W10D00D(BuiltInId::imageAtomicAdd_Image2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01X10D00D(BuiltInId::imageAtomicAdd_IImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01Y10D00D(BuiltInId::imageAtomicAdd_UImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicAdd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAdd_01Q10D00D00D(
    BuiltInId::imageAtomicAdd_Image2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01R10D00D00D(
    BuiltInId::imageAtomicAdd_IImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01S10D00D00D(
    BuiltInId::imageAtomicAdd_UImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01T20D00D00D(
    BuiltInId::imageAtomicAdd_Image2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01U20D00D00D(
    BuiltInId::imageAtomicAdd_IImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAdd_01V20D00D00D(
    BuiltInId::imageAtomicAdd_UImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicAdd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_00y10D00E(BuiltInId::imageAtomicMin_Image2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_00z10D00E(BuiltInId::imageAtomicMin_IImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01A10D00E(BuiltInId::imageAtomicMin_UImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01B20D00E(BuiltInId::imageAtomicMin_Image3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01C20D00E(BuiltInId::imageAtomicMin_IImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01D20D00E(BuiltInId::imageAtomicMin_UImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01H20D00E(BuiltInId::imageAtomicMin_ImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01I20D00E(BuiltInId::imageAtomicMin_IImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01J20D00E(BuiltInId::imageAtomicMin_UImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01f00D00E(BuiltInId::imageAtomicMin_ImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01g00D00E(BuiltInId::imageAtomicMin_IImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01h00D00E(BuiltInId::imageAtomicMin_UImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01E20D00E(BuiltInId::imageAtomicMin_Image2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01F20D00E(BuiltInId::imageAtomicMin_IImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01G20D00E(BuiltInId::imageAtomicMin_UImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01Z20D00E(BuiltInId::imageAtomicMin_ImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01a20D00E(BuiltInId::imageAtomicMin_IImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01b20D00E(BuiltInId::imageAtomicMin_UImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01K00D00E(BuiltInId::imageAtomicMin_Image1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01L00D00E(BuiltInId::imageAtomicMin_IImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01M00D00E(BuiltInId::imageAtomicMin_UImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01N10D00E(BuiltInId::imageAtomicMin_Image1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01O10D00E(BuiltInId::imageAtomicMin_IImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01P10D00E(BuiltInId::imageAtomicMin_UImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01W10D00E(BuiltInId::imageAtomicMin_Image2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01X10D00E(BuiltInId::imageAtomicMin_IImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01Y10D00E(BuiltInId::imageAtomicMin_UImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01Q10D00D00E(
    BuiltInId::imageAtomicMin_Image2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01R10D00D00E(
    BuiltInId::imageAtomicMin_IImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01S10D00D00E(
    BuiltInId::imageAtomicMin_UImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01T20D00D00E(
    BuiltInId::imageAtomicMin_Image2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01U20D00D00E(
    BuiltInId::imageAtomicMin_IImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01V20D00D00E(
    BuiltInId::imageAtomicMin_UImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_00y10D00D(BuiltInId::imageAtomicMin_Image2D1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_00z10D00D(BuiltInId::imageAtomicMin_IImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01A10D00D(BuiltInId::imageAtomicMin_UImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01B20D00D(BuiltInId::imageAtomicMin_Image3D1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01C20D00D(BuiltInId::imageAtomicMin_IImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01D20D00D(BuiltInId::imageAtomicMin_UImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01H20D00D(BuiltInId::imageAtomicMin_ImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01I20D00D(BuiltInId::imageAtomicMin_IImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01J20D00D(BuiltInId::imageAtomicMin_UImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01f00D00D(BuiltInId::imageAtomicMin_ImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01g00D00D(BuiltInId::imageAtomicMin_IImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01h00D00D(BuiltInId::imageAtomicMin_UImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01E20D00D(BuiltInId::imageAtomicMin_Image2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01F20D00D(BuiltInId::imageAtomicMin_IImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01G20D00D(BuiltInId::imageAtomicMin_UImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01Z20D00D(BuiltInId::imageAtomicMin_ImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01a20D00D(BuiltInId::imageAtomicMin_IImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01b20D00D(BuiltInId::imageAtomicMin_UImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01K00D00D(BuiltInId::imageAtomicMin_Image1D1_Int1_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01L00D00D(BuiltInId::imageAtomicMin_IImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01M00D00D(BuiltInId::imageAtomicMin_UImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01N10D00D(BuiltInId::imageAtomicMin_Image1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01O10D00D(BuiltInId::imageAtomicMin_IImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01P10D00D(BuiltInId::imageAtomicMin_UImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01W10D00D(BuiltInId::imageAtomicMin_Image2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01X10D00D(BuiltInId::imageAtomicMin_IImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01Y10D00D(BuiltInId::imageAtomicMin_UImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicMin,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMin_01Q10D00D00D(
    BuiltInId::imageAtomicMin_Image2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01R10D00D00D(
    BuiltInId::imageAtomicMin_IImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01S10D00D00D(
    BuiltInId::imageAtomicMin_UImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01T20D00D00D(
    BuiltInId::imageAtomicMin_Image2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01U20D00D00D(
    BuiltInId::imageAtomicMin_IImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMin_01V20D00D00D(
    BuiltInId::imageAtomicMin_UImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicMin,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_00y10D00E(BuiltInId::imageAtomicMax_Image2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_00z10D00E(BuiltInId::imageAtomicMax_IImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01A10D00E(BuiltInId::imageAtomicMax_UImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01B20D00E(BuiltInId::imageAtomicMax_Image3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01C20D00E(BuiltInId::imageAtomicMax_IImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01D20D00E(BuiltInId::imageAtomicMax_UImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01H20D00E(BuiltInId::imageAtomicMax_ImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01I20D00E(BuiltInId::imageAtomicMax_IImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01J20D00E(BuiltInId::imageAtomicMax_UImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01f00D00E(BuiltInId::imageAtomicMax_ImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01g00D00E(BuiltInId::imageAtomicMax_IImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01h00D00E(BuiltInId::imageAtomicMax_UImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01E20D00E(BuiltInId::imageAtomicMax_Image2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01F20D00E(BuiltInId::imageAtomicMax_IImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01G20D00E(BuiltInId::imageAtomicMax_UImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01Z20D00E(BuiltInId::imageAtomicMax_ImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01a20D00E(BuiltInId::imageAtomicMax_IImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01b20D00E(BuiltInId::imageAtomicMax_UImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01K00D00E(BuiltInId::imageAtomicMax_Image1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01L00D00E(BuiltInId::imageAtomicMax_IImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01M00D00E(BuiltInId::imageAtomicMax_UImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01N10D00E(BuiltInId::imageAtomicMax_Image1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01O10D00E(BuiltInId::imageAtomicMax_IImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01P10D00E(BuiltInId::imageAtomicMax_UImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01W10D00E(BuiltInId::imageAtomicMax_Image2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01X10D00E(BuiltInId::imageAtomicMax_IImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01Y10D00E(BuiltInId::imageAtomicMax_UImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01Q10D00D00E(
    BuiltInId::imageAtomicMax_Image2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01R10D00D00E(
    BuiltInId::imageAtomicMax_IImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01S10D00D00E(
    BuiltInId::imageAtomicMax_UImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01T20D00D00E(
    BuiltInId::imageAtomicMax_Image2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01U20D00D00E(
    BuiltInId::imageAtomicMax_IImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01V20D00D00E(
    BuiltInId::imageAtomicMax_UImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_00y10D00D(BuiltInId::imageAtomicMax_Image2D1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_00z10D00D(BuiltInId::imageAtomicMax_IImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01A10D00D(BuiltInId::imageAtomicMax_UImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01B20D00D(BuiltInId::imageAtomicMax_Image3D1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01C20D00D(BuiltInId::imageAtomicMax_IImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01D20D00D(BuiltInId::imageAtomicMax_UImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01H20D00D(BuiltInId::imageAtomicMax_ImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01I20D00D(BuiltInId::imageAtomicMax_IImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01J20D00D(BuiltInId::imageAtomicMax_UImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01f00D00D(BuiltInId::imageAtomicMax_ImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01g00D00D(BuiltInId::imageAtomicMax_IImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01h00D00D(BuiltInId::imageAtomicMax_UImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01E20D00D(BuiltInId::imageAtomicMax_Image2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01F20D00D(BuiltInId::imageAtomicMax_IImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01G20D00D(BuiltInId::imageAtomicMax_UImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01Z20D00D(BuiltInId::imageAtomicMax_ImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01a20D00D(BuiltInId::imageAtomicMax_IImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01b20D00D(BuiltInId::imageAtomicMax_UImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01K00D00D(BuiltInId::imageAtomicMax_Image1D1_Int1_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01L00D00D(BuiltInId::imageAtomicMax_IImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01M00D00D(BuiltInId::imageAtomicMax_UImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01N10D00D(BuiltInId::imageAtomicMax_Image1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01O10D00D(BuiltInId::imageAtomicMax_IImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01P10D00D(BuiltInId::imageAtomicMax_UImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01W10D00D(BuiltInId::imageAtomicMax_Image2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01X10D00D(BuiltInId::imageAtomicMax_IImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01Y10D00D(BuiltInId::imageAtomicMax_UImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicMax,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicMax_01Q10D00D00D(
    BuiltInId::imageAtomicMax_Image2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01R10D00D00D(
    BuiltInId::imageAtomicMax_IImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01S10D00D00D(
    BuiltInId::imageAtomicMax_UImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01T20D00D00D(
    BuiltInId::imageAtomicMax_Image2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01U20D00D00D(
    BuiltInId::imageAtomicMax_IImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicMax_01V20D00D00D(
    BuiltInId::imageAtomicMax_UImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicMax,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_00y10D00E(BuiltInId::imageAtomicAnd_Image2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_00z10D00E(BuiltInId::imageAtomicAnd_IImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01A10D00E(BuiltInId::imageAtomicAnd_UImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01B20D00E(BuiltInId::imageAtomicAnd_Image3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01C20D00E(BuiltInId::imageAtomicAnd_IImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01D20D00E(BuiltInId::imageAtomicAnd_UImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01H20D00E(BuiltInId::imageAtomicAnd_ImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01I20D00E(BuiltInId::imageAtomicAnd_IImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01J20D00E(BuiltInId::imageAtomicAnd_UImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01f00D00E(BuiltInId::imageAtomicAnd_ImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01g00D00E(BuiltInId::imageAtomicAnd_IImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01h00D00E(BuiltInId::imageAtomicAnd_UImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01E20D00E(BuiltInId::imageAtomicAnd_Image2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01F20D00E(BuiltInId::imageAtomicAnd_IImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01G20D00E(BuiltInId::imageAtomicAnd_UImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01Z20D00E(BuiltInId::imageAtomicAnd_ImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01a20D00E(BuiltInId::imageAtomicAnd_IImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01b20D00E(BuiltInId::imageAtomicAnd_UImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01K00D00E(BuiltInId::imageAtomicAnd_Image1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01L00D00E(BuiltInId::imageAtomicAnd_IImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01M00D00E(BuiltInId::imageAtomicAnd_UImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01N10D00E(BuiltInId::imageAtomicAnd_Image1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01O10D00E(BuiltInId::imageAtomicAnd_IImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01P10D00E(BuiltInId::imageAtomicAnd_UImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01W10D00E(BuiltInId::imageAtomicAnd_Image2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01X10D00E(BuiltInId::imageAtomicAnd_IImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01Y10D00E(BuiltInId::imageAtomicAnd_UImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01Q10D00D00E(
    BuiltInId::imageAtomicAnd_Image2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01R10D00D00E(
    BuiltInId::imageAtomicAnd_IImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01S10D00D00E(
    BuiltInId::imageAtomicAnd_UImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01T20D00D00E(
    BuiltInId::imageAtomicAnd_Image2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01U20D00D00E(
    BuiltInId::imageAtomicAnd_IImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01V20D00D00E(
    BuiltInId::imageAtomicAnd_UImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_00y10D00D(BuiltInId::imageAtomicAnd_Image2D1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_00z10D00D(BuiltInId::imageAtomicAnd_IImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01A10D00D(BuiltInId::imageAtomicAnd_UImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01B20D00D(BuiltInId::imageAtomicAnd_Image3D1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01C20D00D(BuiltInId::imageAtomicAnd_IImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01D20D00D(BuiltInId::imageAtomicAnd_UImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01H20D00D(BuiltInId::imageAtomicAnd_ImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01I20D00D(BuiltInId::imageAtomicAnd_IImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01J20D00D(BuiltInId::imageAtomicAnd_UImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01f00D00D(BuiltInId::imageAtomicAnd_ImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01g00D00D(BuiltInId::imageAtomicAnd_IImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01h00D00D(BuiltInId::imageAtomicAnd_UImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01E20D00D(BuiltInId::imageAtomicAnd_Image2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01F20D00D(BuiltInId::imageAtomicAnd_IImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01G20D00D(BuiltInId::imageAtomicAnd_UImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01Z20D00D(BuiltInId::imageAtomicAnd_ImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01a20D00D(BuiltInId::imageAtomicAnd_IImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01b20D00D(BuiltInId::imageAtomicAnd_UImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01K00D00D(BuiltInId::imageAtomicAnd_Image1D1_Int1_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01L00D00D(BuiltInId::imageAtomicAnd_IImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01M00D00D(BuiltInId::imageAtomicAnd_UImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01N10D00D(BuiltInId::imageAtomicAnd_Image1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01O10D00D(BuiltInId::imageAtomicAnd_IImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01P10D00D(BuiltInId::imageAtomicAnd_UImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01W10D00D(BuiltInId::imageAtomicAnd_Image2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01X10D00D(BuiltInId::imageAtomicAnd_IImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01Y10D00D(BuiltInId::imageAtomicAnd_UImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicAnd,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicAnd_01Q10D00D00D(
    BuiltInId::imageAtomicAnd_Image2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01R10D00D00D(
    BuiltInId::imageAtomicAnd_IImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01S10D00D00D(
    BuiltInId::imageAtomicAnd_UImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01T20D00D00D(
    BuiltInId::imageAtomicAnd_Image2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01U20D00D00D(
    BuiltInId::imageAtomicAnd_IImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicAnd_01V20D00D00D(
    BuiltInId::imageAtomicAnd_UImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicAnd,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicOr_00y10D00E(BuiltInId::imageAtomicOr_Image2D1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00y10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_00z10D00E(BuiltInId::imageAtomicOr_IImage2D1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00z10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01A10D00E(BuiltInId::imageAtomicOr_UImage2D1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01A10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01B20D00E(BuiltInId::imageAtomicOr_Image3D1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01B20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01C20D00E(BuiltInId::imageAtomicOr_IImage3D1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01C20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01D20D00E(BuiltInId::imageAtomicOr_UImage3D1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01D20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01H20D00E(BuiltInId::imageAtomicOr_ImageCube1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01H20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01I20D00E(BuiltInId::imageAtomicOr_IImageCube1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01I20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01J20D00E(BuiltInId::imageAtomicOr_UImageCube1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01J20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01f00D00E(BuiltInId::imageAtomicOr_ImageBuffer1_Int1_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01f00D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01g00D00E(BuiltInId::imageAtomicOr_IImageBuffer1_Int1_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01g00D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01h00D00E(BuiltInId::imageAtomicOr_UImageBuffer1_Int1_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01h00D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01E20D00E(BuiltInId::imageAtomicOr_Image2DArray1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01E20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01F20D00E(BuiltInId::imageAtomicOr_IImage2DArray1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01F20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01G20D00E(BuiltInId::imageAtomicOr_UImage2DArray1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01G20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01Z20D00E(BuiltInId::imageAtomicOr_ImageCubeArray1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01Z20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01a20D00E(BuiltInId::imageAtomicOr_IImageCubeArray1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01a20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01b20D00E(BuiltInId::imageAtomicOr_UImageCubeArray1_Int3_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01b20D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01K00D00E(BuiltInId::imageAtomicOr_Image1D1_Int1_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01K00D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01L00D00E(BuiltInId::imageAtomicOr_IImage1D1_Int1_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01L00D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01M00D00E(BuiltInId::imageAtomicOr_UImage1D1_Int1_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01M00D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01N10D00E(BuiltInId::imageAtomicOr_Image1DArray1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01N10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01O10D00E(BuiltInId::imageAtomicOr_IImage1DArray1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01O10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01P10D00E(BuiltInId::imageAtomicOr_UImage1DArray1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01P10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01W10D00E(BuiltInId::imageAtomicOr_Image2DRect1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01W10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01X10D00E(BuiltInId::imageAtomicOr_IImage2DRect1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01X10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01Y10D00E(BuiltInId::imageAtomicOr_UImage2DRect1_Int2_UInt1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01Y10D00E00E,
                                        3,
                                        StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01Q10D00D00E(
    BuiltInId::imageAtomicOr_Image2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicOr,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicOr_01R10D00D00E(
    BuiltInId::imageAtomicOr_IImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicOr,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicOr_01S10D00D00E(
    BuiltInId::imageAtomicOr_UImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicOr,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicOr_01T20D00D00E(
    BuiltInId::imageAtomicOr_Image2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicOr,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicOr_01U20D00D00E(
    BuiltInId::imageAtomicOr_IImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicOr,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicOr_01V20D00D00E(
    BuiltInId::imageAtomicOr_UImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicOr,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicOr_00y10D00D(BuiltInId::imageAtomicOr_Image2D1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00y10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_00z10D00D(BuiltInId::imageAtomicOr_IImage2D1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00z10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01A10D00D(BuiltInId::imageAtomicOr_UImage2D1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01A10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01B20D00D(BuiltInId::imageAtomicOr_Image3D1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01B20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01C20D00D(BuiltInId::imageAtomicOr_IImage3D1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01C20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01D20D00D(BuiltInId::imageAtomicOr_UImage3D1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01D20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01H20D00D(BuiltInId::imageAtomicOr_ImageCube1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01H20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01I20D00D(BuiltInId::imageAtomicOr_IImageCube1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01I20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01J20D00D(BuiltInId::imageAtomicOr_UImageCube1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01J20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01f00D00D(BuiltInId::imageAtomicOr_ImageBuffer1_Int1_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01f00D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01g00D00D(BuiltInId::imageAtomicOr_IImageBuffer1_Int1_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01g00D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01h00D00D(BuiltInId::imageAtomicOr_UImageBuffer1_Int1_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01h00D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01E20D00D(BuiltInId::imageAtomicOr_Image2DArray1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01E20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01F20D00D(BuiltInId::imageAtomicOr_IImage2DArray1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01F20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01G20D00D(BuiltInId::imageAtomicOr_UImage2DArray1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01G20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01Z20D00D(BuiltInId::imageAtomicOr_ImageCubeArray1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01Z20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01a20D00D(BuiltInId::imageAtomicOr_IImageCubeArray1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01a20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01b20D00D(BuiltInId::imageAtomicOr_UImageCubeArray1_Int3_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01b20D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01K00D00D(BuiltInId::imageAtomicOr_Image1D1_Int1_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01K00D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01L00D00D(BuiltInId::imageAtomicOr_IImage1D1_Int1_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01L00D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01M00D00D(BuiltInId::imageAtomicOr_UImage1D1_Int1_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01M00D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01N10D00D(BuiltInId::imageAtomicOr_Image1DArray1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01N10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01O10D00D(BuiltInId::imageAtomicOr_IImage1DArray1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01O10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01P10D00D(BuiltInId::imageAtomicOr_UImage1DArray1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01P10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01W10D00D(BuiltInId::imageAtomicOr_Image2DRect1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01W10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01X10D00D(BuiltInId::imageAtomicOr_IImage2DRect1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01X10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01Y10D00D(BuiltInId::imageAtomicOr_UImage2DRect1_Int2_Int1,
                                        BuiltInName::imageAtomicOr,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01Y10D00D00D,
                                        3,
                                        StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageAtomicOr_01Q10D00D00D(BuiltInId::imageAtomicOr_Image2DMS1_Int2_Int1_Int1,
                                           BuiltInName::imageAtomicOr,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p01Q10D00D00D00D,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction imageAtomicOr_01R10D00D00D(BuiltInId::imageAtomicOr_IImage2DMS1_Int2_Int1_Int1,
                                           BuiltInName::imageAtomicOr,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p01R10D00D00D00D,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction imageAtomicOr_01S10D00D00D(BuiltInId::imageAtomicOr_UImage2DMS1_Int2_Int1_Int1,
                                           BuiltInName::imageAtomicOr,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p01S10D00D00D00D,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction imageAtomicOr_01T20D00D00D(BuiltInId::imageAtomicOr_Image2DMSArray1_Int3_Int1_Int1,
                                           BuiltInName::imageAtomicOr,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p01T20D00D00D00D,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction imageAtomicOr_01U20D00D00D(BuiltInId::imageAtomicOr_IImage2DMSArray1_Int3_Int1_Int1,
                                           BuiltInName::imageAtomicOr,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p01U20D00D00D00D,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction imageAtomicOr_01V20D00D00D(BuiltInId::imageAtomicOr_UImage2DMSArray1_Int3_Int1_Int1,
                                           BuiltInName::imageAtomicOr,
                                           TExtension::UNDEFINED,
                                           BuiltInParameters::p01V20D00D00D00D,
                                           4,
                                           StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                           EOpCallBuiltInFunction,
                                           false);
const TFunction imageAtomicXor_00y10D00E(BuiltInId::imageAtomicXor_Image2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_00z10D00E(BuiltInId::imageAtomicXor_IImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01A10D00E(BuiltInId::imageAtomicXor_UImage2D1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01B20D00E(BuiltInId::imageAtomicXor_Image3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01C20D00E(BuiltInId::imageAtomicXor_IImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01D20D00E(BuiltInId::imageAtomicXor_UImage3D1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01H20D00E(BuiltInId::imageAtomicXor_ImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01I20D00E(BuiltInId::imageAtomicXor_IImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01J20D00E(BuiltInId::imageAtomicXor_UImageCube1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01f00D00E(BuiltInId::imageAtomicXor_ImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01g00D00E(BuiltInId::imageAtomicXor_IImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01h00D00E(BuiltInId::imageAtomicXor_UImageBuffer1_Int1_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01E20D00E(BuiltInId::imageAtomicXor_Image2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01F20D00E(BuiltInId::imageAtomicXor_IImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01G20D00E(BuiltInId::imageAtomicXor_UImage2DArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01Z20D00E(BuiltInId::imageAtomicXor_ImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01a20D00E(BuiltInId::imageAtomicXor_IImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01b20D00E(BuiltInId::imageAtomicXor_UImageCubeArray1_Int3_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01K00D00E(BuiltInId::imageAtomicXor_Image1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01L00D00E(BuiltInId::imageAtomicXor_IImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01M00D00E(BuiltInId::imageAtomicXor_UImage1D1_Int1_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01N10D00E(BuiltInId::imageAtomicXor_Image1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01O10D00E(BuiltInId::imageAtomicXor_IImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01P10D00E(BuiltInId::imageAtomicXor_UImage1DArray1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01W10D00E(BuiltInId::imageAtomicXor_Image2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01X10D00E(BuiltInId::imageAtomicXor_IImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01Y10D00E(BuiltInId::imageAtomicXor_UImage2DRect1_Int2_UInt1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00E00E,
                                         3,
                                         StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01Q10D00D00E(
    BuiltInId::imageAtomicXor_Image2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01R10D00D00E(
    BuiltInId::imageAtomicXor_IImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01S10D00D00E(
    BuiltInId::imageAtomicXor_UImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01T20D00D00E(
    BuiltInId::imageAtomicXor_Image2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01U20D00D00E(
    BuiltInId::imageAtomicXor_IImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01V20D00D00E(
    BuiltInId::imageAtomicXor_UImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_00y10D00D(BuiltInId::imageAtomicXor_Image2D1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_00z10D00D(BuiltInId::imageAtomicXor_IImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p00z10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01A10D00D(BuiltInId::imageAtomicXor_UImage2D1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01A10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01B20D00D(BuiltInId::imageAtomicXor_Image3D1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01B20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01C20D00D(BuiltInId::imageAtomicXor_IImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01C20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01D20D00D(BuiltInId::imageAtomicXor_UImage3D1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01D20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01H20D00D(BuiltInId::imageAtomicXor_ImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01H20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01I20D00D(BuiltInId::imageAtomicXor_IImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01I20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01J20D00D(BuiltInId::imageAtomicXor_UImageCube1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01J20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01f00D00D(BuiltInId::imageAtomicXor_ImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01f00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01g00D00D(BuiltInId::imageAtomicXor_IImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01g00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01h00D00D(BuiltInId::imageAtomicXor_UImageBuffer1_Int1_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01h00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01E20D00D(BuiltInId::imageAtomicXor_Image2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01E20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01F20D00D(BuiltInId::imageAtomicXor_IImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01F20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01G20D00D(BuiltInId::imageAtomicXor_UImage2DArray1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01G20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01Z20D00D(BuiltInId::imageAtomicXor_ImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Z20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01a20D00D(BuiltInId::imageAtomicXor_IImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01a20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01b20D00D(BuiltInId::imageAtomicXor_UImageCubeArray1_Int3_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01b20D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01K00D00D(BuiltInId::imageAtomicXor_Image1D1_Int1_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01K00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01L00D00D(BuiltInId::imageAtomicXor_IImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01L00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01M00D00D(BuiltInId::imageAtomicXor_UImage1D1_Int1_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01M00D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01N10D00D(BuiltInId::imageAtomicXor_Image1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01N10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01O10D00D(BuiltInId::imageAtomicXor_IImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01O10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01P10D00D(BuiltInId::imageAtomicXor_UImage1DArray1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01P10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01W10D00D(BuiltInId::imageAtomicXor_Image2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01W10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01X10D00D(BuiltInId::imageAtomicXor_IImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01X10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01Y10D00D(BuiltInId::imageAtomicXor_UImage2DRect1_Int2_Int1,
                                         BuiltInName::imageAtomicXor,
                                         TExtension::UNDEFINED,
                                         BuiltInParameters::p01Y10D00D00D,
                                         3,
                                         StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
                                         EOpCallBuiltInFunction,
                                         false);
const TFunction imageAtomicXor_01Q10D00D00D(
    BuiltInId::imageAtomicXor_Image2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01R10D00D00D(
    BuiltInId::imageAtomicXor_IImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01S10D00D00D(
    BuiltInId::imageAtomicXor_UImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01T20D00D00D(
    BuiltInId::imageAtomicXor_Image2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01U20D00D00D(
    BuiltInId::imageAtomicXor_IImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicXor_01V20D00D00D(
    BuiltInId::imageAtomicXor_UImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicXor,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_00y10D00E(
    BuiltInId::imageAtomicExchange_Image2D1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p00y10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_00z10D00E(
    BuiltInId::imageAtomicExchange_IImage2D1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p00z10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01A10D00E(
    BuiltInId::imageAtomicExchange_UImage2D1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01A10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01B20D00E(
    BuiltInId::imageAtomicExchange_Image3D1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01B20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01C20D00E(
    BuiltInId::imageAtomicExchange_IImage3D1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01C20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01D20D00E(
    BuiltInId::imageAtomicExchange_UImage3D1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01D20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01H20D00E(
    BuiltInId::imageAtomicExchange_ImageCube1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01H20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01I20D00E(
    BuiltInId::imageAtomicExchange_IImageCube1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01I20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01J20D00E(
    BuiltInId::imageAtomicExchange_UImageCube1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01J20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01f00D00E(
    BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01f00D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01g00D00E(
    BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01g00D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01h00D00E(
    BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01h00D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01E20D00E(
    BuiltInId::imageAtomicExchange_Image2DArray1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01E20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01F20D00E(
    BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01F20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01G20D00E(
    BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01G20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Z20D00E(
    BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Z20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01a20D00E(
    BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01a20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01b20D00E(
    BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01b20D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01K00D00E(
    BuiltInId::imageAtomicExchange_Image1D1_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01K00D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01L00D00E(
    BuiltInId::imageAtomicExchange_IImage1D1_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01L00D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01M00D00E(
    BuiltInId::imageAtomicExchange_UImage1D1_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01M00D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01N10D00E(
    BuiltInId::imageAtomicExchange_Image1DArray1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01N10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01O10D00E(
    BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01O10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01P10D00E(
    BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01P10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01W10D00E(
    BuiltInId::imageAtomicExchange_Image2DRect1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01W10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01X10D00E(
    BuiltInId::imageAtomicExchange_IImage2DRect1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01X10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Y10D00E(
    BuiltInId::imageAtomicExchange_UImage2DRect1_Int2_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Y10D00E00E,
    3,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Q10D00D00E(
    BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01R10D00D00E(
    BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01S10D00D00E(
    BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01T20D00D00E(
    BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01U20D00D00E(
    BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01V20D00D00E(
    BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_UInt1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_00y10D00D(
    BuiltInId::imageAtomicExchange_Image2D1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p00y10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_00z10D00D(
    BuiltInId::imageAtomicExchange_IImage2D1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p00z10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01A10D00D(
    BuiltInId::imageAtomicExchange_UImage2D1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01A10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01B20D00D(
    BuiltInId::imageAtomicExchange_Image3D1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01B20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01C20D00D(
    BuiltInId::imageAtomicExchange_IImage3D1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01C20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01D20D00D(
    BuiltInId::imageAtomicExchange_UImage3D1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01D20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01H20D00D(
    BuiltInId::imageAtomicExchange_ImageCube1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01H20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01I20D00D(
    BuiltInId::imageAtomicExchange_IImageCube1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01I20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01J20D00D(
    BuiltInId::imageAtomicExchange_UImageCube1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01J20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01f00D00D(
    BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01f00D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01g00D00D(
    BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01g00D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01h00D00D(
    BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01h00D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01E20D00D(
    BuiltInId::imageAtomicExchange_Image2DArray1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01E20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01F20D00D(
    BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01F20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01G20D00D(
    BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01G20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Z20D00D(
    BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Z20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01a20D00D(
    BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01a20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01b20D00D(
    BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01b20D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01K00D00D(
    BuiltInId::imageAtomicExchange_Image1D1_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01K00D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01L00D00D(
    BuiltInId::imageAtomicExchange_IImage1D1_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01L00D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01M00D00D(
    BuiltInId::imageAtomicExchange_UImage1D1_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01M00D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01N10D00D(
    BuiltInId::imageAtomicExchange_Image1DArray1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01N10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01O10D00D(
    BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01O10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01P10D00D(
    BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01P10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01W10D00D(
    BuiltInId::imageAtomicExchange_Image2DRect1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01W10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01X10D00D(
    BuiltInId::imageAtomicExchange_IImage2DRect1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01X10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Y10D00D(
    BuiltInId::imageAtomicExchange_UImage2DRect1_Int2_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Y10D00D00D,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Q10D00D00D(
    BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01R10D00D00D(
    BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01S10D00D00D(
    BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01T20D00D00D(
    BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01U20D00D00D(
    BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01V20D00D00D(
    BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_00y10D00B(
    BuiltInId::imageAtomicExchange_Image2D1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p00y10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_00z10D00B(
    BuiltInId::imageAtomicExchange_IImage2D1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p00z10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01A10D00B(
    BuiltInId::imageAtomicExchange_UImage2D1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01A10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01B20D00B(
    BuiltInId::imageAtomicExchange_Image3D1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01B20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01C20D00B(
    BuiltInId::imageAtomicExchange_IImage3D1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01C20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01D20D00B(
    BuiltInId::imageAtomicExchange_UImage3D1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01D20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01H20D00B(
    BuiltInId::imageAtomicExchange_ImageCube1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01H20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01I20D00B(
    BuiltInId::imageAtomicExchange_IImageCube1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01I20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01J20D00B(
    BuiltInId::imageAtomicExchange_UImageCube1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01J20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01f00D00B(
    BuiltInId::imageAtomicExchange_ImageBuffer1_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01f00D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01g00D00B(
    BuiltInId::imageAtomicExchange_IImageBuffer1_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01g00D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01h00D00B(
    BuiltInId::imageAtomicExchange_UImageBuffer1_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01h00D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01E20D00B(
    BuiltInId::imageAtomicExchange_Image2DArray1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01E20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01F20D00B(
    BuiltInId::imageAtomicExchange_IImage2DArray1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01F20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01G20D00B(
    BuiltInId::imageAtomicExchange_UImage2DArray1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01G20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Z20D00B(
    BuiltInId::imageAtomicExchange_ImageCubeArray1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Z20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01a20D00B(
    BuiltInId::imageAtomicExchange_IImageCubeArray1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01a20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01b20D00B(
    BuiltInId::imageAtomicExchange_UImageCubeArray1_Int3_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01b20D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01K00D00B(
    BuiltInId::imageAtomicExchange_Image1D1_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01K00D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01L00D00B(
    BuiltInId::imageAtomicExchange_IImage1D1_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01L00D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01M00D00B(
    BuiltInId::imageAtomicExchange_UImage1D1_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01M00D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01N10D00B(
    BuiltInId::imageAtomicExchange_Image1DArray1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01N10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01O10D00B(
    BuiltInId::imageAtomicExchange_IImage1DArray1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01O10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01P10D00B(
    BuiltInId::imageAtomicExchange_UImage1DArray1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01P10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01W10D00B(
    BuiltInId::imageAtomicExchange_Image2DRect1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01W10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01X10D00B(
    BuiltInId::imageAtomicExchange_IImage2DRect1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01X10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Y10D00B(
    BuiltInId::imageAtomicExchange_UImage2DRect1_Int2_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Y10D00B,
    3,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01Q10D00D00B(
    BuiltInId::imageAtomicExchange_Image2DMS1_Int2_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01R10D00D00B(
    BuiltInId::imageAtomicExchange_IImage2DMS1_Int2_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01S10D00D00B(
    BuiltInId::imageAtomicExchange_UImage2DMS1_Int2_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01T20D00D00B(
    BuiltInId::imageAtomicExchange_Image2DMSArray1_Int3_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01U20D00D00B(
    BuiltInId::imageAtomicExchange_IImage2DMSArray1_Int3_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicExchange_01V20D00D00B(
    BuiltInId::imageAtomicExchange_UImage2DMSArray1_Int3_Int1_Float1,
    BuiltInName::imageAtomicExchange,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00B,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_00y10D00E00E(
    BuiltInId::imageAtomicCompSwap_Image2D1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p00y10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_00z10D00E00E(
    BuiltInId::imageAtomicCompSwap_IImage2D1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p00z10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01A10D00E00E(
    BuiltInId::imageAtomicCompSwap_UImage2D1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01A10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01B20D00E00E(
    BuiltInId::imageAtomicCompSwap_Image3D1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01B20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01C20D00E00E(
    BuiltInId::imageAtomicCompSwap_IImage3D1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01C20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01D20D00E00E(
    BuiltInId::imageAtomicCompSwap_UImage3D1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01D20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01H20D00E00E(
    BuiltInId::imageAtomicCompSwap_ImageCube1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01H20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01I20D00E00E(
    BuiltInId::imageAtomicCompSwap_IImageCube1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01I20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01J20D00E00E(
    BuiltInId::imageAtomicCompSwap_UImageCube1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01J20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01f00D00E00E(
    BuiltInId::imageAtomicCompSwap_ImageBuffer1_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01f00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01g00D00E00E(
    BuiltInId::imageAtomicCompSwap_IImageBuffer1_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01g00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01h00D00E00E(
    BuiltInId::imageAtomicCompSwap_UImageBuffer1_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01h00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01E20D00E00E(
    BuiltInId::imageAtomicCompSwap_Image2DArray1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01E20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01F20D00E00E(
    BuiltInId::imageAtomicCompSwap_IImage2DArray1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01F20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01G20D00E00E(
    BuiltInId::imageAtomicCompSwap_UImage2DArray1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01G20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01Z20D00E00E(
    BuiltInId::imageAtomicCompSwap_ImageCubeArray1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Z20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01a20D00E00E(
    BuiltInId::imageAtomicCompSwap_IImageCubeArray1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01a20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01b20D00E00E(
    BuiltInId::imageAtomicCompSwap_UImageCubeArray1_Int3_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01b20D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01K00D00E00E(
    BuiltInId::imageAtomicCompSwap_Image1D1_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01K00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01L00D00E00E(
    BuiltInId::imageAtomicCompSwap_IImage1D1_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01L00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01M00D00E00E(
    BuiltInId::imageAtomicCompSwap_UImage1D1_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01M00D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01N10D00E00E(
    BuiltInId::imageAtomicCompSwap_Image1DArray1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01N10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01O10D00E00E(
    BuiltInId::imageAtomicCompSwap_IImage1DArray1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01O10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01P10D00E00E(
    BuiltInId::imageAtomicCompSwap_UImage1DArray1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01P10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01W10D00E00E(
    BuiltInId::imageAtomicCompSwap_Image2DRect1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01W10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01X10D00E00E(
    BuiltInId::imageAtomicCompSwap_IImage2DRect1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01X10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01Y10D00E00E(
    BuiltInId::imageAtomicCompSwap_UImage2DRect1_Int2_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Y10D00E00E,
    4,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01Q10D00D00E00E(
    BuiltInId::imageAtomicCompSwap_Image2DMS1_Int2_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00E00E,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01R10D00D00E00E(
    BuiltInId::imageAtomicCompSwap_IImage2DMS1_Int2_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00E00E,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01S10D00D00E00E(
    BuiltInId::imageAtomicCompSwap_UImage2DMS1_Int2_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00E00E,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01T20D00D00E00E(
    BuiltInId::imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00E00E,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01U20D00D00E00E(
    BuiltInId::imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00E00E,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01V20D00D00E00E(
    BuiltInId::imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_UInt1_UInt1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00E00E,
    5,
    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_00y10D00D00D(
    BuiltInId::imageAtomicCompSwap_Image2D1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p00y10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_00z10D00D00D(
    BuiltInId::imageAtomicCompSwap_IImage2D1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p00z10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01A10D00D00D(
    BuiltInId::imageAtomicCompSwap_UImage2D1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01A10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01B20D00D00D(
    BuiltInId::imageAtomicCompSwap_Image3D1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01B20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01C20D00D00D(
    BuiltInId::imageAtomicCompSwap_IImage3D1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01C20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01D20D00D00D(
    BuiltInId::imageAtomicCompSwap_UImage3D1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01D20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01H20D00D00D(
    BuiltInId::imageAtomicCompSwap_ImageCube1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01H20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01I20D00D00D(
    BuiltInId::imageAtomicCompSwap_IImageCube1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01I20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01J20D00D00D(
    BuiltInId::imageAtomicCompSwap_UImageCube1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01J20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01f00D00D00D(
    BuiltInId::imageAtomicCompSwap_ImageBuffer1_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01f00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01g00D00D00D(
    BuiltInId::imageAtomicCompSwap_IImageBuffer1_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01g00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01h00D00D00D(
    BuiltInId::imageAtomicCompSwap_UImageBuffer1_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01h00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01E20D00D00D(
    BuiltInId::imageAtomicCompSwap_Image2DArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01E20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01F20D00D00D(
    BuiltInId::imageAtomicCompSwap_IImage2DArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01F20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01G20D00D00D(
    BuiltInId::imageAtomicCompSwap_UImage2DArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01G20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01Z20D00D00D(
    BuiltInId::imageAtomicCompSwap_ImageCubeArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Z20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01a20D00D00D(
    BuiltInId::imageAtomicCompSwap_IImageCubeArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01a20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01b20D00D00D(
    BuiltInId::imageAtomicCompSwap_UImageCubeArray1_Int3_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01b20D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01K00D00D00D(
    BuiltInId::imageAtomicCompSwap_Image1D1_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01K00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01L00D00D00D(
    BuiltInId::imageAtomicCompSwap_IImage1D1_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01L00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01M00D00D00D(
    BuiltInId::imageAtomicCompSwap_UImage1D1_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01M00D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01N10D00D00D(
    BuiltInId::imageAtomicCompSwap_Image1DArray1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01N10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01O10D00D00D(
    BuiltInId::imageAtomicCompSwap_IImage1DArray1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01O10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01P10D00D00D(
    BuiltInId::imageAtomicCompSwap_UImage1DArray1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01P10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01W10D00D00D(
    BuiltInId::imageAtomicCompSwap_Image2DRect1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01W10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01X10D00D00D(
    BuiltInId::imageAtomicCompSwap_IImage2DRect1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01X10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01Y10D00D00D(
    BuiltInId::imageAtomicCompSwap_UImage2DRect1_Int2_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Y10D00D00D,
    4,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01Q10D00D00D00D(
    BuiltInId::imageAtomicCompSwap_Image2DMS1_Int2_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01Q10D00D00D00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01R10D00D00D00D(
    BuiltInId::imageAtomicCompSwap_IImage2DMS1_Int2_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01R10D00D00D00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01S10D00D00D00D(
    BuiltInId::imageAtomicCompSwap_UImage2DMS1_Int2_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01S10D00D00D00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01T20D00D00D00D(
    BuiltInId::imageAtomicCompSwap_Image2DMSArray1_Int3_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01T20D00D00D00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01U20D00D00D00D(
    BuiltInId::imageAtomicCompSwap_IImage2DMSArray1_Int3_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01U20D00D00D00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageAtomicCompSwap_01V20D00D00D00D(
    BuiltInId::imageAtomicCompSwap_UImage2DMSArray1_Int3_Int1_Int1_Int1,
    BuiltInName::imageAtomicCompSwap,
    TExtension::UNDEFINED,
    BuiltInParameters::p01V20D00D00D00D,
    5,
    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpCallBuiltInFunction,
    false);
const TFunction imageLoad_00y10D(BuiltInId::imageLoad_Image2D1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p00y10D30B,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_00z10D(BuiltInId::imageLoad_IImage2D1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p00z10D00B,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01A10D(BuiltInId::imageLoad_UImage2D1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01A10D00D00D,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01B20D(BuiltInId::imageLoad_Image3D1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01B20D00E00E,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01C20D(BuiltInId::imageLoad_IImage3D1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01C20D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01D20D(BuiltInId::imageLoad_UImage3D1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01D20D00B,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01E20D(BuiltInId::imageLoad_Image2DArray1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01E20D00E00E,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01F20D(BuiltInId::imageLoad_IImage2DArray1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01F20D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01G20D(BuiltInId::imageLoad_UImage2DArray1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01G20D00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01H20D(BuiltInId::imageLoad_ImageCube1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01H20D30B,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01I20D(BuiltInId::imageLoad_IImageCube1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01I20D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01J20D(BuiltInId::imageLoad_UImageCube1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01J20D00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01f00D(BuiltInId::imageLoad_ImageBuffer1_Int1,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01f00D30B,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01g00D(BuiltInId::imageLoad_IImageBuffer1_Int1,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01g00D30D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01h00D(BuiltInId::imageLoad_UImageBuffer1_Int1,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01h00D00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01Z20D(BuiltInId::imageLoad_ImageCubeArray1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01Z20D00E00E,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01a20D(BuiltInId::imageLoad_IImageCubeArray1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01a20D00E00E,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01b20D(BuiltInId::imageLoad_UImageCubeArray1_Int3,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01b20D00D00D,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01K00D(BuiltInId::imageLoad_Image1D1_Int1,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01K00D00B,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01L00D(BuiltInId::imageLoad_IImage1D1_Int1,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01L00D00E00E,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01M00D(BuiltInId::imageLoad_UImage1D1_Int1,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01M00D30E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01N10D(BuiltInId::imageLoad_Image1DArray1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01N10D00E00E,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01O10D(BuiltInId::imageLoad_IImage1DArray1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01O10D00E00E,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01P10D(BuiltInId::imageLoad_UImage1DArray1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01P10D00E00E,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01W10D(BuiltInId::imageLoad_Image2DRect1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01W10D30B,
                                 2,
                                 StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01X10D(BuiltInId::imageLoad_IImage2DRect1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01X10D00D00D,
                                 2,
                                 StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01Y10D(BuiltInId::imageLoad_UImage2DRect1_Int2,
                                 BuiltInName::imageLoad,
                                 TExtension::UNDEFINED,
                                 BuiltInParameters::p01Y10D00B,
                                 2,
                                 StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                 EOpCallBuiltInFunction,
                                 false);
const TFunction imageLoad_01Q10D00D(BuiltInId::imageLoad_Image2DMS1_Int2_Int1,
                                    BuiltInName::imageLoad,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p01Q10D00D00E00E,
                                    3,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction imageLoad_01R10D00D(BuiltInId::imageLoad_IImage2DMS1_Int2_Int1,
                                    BuiltInName::imageLoad,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p01R10D00D30D,
                                    3,
                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction imageLoad_01S10D00D(BuiltInId::imageLoad_UImage2DMS1_Int2_Int1,
                                    BuiltInName::imageLoad,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p01S10D00D00B,
                                    3,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction imageLoad_01T20D00D(BuiltInId::imageLoad_Image2DMSArray1_Int3_Int1,
                                    BuiltInName::imageLoad,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p01T20D00D30B,
                                    3,
                                    StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction imageLoad_01U20D00D(BuiltInId::imageLoad_IImage2DMSArray1_Int3_Int1,
                                    BuiltInName::imageLoad,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p01U20D00D00D00D,
                                    3,
                                    StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction imageLoad_01V20D00D(BuiltInId::imageLoad_UImage2DMSArray1_Int3_Int1,
                                    BuiltInName::imageLoad,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::p01V20D00D00E00E,
                                    3,
                                    StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                    EOpCallBuiltInFunction,
                                    false);
const TFunction imageStore_00y10D30B(BuiltInId::imageStore_Image2D1_Int2_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00y10D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_00z10D30D(BuiltInId::imageStore_IImage2D1_Int2_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00z10D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01A10D30E(BuiltInId::imageStore_UImage2D1_Int2_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01A10D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01B20D30B(BuiltInId::imageStore_Image3D1_Int3_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01B20D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01C20D30D(BuiltInId::imageStore_IImage3D1_Int3_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01C20D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01D20D30E(BuiltInId::imageStore_UImage3D1_Int3_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01D20D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01E20D30B(BuiltInId::imageStore_Image2DArray1_Int3_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01E20D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01F20D30D(BuiltInId::imageStore_IImage2DArray1_Int3_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01F20D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01G20D30E(BuiltInId::imageStore_UImage2DArray1_Int3_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01G20D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01H20D30B(BuiltInId::imageStore_ImageCube1_Int3_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01H20D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01I20D30D(BuiltInId::imageStore_IImageCube1_Int3_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01I20D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01J20D30E(BuiltInId::imageStore_UImageCube1_Int3_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01J20D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01f00D30B(BuiltInId::imageStore_ImageBuffer1_Int1_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01f00D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01g00D30D(BuiltInId::imageStore_IImageBuffer1_Int1_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01g00D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01h00D30E(BuiltInId::imageStore_UImageBuffer1_Int1_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01h00D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01Z20D30B(BuiltInId::imageStore_ImageCubeArray1_Int3_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01Z20D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01a20D30D(BuiltInId::imageStore_IImageCubeArray1_Int3_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01a20D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01b20D30E(BuiltInId::imageStore_UImageCubeArray1_Int3_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01b20D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01K00D30B(BuiltInId::imageStore_Image1D1_Int1_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01K00D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01L00D30D(BuiltInId::imageStore_IImage1D1_Int1_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01L00D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01M00D30E(BuiltInId::imageStore_UImage1D1_Int1_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01M00D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01N10D30B(BuiltInId::imageStore_Image1DArray1_Int2_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01N10D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01O10D30D(BuiltInId::imageStore_IImage1DArray1_Int2_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01O10D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01P10D30E(BuiltInId::imageStore_UImage1DArray1_Int2_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01P10D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01W10D30B(BuiltInId::imageStore_Image2DRect1_Int2_Float4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01W10D30B,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01X10D30D(BuiltInId::imageStore_IImage2DRect1_Int2_Int4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01X10D30D,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01Y10D30E(BuiltInId::imageStore_UImage2DRect1_Int2_UInt4,
                                     BuiltInName::imageStore,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p01Y10D30E,
                                     3,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction imageStore_01Q10D00D30B(BuiltInId::imageStore_Image2DMS1_Int2_Int1_Float4,
                                        BuiltInName::imageStore,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01Q10D00D30B,
                                        4,
                                        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageStore_01R10D00D30D(BuiltInId::imageStore_IImage2DMS1_Int2_Int1_Int4,
                                        BuiltInName::imageStore,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01R10D00D30D,
                                        4,
                                        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageStore_01S10D00D30E(BuiltInId::imageStore_UImage2DMS1_Int2_Int1_UInt4,
                                        BuiltInName::imageStore,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01S10D00D30E,
                                        4,
                                        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageStore_01T20D00D30B(BuiltInId::imageStore_Image2DMSArray1_Int3_Int1_Float4,
                                        BuiltInName::imageStore,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01T20D00D30B,
                                        4,
                                        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageStore_01U20D00D30D(BuiltInId::imageStore_IImage2DMSArray1_Int3_Int1_Int4,
                                        BuiltInName::imageStore,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01U20D00D30D,
                                        4,
                                        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction imageStore_01V20D00D30E(BuiltInId::imageStore_UImage2DMSArray1_Int3_Int1_UInt4,
                                        BuiltInName::imageStore,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p01V20D00D30E,
                                        4,
                                        StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);
const TFunction noise1_00B(BuiltInId::noise1_Float1,
                           BuiltInName::noise1,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise1_10B(BuiltInId::noise1_Float2,
                           BuiltInName::noise1,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B_o_10B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise1_20B(BuiltInId::noise1_Float3,
                           BuiltInName::noise1,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise1_30B(BuiltInId::noise1_Float4,
                           BuiltInName::noise1,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30D,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 1, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise2_00B(BuiltInId::noise2_Float1,
                           BuiltInName::noise2,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise2_10B(BuiltInId::noise2_Float2,
                           BuiltInName::noise2,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B_o_10B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise2_20B(BuiltInId::noise2_Float3,
                           BuiltInName::noise2,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise2_30B(BuiltInId::noise2_Float4,
                           BuiltInName::noise2,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30D,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 2, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise3_00B(BuiltInId::noise3_Float1,
                           BuiltInName::noise3,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise3_10B(BuiltInId::noise3_Float2,
                           BuiltInName::noise3,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B_o_10B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise3_20B(BuiltInId::noise3_Float3,
                           BuiltInName::noise3,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise3_30B(BuiltInId::noise3_Float4,
                           BuiltInName::noise3,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30D,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 3, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise4_00B(BuiltInId::noise4_Float1,
                           BuiltInName::noise4,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p00B00B30B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise4_10B(BuiltInId::noise4_Float2,
                           BuiltInName::noise4,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p10B_o_10B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise4_20B(BuiltInId::noise4_Float3,
                           BuiltInName::noise4,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p20B20B00B,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction noise4_30B(BuiltInId::noise4_Float4,
                           BuiltInName::noise4,
                           TExtension::UNDEFINED,
                           BuiltInParameters::p30B30D,
                           1,
                           StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                           EOpCallBuiltInFunction,
                           false);
const TFunction memoryBarrier_(BuiltInId::memoryBarrier,
                               BuiltInName::memoryBarrier,
                               TExtension::UNDEFINED,
                               BuiltInParameters::empty,
                               0,
                               StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                               EOpMemoryBarrier,
                               false);
const TFunction memoryBarrierAtomicCounter_(
    BuiltInId::memoryBarrierAtomicCounter,
    BuiltInName::memoryBarrierAtomicCounter,
    TExtension::UNDEFINED,
    BuiltInParameters::empty,
    0,
    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
    EOpMemoryBarrierAtomicCounter,
    false);
const TFunction memoryBarrierBuffer_(BuiltInId::memoryBarrierBuffer,
                                     BuiltInName::memoryBarrierBuffer,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::empty,
                                     0,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpMemoryBarrierBuffer,
                                     false);
const TFunction memoryBarrierImage_(BuiltInId::memoryBarrierImage,
                                    BuiltInName::memoryBarrierImage,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::empty,
                                    0,
                                    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                    EOpMemoryBarrierImage,
                                    false);
const TFunction barrier_(BuiltInId::barrier,
                         BuiltInName::barrier,
                         TExtension::UNDEFINED,
                         BuiltInParameters::empty,
                         0,
                         StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                         EOpBarrier,
                         false);
const TFunction memoryBarrierShared_(BuiltInId::memoryBarrierShared,
                                     BuiltInName::memoryBarrierShared,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::empty,
                                     0,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpMemoryBarrierShared,
                                     false);
const TFunction groupMemoryBarrier_(BuiltInId::groupMemoryBarrier,
                                    BuiltInName::groupMemoryBarrier,
                                    TExtension::UNDEFINED,
                                    BuiltInParameters::empty,
                                    0,
                                    StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                    EOpGroupMemoryBarrier,
                                    false);
const TFunction EmitVertex_(BuiltInId::EmitVertex,
                            BuiltInName::EmitVertex,
                            TExtension::EXT_geometry_shader,
                            BuiltInParameters::empty,
                            0,
                            StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                            EOpEmitVertex,
                            false);
const TFunction EndPrimitive_(BuiltInId::EndPrimitive,
                              BuiltInName::EndPrimitive,
                              TExtension::EXT_geometry_shader,
                              BuiltInParameters::empty,
                              0,
                              StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                              EOpEndPrimitive,
                              false);
const TFunction EmitStreamVertex_00D(BuiltInId::EmitStreamVertex_Int1,
                                     BuiltInName::EmitStreamVertex,
                                     TExtension::UNDEFINED,
                                     BuiltInParameters::p00D00D_o_00D_o_00D,
                                     1,
                                     StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                     EOpCallBuiltInFunction,
                                     false);
const TFunction EndStreamPrimitive_00D(BuiltInId::EndStreamPrimitive_Int1,
                                       BuiltInName::EndStreamPrimitive,
                                       TExtension::UNDEFINED,
                                       BuiltInParameters::p00D00D_o_00D_o_00D,
                                       1,
                                       StaticType::Get<EbtVoid, EbpUndefined, EvqGlobal, 1, 1>(),
                                       EOpCallBuiltInFunction,
                                       false);
const TFunction subpassLoad_01i(BuiltInId::subpassLoad_SubpassInput1,
                                BuiltInName::subpassLoad,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p01i,
                                1,
                                StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction subpassLoad_01j(BuiltInId::subpassLoad_ISubpassInput1,
                                BuiltInName::subpassLoad,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p01j,
                                1,
                                StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction subpassLoad_01k(BuiltInId::subpassLoad_USubpassInput1,
                                BuiltInName::subpassLoad,
                                TExtension::UNDEFINED,
                                BuiltInParameters::p01k,
                                1,
                                StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                EOpCallBuiltInFunction,
                                false);
const TFunction subpassLoad_01l00D(BuiltInId::subpassLoad_SubpassInputMS1_Int1,
                                   BuiltInName::subpassLoad,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p01l00D,
                                   2,
                                   StaticType::Get<EbtFloat, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction subpassLoad_01m00D(BuiltInId::subpassLoad_ISubpassInputMS1_Int1,
                                   BuiltInName::subpassLoad,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p01m00D,
                                   2,
                                   StaticType::Get<EbtInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction subpassLoad_01n00D(BuiltInId::subpassLoad_USubpassInputMS1_Int1,
                                   BuiltInName::subpassLoad,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p01n00D,
                                   2,
                                   StaticType::Get<EbtUInt, EbpUndefined, EvqGlobal, 4, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction anyInvocation_00F(BuiltInId::anyInvocation_Bool1,
                                  BuiltInName::anyInvocation,
                                  TExtension::UNDEFINED,
                                  BuiltInParameters::p00F00F00F,
                                  1,
                                  StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                  EOpCallBuiltInFunction,
                                  false);
const TFunction allInvocations_00F(BuiltInId::allInvocations_Bool1,
                                   BuiltInName::allInvocations,
                                   TExtension::UNDEFINED,
                                   BuiltInParameters::p00F00F00F,
                                   1,
                                   StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                   EOpCallBuiltInFunction,
                                   false);
const TFunction allInvocationsEqual_00F(BuiltInId::allInvocationsEqual_Bool1,
                                        BuiltInName::allInvocationsEqual,
                                        TExtension::UNDEFINED,
                                        BuiltInParameters::p00F00F00F,
                                        1,
                                        StaticType::Get<EbtBool, EbpUndefined, EvqGlobal, 1, 1>(),
                                        EOpCallBuiltInFunction,
                                        false);

}  // namespace Func

namespace BuiltInArray
{
using namespace Func;
using Rule = SymbolRule;

// Rules used to initialize the mangled name array.
constexpr SymbolRule kRules[] = {
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00R30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00R30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtOffset_30B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00g10B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_00z10D00D),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00I20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture2DProj_00I20B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGradOffset_00v30B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00o00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01g00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01I20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01I20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&tanh_30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01E20D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00m00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01f00D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notFunc_10F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notFunc_10F),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_20E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_30B30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_00z10D00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00t00B00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGradOffset_00O30B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B30B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_20B30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_00z10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01f00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01f00D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageSamples_01V),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageSamples_01U),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageSamples_01T),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageSamples_01S),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_20B20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_20B20B00B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageSamples_01Q),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00o00B00B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_30E),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&uintBitsToFloat_30E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01R10D00D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00K00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00K00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00h00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBindings),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBindings),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetchOffset_00q10D10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThanEqual_10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThanEqual_10E10E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00d20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00d20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_30B30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_30B30B30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01a20D00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01R10D00D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00a20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00a20B00B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01K00D30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_20B20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01F20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01F20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ceil_10C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01b20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01A10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01D20D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAdd_00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAdd_00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00p00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_20B),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_20B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00t30B00D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01Q10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01Q10D00D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_20D20D20F),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01Y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01Z20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01D20D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&min_00C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01S10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01R10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01Q10D00D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&inversesqrt_00C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&inversesqrt_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01Q10D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00J20D00D20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00J20D00D20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00S30B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00S30B20B20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10D10D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_10D10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30D00D),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&groupMemoryBarrier_),
    Rule::Get<Spec::GLSL, 430, Shader::COMPUTE, 0>(&groupMemoryBarrier_),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01N10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01N10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01b20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01b20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&step_20C20C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00I10D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00I10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mod_00C00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_E0B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_E0B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01R10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01R10D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00f20B00B70D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00O20B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00Y30B20D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00Y30B20D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&modf_10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01K00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01K00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_50B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01J20D00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00g10B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentInputVectors),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentInputVectors),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sign_20C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&cosh_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sign_20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01V20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01V20D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00t10B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00p20B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_10C10C10C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01Y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01Y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01N10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01C20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00d20B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00d20B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00m20B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01C20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThan_10E10E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01A10D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00X00B00B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00t30B00B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_30C30C30C),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGrad_00v10B10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&step_00C00C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedShaderOutputResources),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedShaderOutputResources),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00I10B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00I10B00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00j00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_20D20D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_20D20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&clamp_20C20C20C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_00z10D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_10F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&all_10F),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyCoarse_00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isinf_30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00a20B10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00a20B10D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00I10B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00I10B10D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjOffset_00q30B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00L20B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00L20B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThanEqual_30E30E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_10E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01a20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01a20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00S30B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00S30B20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&round_00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_30D30D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_30D30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00U20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00U20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01P10D00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&smoothstep_00C00C20C),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(
        &texture2DRect_00O10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01K00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01K00D00D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise2_20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryOutputVertices),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_20B20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01b20D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_10E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_10D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtOffset_00B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00t00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00S20B00B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00S20B00B20D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00p00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_00z10D30D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_00z10D30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B20B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_10B20B),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthFine_10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackHalf2x16_00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&unpackHalf2x16_00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01J20D30E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01J20D30E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B10B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01M00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeTextureImageUnits),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeTextureImageUnits),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01Y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01Y10D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01O10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01Q10D00D00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00L20B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00L20B00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01A10D30E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01A10D30E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01H20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01H20D00E),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&shadow1D_00m20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10E10E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_30B30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10E10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10E10E10E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&texture_00N10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00t30B00B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01E20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01E20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00a20D00D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00a20D00D10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01V20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notFunc_20F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notFunc_20F),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01F20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01Q10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01Q10D00D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01F20D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01L00D30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B20B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00R20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00R20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00p10B00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00h20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01B20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01B20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00J30B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00J30B20B20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01R10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01R10D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00X10B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00X10B00B),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
        &BuiltInVariable::kgl_InvocationID),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01R10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01E20D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&radians_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00n10B00B10D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise2_10B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00a10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00e20B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00e20B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00Z20B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00Z20B20B20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sign_00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_30E00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_30E00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00I10B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00I10B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_10D10D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_10D10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01f00D30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01I20D00E00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&inversesqrt_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&inversesqrt_30C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01I20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00v20B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_20D),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_20D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01A10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01A10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00S30B00B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00S30B00B20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00L20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00L20B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProj_00n30B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00i00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00p20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B20B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_30B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00S20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00S20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicXor_00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicXor_00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00Y20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00Y20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01P10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01P10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01N10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01N10D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_10D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_10D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sign_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sign_30C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_30D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sign_30D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00Y20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00Y20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_20B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdy_20B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00Y30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00Y30B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00X10B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00X10B10D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierBuffer_),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&memoryBarrierBuffer_),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isinf_00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&isinf_00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20D00D00D),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2DProj_00I20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture2DProj_00I20B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01A10D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00O10B70D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00f20B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00f20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00m30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThan_20E20E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00I30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00I30B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_00B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&refract_00B00B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryImageUniforms),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_00y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_00y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01X10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01X10D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00e00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00e00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00a20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00a20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&step_00C10C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_30B30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_30B30D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01Y10D00E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00t00B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&min_30C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01X10D00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00I10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00I10B),
    Rule::Get<Spec::ESSL, 300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_InstanceID),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_InstanceID),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&normalize_20C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01H20D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_F0B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&inverse_F0B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01K00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_20C20D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00R10B10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00R10B10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01h00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01h00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThan_30E30E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01U20D00D30D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00p10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01J20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01J20D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRange),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRange),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01S10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01K00D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00o30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01I20D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_20D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_20D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00L20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00L20B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01L00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01L00D00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_30D30D30F),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01Z20D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01Z20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01Z20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01f00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01f00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01h00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01E20D00E00E),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjOffset_00O30B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&floor_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&floor_10C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01R10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01R10D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00o10B00B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00x30B00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_10B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01F20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01F20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_10B30B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_10B30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01O10D00E00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01F20D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_00C00D),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterCompSwap_00G00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00a20B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00a20B10D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00X10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00X10B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00R10B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00R10B10D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00d10B00B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00d10B00B10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentImageUniforms),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentImageUniforms),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00i00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&equal_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&equal_20E20E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_00E00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&uaddCarry_00E00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00T20B),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&textureCube_00K20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&textureCube_00K20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01U20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01U20D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_90B90B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01T20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01T20D00D00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00p10B00B00B00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00g30B00B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30E00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30E00E00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00J30B20D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00J30B20D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01W10D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00w00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01b20D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&notEqual_30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&notEqual_30E30E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThanEqual_10E10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&inversesqrt_20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&inversesqrt_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00i20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00u10B00D00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&reflect_00C00C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAdd_00E00E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAdd_00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_30D),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_30D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGradOffset_00v20B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00X10B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00X10B10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThanEqual_30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThanEqual_30E30E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_20B20B20F),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_20B20B20F),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounters),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounters),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00X20B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00X20B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_10F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&any_10F),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00d30B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00d30B10B10B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01X10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00I30B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00I30B10D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01W10D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01W10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01W10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00X10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00X10B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01K00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00R10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00R10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01Z20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01M00D30E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&radians_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01Y10D30E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, EXT_INDEX(EXT_blend_func_extended)>(
        &TableBase::m_gl_MaxDualSourceDrawBuffersEXT),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01Y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01Y10D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_10E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01g00D30D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGradOffset_00q20B10B10B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01S10D00D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicXor_00E00E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicXor_00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_00C00C00F),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00g00B00B00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_30B30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounters),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounters),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_20B20B20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureSize_00x00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00S30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00S30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_20B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00o10B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01J20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B30B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_30B30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_10E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_00B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_00F00F00F),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01M00D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01T20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01T20D00D00D),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&subpassLoad_01l00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01N10D30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01Y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01Y10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00X10B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00X10B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00X10D00D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00X10D00D10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packUnorm2x16_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packUnorm2x16_10B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00h20B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_20E20E20E20E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_20E20E20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00m20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00g30B00B00B00D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00o30B00B),
    Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&textureCubeLod_00K20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&textureCubeLod_00K20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00L00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00L00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01L00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_20E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00S30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00S30B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_30B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdy_30B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01W10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&isinf_10C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isinf_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00a20B70D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexTextureImageUnits),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexTextureImageUnits),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_30B30B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
        &texture2DProjLodEXT_00I20B00B),
    Rule::Get<Spec::ESSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FrontFacing),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FrontFacing),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01C20D30D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01C20D30D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00t10B00D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01Z20D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_10B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&textureCube_00K20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&textureCube_00K20B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_10B10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounterBuffers),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounterBuffers),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00f00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00f00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01B20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00h10D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mod_20C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01g00D00D),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(ARM_shader_framebuffer_fetch)>(
        &BuiltInVariable::kgl_LastFragColorARM),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_20D20D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_20D20D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00k20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00Y30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00Y30B00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_blend_func_extended)>(
        &BuiltInVariable::kgl_SecondaryFragColorEXT),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01U20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01U20D00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
        &BuiltInVariable::kgl_BaseInstance),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_B0B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_B0B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01b20D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_20F20F20F),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B30B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01M00D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01F20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01M00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01M00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01F20D00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&texelFetch_00N10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00a00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00a00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01T20D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00Y30B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00Y30B20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_30E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00R10B70D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01b20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00S00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00S00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01S10D00D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounterDecrement_00G),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&atomicCounterDecrement_00G),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00t00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrier_),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&memoryBarrier_),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00f30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00f30B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageSamples_01R),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00R10D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00R10D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sign_20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_30B30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_30B30B30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00R10B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00R10B10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00t10B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01W10D00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01V20D00D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_20B20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_20B20D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_30D30D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_30D30D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01D20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01D20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_10E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00Z20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00Z20B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01S10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01S10D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_10B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00v10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00e30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00e30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01W10D30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00T00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00T00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01g00D00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00u00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00Y30B20B20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00Y30B20B20B20D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise3_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00T20B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00T20B20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture1DProj_00g10B00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00d30B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00d30B10D00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00X10B70D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01U20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01U20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01h00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01h00D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_50B50B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&matrixCompMult_50B50B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_30B30B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01E20D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00U20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00U20B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01I20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01I20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00h10B00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00p10B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&max_20C20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_PointSize),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_PointSize),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01B20D00E00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sinh_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01g00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01h00D00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00S20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00S20B20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_20C20C20C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01N10D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00R20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00R20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThan_10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThan_10E10E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01M00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01M00D00D),
    Rule::Get<Spec::GLSL, 150, Shader::GEOMETRY, 0>(&EmitVertex_),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(&EmitVertex_),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_20B20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_20B20B20B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&textureSamples_00b),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00J20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00J20B20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00J20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00J20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01V20D00D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01V20D00D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01Y10D00E00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_00y10D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_00y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_00y10D00E),
    Rule::Get<Spec::ESSL, 300, Shader::NOT_COMPUTE, EXT_INDEX(OVR_multiview)>(
        &BuiltInVariable::kgl_ViewID_OVR),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&radians_30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01B20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01B20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01H20D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_20E20E20E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&uaddCarry_20E20E20E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00X30B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00X30B10B10B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&textureSamples_00P),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjOffset_00v20B10D),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&shadow2D_00d20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00o00D00D00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&textureSamples_00V),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&textureSamples_00W),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGrad_00q30B10B10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00O10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10D00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeImageUniforms),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeImageUniforms),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00L20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00L20B00B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01A10D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01V20D00D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01A10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01A10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01b20D00D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texture_00n20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_20C20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_00E00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_00E00E00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_00B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_00B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01N10D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_00D00D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_00D00D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00Y30B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00Y30B20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&roundEven_30C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&length_20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_10B10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_10B10B10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00L20B10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00L20B10D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01N10D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_30B),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_20B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_00z10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00Y20D00D20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00Y20D00D20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicExchange_00E00E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicExchange_00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01h00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01h00D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_30C30D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00o00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00X10B70D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_20B20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_10B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_10B00B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00f10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&smoothstep_10C10C10C),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00U20B70D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01L00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01L00D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_30F30F30F),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&abs_20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&abs_20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&abs_20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01f00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01f00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01a20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_00B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_00B00B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_00B00B00F),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_00B00B00F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00s30B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00I20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00I20B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01B20D00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00p10B00B00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounterBuffers),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAtomicCounterBuffers),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackDouble2x32_00C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00J20B20B20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00J20B20B20B20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_00C00C00C),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
        &texture2DGradEXT_00I10B10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01G20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01I20D00D),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
        &texture2DProjGradEXT_00I30B10B10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_30B30B30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01L00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00i20B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupCount),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupCount),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&clamp_20C00C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01X10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_00y10D00E00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_30E30E30F),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01b20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01G20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01G20D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00I10B70D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01S10D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01Z20D00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_30B00D),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdxCoarse_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
        &texture_00M10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00h10B00B00D),
    Rule::Get<Spec::GLSL, 400, Shader::GEOMETRY, 0>(&EndStreamPrimitive_00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00Y20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00Y20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01P10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00X10B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00X10B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_00B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_00B00D),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2D_00I10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture2D_00I10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01O10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ceil_20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01b20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01b20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01P10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01P10D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01P10D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00R20B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00R20B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01V20D00D30E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01T20D00D00E00E),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&subpassLoad_01m00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00I10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00I10B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_20B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise4_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sqrt_10C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sqrt_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01Z20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01Z20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20E20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20E20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00g00B00B00B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00q20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise3_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01G20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01G20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01C20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01C20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01F20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00d30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00d30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01a20D30D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01H20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01H20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00I20B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00I20B10B10B10D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_20B00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_10B10B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&refract_10B10B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01h00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_20C20C20F),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01X10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01X10D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_20C20C20C),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureOffset_00v10B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01P10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sinh_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00m00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00e20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01C20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01I20D00D00D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProj_00O20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&textureProj_00O20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01M00D00E00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_10B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_50B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&inverse_50B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01T20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01T20D00D00E),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise2_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00o10B00B00B00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&radians_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&radians_20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCompSwap_00E00E00E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicCompSwap_00E00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00I00B00B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00Y20B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00Y20B20B20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexUniformVectors),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexUniformVectors),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00o00B00D00B),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&ftransform_),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00X20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00X20B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjOffset_00n30B10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryUniformComponents),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&greaterThanEqual_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&greaterThanEqual_20E20E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
        &textureProj_00M20B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture3DProjLod_00J30B00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(
        &texture3DProjLod_00J30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&isinf_30C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01S10D00D00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_10D10D10F),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00g10B00B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01D20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01D20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00h10B00D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_30B30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&modf_30B30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&roundEven_20C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_30B10B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_30B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00J30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00J30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_00y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_00y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01F20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01F20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00t00B00B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_20B),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00U20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00U20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMin_00E00E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMin_00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01Q10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01Q10D00D00E),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGradOffset_00v10B10B10B10D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGrad_00n20B10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01S10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_20E20E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01F20D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&abs_10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&abs_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&abs_10C),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_frag_depth)>(
        &TableBase::m_gl_FragDepthEXT),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01V20D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&modf_30C30C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01g00D00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00i20B00B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00g10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00X20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00X20B00B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&max_30C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01W10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00a20B70D00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00U20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00U20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00I30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00I30B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_00E00E00F),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01h00D00D00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_00D00D00F),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthFine_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00i20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00a20B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00a20B10B10B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureLod_00s30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01C20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01C20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01g00D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_30B30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01W10D00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00f20B00B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00f20B00B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01T20D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_00y),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_00y),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01W10D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_00z),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_00z),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mod_10C10C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01g00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&faceforward_00C00C00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00a20B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00a20B10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01R10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01T20D00D00E),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdxCoarse_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01a20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00J20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00J20B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_20B20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&refract_20B20B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ceil_30C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryOutputComponents),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise1_30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00d30B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00d30B10B10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mod_20C20C),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fract_30C),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00t00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01L00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30E30E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounterBuffers),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentAtomicCounterBuffers),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_in),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise4_00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&distance_10C10C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00J30B00B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00J30B00B20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01H20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01H20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01h00D30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00d10B00B70D),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&texelFetch_00c20D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
        &texelFetchExt_00c20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sqrt_00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sqrt_00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00R30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00R30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise3_10B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00q10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01F20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00m20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00m30B00D00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGrad_00v30B10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20D20D20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20D20D20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01P10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01C20D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&clamp_00C00C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01b20D00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00U20B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00U20B10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01B20D00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_00z10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_00z10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&clamp_30C00C00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sinh_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_E0BE0B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjOffset_00q20B10D),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_PerVertex),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00m20B00B00B00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00p),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
    Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupSize),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&cross_20C20C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00a20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00a20B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGradOffset_00O20B10B10B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_30B30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01G20D00E00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_10B10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_10B10B10B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProj_00O30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&textureProj_00O30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01Q10D00D00E),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00R10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01T20D00D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01R10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01R10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01E20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01E20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&isnan_00C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_10D10D10D10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&imulExtended_10D10D10D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00o10B00B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&refract_10C10C00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_00E00E),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00I30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture2DProj_00I30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00I10B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00I10B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00J20B00B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00J20B00B20D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_20B20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCompSwap_00D00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicCompSwap_00D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01W10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01W10D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00i20B00D),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyFine_00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00a20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00a20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&refract_30C30C00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30D30D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_30D30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packSnorm2x16_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&packSnorm2x16_10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_30B),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_00y10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_00y10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00R10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00R10B10D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGrad_00q20B10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00R20B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00R20B10B10B10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_30B30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_30B30D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01Q10D00D00D),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterOr_00G00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_30B30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01T20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01T20D00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00I30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00I30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01D20D00E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00g00B00D00B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01D20D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01g00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&abs_00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&abs_00C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&abs_00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00R10B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00R10B00B),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdxCoarse_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture1D_00g00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_10C10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01B20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01g00D00E),
    Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DLod_00I10B00B),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture2DLod_00I10B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00X20B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00X20B10B10B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&round_20C),
    Rule::Get<Spec::GLSL, 150, Shader::GEOMETRY, 0>(&EndPrimitive_),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
        &EndPrimitive_),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&equal_30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&equal_30E30E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01R10D00D00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&step_00C20C),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&dot_00C00C),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&max_30C30C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicOr_00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicOr_00D00D),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00M20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_10D10D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_10D10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00V),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&textureSize_00V),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(
        &textureSizeExt_00V),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01h00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&min_20C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01G20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01G20D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_30D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_30E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00X20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00X20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&shadow2D_00d20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01N10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01N10D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00U20B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00U20B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_10B10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_10B10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01h00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01B20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01B20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::GEOMETRY, 0>(&EmitStreamVertex_00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01J20D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_20F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&all_20F),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01J),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01J),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01K),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01H),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01H),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01I),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01I),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&packHalf2x16_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&packHalf2x16_10B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00I20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00I20B00B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01L),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01M),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01C),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01C),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00r00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01F),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01F),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01G),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01G),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01Z),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01L00D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01Z20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00X10D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00X10D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_30F30F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_30F30F),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01R),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01S),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01P),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01Q),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01V),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00g00B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01T),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01U),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01h),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fract_20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00X10B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00X10B10D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01c),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01a),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01f),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
        &texture2DProjGradEXT_00I20B10B10B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01d),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00S20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00S20B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&step_30C30C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01J20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragDepth),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragDepth),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00x30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_30B30B30F),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_30B30B30F),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_30B30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_30B30B30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00Z20B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00Z20B00D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise4_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sqrt_30C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sqrt_30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01E20D30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01E20D30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30D30D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30D30D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryTextureImageUnits),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtCentroid_10B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texture_00q10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
        &textureSize_00M00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&textureSamples_00c),
    Rule::Get<Spec::ESSL, 0, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
        &BuiltInVariable::kangle_BaseInstance),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_10F10F10F),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00U20B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00U20B10B10B10D),
    Rule::Get<Spec::ESSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_Position),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_PositionGS),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGradOffset_00O10B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
        &textureProj_00M30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00L20B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00L20B10B10B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01V20D00D00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01J20D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01J20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01J20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00l20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01M00D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_20B20B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGrad_00v20B10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00S30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00S30B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00R20B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00R20B10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_00z10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_00z10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&normalize_30C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_30B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureOffset_00O10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00I20B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00I20B10B10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00e20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01V20D00D00E),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2D_00M10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01a20D00E),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthFine_30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00K20B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00K20B00D),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
        &textureCubeLodEXT_00K20B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00T20B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00T20B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N20B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00I10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01A10D00E00E),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyFine_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&modf_10C10C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01E20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01E20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00X30B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00X30B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00m30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00g30B00D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00U20D00D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00U20D00D10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_00z10D00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01D20D00E),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGradOffset_00q30B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00d20B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00d20B10B10B10D),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthCoarse_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00d30B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00d30B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20F20F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_20F20F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_20C20C00C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_10E10E10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&usubBorrow_10E10E10E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01S10D00D30E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01Q10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01Q10D00D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01Q10D00D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00U20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00U20B00B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&isnan_10C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01H20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01A10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01A10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01C20D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00R00B00B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01W10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01W10D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMin_00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMin_00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00X00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00X00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_10B10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_00C00C00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30D00D00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_20E20E20F),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_10B),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_10B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00R30B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00R30B10D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00U20B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00U20B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToInt_00B),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToInt_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01a20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_00B),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&min_30C30C),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&textureSamples_00Q),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00i20B00B00B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_00z10D00D),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(
        &texture2DRectProj_00O20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&modf_20C20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&floor_00C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&floor_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01O10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01O10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mod_30C30C),
    Rule::Get<Spec::ESSL, 0, Shader::VERTEX, EXT_INDEX(ANGLE_multi_draw)>(
        &BuiltInVariable::kgl_DrawID),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00t00B00D),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture3DLod_00J20B00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(
        &texture3DLod_00J20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00R10B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00R10B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_00B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&modf_00B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_20D20D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_20D20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01R10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01R10D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_10C10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_00y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_00y10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_A0B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00i20B00B00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01D20D30E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01D20D30E),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&shadow1DLod_00m20B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01I20D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&distance_00C00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00o30B00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_30D30D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_30D30D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
        &textureProj_00M30B00B),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&texture2DProj_00M30B),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterMax_00G00E),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterExchange_00G00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00I10B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00I10B10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B20B),
    Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DProjLod_00I20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture2DProjLod_00I20B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&step_00C30C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&yuv_2_rgb_20B00H),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00b10D00D),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&texelFetch_00b10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(
        &texelFetchExt_00b10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00J30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00J30B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00R10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00R10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01K00D00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01V20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01V20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01P10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01L00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_10D10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&all_30F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&all_30F),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01P10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01a20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01S10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01S10D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
        &BuiltInVariable::kangle_BaseVertex),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_20E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_20E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01I20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01I20D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01I20D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryInputComponents),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00u20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00v20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fract_10C),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00O10B10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00K20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00I10B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00I10B00B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01S10D00D00E00E),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise4_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00U20B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00U20B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_00y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_00y10D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAnd_00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAnd_00D00D),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragColor),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragColor),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp_10B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureOffset_00n20B10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackUnorm2x16_00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackUnorm2x16_00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sqrt_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sqrt_20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sqrt_20C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00L20B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00L20B10B10B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtCentroid_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00o00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxImageUnits),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxImageUnits),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00o30B00B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&packUnorm4x8_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packUnorm4x8_30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00P10D00D),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&texelFetch_00P10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(
        &texelFetchExt_00P10D00D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texture_00O10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(&texture_00O10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01M00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01M00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00e30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00e30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01O10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01O10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01B20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01B20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragCoord),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_FragCoord),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01X10D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00u10B00B00B),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthFine_20B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00o00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01E20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01E20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&normalize_00C),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&clamp_10C00C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01f00D00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01A10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01A10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01K00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01K00D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMax_00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMax_00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00m30B00B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01R10D00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&floatBitsToUint_10B),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&floatBitsToUint_10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00J20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00J20B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01D20D00D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGrad_00O10B10B10B),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyFine_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00I00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00I00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupSize),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeWorkGroupSize),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00R10D00D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00R10D00D10D),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdxFine_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01K00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01K00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00X10B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00X10B00B10D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00T20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00T20B00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProj_00q20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01K00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_00y10D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log_30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_20F20F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_20F20F),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&allInvocationsEqual_00F),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01G20D30E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01G20D30E),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyCoarse_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00R20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00R20B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_30D30D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_30D30D),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthCoarse_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00I20B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00I20B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01X10D30D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00l),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00m),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00o),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00h),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00i),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00k),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00d),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00e),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00f),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00g),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxDrawBuffers),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxDrawBuffers),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00a),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterMin_00G00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00u10B00B00B00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00x),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00t),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00u),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_20D20D20D20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&imulExtended_20D20D20D20D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_30F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&any_30F),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_30B30B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00s),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00L),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00I),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00J),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00K),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01L00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01W10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01W10D00E),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture3D_00J20B00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3D_00J20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture1DLod_00g00B00B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00X),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00Y),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00Z),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_30B30B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00T),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00U),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00R),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureQueryLevels_00S),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxTextureImageUnits),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxTextureImageUnits),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_20E20E20E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&usubBorrow_20E20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00t30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&shadow1DProj_00m30B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_30B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_30B00B00B),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(ARB_texture_rectangle)>(
        &texture2DRectProj_00O30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01B20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10D00D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGradOffset_00n20B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_00D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_00D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&floor_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&floor_30C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01P10D30E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00S30B20B20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00S30B20B20B20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&reflect_30C30C),
    Rule::Get<Spec::ESSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PointCoord),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_PointCoord),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01D20D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00v10B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01D20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packDouble2x32_10E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_10B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_10B00B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01F20D30D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01F20D30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00S20D00D20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00S20D00D20D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_10D10D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_10D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00g00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00U20B10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00U20B10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00q10B10D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00I10B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00I10B00D),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture1DProjLod_00g30B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&texelFetch_00V10D00D),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&texelFetch_00V10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(
        &texelFetchExt_00V10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01h00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01h00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_30B30B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01h00D00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00R10B70D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01a20D00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00g30B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_00B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01J20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01J20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01F20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01F20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&smoothstep_30C30C30C),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_00z10D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_00z10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_00z10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00n10B00B70D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00t10B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01K00D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01K00D00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedTextureImageUnits),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedTextureImageUnits),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureSize_00k00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_20B20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01V20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01V20D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_10F10F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_10F10F),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01f00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_30B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_10B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdx_10B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_30E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldReverse_30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldReverse_30D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture1DProj_00g30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fract_00C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&fract_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&fract_00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_30E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MinProgramTexelOffset),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MinProgramTexelOffset),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtOffset_20B10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryTotalOutputComponents),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&reflect_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&reflect_30B30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00I10B70D00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtCentroid_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00s30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01X10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01X10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01Z20D30B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture1D_00g00B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_00B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_00B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&faceforward_30C30C30C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&roundEven_10C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00K20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00K20B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitCount_20E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitCount_20E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00L20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00L20D00D),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdxFine_00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_20B20B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGradOffset_00q10B10B10B10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_30E30E30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&uaddCarry_30E30E30E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00U00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00U00D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00o10B00D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedImageUniforms),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedImageUniforms),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterXor_00G00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01g00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01g00D00E),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_GlobalInvocationID),
    Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_GlobalInvocationID),
    Rule::Get<Spec::ESSL, 300, Shader::VERTEX, 0>(&BuiltInVariable::kgl_VertexID),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&BuiltInVariable::kgl_VertexID),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01L00D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&smoothstep_20C20C20C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01U20D00D00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicOr_00E00E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicOr_00E00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01T20D00D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&mix_10B10B10F),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&mix_10B10B10F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&reflect_10C10C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_10B10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_10B10B10B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00Y30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00Y30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01I20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01I20D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&frexp_20B20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_20B20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00I10B10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00I10B10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&notEqual_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&notEqual_20E20E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00d20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00d20B00B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&inverse_A0B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&inverse_A0B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00X20B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00X20B10B10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01J20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01J20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00Y00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00Y00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_20B20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_00E00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&usubBorrow_00E00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01M00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01M00D00D),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyFine_30B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00s20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01N10D00D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texture_00v10B),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&subpassLoad_01n00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00g10B00B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&step_10C10C),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00x20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_10B10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01a20D00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01N),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00u10B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00m30B00B00B00D),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthCoarse_00B),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyCoarse_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00o30B00B00B00D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00g30B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_00E00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_00E00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01I20D30D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01I20D30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&distance_30C30C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&any_20F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&any_20F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00L20B70D),
    Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_HelperInvocation),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&BuiltInVariable::kgl_HelperInvocation),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00g00B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&textureSize_00N00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_20B20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01h00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01h00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGrad_00k30B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00o10B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01A10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01A10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00f30B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00f30B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20D20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_20D20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_10D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_10D10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01N10D00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00t00B00B00B00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&refract_30B30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&refract_30B30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&floor_20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&floor_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&floor_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00t00D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01a20D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_F0BF0B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&matrixCompMult_F0BF0B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_10E10E10E10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_10E10E10E10E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00d20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00d20B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01Z20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01Z20D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_30E30E30E30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_30E30E30E30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00q10B70D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00Y20B20B20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00Y20B20B20B20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00a20B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00a20B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00f30B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00f30B10B10B),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterSubtract_00G00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01C20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&modf_20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&modf_20B20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01Y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01Y10D00E),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise1_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01M00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01L00D00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&length_30C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_30B30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_10C10C10F),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_00z10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_00z10D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_30B),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&allInvocations_00F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&max_20C00C),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture3DProj_00J30B00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(
        &texture3DProj_00J30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01Q10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00X30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00X30B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00I30B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00I30B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&cosh_30B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProj_00q30B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00S20B20D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00S20B20D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&usubBorrow_30E30E30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&usubBorrow_30E30E30E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00R20B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00R20B10D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01f00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01f00D00E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00t00B00D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00i20B00D00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture3DProj_00J30B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3DProj_00J30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_B0BB0B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_30B30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cross_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cross_20B20B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01O),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureGrad_00q10B10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_20B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_20B00B00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdx_00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00o30B00B00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00R20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00R20B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&acos_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&acos_20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageSize_01A),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01A),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01B20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThan_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00g10B00D00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_30F30F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_30F30F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sign_00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&cosh_00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_00D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_00D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01E20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01E20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00Z20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00Z20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sign_00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00Y20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00Y20B20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_60B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_60B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01L00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01O10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01O10D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_00B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_00B00B00B),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_NumWorkGroups),
    Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_NumWorkGroups),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01O10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01O10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01b20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtCentroid_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00R30B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00R30B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00h10B00B00B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01U20D00D00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture1DProj_00g30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00h00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01U20D00D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&modf_00C00C),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00t30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00o00B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01U20D00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00U20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00U20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01H20D30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01H20D30B),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&texelFetch_00Q20D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
        &texelFetchExt_00Q20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&roundEven_00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&roundEven_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&roundEven_00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetchOffset_00O10D10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&atanh_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&atanh_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10E00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10E00E00E),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdxFine_30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01L00D00E),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00J20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00X30B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00X30B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentUniformVectors),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxFragmentUniformVectors),
    Rule::Get<Spec::ESSL, 100, Shader::VERTEX, 0>(&texture2DProjLod_00I30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture2DProjLod_00I30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtOffset_10B10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&max_10C10C),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00g00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&abs_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&abs_30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_10E10E00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_10E10E00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&packSnorm4x8_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&packSnorm4x8_30B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_10B10B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_10B10B00B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01b),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30D30D30D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30D30D30D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00d10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mod_10C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01G20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01G20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01R10D00D30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&determinant_F0B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_A0B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_A0B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&pow_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&pow_20B20B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01g),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01G20D00B),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&imageSize_01e),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01G20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01G20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01Y10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01g00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01g00D00E),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProj_00v30B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGrad_00O20B10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&dot_30C30C),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&fwidthCoarse_10B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00I20B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00I20B10D00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00U20B70D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_10F10F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_10F10F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00O10B70D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&smoothstep_00B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&smoothstep_00B00B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00d30B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00d30B00B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01P10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01P10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00I30B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00I30B00B10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounters),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_10D10D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_10D10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_00y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_00y10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01Q10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01Q10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01L00D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00k30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00J20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00J20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThanEqual_10D10D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThanEqual_10D10D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00o30B00D00B),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, 0>(&TableBase::m_gl_MaxVaryingVectors),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVaryingVectors),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00d00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00d00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01N10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&uaddCarry_10E10E10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&uaddCarry_10E10E10E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01Z20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01Z20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_10C10C00C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounterIncrement_00G),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&atomicCounterIncrement_00G),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01J20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01J20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01S10D00D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01W10D00E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00o10B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01U20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01U20D00D00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00m30B00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01Y10D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&equal_10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&equal_10E10E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01Y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01Y10D00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01O10D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01O10D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00J30B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00J30B20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01D20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01D20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&notEqual_10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&notEqual_10E10E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&min_10C10C),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00t10B00B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00q20B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01B20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01S10D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01O10D00D00D),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&shadow1DProjLod_00m30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01f00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01f00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00u20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00R10B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00R10B00B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&trunc_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&trunc_10C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounters),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeAtomicCounters),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00u10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&dot_20C20C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_DepthRangeParameters),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00f20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00L20B70D00D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise1_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00g30B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&shadow2DProj_00d30B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00d30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00d30B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sign_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sign_10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00a20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00a20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00o10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&refract_20C20C00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
        &textureProj_00M20B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01A10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01A10D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00X30B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00X30B10D00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_00B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01H20D00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00u10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01H20D00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01H20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01H20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00q10B10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00a20B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00a20B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01Q10D00D30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_00C00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureSize_00s00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01P10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01I20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&texture_00N10B00B),
    Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(EXT_geometry_shader)>(
        &BuiltInVariable::kgl_PrimitiveID),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
        &BuiltInVariable::kgl_PrimitiveIDGS),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01X10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01Y10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01X10D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00I30B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00I30B10B10B),
    Rule::Get<Spec::ESSL, 310, Shader::FRAGMENT, EXT_INDEX(EXT_geometry_shader)>(
        &BuiltInVariable::kgl_Layer),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
        &BuiltInVariable::kgl_LayerGS),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00d20B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00d20B10D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_30B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdx_30B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01V20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01V20D00D00E),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(NV_shader_framebuffer_fetch)>(
        &BuiltInVariable::kgl_LastFragColor),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00t30B00B00B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20E20E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01U20D00D00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&texture_00l30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&texture1DProjLod_00g10B00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_10B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&fwidth_10B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(
        &fwidthExt_10B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdy_00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_00B),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&shadow2DLod_00d20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture1DProj_00g10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThan_30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThan_30E30E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_30D30D30D30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&imulExtended_30D30D30D30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_70B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_70B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imulExtended_00D00D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&imulExtended_00D00D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00q10B70D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01F20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01F20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00S20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00S20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00Y20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00Y20B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&faceforward_10C10C10C),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00u00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01P10D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_00E),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&uintBitsToFloat_00E),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdxFine_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01L00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01g00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_20D20D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_20D20D00D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_30B30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_30B30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00U10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01N10D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&tanh_00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_00y10D30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_00y10D30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&max_10C00C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_D0BD0B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00v10B70D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeUniformComponents),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxComputeUniformComponents),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01X10D00E),
    Rule::Get<Spec::GLSL, 0, Shader::VERTEX, 0>(&shadow2DProjLod_00d30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01X10D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_30B30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&reflect_20C20C),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00h10D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierAtomicCounter_),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&memoryBarrierAtomicCounter_),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_00E00E00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_00E00E00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01Z20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01Z20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01b20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01a20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00d20B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00d20B10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01T20D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01T20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01g00D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&clamp_30C30C30C),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProj_00v20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00I20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00I20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(EXT_YUV_target)>(&rgb_2_yuv_20B00H),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageStore_01B20D30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01B20D30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01P10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00T20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00T20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01D20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01D20D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_20E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_20E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01f00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01f00D00D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise2_30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01U20D00D00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01K00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_10D10D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_10D10D10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(OES_EGL_image_external_essl3)>(
        &texelFetch_00M10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00Y20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_F0B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_F0B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00Y20B20D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00Y20B20D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00S20B20B20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00S20B20B20B20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01U20D00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_30E30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_30E30E30E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00R00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00R00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01f00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&acosh_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&acosh_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01f00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01b20D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00L20B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00L20B10D00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_20B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_20B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01U20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00J30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00J30B00B),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&subpassLoad_01i),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&subpassLoad_01k),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_90B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_90B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_30C30C00C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicAnd_00E00E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicAnd_00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00I10D00D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00I10D00D10D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00L10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicCounter_00G),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&atomicCounter_00G),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00m20B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise3_20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_30D30D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_30D30D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&min_10C00C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_10D10D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_10D10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_10E00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_10E00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00h10B00B00B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01V20D00D00D),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2D_00I10B00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture2D_00I10B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_20D20D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_20D20D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&noise1_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00t10B00B00D),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjOffset_00O20B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&trunc_00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&length_10C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01R10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01H20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01H20D00E),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&subpassLoad_01j),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&dot_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&dot_00B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00T20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00T20B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGrad_00R30B10B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGrad_00R30B10B10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&exp2_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&exp2_10B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00X20B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00X20B10D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00X30B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00X30B10B10B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&matrixCompMult_A0BA0B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&matrixCompMult_A0BA0B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffsets_00v10B70D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00S20B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00S20B20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&round_30C),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&anyInvocation_00F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGrad_00x30B20B20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01D20D00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00o30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&smoothstep_00C00C10C),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&interpolateAtSample_00B00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdx_20B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdx_20B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdxExt_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00L20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00L20B),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&barrier_),
    Rule::Get<Spec::GLSL, 400, Shader::COMPUTE, 0>(&barrier_),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01a20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00k30B00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00L20B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00L20B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01S10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01S10D00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00S30B20D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00S30B20D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01D20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&normalize_10C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&unpackSnorm4x8_00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackSnorm4x8_00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01C20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01C20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01C20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01C20D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00l30B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&normalize_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&normalize_10B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&asin_30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&asin_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isnan_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isnan_20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&isnan_20C),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&fwidth_00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(
        &fwidthExt_00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&dFdy_10B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&dFdy_10B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(&dFdyExt_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01P10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01P10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&max_30E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&max_30E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLod_00d20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00d20B00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureOffset_00q10B10D),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_framebuffer_fetch)>(
        &TableBase::m_gl_LastFragData),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(NV_shader_framebuffer_fetch)>(
        &TableBase::m_gl_LastFragDataNV),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_10B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_10B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00g00B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_10E),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&uintBitsToFloat_10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00t30B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_70B70B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01I20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01M00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01M00D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureLod_00k30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01E20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00Y20B00B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00Y20B00B20D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&refract_00C00C00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&log2_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&log2_00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&tanh_10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01I20D00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00h10B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01b20D30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00O20B00D),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationID),
    Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationID),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_00B00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_00B00B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00d10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryAtomicCounterBuffers),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00p10B00D00B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01f00D00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&clamp_10C10C10C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&outerProduct_20B10B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&outerProduct_20B10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00t10B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&isinf_20C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00e30B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00e30B20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00J00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00J00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00Z20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&dot_10C10C),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGrad_00n30B10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01U20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01U20D00D00D),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
        &texture2DProjLodEXT_00I30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01N10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01N10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01b20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&step_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&step_00B00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_shader_texture_lod)>(
        &texture2DLodEXT_00I10B00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&texture_00K20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00K20B00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGradOffset_00n30B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00J20B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00J20B20B20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01V20D00D00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00U20B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00U20B10D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_10D),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&min_20C20C),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00Y30B00B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00Y30B00B20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01h00D00E),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&texture3D_00J20B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_texture_3D)>(&texture3D_00J20B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(EXT_blend_func_extended)>(
        &TableBase::m_gl_SecondaryFragDataEXT),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01X10D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&faceforward_20C20C20C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01O10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01X10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00n10B00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00X10B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00X10B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01L00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01L00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01G20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01G20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureOffset_00a20B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00a20B10D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01X10D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30E30E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_30E30E),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&texture2DProj_00I30B00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&texture2DProj_00I30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00X10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01I20D00E),
    Rule::Get<Spec::ESSL, 100, Shader::ALL, EXT_INDEX(EXT_shader_texture_lod)>(
        &textureCubeGradEXT_00K20B20B20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_00B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00o00B00B00B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_30C30C30F),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_30C30C30C),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupID),
    Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_WorkGroupID),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01J20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01J20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01D20D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicExchange_00D00D),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicExchange_00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00m20B00D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(EXT_geometry_shader)>(
        &TableBase::m_gl_MaxGeometryAtomicCounters),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&textureOffset_00f30B10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01a20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01a20D00E),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01a20D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&matrixCompMult_60B60B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_00z10D00D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00t30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00t10B00B00B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&unpackSnorm2x16_00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&unpackSnorm2x16_00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&lessThan_30D30D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&lessThan_30D30D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&atan_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&atan_00B00B),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00S20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notEqual_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notEqual_10B10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01G20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01G20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&trunc_30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&trunc_30C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&length_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&length_00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&length_00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01H20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01H20D00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProj_00X30B00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00X30B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01O10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01C20D00E00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureLod_00x30B00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00j),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00n),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01F20D00D),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&textureSize_00c),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
        &textureSizeExt_00c),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00b),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&textureSize_00b),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(
        &textureSizeExt_00b),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&min_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&min_20B20B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00q),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00r),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00w),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00v),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_20E20E00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_20E20E00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxProgramTexelOffset),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureSize_00O),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01a20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01g00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&trunc_00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01a20D00D),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&textureSize_00Q),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
        &textureSizeExt_00Q),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureSize_00P),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&textureSize_00P),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, EXT_INDEX(ANGLE_texture_multisample)>(
        &textureSizeExt_00P),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01M00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01M00D00D),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&textureSize_00W),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
        &textureSizeExt_00W),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLod_00X20B00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00X20B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&smoothstep_00C00C00C),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterAnd_00G00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&faceforward_30B30B30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&faceforward_30B30B30B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&distance_20C20C),
    Rule::Get<Spec::GLSL, 460, Shader::ALL, 0>(&atomicCounterAdd_00G00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01O10D30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00X10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00X10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ceil_00C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&ceil_00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&ceil_00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&distance_00B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&distance_00B00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetch_00O10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01N10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01N10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01C20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicExchange_01C20D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGrad_00s30B20B20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00I10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00I10B),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01C20D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30D30D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_30D30D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_30E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_30E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGradOffset_00R10B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGradOffset_00R10B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_30B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&fwidth_30B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(
        &fwidthExt_30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureGrad_00K20B20B20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00K20B20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetch_00S20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00S20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&max_10B00B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&max_10B00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00R30B10B10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00R30B10B10B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texelFetchOffset_00L20D00D10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00L20D00D10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&isnan_30C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_50B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_50B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThanEqual_20D20D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThanEqual_20D20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_00B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_00B),
    Rule::Get<Spec::ESSL, 310, Shader::GEOMETRY_EXT, EXT_INDEX(EXT_geometry_shader)>(
        &BuiltInVariable::kgl_PrimitiveIDIn),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00Z20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00Z20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureGrad_00p10B00B00B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjOffset_00v30B10D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&greaterThan_20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&greaterThan_20B20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_20D20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_20D20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetchOffset_00g00D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01g00D00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01Q10D00D00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01O10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01O10D00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&tanh_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&tanh_20B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProj_00m30B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&sin_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&sin_20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&smoothstep_00C00C30C),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureSize_00l00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLod_00o00B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01K00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01K00D00E),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00I10B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00I10B10D00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_00z10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_00z10D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBufferSize),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxAtomicCounterBufferSize),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureOffset_00J20B20D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureOffset_00J20B20D00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&lessThanEqual_20E20E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&lessThanEqual_20E20E),
    Rule::Get<Spec::ESSL, 300, Shader::VERTEX, EXT_INDEX(ANGLE_base_vertex_base_instance)>(
        &BuiltInVariable::kgl_BaseVertex),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00g00B00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00g30B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01Z20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldInsert_30E30E00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldInsert_30E30E00D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_20E00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_20E00D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&uintBitsToFloat_20E),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&uintBitsToFloat_20E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&unpackUnorm4x8_00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&unpackUnorm4x8_00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mod_10B10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mod_10B10B),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationIndex),
    Rule::Get<Spec::GLSL, 0, Shader::COMPUTE, 0>(&BuiltInVariable::kgl_LocalInvocationIndex),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01W10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01W10D00E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexImageUniforms),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexImageUniforms),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&equal_20D20D),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&equal_20D20D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounterBuffers),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxCombinedAtomicCounterBuffers),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&mix_10E10E10F),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00R10B00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00R10B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureSize_00Z00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureSize_00Z00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&bitfieldExtract_30D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&bitfieldExtract_30D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01J20D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01J20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageStore_01T20D00D30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&intBitsToFloat_00D),
    Rule::Get<Spec::GLSL, 330, Shader::ALL, 0>(&intBitsToFloat_00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00m20B00B00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findLSB_00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findLSB_00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texelFetch_00p10D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00d10B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00d10B00B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&shadow2DProj_00d30B00B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&inversesqrt_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&inversesqrt_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&inversesqrt_10C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&abs_30D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&abs_30D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&transpose_D0B),
    Rule::Get<Spec::GLSL, 120, Shader::ALL, 0>(&transpose_D0B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&abs_30C),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&textureProjGrad_00O30B10B10B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMax_01Z20D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&imageLoad_01E20D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageLoad_01E20D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(EXT_YUV_target)>(&textureProj_00N20B00B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, 0>(&TableBase::m_gl_FragData),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&TableBase::m_gl_FragData),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdxCoarse_20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&clamp_20E00E00E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&clamp_20E00E00E),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00d30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00d30B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexOutputVectors),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexOutputVectors),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&shadow1D_00m20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureOffset_00u10B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&cosh_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&cosh_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&sign_10C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01G20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_01G20D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sign_10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sign_10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&umulExtended_00E00E00E00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&umulExtended_00E00E00E00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAttribs),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&TableBase::m_gl_MaxVertexAttribs),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00a20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00a20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01T20D00D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01T20D00D00D),
    Rule::Get<Spec::GLSL, 450, Shader::ALL, 0>(&imageAtomicExchange_01g00D00B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&ldexp_10B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&ldexp_10B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00g30B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00Z20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00Z20B),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&degrees_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&degrees_10B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&texture_00K20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00K20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&sinh_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&sinh_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00m20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01C20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&notFunc_30F),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&notFunc_30F),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjLodOffset_00I20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00I20B00B10D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00K20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00K20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00R10B10D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00R10B10D),
    Rule::Get<Spec::ESSL, 310, Shader::COMPUTE, 0>(&memoryBarrierShared_),
    Rule::Get<Spec::GLSL, 430, Shader::COMPUTE, 0>(&memoryBarrierShared_),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&clamp_20B20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&clamp_20B20B20B),
    Rule::Get<Spec::GLSL, 150, Shader::ALL, 0>(&texelFetch_00W20D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, EXT_INDEX(OES_texture_storage_multisample_2d_array)>(
        &texelFetchExt_00W20D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLod_00g10B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&trunc_20C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&trunc_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&trunc_20B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&textureProjOffset_00I30B10D00B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&textureProjOffset_00I30B10D00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&max_00C00C),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&tan_10B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&tan_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&texture_00g00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureLodOffset_00L20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00L20B00B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureLodOffset_00u10B00B00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_00y10D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAnd_00y10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&isinf_20B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&isinf_20B),
    Rule::Get<Spec::GLSL, 450, Shader::FRAGMENT, 0>(&dFdyCoarse_10B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGatherOffset_00X10B10D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00X10B10D00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_10E10E),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_10E10E),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&memoryBarrierImage_),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&memoryBarrierImage_),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&round_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&round_10B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&round_10C),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjLodOffset_00m30B00B00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00g10B00B00B00D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00R30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00R30B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&shadow1DProj_00m30B),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00f30B00B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&fma_00B00B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01b20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01b20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGatherOffset_00v10B10D00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&atomicMax_00E00E),
    Rule::Get<Spec::GLSL, 430, Shader::ALL, 0>(&atomicMax_00E00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01B20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicMin_01B20D00D),
    Rule::Get<Spec::GLSL, 400, Shader::FRAGMENT, 0>(&textureQueryLod_00t00B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjOffset_00R30B10D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjOffset_00R30B10D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProj_00X30B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProj_00X30B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_00D),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&findMSB_00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&findMSB_00E),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&mix_20B20B20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&mix_20B20B20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicCompSwap_01X10D00D00D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&frexp_30C30D),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mix_10C10C10C),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&min_30D00D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&min_30D00D),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, EXT_INDEX(OES_EGL_image_external_essl3)>(
        &texture_00M10B00B),
    Rule::Get<Spec::ESSL, 300, Shader::FRAGMENT, 0>(&fwidth_20B),
    Rule::Get<Spec::GLSL, 0, Shader::FRAGMENT, 0>(&fwidth_20B),
    Rule::Get<Spec::ESSL, 100, Shader::FRAGMENT, EXT_INDEX(OES_standard_derivatives)>(
        &fwidthExt_20B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01S10D00D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01S10D00D00E),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&mod_30C00C),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01A10D00D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicAdd_01A10D00E),
    Rule::Get<Spec::GLSL, 130, Shader::FRAGMENT, 0>(&texture_00o00B00B),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01H20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicOr_01H20D00D),
    Rule::Get<Spec::ESSL, 0, Shader::ALL, 0>(&cos_20B),
    Rule::Get<Spec::GLSL, 0, Shader::ALL, 0>(&cos_20B),
    Rule::Get<Spec::ESSL, 310, Shader::ALL, 0>(&textureGather_00T20B),
    Rule::Get<Spec::GLSL, 400, Shader::ALL, 0>(&textureGather_00T20B),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&textureProjGradOffset_00J30B20B20B20D),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&textureProjGradOffset_00J30B20B20B20D),
    Rule::Get<Spec::ESSL, 300, Shader::ALL, 0>(&asinh_10B),
    Rule::Get<Spec::GLSL, 130, Shader::ALL, 0>(&asinh_10B),
    Rule::Get<Spec::GLSL, 140, Shader::ALL, 0>(&texelFetchOffset_00v10D10D),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01E20D00E),
    Rule::Get<Spec::GLSL, 420, Shader::ALL, 0>(&imageAtomicXor_01E20D00D)};

// Flat array of all mangled names.
constexpr const char *kMangledNames[] = {"textureProj(00R30B00B",
                                         "interpolateAtOffset(30B10B",
                                         "textureProjOffset(00g10B00D",
                                         "imageAtomicOr(00z10D00D",
                                         "texture2DProj(00I20B",
                                         "textureProjGradOffset(00v30B10B10B10D",
                                         "texelFetch(00o00D00D",
                                         "imageLoad(01g00D",
                                         "imageLoad(01I20D",
                                         "tanh(30B",
                                         "imageAtomicCompSwap(01E20D00D00D",
                                         "textureQueryLod(00m00B",
                                         "imageAtomicCompSwap(01f00D00D00D",
                                         "not(10F",
                                         "findMSB(20E",
                                         "lessThanEqual(30B30B",
                                         "imageAtomicAdd(00z10D00E",
                                         "textureLod(00t00B00B",
                                         "textureProjGradOffset(00O30B10B10B10D",
                                         "outerProduct(20B30B",
                                         "imageAtomicOr(00z10D00E",
                                         "imageAtomicAnd(01f00D00D",
                                         "imageAtomicAnd(01f00D00E",
                                         "imageSamples(01V",
                                         "imageSamples(01U",
                                         "imageSamples(01T",
                                         "imageSamples(01S",
                                         "mix(20B20B00B",
                                         "imageSamples(01Q",
                                         "textureLodOffset(00o00B00B00D",
                                         "uintBitsToFloat(30E",
                                         "imageAtomicExchange(01R10D00D00B",
                                         "textureSize(00K00D",
                                         "textureSize(00h00D",
                                         "gl_MaxAtomicCounterBindings",
                                         "texelFetchOffset(00q10D10D",
                                         "greaterThanEqual(10E10E",
                                         "texture(00d20B",
                                         "atan(10B10B",
                                         "clamp(30B30B30B",
                                         "imageAtomicCompSwap(01a20D00E00E",
                                         "imageAtomicCompSwap(01R10D00D00D00D",
                                         "textureLodOffset(00a20B00B10D",
                                         "imageStore(01K00D30B",
                                         "greaterThanEqual(20B20B",
                                         "imageLoad(01F20D",
                                         "ceil(10C",
                                         "imageAtomicCompSwap(01b20D00D00D",
                                         "imageAtomicAnd(01A10D00D",
                                         "imageAtomicAdd(01D20D00E",
                                         "atomicAdd(00D00D",
                                         "textureSize(00p00D",
                                         "floatBitsToUint(20B",
                                         "textureProjOffset(00t30B00D00B",
                                         "imageAtomicOr(01Q10D00D00D",
                                         "imageAtomicOr(01Q10D00D00E",
                                         "mix(20D20D20F",
                                         "degrees(20B",
                                         "imageAtomicMin(01Y10D00D",
                                         "imageAtomicAnd(01Z20D00D",
                                         "imageAtomicCompSwap(01D20D00D00D",
                                         "min(00C00C",
                                         "imageAtomicMax(01S10D00D00E",
                                         "imageAtomicXor(01R10D00D00E",
                                         "imageAtomicXor(01Q10D00D00E",
                                         "inversesqrt(00C",
                                         "inversesqrt(00B",
                                         "imageAtomicXor(01Q10D00D00D",
                                         "texelFetchOffset(00J20D00D20D",
                                         "textureProjGrad(00S30B20B20B",
                                         "equal(10D10D",
                                         "max(30D00D",
                                         "groupMemoryBarrier(",
                                         "imageAtomicOr(01N10D00D",
                                         "imageAtomicOr(01N10D00E",
                                         "imageAtomicExchange(01b20D00E",
                                         "imageAtomicExchange(01b20D00D",
                                         "step(20C20C",
                                         "texelFetch(00I10D00D",
                                         "mod(00C00C",
                                         "transpose(E0B",
                                         "imageAtomicMin(01R10D00D00E",
                                         "imageAtomicMin(01R10D00D00D",
                                         "textureGatherOffsets(00f20B00B70D",
                                         "textureGather(00O20B",
                                         "textureProjOffset(00Y30B20D00B",
                                         "modf(10B10B",
                                         "imageAtomicMax(01K00D00D",
                                         "imageAtomicMax(01K00D00E",
                                         "determinant(50B",
                                         "imageAtomicCompSwap(01J20D00E00E",
                                         "textureProj(00g10B00B",
                                         "lessThan(20B20B",
                                         "gl_MaxFragmentInputVectors",
                                         "sign(20C",
                                         "cosh(20B",
                                         "sign(20D",
                                         "atanh(00B",
                                         "imageAtomicAnd(01V20D00D00E",
                                         "imageAtomicAnd(01V20D00D00D",
                                         "textureProj(00t10B",
                                         "texture(00p20B00B",
                                         "fma(10C10C10C",
                                         "imageAtomicXor(01Y10D00D",
                                         "imageAtomicXor(01Y10D00E",
                                         "imageAtomicExchange(01N10D00D",
                                         "imageAtomicAnd(01C20D00E",
                                         "textureOffset(00d20B10D00B",
                                         "textureOffset(00m20B00D",
                                         "imageAtomicAnd(01C20D00D",
                                         "lessThan(10E10E",
                                         "imageAtomicCompSwap(01A10D00D00D",
                                         "textureGrad(00X00B00B00B",
                                         "textureProjLodOffset(00t30B00B00D",
                                         "fma(30C30C30C",
                                         "textureGrad(00v10B10B10B",
                                         "textureProj(00N30B00B",
                                         "step(00C00C",
                                         "gl_MaxCombinedShaderOutputResources",
                                         "texture(00I10B00B",
                                         "texelFetch(00j00D",
                                         "lessThan(20D20D",
                                         "clamp(20C20C20C",
                                         "imageAtomicXor(00z10D00E",
                                         "all(10F",
                                         "dFdyCoarse(00B",
                                         "isinf(30B",
                                         "textureGatherOffset(00a20B10D00D",
                                         "textureGatherOffset(00I10B10D",
                                         "textureProjOffset(00q30B10D",
                                         "textureOffset(00L20B10D",
                                         "lessThanEqual(30E30E",
                                         "min(10E00E",
                                         "imageAtomicXor(01a20D00E",
                                         "imageAtomicXor(01a20D00D",
                                         "textureProjOffset(00S30B20D",
                                         "round(00C",
                                         "round(00B",
                                         "greaterThan(30D30D",
                                         "texture(00U20B",
                                         "imageAtomicCompSwap(01P10D00E00E",
                                         "smoothstep(00C00C20C",
                                         "texture2DRect(00O10B",
                                         "imageAtomicAdd(01K00D00E",
                                         "imageAtomicAdd(01K00D00D",
                                         "noise2(20B",
                                         "gl_MaxGeometryOutputVertices",
                                         "step(20B20B",
                                         "imageAtomicAnd(01b20D00E",
                                         "findMSB(10E",
                                         "findMSB(10D",
                                         "interpolateAtOffset(00B10B",
                                         "texture(00t00B",
                                         "textureLodOffset(00S20B00B20D",
                                         "textureQueryLod(00p00B",
                                         "imageStore(00z10D30D",
                                         "outerProduct(10B20B",
                                         "fwidthFine(10B",
                                         "cos(30B",
                                         "unpackHalf2x16(00E",
                                         "imageStore(01J20D30E",
                                         "outerProduct(10B10B",
                                         "imageAtomicOr(01M00D00D",
                                         "gl_MaxComputeTextureImageUnits",
                                         "imageAtomicMax(01Y10D00E",
                                         "imageAtomicMax(01Y10D00D",
                                         "sin(30B",
                                         "imageAtomicAnd(01O10D00D",
                                         "imageAtomicCompSwap(01Q10D00D00D00D",
                                         "textureGather(00L20B00D",
                                         "imageStore(01A10D30E",
                                         "imageAtomicXor(01H20D00D",
                                         "imageAtomicXor(01H20D00E",
                                         "shadow1D(00m20B00B",
                                         "max(10E10E",
                                         "max(30B30B",
                                         "clamp(10E10E10E",
                                         "texture(00N10B",
                                         "textureProjGrad(00t30B00B00B",
                                         "imageAtomicOr(01E20D00D",
                                         "imageAtomicOr(01E20D00E",
                                         "texelFetchOffset(00a20D00D10D",
                                         "imageLoad(01V20D00D",
                                         "not(20F",
                                         "imageAtomicExchange(01F20D00D",
                                         "imageAtomicMax(01Q10D00D00D",
                                         "imageAtomicMax(01Q10D00D00E",
                                         "imageAtomicExchange(01F20D00B",
                                         "imageStore(01L00D30D",
                                         "outerProduct(20B20B",
                                         "textureProjLodOffset(00R20B00B10D",
                                         "textureOffset(00p10B00D",
                                         "texture(00h20B",
                                         "imageAtomicXor(01B20D00D",
                                         "imageAtomicXor(01B20D00E",
                                         "textureProjGrad(00J30B20B20B",
                                         "imageAtomicOr(01R10D00D00E",
                                         "imageAtomicOr(01R10D00D00D",
                                         "textureLod(00X10B00B",
                                         "gl_InvocationID",
                                         "imageAtomicAnd(01R10D00D00D",
                                         "imageAtomicAdd(01E20D00E",
                                         "radians(10B",
                                         "textureGatherOffset(00n10B00B10D",
                                         "noise2(10B",
                                         "textureQueryLod(00a10B",
                                         "textureGather(00e20B00B",
                                         "distance(10B10B",
                                         "textureGrad(00Z20B20B20B",
                                         "sign(00B",
                                         "bitfieldReverse(00D",
                                         "bitfieldReverse(00E",
                                         "bitfieldExtract(30E00D00D",
                                         "textureLod(00I10B00B",
                                         "greaterThanEqual(10D10D",
                                         "imageStore(01f00D30B",
                                         "imageAtomicCompSwap(01I20D00E00E",
                                         "degrees(30B",
                                         "inversesqrt(30B",
                                         "inversesqrt(30C",
                                         "imageAtomicMin(01I20D00D",
                                         "textureGather(00v20B00D",
                                         "intBitsToFloat(20D",
                                         "exp(20B",
                                         "imageAtomicMax(01A10D00E",
                                         "imageAtomicMax(01A10D00D",
                                         "acosh(00B",
                                         "log(10B",
                                         "textureProjLodOffset(00S30B00B20D",
                                         "textureGather(00L20B",
                                         "textureProj(00n30B",
                                         "textureQueryLod(00i00B",
                                         "texture(00p20B",
                                         "outerProduct(30B20B",
                                         "texture(00S20B",
                                         "atomicXor(00D00D",
                                         "texelFetch(00Y20D00D",
                                         "imageAtomicOr(01P10D00D",
                                         "imageAtomicOr(01P10D00E",
                                         "imageAtomicXor(01N10D00E",
                                         "imageAtomicXor(01N10D00D",
                                         "bitfieldExtract(10D00D00D",
                                         "sign(30B",
                                         "sign(30C",
                                         "sign(30D",
                                         "texture(00Y20B00B",
                                         "dFdy(20B",
                                         "textureProj(00Y30B",
                                         "textureOffset(00X10B10D00B",
                                         "memoryBarrierBuffer(",
                                         "isinf(00B",
                                         "isinf(00C",
                                         "clamp(20D00D00D",
                                         "texture2DProj(00I20B00B",
                                         "mod(30B00B",
                                         "imageAtomicAnd(01A10D00E",
                                         "textureGatherOffsets(00O10B70D00D",
                                         "textureGather(00f20B00B",
                                         "textureProj(00m30B",
                                         "greaterThan(20E20E",
                                         "textureProjLod(00I30B00B",
                                         "refract(00B00B00B",
                                         "gl_MaxGeometryImageUniforms",
                                         "imageAtomicMin(00y10D00D",
                                         "imageAtomicMin(00y10D00E",
                                         "imageAtomicMin(01X10D00D",
                                         "imageAtomicMin(01X10D00E",
                                         "textureSize(00e00D",
                                         "texelFetch(00a20D00D",
                                         "step(00C10C",
                                         "frexp(30B30D",
                                         "imageAtomicMin(01Y10D00E",
                                         "texture(00t00B00B",
                                         "min(30C00C",
                                         "imageAtomicCompSwap(01X10D00E00E",
                                         "texture(00I10B",
                                         "gl_InstanceID",
                                         "normalize(20B",
                                         "normalize(20C",
                                         "imageAtomicCompSwap(01H20D00D00D",
                                         "inverse(F0B",
                                         "imageLoad(01K00D",
                                         "frexp(20C20D",
                                         "atan(00B",
                                         "textureGatherOffset(00R10B10D00D",
                                         "imageAtomicMin(01h00D00E",
                                         "imageAtomicMin(01h00D00D",
                                         "greaterThan(30E30E",
                                         "imageStore(01U20D00D30D",
                                         "texelFetchOffset(00p10D00D00D",
                                         "imageAtomicAnd(01J20D00D",
                                         "imageAtomicAnd(01J20D00E",
                                         "gl_DepthRange",
                                         "imageAtomicMax(01S10D00D00D",
                                         "imageAtomicCompSwap(01K00D00D00D",
                                         "textureProj(00o30B",
                                         "imageAtomicAdd(01I20D00E",
                                         "bitfieldExtract(20D00D00D",
                                         "texture(00L20B00B",
                                         "imageAtomicOr(01L00D00E",
                                         "imageAtomicOr(01L00D00D",
                                         "mix(30D30D30F",
                                         "imageAtomicExchange(01Z20D00B",
                                         "imageAtomicExchange(01Z20D00E",
                                         "imageAtomicExchange(01Z20D00D",
                                         "imageAtomicExchange(01f00D00E",
                                         "imageAtomicExchange(01f00D00D",
                                         "imageLoad(01h00D",
                                         "imageAtomicCompSwap(01E20D00E00E",
                                         "textureProjOffset(00O30B10D",
                                         "floor(10B",
                                         "floor(10C",
                                         "imageAtomicMax(01R10D00D00E",
                                         "imageAtomicMax(01R10D00D00D",
                                         "textureProjLodOffset(00o10B00B00D",
                                         "textureGather(00x30B00D",
                                         "interpolateAtSample(10B00D",
                                         "imageAtomicMin(01F20D00E",
                                         "imageAtomicMin(01F20D00D",
                                         "outerProduct(10B30B",
                                         "imageAtomicCompSwap(01O10D00E00E",
                                         "cos(00B",
                                         "imageAtomicXor(01F20D00E",
                                         "frexp(00C00D",
                                         "atomicCounterCompSwap(00G00E00E",
                                         "textureOffset(00a20B10D00B",
                                         "textureGather(00X10B",
                                         "textureOffset(00R10B10D00B",
                                         "textureGatherOffset(00d10B00B10D",
                                         "gl_MaxFragmentImageUniforms",
                                         "textureSize(00i00D",
                                         "equal(20E20E",
                                         "uaddCarry(00E00E00E",
                                         "textureQueryLod(00T20B",
                                         "textureCube(00K20B",
                                         "imageAtomicMax(01U20D00D00E",
                                         "imageAtomicMax(01U20D00D00D",
                                         "matrixCompMult(90B90B",
                                         "imageAtomicMin(01T20D00D00D",
                                         "imageAtomicMin(01T20D00D00E",
                                         "textureGradOffset(00p10B00B00B00D",
                                         "textureProjLodOffset(00g30B00B00D",
                                         "clamp(30E00E00E",
                                         "asin(00B",
                                         "textureProjOffset(00J30B20D00B",
                                         "imageLoad(01W10D",
                                         "texelFetch(00w00D",
                                         "imageAtomicExchange(01b20D00B",
                                         "notEqual(30E30E",
                                         "lessThanEqual(10E10E",
                                         "inversesqrt(20C",
                                         "inversesqrt(20B",
                                         "textureLod(00i20B00B",
                                         "textureOffset(00u10B00D00B",
                                         "reflect(00C00C",
                                         "atomicAdd(00E00E",
                                         "intBitsToFloat(30D",
                                         "textureProjGradOffset(00v20B10B10B10D",
                                         "textureGrad(00X10B10B10B",
                                         "greaterThanEqual(30E30E",
                                         "mix(20B20B20F",
                                         "gl_MaxVertexAtomicCounters",
                                         "textureProjOffset(00X20B10D",
                                         "any(10F",
                                         "textureProjGradOffset(00d30B10B10B10D",
                                         "imageLoad(01X10D",
                                         "textureProjOffset(00I30B10D",
                                         "imageAtomicExchange(01W10D00B",
                                         "imageAtomicExchange(01W10D00E",
                                         "imageAtomicExchange(01W10D00D",
                                         "textureOffset(00X10B10D",
                                         "imageAtomicXor(01K00D00E",
                                         "texture(00R10B",
                                         "imageAtomicAnd(01Z20D00E",
                                         "imageStore(01M00D30E",
                                         "radians(00B",
                                         "imageStore(01Y10D30E",
                                         "step(10B10B",
                                         "gl_MaxDualSourceDrawBuffersEXT",
                                         "imageAtomicAdd(01Y10D00D",
                                         "imageAtomicAdd(01Y10D00E",
                                         "bitfieldReverse(10E",
                                         "bitfieldReverse(10D",
                                         "imageStore(01g00D30D",
                                         "textureProjGradOffset(00q20B10B10B10D",
                                         "imageAtomicExchange(01S10D00D00E",
                                         "atomicXor(00E00E",
                                         "mix(00C00C00F",
                                         "textureLodOffset(00g00B00B00D",
                                         "greaterThan(30B30B",
                                         "gl_MaxFragmentAtomicCounters",
                                         "faceforward(20B20B20B",
                                         "textureSize(00x00D",
                                         "textureProj(00S30B00B",
                                         "fma(20B20B20B",
                                         "textureProjLod(00o10B00B",
                                         "imageAtomicMin(01J20D00E",
                                         "outerProduct(30B30B",
                                         "exp(30B",
                                         "bitCount(10E",
                                         "bitCount(10D",
                                         "log(00B",
                                         "mix(00F00F00F",
                                         "imageAtomicCompSwap(01M00D00D00D",
                                         "imageAtomicAnd(01T20D00D00E",
                                         "imageAtomicAnd(01T20D00D00D",
                                         "subpassLoad(01l00D",
                                         "imageStore(01N10D30B",
                                         "acosh(30B",
                                         "imageAtomicOr(01Y10D00E",
                                         "imageAtomicOr(01Y10D00D",
                                         "textureGradOffset(00X10B10B10B10D",
                                         "texelFetchOffset(00X10D00D10D",
                                         "packUnorm2x16(10B",
                                         "texture(00h20B00B",
                                         "umulExtended(20E20E20E20E",
                                         "texture(00m20B00B",
                                         "textureProjGradOffset(00g30B00B00B00D",
                                         "textureProj(00o30B00B",
                                         "textureCubeLod(00K20B00B",
                                         "textureSize(00L00D",
                                         "imageAtomicXor(01L00D00E",
                                         "max(20E00E",
                                         "textureProj(00S30B",
                                         "dFdy(30B",
                                         "imageAtomicMin(01W10D00D",
                                         "isinf(10C",
                                         "isinf(10B",
                                         "textureGatherOffsets(00a20B70D",
                                         "gl_MaxVertexTextureImageUnits",
                                         "greaterThanEqual(30B30B",
                                         "texture2DProjLodEXT(00I20B00B",
                                         "gl_FrontFacing",
                                         "imageStore(01C20D30D",
                                         "textureProjOffset(00t10B00D00B",
                                         "imageAtomicCompSwap(01Z20D00D00D",
                                         "acos(10B",
                                         "textureCube(00K20B00B",
                                         "lessThan(10B10B",
                                         "gl_MaxComputeAtomicCounterBuffers",
                                         "textureSize(00f00D",
                                         "imageLoad(01B20D",
                                         "texelFetchOffset(00h10D00D00D",
                                         "mod(20C00C",
                                         "imageAtomicAnd(01g00D00D",
                                         "gl_LastFragColorARM",
                                         "lessThanEqual(20D20D",
                                         "textureQueryLod(00k20B",
                                         "textureProjLod(00Y30B00B",
                                         "gl_SecondaryFragColorEXT",
                                         "imageAtomicAnd(01U20D00D00D",
                                         "imageAtomicAnd(01U20D00D00E",
                                         "gl_BaseInstance",
                                         "transpose(B0B",
                                         "imageAtomicXor(01b20D00E",
                                         "mix(20F20F20F",
                                         "smoothstep(00B00B30B",
                                         "imageAtomicExchange(01M00D00B",
                                         "imageAtomicExchange(01F20D00E",
                                         "imageAtomicExchange(01M00D00D",
                                         "imageAtomicExchange(01M00D00E",
                                         "imageAtomicCompSwap(01F20D00E00E",
                                         "texelFetch(00N10D00D",
                                         "textureSize(00a00D",
                                         "imageAtomicXor(01T20D00D00D",
                                         "textureProjOffset(00Y30B20D",
                                         "bitCount(30E",
                                         "atan(30B",
                                         "textureGatherOffsets(00R10B70D00D",
                                         "imageAtomicMax(01b20D00D",
                                         "ceil(10B",
                                         "textureSize(00S00D",
                                         "imageAtomicExchange(01S10D00D00B",
                                         "atomicCounterDecrement(00G",
                                         "ceil(30B",
                                         "textureSize(00t00D",
                                         "memoryBarrier(",
                                         "texture(00f30B",
                                         "imageSamples(01R",
                                         "texelFetch(00R10D00D",
                                         "sign(20B",
                                         "smoothstep(30B30B30B",
                                         "textureGrad(00R10B10B10B",
                                         "min(00D00D",
                                         "textureProj(00t10B00B",
                                         "imageAtomicCompSwap(01W10D00E00E",
                                         "imageAtomicAdd(01V20D00D00E",
                                         "ldexp(20B20D",
                                         "greaterThanEqual(30D30D",
                                         "imageLoad(01D20D",
                                         "findLSB(10E",
                                         "texture(00Z20B00B",
                                         "imageAtomicXor(01S10D00D00E",
                                         "imageAtomicXor(01S10D00D00D",
                                         "cos(10B",
                                         "texelFetch(00v10D",
                                         "texture(00e30B",
                                         "imageStore(01W10D30B",
                                         "textureSize(00T00D",
                                         "imageAtomicAnd(01g00D00E",
                                         "textureSize(00u00D",
                                         "textureProjGradOffset(00Y30B20B20B20D",
                                         "noise3(30B",
                                         "textureGrad(00T20B20B20B",
                                         "texture1DProj(00g10B00B",
                                         "textureProjOffset(00d30B10D00B",
                                         "textureGatherOffsets(00X10B70D",
                                         "imageAtomicXor(01U20D00D00D",
                                         "imageAtomicXor(01U20D00D00E",
                                         "imageAtomicAdd(01h00D00D",
                                         "imageAtomicAdd(01h00D00E",
                                         "matrixCompMult(50B50B",
                                         "equal(30B30B",
                                         "imageAtomicExchange(01E20D00B",
                                         "textureLod(00U20B00B",
                                         "imageAtomicXor(01I20D00E",
                                         "imageAtomicXor(01I20D00D",
                                         "textureOffset(00h10B00D",
                                         "textureLod(00p10B00B",
                                         "max(20C20C",
                                         "max(10B10B",
                                         "gl_PointSize",
                                         "imageAtomicCompSwap(01B20D00E00E",
                                         "asin(10B",
                                         "sinh(00B",
                                         "imageAtomicAdd(01g00D00D",
                                         "imageAtomicCompSwap(01h00D00E00E",
                                         "textureOffset(00S20B20D",
                                         "fma(20C20C20C",
                                         "imageAtomicCompSwap(01N10D00D00D",
                                         "textureProj(00R20B",
                                         "greaterThan(10E10E",
                                         "imageAtomicAnd(01M00D00E",
                                         "imageAtomicAnd(01M00D00D",
                                         "EmitVertex(",
                                         "smoothstep(20B20B20B",
                                         "textureSamples(00b",
                                         "textureOffset(00J20B20D",
                                         "texelFetch(00J20D00D",
                                         "imageAtomicExchange(01V20D00D00E",
                                         "imageAtomicExchange(01V20D00D00B",
                                         "imageAtomicCompSwap(01Y10D00E00E",
                                         "imageAtomicExchange(00y10D00B",
                                         "imageAtomicExchange(00y10D00D",
                                         "imageAtomicExchange(00y10D00E",
                                         "gl_ViewID_OVR",
                                         "radians(30B",
                                         "fract(30B",
                                         "imageAtomicAdd(01B20D00D",
                                         "imageAtomicAdd(01B20D00E",
                                         "imageAtomicMin(01H20D00E",
                                         "uaddCarry(20E20E20E",
                                         "textureProjGrad(00X30B10B10B",
                                         "textureSamples(00P",
                                         "textureProjOffset(00v20B10D",
                                         "shadow2D(00d20B00B",
                                         "texelFetchOffset(00o00D00D00D",
                                         "textureSamples(00V",
                                         "textureSamples(00W",
                                         "textureProjGrad(00q30B10B10B",
                                         "textureGatherOffset(00O10B10D",
                                         "clamp(10D00D00D",
                                         "gl_MaxComputeImageUniforms",
                                         "textureLod(00L20B00B",
                                         "imageAtomicExchange(01A10D00B",
                                         "imageAtomicCompSwap(01V20D00D00D00D",
                                         "imageAtomicExchange(01A10D00E",
                                         "imageAtomicExchange(01A10D00D",
                                         "imageAtomicXor(01b20D00D",
                                         "texture(00n20B",
                                         "ldexp(20C20D",
                                         "clamp(00E00E00E",
                                         "length(20B",
                                         "ldexp(00B00D",
                                         "imageAtomicExchange(01N10D00E",
                                         "bitfieldInsert(00D00D00D00D",
                                         "textureProjGrad(00Y30B20B20B",
                                         "roundEven(30B",
                                         "roundEven(30C",
                                         "acosh(20B",
                                         "atanh(10B",
                                         "length(20C",
                                         "clamp(10B10B10B",
                                         "textureGatherOffset(00L20B10D00D",
                                         "bitCount(00D",
                                         "bitCount(00E",
                                         "imageAtomicExchange(01N10D00B",
                                         "floatBitsToInt(30B",
                                         "max(20B00B",
                                         "imageAtomicAdd(00z10D00D",
                                         "texelFetchOffset(00Y20D00D20D",
                                         "atomicExchange(00E00E",
                                         "imageAtomicXor(01h00D00D",
                                         "imageAtomicXor(01h00D00E",
                                         "ldexp(30C30D",
                                         "texture(00o00B",
                                         "textureGatherOffsets(00X10B70D00D",
                                         "lessThanEqual(20B20B",
                                         "min(10B00B",
                                         "textureQueryLod(00f10B",
                                         "smoothstep(10C10C10C",
                                         "textureGatherOffsets(00U20B70D",
                                         "imageAtomicAnd(01L00D00D",
                                         "imageAtomicAnd(01L00D00E",
                                         "mix(30F30F30F",
                                         "abs(20D",
                                         "abs(20C",
                                         "abs(20B",
                                         "lessThanEqual(10B10B",
                                         "imageAtomicOr(01f00D00E",
                                         "imageAtomicOr(01f00D00D",
                                         "imageAtomicOr(01a20D00D",
                                         "mix(00B00B00B",
                                         "mix(00B00B00F",
                                         "textureGather(00s30B00D",
                                         "textureProj(00I20B",
                                         "imageAtomicExchange(01B20D00B",
                                         "textureLodOffset(00p10B00B00D",
                                         "gl_MaxVertexAtomicCounterBuffers",
                                         "unpackDouble2x32(00C",
                                         "acos(00B",
                                         "textureGradOffset(00J20B20B20B20D",
                                         "fma(00C00C00C",
                                         "texture2DGradEXT(00I10B10B10B",
                                         "imageAtomicCompSwap(01G20D00D00D",
                                         "imageAtomicAnd(01I20D00D",
                                         "texture2DProjGradEXT(00I30B10B10B",
                                         "fma(30B30B30B",
                                         "imageAtomicAdd(01L00D00D",
                                         "texture(00i20B00B",
                                         "gl_MaxComputeWorkGroupCount",
                                         "clamp(20C00C00C",
                                         "imageAtomicMax(01X10D00E",
                                         "imageAtomicCompSwap(00y10D00E00E",
                                         "mix(30E30E30F",
                                         "imageAtomicMax(01b20D00E",
                                         "imageAtomicMin(01G20D00D",
                                         "imageAtomicMin(01G20D00E",
                                         "textureGatherOffsets(00I10B70D",
                                         "imageAtomicExchange(01S10D00D00D",
                                         "atan(20B",
                                         "imageAtomicCompSwap(01Z20D00E00E",
                                         "interpolateAtSample(30B00D",
                                         "dFdxCoarse(30B",
                                         "texture(00M10B",
                                         "min(10B10B",
                                         "textureLodOffset(00h10B00B00D",
                                         "EndStreamPrimitive(00D",
                                         "pow(10B10B",
                                         "texture(00Y20B",
                                         "imageAtomicXor(01P10D00D",
                                         "texture(00X10B00B",
                                         "frexp(00B00D",
                                         "texture2D(00I10B",
                                         "imageLoad(01O10D",
                                         "ceil(20C",
                                         "ceil(20B",
                                         "imageAtomicMin(01b20D00E",
                                         "imageAtomicMin(01b20D00D",
                                         "imageAtomicMax(01P10D00D",
                                         "imageAtomicMax(01P10D00E",
                                         "imageAtomicExchange(01P10D00B",
                                         "textureProjOffset(00R20B10D",
                                         "imageStore(01V20D00D30E",
                                         "imageAtomicCompSwap(01T20D00D00E00E",
                                         "subpassLoad(01m00D",
                                         "textureOffset(00I10B10D",
                                         "min(20B00B",
                                         "reflect(00B00B",
                                         "noise4(10B",
                                         "sqrt(10C",
                                         "sqrt(10B",
                                         "imageAtomicXor(01Z20D00D",
                                         "imageAtomicXor(01Z20D00E",
                                         "clamp(20E20E20E",
                                         "textureGradOffset(00g00B00B00B00D",
                                         "textureGather(00q20B",
                                         "noise3(00B",
                                         "imageAtomicOr(01G20D00D",
                                         "imageAtomicOr(01G20D00E",
                                         "imageAtomicMin(01C20D00D",
                                         "imageAtomicMin(01C20D00E",
                                         "imageAtomicAnd(01F20D00E",
                                         "textureProjLod(00d30B00B",
                                         "imageStore(01a20D30D",
                                         "imageLoad(01H20D",
                                         "textureProjGradOffset(00I20B10B10B10D",
                                         "interpolateAtSample(20B00D",
                                         "reflect(10B10B",
                                         "refract(10B10B00B",
                                         "imageAtomicMax(01h00D00D",
                                         "mix(20C20C20F",
                                         "imageAtomicExchange(01X10D00D",
                                         "imageAtomicExchange(01X10D00E",
                                         "mix(20C20C20C",
                                         "textureOffset(00v10B10D",
                                         "imageAtomicMin(01P10D00D",
                                         "sinh(30B",
                                         "textureSize(00m00D",
                                         "textureQueryLod(00e20B",
                                         "asinh(20B",
                                         "imageAtomicAdd(01C20D00D",
                                         "imageAtomicCompSwap(01I20D00D00D",
                                         "textureProj(00O20B",
                                         "imageAtomicCompSwap(01M00D00E00E",
                                         "frexp(10B10D",
                                         "inverse(50B",
                                         "dot(10B10B",
                                         "imageAtomicExchange(01T20D00D00D",
                                         "imageAtomicExchange(01T20D00D00E",
                                         "noise2(00B",
                                         "textureProjGradOffset(00o10B00B00B00D",
                                         "radians(20B",
                                         "atomicCompSwap(00E00E00E",
                                         "textureGrad(00I00B00B00B",
                                         "textureGrad(00Y20B20B20B",
                                         "gl_MaxVertexUniformVectors",
                                         "textureOffset(00o00B00D00B",
                                         "ftransform(",
                                         "textureProj(00X20B",
                                         "textureProjOffset(00n30B10D",
                                         "gl_MaxGeometryUniformComponents",
                                         "greaterThanEqual(20E20E",
                                         "textureProj(00M20B",
                                         "texture3DProjLod(00J30B00B",
                                         "isinf(30C",
                                         "imageAtomicAdd(01S10D00D00D",
                                         "mix(10D10D10F",
                                         "textureProjGrad(00g10B00B00B",
                                         "log(20B",
                                         "imageAtomicMax(01D20D00E",
                                         "imageAtomicMax(01D20D00D",
                                         "textureOffset(00h10B00D00B",
                                         "modf(30B30B",
                                         "roundEven(20C",
                                         "roundEven(20B",
                                         "outerProduct(30B10B",
                                         "textureProj(00J30B",
                                         "imageAtomicOr(00y10D00D",
                                         "imageAtomicOr(00y10D00E",
                                         "imageAtomicOr(01F20D00E",
                                         "imageAtomicOr(01F20D00D",
                                         "textureLodOffset(00t00B00B00D",
                                         "floatBitsToInt(20B",
                                         "texelFetch(00U20D00D",
                                         "max(00D00D",
                                         "atomicMin(00E00E",
                                         "imageAtomicMin(01Q10D00D00D",
                                         "imageAtomicMin(01Q10D00D00E",
                                         "textureGradOffset(00v10B10B10B10D",
                                         "textureGrad(00n20B10B10B",
                                         "imageLoad(01S10D00D",
                                         "max(20E20E",
                                         "imageAtomicCompSwap(01F20D00D00D",
                                         "abs(10D",
                                         "abs(10B",
                                         "abs(10C",
                                         "gl_FragDepthEXT",
                                         "imageAtomicAdd(01V20D00D00D",
                                         "modf(30C30C",
                                         "imageAtomicExchange(01g00D00E",
                                         "textureGrad(00i20B00B00B",
                                         "textureProj(00g10B",
                                         "equal(20B20B",
                                         "textureProjLodOffset(00X20B00B10D",
                                         "max(30C00C",
                                         "imageAtomicMax(01W10D00D",
                                         "textureGatherOffsets(00a20B70D00D",
                                         "texture(00U20B00B",
                                         "textureProj(00I30B",
                                         "mix(00E00E00F",
                                         "imageAtomicCompSwap(01h00D00D00D",
                                         "mix(00D00D00F",
                                         "fwidthFine(00B",
                                         "texture(00i20B",
                                         "textureGradOffset(00a20B10B10B10D",
                                         "smoothstep(00B00B20B",
                                         "textureLod(00s30B00B",
                                         "imageAtomicOr(01C20D00D",
                                         "imageAtomicOr(01C20D00E",
                                         "imageAtomicXor(01g00D00E",
                                         "notEqual(30B30B",
                                         "imageAtomicCompSwap(01W10D00D00D",
                                         "textureGatherOffset(00f20B00B10D",
                                         "imageLoad(01T20D00D",
                                         "imageSize(00y",
                                         "imageAtomicMin(01W10D00E",
                                         "imageSize(00z",
                                         "mod(10C10C",
                                         "imageAtomicXor(01g00D00D",
                                         "faceforward(00C00C00C",
                                         "textureGrad(00a20B10B10B",
                                         "imageAtomicXor(01R10D00D00D",
                                         "imageAtomicXor(01T20D00D00E",
                                         "dFdxCoarse(00B",
                                         "imageAtomicMin(01a20D00D",
                                         "texture(00J20B00B",
                                         "refract(20B20B00B",
                                         "ceil(30C",
                                         "gl_MaxGeometryOutputComponents",
                                         "noise1(30B",
                                         "log2(30B",
                                         "textureProjGrad(00d30B10B10B",
                                         "mod(20C20C",
                                         "fract(30C",
                                         "texelFetch(00t00D00D",
                                         "imageAtomicXor(01L00D00D",
                                         "max(30E30E",
                                         "gl_MaxFragmentAtomicCounterBuffers",
                                         "gl_in",
                                         "noise4(00B",
                                         "distance(10C10C",
                                         "textureProjLodOffset(00J30B00B20D",
                                         "imageAtomicMax(01H20D00E",
                                         "imageAtomicMax(01H20D00D",
                                         "imageStore(01h00D30E",
                                         "textureGatherOffsets(00d10B00B70D",
                                         "texelFetch(00c20D00D",
                                         "sqrt(00B",
                                         "sqrt(00C",
                                         "textureProjLod(00R30B00B",
                                         "noise3(10B",
                                         "texelFetch(00q10D",
                                         "imageAtomicAnd(01F20D00D",
                                         "textureLod(00m20B00B",
                                         "textureProjOffset(00m30B00D00B",
                                         "textureProjGrad(00v30B10B10B",
                                         "clamp(20D20D20D",
                                         "imageAtomicMin(01P10D00E",
                                         "imageAtomicAdd(01C20D00E",
                                         "clamp(00C00C00C",
                                         "imageAtomicCompSwap(01b20D00E00E",
                                         "max(10E00E",
                                         "textureGrad(00U20B10B10B",
                                         "imageAtomicCompSwap(01B20D00D00D",
                                         "imageLoad(00z10D",
                                         "clamp(30C00C00C",
                                         "sinh(20B",
                                         "matrixCompMult(E0BE0B",
                                         "textureProjOffset(00q20B10D",
                                         "gl_PerVertex",
                                         "textureGradOffset(00m20B00B00B00D",
                                         "textureQueryLevels(00p",
                                         "gl_WorkGroupSize",
                                         "asinh(30B",
                                         "cross(20C20C",
                                         "textureGather(00a20B",
                                         "textureProjGradOffset(00O20B10B10B10D",
                                         "pow(30B30B",
                                         "imageAtomicCompSwap(01G20D00E00E",
                                         "smoothstep(10B10B10B",
                                         "textureProj(00O30B",
                                         "imageAtomicAdd(01Q10D00D00E",
                                         "textureQueryLod(00R10B",
                                         "imageAtomicCompSwap(01T20D00D00D00D",
                                         "imageAtomicAdd(01R10D00D00D",
                                         "imageAtomicAdd(01R10D00D00E",
                                         "imageAtomicExchange(01E20D00D",
                                         "imageAtomicExchange(01E20D00E",
                                         "isnan(00B",
                                         "isnan(00C",
                                         "imulExtended(10D10D10D10D",
                                         "textureProjGrad(00o10B00B00B",
                                         "refract(10C10C00B",
                                         "min(00E00E",
                                         "texture2DProj(00I30B",
                                         "textureGradOffset(00I10B10B10B10D",
                                         "textureLodOffset(00J20B00B20D",
                                         "notEqual(20B20B",
                                         "atomicCompSwap(00D00D00D",
                                         "imageAtomicOr(01W10D00E",
                                         "imageAtomicOr(01W10D00D",
                                         "textureOffset(00i20B00D",
                                         "dFdyFine(00B",
                                         "textureLod(00a20B00B",
                                         "textureProj(00N30B",
                                         "refract(30C30C00B",
                                         "equal(30D30D",
                                         "packSnorm2x16(10B",
                                         "floatBitsToUint(30B",
                                         "imageLoad(00y10D",
                                         "textureOffset(00R10B10D",
                                         "textureProjGrad(00q20B10B10B",
                                         "textureProjGradOffset(00R20B10B10B10D",
                                         "ldexp(30B30D",
                                         "max(30B00B",
                                         "imageAtomicAdd(01Q10D00D00D",
                                         "atomicCounterOr(00G00E",
                                         "step(30B30B",
                                         "imageAtomicOr(01T20D00D00D",
                                         "imageAtomicOr(01T20D00D00E",
                                         "textureProj(00I30B00B",
                                         "imageAtomicExchange(01D20D00E",
                                         "textureOffset(00g00B00D00B",
                                         "imageAtomicExchange(01D20D00B",
                                         "imageAtomicMin(01g00D00E",
                                         "abs(00D",
                                         "abs(00C",
                                         "abs(00B",
                                         "textureLod(00R10B00B",
                                         "dFdxCoarse(10B",
                                         "texture1D(00g00B",
                                         "frexp(10C10D",
                                         "imageAtomicMax(01B20D00D",
                                         "imageAtomicAdd(01g00D00E",
                                         "texture2DLod(00I10B00B",
                                         "textureProjGradOffset(00X20B10B10B10D",
                                         "round(20C",
                                         "EndPrimitive(",
                                         "step(00B30B",
                                         "round(20B",
                                         "equal(30E30E",
                                         "imageAtomicCompSwap(01R10D00D00E00E",
                                         "step(00C20C",
                                         "dot(00C00C",
                                         "max(30C30C",
                                         "atomicOr(00D00D",
                                         "texture2DProj(00M20B",
                                         "notEqual(10D10D",
                                         "textureSize(00V",
                                         "imageAtomicAnd(01h00D00D",
                                         "min(20C00C",
                                         "imageAtomicAdd(01G20D00E",
                                         "imageAtomicAdd(01G20D00D",
                                         "findLSB(30D",
                                         "findLSB(30E",
                                         "textureProj(00X20B00B",
                                         "shadow2D(00d20B",
                                         "imageAtomicAdd(01N10D00E",
                                         "imageAtomicAdd(01N10D00D",
                                         "textureGatherOffset(00U20B10D",
                                         "faceforward(10B10B10B",
                                         "imageAtomicAnd(01h00D00E",
                                         "min(10D00D",
                                         "imageAtomicOr(01B20D00E",
                                         "imageAtomicOr(01B20D00D",
                                         "EmitStreamVertex(00D",
                                         "imageAtomicCompSwap(01J20D00D00D",
                                         "all(20F",
                                         "imageSize(01J",
                                         "imageSize(01K",
                                         "imageSize(01H",
                                         "imageSize(01I",
                                         "packHalf2x16(10B",
                                         "textureProj(00I20B00B",
                                         "imageSize(01L",
                                         "imageSize(01M",
                                         "imageSize(01B",
                                         "imageSize(01C",
                                         "texelFetch(00r00D",
                                         "imageSize(01F",
                                         "imageSize(01G",
                                         "imageSize(01D",
                                         "imageSize(01E",
                                         "imageSize(01Z",
                                         "imageAtomicExchange(01L00D00B",
                                         "imageAtomicMax(01Z20D00E",
                                         "texelFetch(00X10D00D",
                                         "notEqual(30F30F",
                                         "imageSize(01R",
                                         "imageSize(01S",
                                         "imageSize(01P",
                                         "imageSize(01Q",
                                         "imageSize(01V",
                                         "textureQueryLod(00g00B",
                                         "imageSize(01T",
                                         "imageSize(01U",
                                         "imageSize(01h",
                                         "fract(20C",
                                         "fract(20B",
                                         "textureGatherOffset(00X10B10D",
                                         "imageSize(01c",
                                         "imageSize(01a",
                                         "imageSize(01f",
                                         "texture2DProjGradEXT(00I20B10B10B",
                                         "imageSize(01d",
                                         "textureLod(00S20B00B",
                                         "step(30C30C",
                                         "imageAtomicMin(01J20D00D",
                                         "gl_FragDepth",
                                         "textureGather(00x30B",
                                         "mix(30B30B30F",
                                         "mix(30B30B30B",
                                         "textureGather(00Z20B00D",
                                         "noise4(30B",
                                         "sqrt(30C",
                                         "sqrt(30B",
                                         "imageStore(01E20D30B",
                                         "exp(00B",
                                         "max(30D30D",
                                         "gl_MaxGeometryTextureImageUnits",
                                         "interpolateAtCentroid(10B",
                                         "texture(00q10B",
                                         "textureSize(00M00D",
                                         "textureSamples(00c",
                                         "angle_BaseInstance",
                                         "mix(10F10F10F",
                                         "textureGradOffset(00U20B10B10B10D",
                                         "gl_Position",
                                         "textureGradOffset(00O10B10B10B10D",
                                         "textureProj(00M30B",
                                         "textureGradOffset(00L20B10B10B10D",
                                         "imageAtomicExchange(01V20D00D00D",
                                         "imageAtomicExchange(01J20D00B",
                                         "imageAtomicExchange(01J20D00E",
                                         "imageAtomicExchange(01J20D00D",
                                         "textureQueryLod(00l20B",
                                         "imageAtomicOr(01M00D00E",
                                         "dot(20B20B",
                                         "textureProjGrad(00v20B10B10B",
                                         "textureProjLod(00S30B00B",
                                         "textureProjGrad(00R20B10B10B",
                                         "imageAtomicMax(00z10D00E",
                                         "imageAtomicMax(00z10D00D",
                                         "normalize(30C",
                                         "normalize(30B",
                                         "textureOffset(00O10B10D",
                                         "textureProjGrad(00I20B10B10B",
                                         "textureGather(00e20B",
                                         "imageAtomicMax(01V20D00D00E",
                                         "texture2D(00M10B",
                                         "imageAtomicAdd(01a20D00E",
                                         "fwidthFine(30B",
                                         "textureGather(00K20B00D",
                                         "textureCubeLodEXT(00K20B00B",
                                         "textureGather(00T20B00D",
                                         "textureProj(00N20B",
                                         "textureQueryLod(00I10B",
                                         "imageAtomicCompSwap(01A10D00E00E",
                                         "dFdyFine(10B",
                                         "modf(10C10C",
                                         "imageAtomicMax(01E20D00D",
                                         "imageAtomicMax(01E20D00E",
                                         "textureProjLodOffset(00X30B00B10D",
                                         "textureProjLod(00m30B00B",
                                         "textureProjOffset(00g30B00D00B",
                                         "texelFetchOffset(00U20D00D10D",
                                         "imageAtomicCompSwap(00z10D00E00E",
                                         "imageAtomicMin(01D20D00E",
                                         "textureProjGradOffset(00q30B10B10B10D",
                                         "textureGradOffset(00d20B10B10B10D",
                                         "fwidthCoarse(20B",
                                         "textureProjOffset(00d30B10D",
                                         "equal(20F20F",
                                         "",
                                         "mix(20C20C00C",
                                         "usubBorrow(10E10E10E",
                                         "imageStore(01S10D00D30E",
                                         "equal(10B10B",
                                         "imageAtomicExchange(01Q10D00D00D",
                                         "imageAtomicExchange(01Q10D00D00E",
                                         "imageAtomicExchange(01Q10D00D00B",
                                         "textureLodOffset(00U20B00B10D",
                                         "isnan(10C",
                                         "isnan(10B",
                                         "imageAtomicMin(01H20D00D",
                                         "imageAtomicXor(01A10D00D",
                                         "imageAtomicXor(01A10D00E",
                                         "imageAtomicCompSwap(01C20D00D00D",
                                         "textureGrad(00R00B00B00B",
                                         "imageAtomicXor(01W10D00D",
                                         "imageAtomicXor(01W10D00E",
                                         "atomicMin(00D00D",
                                         "textureSize(00X00D",
                                         "greaterThan(10B10B",
                                         "mix(00C00C00C",
                                         "clamp(30D00D00D",
                                         "mix(20E20E20F",
                                         "floatBitsToInt(10B",
                                         "textureProjOffset(00R30B10D00B",
                                         "textureGather(00U20B00D",
                                         "floatBitsToInt(00B",
                                         "imageLoad(01a20D",
                                         "floatBitsToUint(00B",
                                         "min(30C30C",
                                         "textureSamples(00Q",
                                         "textureGradOffset(00i20B00B00B00D",
                                         "imageAtomicXor(00z10D00D",
                                         "texture2DRectProj(00O20B",
                                         "modf(20C20C",
                                         "tan(20B",
                                         "floor(00C",
                                         "floor(00B",
                                         "imageAtomicMax(01O10D00E",
                                         "imageAtomicMax(01O10D00D",
                                         "mod(30C30C",
                                         "gl_DrawID",
                                         "textureOffset(00t00B00D",
                                         "texture3DLod(00J20B00B",
                                         "texture(00R10B00B",
                                         "modf(00B00B",
                                         "notEqual(20D20D",
                                         "imageAtomicExchange(01R10D00D00E",
                                         "imageAtomicExchange(01R10D00D00D",
                                         "ldexp(10C10D",
                                         "imageAtomicXor(00y10D00E",
                                         "imageAtomicXor(00y10D00D",
                                         "determinant(A0B",
                                         "textureLodOffset(00i20B00B00D",
                                         "imageStore(01D20D30E",
                                         "shadow1DLod(00m20B00B",
                                         "imageAtomicOr(01I20D00E",
                                         "distance(00C00C",
                                         "isnan(30B",
                                         "textureProjOffset(00o30B00D",
                                         "lessThanEqual(30D30D",
                                         "textureProj(00M30B00B",
                                         "texture2DProj(00M30B",
                                         "atomicCounterMax(00G00E",
                                         "atomicCounterExchange(00G00E",
                                         "textureGrad(00I10B10B10B",
                                         "step(00B20B",
                                         "texture2DProjLod(00I20B00B",
                                         "step(00C30C",
                                         "yuv_2_rgb(20B00H",
                                         "texelFetch(00b10D00D",
                                         "textureProj(00J30B00B",
                                         "textureGather(00R10B",
                                         "imageAtomicCompSwap(01K00D00E00E",
                                         "imageAtomicOr(01V20D00D00D",
                                         "imageAtomicOr(01V20D00D00E",
                                         "imageAtomicExchange(01P10D00D",
                                         "imageLoad(01L00D",
                                         "min(10D10D",
                                         "all(30F",
                                         "imageAtomicExchange(01P10D00E",
                                         "imageAtomicMax(01a20D00D",
                                         "imageAtomicAnd(01S10D00D00E",
                                         "imageAtomicAnd(01S10D00D00D",
                                         "angle_BaseVertex",
                                         "bitfieldReverse(20D",
                                         "bitfieldReverse(20E",
                                         "imageAtomicExchange(01I20D00D",
                                         "imageAtomicExchange(01I20D00E",
                                         "imageAtomicExchange(01I20D00B",
                                         "gl_MaxGeometryInputComponents",
                                         "texture(00u20B",
                                         "textureGather(00v20B",
                                         "fract(10B",
                                         "fract(10C",
                                         "textureGatherOffset(00O10B10D00D",
                                         "textureQueryLod(00K20B",
                                         "textureLodOffset(00I10B00B10D",
                                         "imageAtomicCompSwap(01S10D00D00E00E",
                                         "noise4(20B",
                                         "textureOffset(00U20B10D",
                                         "min(30B00B",
                                         "imageAtomicMax(00y10D00D",
                                         "imageAtomicMax(00y10D00E",
                                         "atomicAnd(00D00D",
                                         "gl_FragColor",
                                         "exp(10B",
                                         "textureOffset(00n20B10D",
                                         "bitCount(30D",
                                         "unpackUnorm2x16(00E",
                                         "sqrt(20B",
                                         "sqrt(20C",
                                         "textureGrad(00L20B10B10B",
                                         "interpolateAtCentroid(00B",
                                         "textureSize(00o00D",
                                         "gl_MaxImageUnits",
                                         "textureProjGrad(00o30B00B00B",
                                         "packUnorm4x8(30B",
                                         "texelFetch(00P10D00D",
                                         "texture(00O10B",
                                         "imageAtomicMin(01M00D00D",
                                         "imageAtomicMin(01M00D00E",
                                         "texture(00e30B00B",
                                         "imageAtomicMin(01O10D00E",
                                         "imageAtomicMin(01O10D00D",
                                         "imageAtomicExchange(01B20D00E",
                                         "imageAtomicExchange(01B20D00D",
                                         "gl_FragCoord",
                                         "imageAtomicMax(01X10D00D",
                                         "textureGrad(00u10B00B00B",
                                         "fwidthFine(20B",
                                         "textureQueryLod(00o00B",
                                         "imageAtomicAnd(01E20D00E",
                                         "imageAtomicAnd(01E20D00D",
                                         "normalize(00B",
                                         "normalize(00C",
                                         "clamp(10C00C00C",
                                         "imageAtomicCompSwap(01f00D00E00E",
                                         "imageAtomicOr(01A10D00E",
                                         "imageAtomicOr(01A10D00D",
                                         "imageAtomicOr(01K00D00D",
                                         "imageAtomicOr(01K00D00E",
                                         "atomicMax(00D00D",
                                         "textureProjGrad(00m30B00B00B",
                                         "imageAtomicAnd(01R10D00D00E",
                                         "floatBitsToUint(10B",
                                         "textureLod(00J20B00B",
                                         "imageAtomicExchange(01D20D00D",
                                         "textureGrad(00O10B10B10B",
                                         "dFdyFine(20B",
                                         "textureSize(00I00D",
                                         "gl_MaxComputeWorkGroupSize",
                                         "texelFetchOffset(00R10D00D10D",
                                         "dFdxFine(10B",
                                         "imageAtomicAnd(01K00D00E",
                                         "imageAtomicAnd(01K00D00D",
                                         "textureLodOffset(00X10B00B10D",
                                         "texture(00T20B00B",
                                         "textureProj(00q20B",
                                         "imageAtomicExchange(01K00D00D",
                                         "imageAtomicCompSwap(00y10D00D00D",
                                         "log(30B",
                                         "notEqual(20F20F",
                                         "allInvocationsEqual(00F",
                                         "imageStore(01G20D30E",
                                         "dFdyCoarse(30B",
                                         "textureProjLod(00R20B00B",
                                         "notEqual(30D30D",
                                         "fwidthCoarse(30B",
                                         "textureProjOffset(00I20B10D",
                                         "imageStore(01X10D30D",
                                         "textureQueryLevels(00l",
                                         "textureQueryLevels(00m",
                                         "textureQueryLevels(00o",
                                         "textureQueryLevels(00h",
                                         "textureQueryLevels(00i",
                                         "textureQueryLevels(00k",
                                         "textureQueryLevels(00d",
                                         "textureQueryLevels(00e",
                                         "textureQueryLevels(00f",
                                         "textureQueryLevels(00g",
                                         "gl_MaxDrawBuffers",
                                         "textureQueryLevels(00a",
                                         "atomicCounterMin(00G00E",
                                         "textureGradOffset(00u10B00B00B00D",
                                         "textureQueryLevels(00x",
                                         "textureQueryLevels(00t",
                                         "textureQueryLevels(00u",
                                         "imulExtended(20D20D20D20D",
                                         "any(30F",
                                         "distance(30B30B",
                                         "textureQueryLevels(00s",
                                         "textureQueryLevels(00L",
                                         "textureQueryLevels(00I",
                                         "textureQueryLevels(00J",
                                         "textureQueryLevels(00K",
                                         "imageAtomicExchange(01L00D00D",
                                         "imageAtomicAnd(01W10D00D",
                                         "imageAtomicAnd(01W10D00E",
                                         "texture3D(00J20B00B",
                                         "texture1DLod(00g00B00B",
                                         "textureQueryLevels(00X",
                                         "textureQueryLevels(00Y",
                                         "textureQueryLevels(00Z",
                                         "dot(30B30B",
                                         "textureQueryLevels(00T",
                                         "textureQueryLevels(00U",
                                         "textureQueryLevels(00R",
                                         "textureQueryLevels(00S",
                                         "gl_MaxTextureImageUnits",
                                         "usubBorrow(20E20E20E",
                                         "textureProj(00t30B00B",
                                         "shadow1DProj(00m30B00B",
                                         "clamp(30B00B00B",
                                         "texture2DRectProj(00O30B",
                                         "imageAtomicMax(01B20D00E",
                                         "max(10D00D",
                                         "textureGradOffset(00n20B10B10B10D",
                                         "clamp(00D00D00D",
                                         "floor(30B",
                                         "floor(30C",
                                         "imageStore(01P10D30E",
                                         "textureProjGradOffset(00S30B20B20B20D",
                                         "reflect(30C30C",
                                         "gl_PointCoord",
                                         "imageAtomicOr(01D20D00E",
                                         "textureGatherOffset(00v10B10D",
                                         "imageAtomicOr(01D20D00D",
                                         "packDouble2x32(10E",
                                         "clamp(10B00B00B",
                                         "imageStore(01F20D30D",
                                         "texelFetchOffset(00S20D00D20D",
                                         "lessThan(10D10D",
                                         "textureSize(00g00D",
                                         "textureGatherOffset(00U20B10D00D",
                                         "textureGatherOffset(00q10B10D00D",
                                         "textureGather(00I10B00D",
                                         "texture1DProjLod(00g30B00B",
                                         "texelFetch(00V10D00D",
                                         "imageAtomicExchange(01h00D00E",
                                         "imageAtomicExchange(01h00D00D",
                                         "atan(30B30B",
                                         "imageAtomicExchange(01h00D00B",
                                         "textureGatherOffsets(00R10B70D",
                                         "imageAtomicMax(01a20D00E",
                                         "textureProjLod(00g30B00B",
                                         "max(00B00B",
                                         "imageAtomicOr(01J20D00E",
                                         "imageAtomicOr(01J20D00D",
                                         "imageAtomicMax(01F20D00E",
                                         "imageAtomicMax(01F20D00D",
                                         "exp2(20B",
                                         "smoothstep(30C30C30C",
                                         "imageAtomicExchange(00z10D00B",
                                         "imageAtomicExchange(00z10D00E",
                                         "imageAtomicExchange(00z10D00D",
                                         "textureGatherOffsets(00n10B00B70D",
                                         "textureProjLod(00t10B00B",
                                         "imageAtomicExchange(01K00D00E",
                                         "imageAtomicExchange(01K00D00B",
                                         "gl_MaxCombinedTextureImageUnits",
                                         "textureSize(00k00D",
                                         "reflect(20B20B",
                                         "imageAtomicXor(01V20D00D00E",
                                         "imageAtomicXor(01V20D00D00D",
                                         "equal(10F10F",
                                         "imageLoad(01f00D",
                                         "acos(30B",
                                         "dFdx(10B",
                                         "bitfieldReverse(30E",
                                         "bitfieldReverse(30D",
                                         "texture1DProj(00g30B",
                                         "fract(00C",
                                         "fract(00B",
                                         "min(30E00E",
                                         "gl_MinProgramTexelOffset",
                                         "interpolateAtOffset(20B10B",
                                         "gl_MaxGeometryTotalOutputComponents",
                                         "reflect(30B30B",
                                         "textureGatherOffsets(00I10B70D00D",
                                         "interpolateAtCentroid(30B",
                                         "textureGather(00s30B",
                                         "imageAtomicXor(01X10D00E",
                                         "imageAtomicXor(01X10D00D",
                                         "imageStore(01Z20D30B",
                                         "texture1D(00g00B00B",
                                         "pow(00B00B",
                                         "mod(00B00B",
                                         "faceforward(30C30C30C",
                                         "roundEven(10B",
                                         "roundEven(10C",
                                         "atanh(30B",
                                         "textureLod(00K20B00B",
                                         "bitCount(20D",
                                         "bitCount(20E",
                                         "texelFetch(00L20D00D",
                                         "dFdxFine(00B",
                                         "distance(20B20B",
                                         "textureGradOffset(00q10B10B10B10D",
                                         "uaddCarry(30E30E30E",
                                         "textureSize(00U00D",
                                         "textureProjOffset(00o10B00D00B",
                                         "gl_MaxCombinedImageUniforms",
                                         "atomicCounterXor(00G00E",
                                         "imageAtomicOr(01g00D00D",
                                         "imageAtomicOr(01g00D00E",
                                         "gl_GlobalInvocationID",
                                         "gl_VertexID",
                                         "imageAtomicMin(01L00D00E",
                                         "smoothstep(20C20C20C",
                                         "imageAtomicCompSwap(01U20D00D00D00D",
                                         "atomicOr(00E00E",
                                         "imageAtomicExchange(01T20D00D00B",
                                         "mix(10B10B10F",
                                         "reflect(10C10C",
                                         "mix(10B10B10B",
                                         "textureProj(00Y30B00B",
                                         "imageAtomicMax(01I20D00D",
                                         "imageAtomicMax(01I20D00E",
                                         "frexp(20B20D",
                                         "textureGatherOffset(00I10B10D00D",
                                         "notEqual(20E20E",
                                         "textureLodOffset(00d20B00B10D",
                                         "inverse(A0B",
                                         "textureProjGrad(00X20B10B10B",
                                         "imageLoad(01J20D",
                                         "textureSize(00Y00D",
                                         "atan(20B20B",
                                         "usubBorrow(00E00E00E",
                                         "imageAtomicXor(01M00D00E",
                                         "imageAtomicXor(01M00D00D",
                                         "dFdyFine(30B",
                                         "textureQueryLod(00s20B",
                                         "imageAtomicAnd(01N10D00D",
                                         "texture(00v10B",
                                         "subpassLoad(01n00D",
                                         "textureProjLodOffset(00g10B00B00D",
                                         "step(10C10C",
                                         "textureQueryLod(00x20B",
                                         "fma(10B10B10B",
                                         "smoothstep(00B00B10B",
                                         "imageAtomicCompSwap(01a20D00D00D",
                                         "imageSize(01N",
                                         "textureLod(00u10B00B",
                                         "textureProjGradOffset(00m30B00B00B00D",
                                         "fwidthCoarse(00B",
                                         "dFdyCoarse(20B",
                                         "textureProjGradOffset(00o30B00B00B00D",
                                         "textureProj(00g30B00B",
                                         "bitfieldExtract(00E00D00D",
                                         "imageStore(01I20D30D",
                                         "distance(30C30C",
                                         "any(20F",
                                         "textureGatherOffsets(00L20B70D",
                                         "gl_HelperInvocation",
                                         "textureLod(00g00B00B",
                                         "sin(10B",
                                         "textureSize(00N00D",
                                         "mod(20B20B",
                                         "imageAtomicOr(01h00D00E",
                                         "imageAtomicOr(01h00D00D",
                                         "textureGrad(00k30B20B20B",
                                         "textureProjOffset(00o10B00D",
                                         "imageAtomicMin(01A10D00E",
                                         "imageAtomicMin(01A10D00D",
                                         "textureGradOffset(00f30B10B10B10D",
                                         "max(20D20D",
                                         "max(10D10D",
                                         "imageAtomicCompSwap(01N10D00E00E",
                                         "textureGradOffset(00t00B00B00B00D",
                                         "refract(30B30B00B",
                                         "floor(20C",
                                         "floor(20B",
                                         "texelFetchOffset(00t00D00D00D",
                                         "imageAtomicOr(01a20D00E",
                                         "matrixCompMult(F0BF0B",
                                         "umulExtended(10E10E10E10E",
                                         "texture(00d20B00B",
                                         "imageAtomicAdd(01Z20D00D",
                                         "imageAtomicAdd(01Z20D00E",
                                         "umulExtended(30E30E30E30E",
                                         "textureGatherOffsets(00q10B70D00D",
                                         "textureGradOffset(00Y20B20B20B20D",
                                         "textureGatherOffset(00a20B10D",
                                         "textureGrad(00f30B10B10B",
                                         "atomicCounterSubtract(00G00E",
                                         "imageAtomicXor(01C20D00E",
                                         "modf(20B20B",
                                         "imageAtomicAnd(01Y10D00D",
                                         "imageAtomicAnd(01Y10D00E",
                                         "noise1(00B",
                                         "imageLoad(01M00D",
                                         "imageAtomicCompSwap(01L00D00E00E",
                                         "length(30C",
                                         "length(30B",
                                         "mod(30B30B",
                                         "mix(10C10C10F",
                                         "imageAtomicMin(00z10D00E",
                                         "imageAtomicMin(00z10D00D",
                                         "exp2(30B",
                                         "allInvocations(00F",
                                         "max(20C00C",
                                         "texture3DProj(00J30B00B",
                                         "imageLoad(01Q10D00D",
                                         "textureProjLod(00X30B00B",
                                         "textureProjGradOffset(00I30B10B10B10D",
                                         "cosh(30B",
                                         "textureProj(00q30B",
                                         "textureOffset(00S20B20D00B",
                                         "usubBorrow(30E30E30E",
                                         "textureProjOffset(00R20B10D00B",
                                         "imageAtomicXor(01f00D00D",
                                         "imageAtomicXor(01f00D00E",
                                         "textureOffset(00t00B00D00B",
                                         "textureOffset(00i20B00D00B",
                                         "texture3DProj(00J30B",
                                         "matrixCompMult(B0BB0B",
                                         "lessThan(30B30B",
                                         "cross(20B20B",
                                         "imageSize(01O",
                                         "textureGrad(00q10B10B10B",
                                         "clamp(20B00B00B",
                                         "dFdx(00B",
                                         "findLSB(00D",
                                         "textureProjLodOffset(00o30B00B00D",
                                         "textureProj(00R20B00B",
                                         "acos(20B",
                                         "imageSize(01A",
                                         "imageAtomicAnd(01B20D00D",
                                         "max(20B20B",
                                         "lessThan(20E20E",
                                         "textureProjOffset(00g10B00D00B",
                                         "equal(30F30F",
                                         "sign(00C",
                                         "cosh(00B",
                                         "bitfieldExtract(00D00D00D",
                                         "imageAtomicMin(01E20D00D",
                                         "imageAtomicMin(01E20D00E",
                                         "textureLod(00Z20B00B",
                                         "sign(00D",
                                         "textureOffset(00Y20B20D",
                                         "transpose(60B",
                                         "imageAtomicExchange(01L00D00E",
                                         "imageAtomicAdd(01O10D00D",
                                         "imageAtomicAdd(01O10D00E",
                                         "faceforward(00B00B00B",
                                         "gl_NumWorkGroups",
                                         "imageAtomicOr(01O10D00E",
                                         "imageAtomicOr(01O10D00D",
                                         "imageAtomicAdd(01b20D00D",
                                         "interpolateAtCentroid(20B",
                                         "textureProjLodOffset(00R30B00B10D",
                                         "textureGrad(00h10B00B00B",
                                         "imageAtomicExchange(01U20D00D00B",
                                         "texture1DProj(00g30B00B",
                                         "textureQueryLod(00h00B",
                                         "imageAtomicExchange(01U20D00D00E",
                                         "modf(00C00C",
                                         "textureProjLod(00t30B00B",
                                         "textureOffset(00o00B00D",
                                         "imageAtomicExchange(01U20D00D00D",
                                         "textureGather(00U20B",
                                         "imageStore(01H20D30B",
                                         "texelFetch(00Q20D00D",
                                         "roundEven(00C",
                                         "roundEven(00B",
                                         "texelFetchOffset(00O10D10D",
                                         "atanh(20B",
                                         "clamp(10E00E00E",
                                         "dFdxFine(30B",
                                         "imageAtomicAdd(01L00D00E",
                                         "textureQueryLod(00J20B",
                                         "textureProjOffset(00X30B10D",
                                         "gl_MaxFragmentUniformVectors",
                                         "texture2DProjLod(00I30B00B",
                                         "interpolateAtOffset(10B10B",
                                         "max(10C10C",
                                         "texelFetch(00g00D00D",
                                         "abs(30B",
                                         "bitfieldInsert(10E10E00D00D",
                                         "packSnorm4x8(30B",
                                         "mix(10B10B00B",
                                         "imageSize(01b",
                                         "clamp(30D30D30D",
                                         "textureQueryLod(00d10B",
                                         "mod(10C00C",
                                         "imageAtomicMax(01G20D00D",
                                         "imageAtomicMax(01G20D00E",
                                         "imageStore(01R10D00D30D",
                                         "determinant(F0B",
                                         "transpose(A0B",
                                         "pow(20B20B",
                                         "imageSize(01g",
                                         "imageAtomicExchange(01G20D00B",
                                         "imageSize(01e",
                                         "imageAtomicExchange(01G20D00D",
                                         "imageAtomicExchange(01G20D00E",
                                         "imageLoad(01Y10D",
                                         "imageAtomicMax(01g00D00D",
                                         "imageAtomicMax(01g00D00E",
                                         "textureProj(00v30B",
                                         "textureProjGrad(00O20B10B10B",
                                         "log2(20B",
                                         "dot(30C30C",
                                         "fwidthCoarse(10B",
                                         "textureProjOffset(00I20B10D00B",
                                         "textureGatherOffsets(00U20B70D00D",
                                         "notEqual(10F10F",
                                         "textureGatherOffsets(00O10B70D",
                                         "smoothstep(00B00B00B",
                                         "textureProjLodOffset(00d30B00B10D",
                                         "imageAtomicAnd(01P10D00E",
                                         "imageAtomicAnd(01P10D00D",
                                         "textureProjLodOffset(00I30B00B10D",
                                         "gl_MaxCombinedAtomicCounters",
                                         "bitfieldInsert(10D10D00D00D",
                                         "imageAtomicAdd(00y10D00E",
                                         "imageAtomicAdd(00y10D00D",
                                         "imageAtomicAnd(01Q10D00D00E",
                                         "imageAtomicAnd(01Q10D00D00D",
                                         "imageAtomicCompSwap(01L00D00D00D",
                                         "textureGather(00k30B",
                                         "texture(00J20B",
                                         "lessThanEqual(10D10D",
                                         "textureProjOffset(00o30B00D00B",
                                         "gl_MaxVaryingVectors",
                                         "textureSize(00d00D",
                                         "sin(00B",
                                         "imageLoad(01N10D",
                                         "uaddCarry(10E10E10E",
                                         "imageAtomicOr(01Z20D00E",
                                         "imageAtomicOr(01Z20D00D",
                                         "mix(10C10C00C",
                                         "atomicCounterIncrement(00G",
                                         "imageAtomicAdd(01J20D00D",
                                         "imageAtomicAdd(01J20D00E",
                                         "imageAtomicCompSwap(01S10D00D00D00D",
                                         "imageAtomicMax(01W10D00E",
                                         "textureProj(00o10B00B",
                                         "imageAtomicAdd(01U20D00D00D",
                                         "imageAtomicAdd(01U20D00D00E",
                                         "textureProjOffset(00m30B00D",
                                         "imageAtomicExchange(01Y10D00B",
                                         "equal(10E10E",
                                         "imageAtomicExchange(01Y10D00E",
                                         "imageAtomicExchange(01Y10D00D",
                                         "imageAtomicExchange(01O10D00B",
                                         "imageAtomicExchange(01O10D00E",
                                         "textureProjOffset(00J30B20D",
                                         "imageAtomicXor(01D20D00D",
                                         "imageAtomicXor(01D20D00E",
                                         "notEqual(10E10E",
                                         "min(10C10C",
                                         "textureProjGrad(00t10B00B00B",
                                         "textureGather(00q20B00D",
                                         "imageAtomicAnd(01B20D00E",
                                         "imageAtomicAdd(01S10D00D00E",
                                         "imageAtomicCompSwap(01O10D00D00D",
                                         "shadow1DProjLod(00m30B00B",
                                         "imageAtomicMax(01f00D00E",
                                         "imageAtomicMax(01f00D00D",
                                         "texture(00u20B00B",
                                         "textureLodOffset(00R10B00B10D",
                                         "trunc(10B",
                                         "trunc(10C",
                                         "gl_MaxComputeAtomicCounters",
                                         "texelFetch(00u10D00D",
                                         "dot(20C20C",
                                         "gl_DepthRangeParameters",
                                         "textureGather(00f20B",
                                         "textureGatherOffsets(00L20B70D00D",
                                         "noise1(10B",
                                         "textureProjGrad(00g30B00B00B",
                                         "shadow2DProj(00d30B",
                                         "textureProj(00d30B00B",
                                         "sign(10B",
                                         "max(00E00E",
                                         "texture(00a20B00B",
                                         "textureProj(00o10B",
                                         "refract(20C20C00B",
                                         "textureProj(00M20B00B",
                                         "imageLoad(01A10D",
                                         "textureProjOffset(00X30B10D00B",
                                         "exp2(00B",
                                         "imageAtomicExchange(01H20D00B",
                                         "texelFetchOffset(00u10D00D00D",
                                         "imageAtomicCompSwap(01H20D00E00E",
                                         "imageAtomicExchange(01H20D00E",
                                         "imageAtomicExchange(01H20D00D",
                                         "textureGatherOffset(00q10B10D",
                                         "textureGather(00a20B00D",
                                         "imageStore(01Q10D00D30B",
                                         "ldexp(00C00D",
                                         "textureSize(00s00D",
                                         "imageAtomicXor(01P10D00E",
                                         "imageAtomicOr(01I20D00D",
                                         "texture(00N10B00B",
                                         "gl_PrimitiveID",
                                         "imageAtomicOr(01X10D00D",
                                         "imageAtomicCompSwap(01Y10D00D00D",
                                         "imageAtomicOr(01X10D00E",
                                         "textureProjGrad(00I30B10B10B",
                                         "gl_Layer",
                                         "textureOffset(00d20B10D",
                                         "dFdx(30B",
                                         "imageAtomicMin(01V20D00D00D",
                                         "imageAtomicMin(01V20D00D00E",
                                         "gl_LastFragColor",
                                         "textureProjGradOffset(00t30B00B00B00D",
                                         "min(20E20E",
                                         "asin(20B",
                                         "imageAtomicCompSwap(01U20D00D00E00E",
                                         "texture(00l30B00B",
                                         "texture1DProjLod(00g10B00B",
                                         "fwidth(10B",
                                         "dFdy(00B",
                                         "shadow2DLod(00d20B00B",
                                         "texture1DProj(00g10B",
                                         "lessThan(30E30E",
                                         "imulExtended(30D30D30D30D",
                                         "transpose(70B",
                                         "imulExtended(00D00D00D00D",
                                         "textureGatherOffsets(00q10B70D",
                                         "imageAtomicAdd(01F20D00D",
                                         "imageAtomicAdd(01F20D00E",
                                         "texture(00S20B00B",
                                         "textureLod(00Y20B00B",
                                         "faceforward(10C10C10C",
                                         "textureQueryLod(00u00B",
                                         "min(20D00D",
                                         "imageAtomicCompSwap(01P10D00D00D",
                                         "uintBitsToFloat(00E",
                                         "dFdxFine(20B",
                                         "imageAtomicMin(01L00D00D",
                                         "imageAtomicExchange(01g00D00D",
                                         "bitfieldInsert(20D20D00D00D",
                                         "mix(30B30B00B",
                                         "textureQueryLod(00U10B",
                                         "imageAtomicAnd(01N10D00E",
                                         "tanh(00B",
                                         "imageStore(00y10D30B",
                                         "max(10C00C",
                                         "matrixCompMult(D0BD0B",
                                         "textureGatherOffsets(00v10B70D00D",
                                         "gl_MaxComputeUniformComponents",
                                         "imageAtomicAnd(01X10D00E",
                                         "shadow2DProjLod(00d30B00B",
                                         "imageAtomicAnd(01X10D00D",
                                         "min(30B30B",
                                         "reflect(20C20C",
                                         "texelFetch(00h10D00D",
                                         "memoryBarrierAtomicCounter(",
                                         "bitfieldInsert(00E00E00D00D",
                                         "imageAtomicMin(01Z20D00E",
                                         "imageAtomicMin(01Z20D00D",
                                         "imageAtomicAdd(01b20D00E",
                                         "imageAtomicMin(01a20D00E",
                                         "textureGrad(00d20B10B10B",
                                         "atan(10B",
                                         "imageAtomicMax(01T20D00D00D",
                                         "imageAtomicMax(01T20D00D00E",
                                         "imageAtomicCompSwap(01g00D00D00D",
                                         "clamp(30C30C30C",
                                         "textureProj(00v20B",
                                         "step(00B10B",
                                         "textureProjLod(00I20B00B",
                                         "rgb_2_yuv(20B00H",
                                         "imageStore(01B20D30B",
                                         "imageLoad(01P10D",
                                         "texture(00T20B",
                                         "log2(10B",
                                         "imageAtomicAnd(01D20D00D",
                                         "imageAtomicAnd(01D20D00E",
                                         "findLSB(20E",
                                         "findLSB(20D",
                                         "imageAtomicMin(01f00D00E",
                                         "imageAtomicMin(01f00D00D",
                                         "noise2(30B",
                                         "imageAtomicOr(01U20D00D00E",
                                         "greaterThanEqual(10B10B",
                                         "imageAtomicXor(01K00D00D",
                                         "clamp(10D10D10D",
                                         "texelFetch(00M10D00D",
                                         "textureQueryLod(00Y20B",
                                         "transpose(F0B",
                                         "textureOffset(00Y20B20D00B",
                                         "textureGradOffset(00S20B20B20B20D",
                                         "imageAtomicOr(01U20D00D00D",
                                         "clamp(30E30E30E",
                                         "textureSize(00R00D",
                                         "imageAtomicAdd(01f00D00D",
                                         "acosh(10B",
                                         "imageAtomicAdd(01f00D00E",
                                         "imageLoad(01b20D",
                                         "textureOffset(00L20B10D00B",
                                         "mod(20B00B",
                                         "imageLoad(01U20D00D",
                                         "textureProjLod(00J30B00B",
                                         "subpassLoad(01i",
                                         "subpassLoad(01k",
                                         "transpose(90B",
                                         "mix(30C30C00C",
                                         "atomicAnd(00E00E",
                                         "max(20D00D",
                                         "texelFetchOffset(00I10D00D10D",
                                         "textureQueryLod(00L10B",
                                         "atomicCounter(00G",
                                         "textureGrad(00m20B00B00B",
                                         "noise3(20B",
                                         "bitfieldInsert(30D30D00D00D",
                                         "min(10C00C",
                                         "greaterThan(10D10D",
                                         "bitfieldExtract(10E00D00D",
                                         "textureGradOffset(00h10B00B00B00D",
                                         "imageAtomicMax(01V20D00D00D",
                                         "texture2D(00I10B00B",
                                         "greaterThan(20D20D",
                                         "noise1(20B",
                                         "textureProjLodOffset(00t10B00B00D",
                                         "textureProjOffset(00O20B10D",
                                         "trunc(00B",
                                         "length(10C",
                                         "length(10B",
                                         "imageLoad(01R10D00D",
                                         "imageAtomicAdd(01H20D00D",
                                         "imageAtomicAdd(01H20D00E",
                                         "subpassLoad(01j",
                                         "dot(00B00B",
                                         "tan(30B",
                                         "textureLod(00T20B00B",
                                         "textureProjGrad(00R30B10B10B",
                                         "exp2(10B",
                                         "textureProjOffset(00X20B10D00B",
                                         "textureProjGradOffset(00X30B10B10B10D",
                                         "matrixCompMult(A0BA0B",
                                         "textureGatherOffsets(00v10B70D",
                                         "textureGrad(00S20B20B20B",
                                         "round(30B",
                                         "round(30C",
                                         "anyInvocation(00F",
                                         "textureGrad(00x30B20B20B",
                                         "imageAtomicCompSwap(01D20D00E00E",
                                         "textureProjLod(00o30B00B",
                                         "smoothstep(00C00C10C",
                                         "interpolateAtSample(00B00D",
                                         "dFdx(20B",
                                         "texture(00L20B",
                                         "barrier(",
                                         "imageAtomicAdd(01a20D00D",
                                         "textureGather(00k30B00D",
                                         "findMSB(20D",
                                         "textureGatherOffset(00L20B10D",
                                         "imageAtomicMin(01S10D00D00D",
                                         "imageAtomicMin(01S10D00D00E",
                                         "textureProjOffset(00S30B20D00B",
                                         "imageAtomicAdd(01D20D00D",
                                         "normalize(10C",
                                         "unpackSnorm4x8(00E",
                                         "imageLoad(01C20D",
                                         "imageAtomicMax(01C20D00D",
                                         "imageAtomicMax(01C20D00E",
                                         "textureGather(00l30B00B",
                                         "normalize(10B",
                                         "asin(30B",
                                         "isnan(20B",
                                         "isnan(20C",
                                         "fwidth(00B",
                                         "dFdy(10B",
                                         "imageAtomicAdd(01P10D00E",
                                         "imageAtomicAdd(01P10D00D",
                                         "max(30E00E",
                                         "textureLod(00d20B00B",
                                         "textureOffset(00q10B10D",
                                         "gl_LastFragData",
                                         "mod(10B00B",
                                         "texture(00g00B00B",
                                         "uintBitsToFloat(10E",
                                         "textureProjOffset(00t30B00D",
                                         "matrixCompMult(70B70B",
                                         "imageAtomicAdd(01I20D00D",
                                         "imageAtomicMax(01M00D00D",
                                         "imageAtomicMax(01M00D00E",
                                         "textureLod(00k30B00B",
                                         "imageAtomicAdd(01E20D00D",
                                         "textureLodOffset(00Y20B00B20D",
                                         "refract(00C00C00B",
                                         "log2(00B",
                                         "tanh(10B",
                                         "imageAtomicMin(01I20D00E",
                                         "textureLod(00h10B00B",
                                         "imageStore(01b20D30E",
                                         "textureGather(00O20B00D",
                                         "gl_LocalInvocationID",
                                         "clamp(00B00B00B",
                                         "textureGather(00d10B",
                                         "gl_MaxGeometryAtomicCounterBuffers",
                                         "textureOffset(00p10B00D00B",
                                         "imageAtomicExchange(01f00D00B",
                                         "clamp(10C10C10C",
                                         "outerProduct(20B10B",
                                         "textureProjOffset(00t10B00D",
                                         "isinf(20C",
                                         "textureGrad(00e30B20B20B",
                                         "textureSize(00J00D",
                                         "textureQueryLod(00Z20B",
                                         "dot(10C10C",
                                         "textureProjGrad(00n30B10B10B",
                                         "imageAtomicMin(01U20D00D00E",
                                         "imageAtomicMin(01U20D00D00D",
                                         "texture2DProjLodEXT(00I30B00B",
                                         "imageAtomicMax(01N10D00D",
                                         "imageAtomicMax(01N10D00E",
                                         "imageAtomicAnd(01b20D00D",
                                         "step(00B00B",
                                         "texture2DLodEXT(00I10B00B",
                                         "texture(00K20B00B",
                                         "textureProjGradOffset(00n30B10B10B10D",
                                         "textureGrad(00J20B20B20B",
                                         "imageAtomicCompSwap(01V20D00D00E00E",
                                         "textureOffset(00U20B10D00B",
                                         "intBitsToFloat(10D",
                                         "min(20C20C",
                                         "findLSB(10D",
                                         "textureProjLodOffset(00Y30B00B20D",
                                         "imageAtomicMax(01h00D00E",
                                         "texture3D(00J20B",
                                         "gl_SecondaryFragDataEXT",
                                         "imageAtomicAdd(01X10D00E",
                                         "faceforward(20C20C20C",
                                         "imageAtomicAnd(01O10D00E",
                                         "imageAtomicAdd(01X10D00D",
                                         "textureGather(00n10B00B",
                                         "textureGather(00X10B00D",
                                         "imageAtomicMax(01L00D00E",
                                         "imageAtomicMax(01L00D00D",
                                         "imageAtomicXor(01G20D00E",
                                         "imageAtomicXor(01G20D00D",
                                         "textureOffset(00a20B10D",
                                         "imageAtomicExchange(01X10D00B",
                                         "min(30E30E",
                                         "texture2DProj(00I30B00B",
                                         "textureQueryLod(00X10B",
                                         "imageAtomicAnd(01I20D00E",
                                         "textureCubeGradEXT(00K20B20B20B",
                                         "min(00B00B",
                                         "textureGradOffset(00o00B00B00B00D",
                                         "mix(30C30C30F",
                                         "mix(30C30C30C",
                                         "gl_WorkGroupID",
                                         "degrees(00B",
                                         "imageAtomicMax(01J20D00E",
                                         "imageAtomicMax(01J20D00D",
                                         "imageAtomicMin(01D20D00D",
                                         "atomicExchange(00D00D",
                                         "textureOffset(00m20B00D00B",
                                         "gl_MaxGeometryAtomicCounters",
                                         "textureOffset(00f30B10D",
                                         "imageAtomicExchange(01a20D00D",
                                         "imageAtomicExchange(01a20D00E",
                                         "imageAtomicExchange(01a20D00B",
                                         "matrixCompMult(60B60B",
                                         "imageAtomicCompSwap(00z10D00D00D",
                                         "textureProj(00t30B",
                                         "textureProjGradOffset(00t10B00B00B00D",
                                         "unpackSnorm2x16(00E",
                                         "lessThan(30D30D",
                                         "atan(00B00B",
                                         "textureQueryLod(00S20B",
                                         "notEqual(10B10B",
                                         "imageLoad(01G20D",
                                         "trunc(30B",
                                         "trunc(30C",
                                         "length(00B",
                                         "length(00C",
                                         "imageAtomicAnd(01H20D00D",
                                         "imageAtomicAnd(01H20D00E",
                                         "textureProj(00X30B00B",
                                         "imageAtomicExchange(01O10D00D",
                                         "imageAtomicCompSwap(01C20D00E00E",
                                         "tan(00B",
                                         "min(20E00E",
                                         "textureLod(00x30B00B",
                                         "textureSize(00j",
                                         "textureSize(00n",
                                         "imageAtomicXor(01F20D00D",
                                         "textureSize(00c",
                                         "textureSize(00b",
                                         "min(20B20B",
                                         "textureSize(00q",
                                         "textureSize(00r",
                                         "textureSize(00w",
                                         "textureSize(00v",
                                         "bitfieldInsert(20E20E00D00D",
                                         "gl_MaxProgramTexelOffset",
                                         "textureSize(00O",
                                         "imageAtomicAnd(01a20D00E",
                                         "imageAtomicMin(01g00D00D",
                                         "trunc(00C",
                                         "imageAtomicAnd(01a20D00D",
                                         "textureSize(00Q",
                                         "textureSize(00P",
                                         "imageAtomicAdd(01M00D00E",
                                         "imageAtomicAdd(01M00D00D",
                                         "textureSize(00W",
                                         "textureProjLod(00X20B00B",
                                         "smoothstep(00C00C00C",
                                         "atomicCounterAnd(00G00E",
                                         "faceforward(30B30B30B",
                                         "distance(20C20C",
                                         "atomicCounterAdd(00G00E",
                                         "imageStore(01O10D30D",
                                         "texture(00X10B",
                                         "ceil(00C",
                                         "ceil(00B",
                                         "distance(00B00B",
                                         "texelFetch(00O10D",
                                         "imageAtomicMin(01N10D00D",
                                         "imageAtomicMin(01N10D00E",
                                         "imageAtomicExchange(01C20D00D",
                                         "imageAtomicExchange(01C20D00E",
                                         "textureGrad(00s30B20B20B",
                                         "textureGather(00I10B",
                                         "imageAtomicExchange(01C20D00B",
                                         "min(30D30D",
                                         "findMSB(30E",
                                         "findMSB(30D",
                                         "textureGradOffset(00R10B10B10B10D",
                                         "fwidth(30B",
                                         "textureGrad(00K20B20B20B",
                                         "texelFetch(00S20D00D",
                                         "max(10B00B",
                                         "textureProjGradOffset(00R30B10B10B10D",
                                         "texelFetchOffset(00L20D00D10D",
                                         "isnan(30C",
                                         "transpose(50B",
                                         "greaterThanEqual(20D20D",
                                         "asinh(00B",
                                         "gl_PrimitiveIDIn",
                                         "textureGather(00Z20B",
                                         "textureGrad(00p10B00B00B",
                                         "textureProjOffset(00v30B10D",
                                         "greaterThan(20B20B",
                                         "min(20D20D",
                                         "texelFetchOffset(00g00D00D00D",
                                         "imageAtomicCompSwap(01g00D00E00E",
                                         "imageAtomicCompSwap(01Q10D00D00E00E",
                                         "imageAtomicXor(01O10D00D",
                                         "imageAtomicXor(01O10D00E",
                                         "tanh(20B",
                                         "textureProj(00m30B00B",
                                         "sin(20B",
                                         "smoothstep(00C00C30C",
                                         "textureSize(00l00D",
                                         "textureLod(00o00B00B",
                                         "imageAtomicMin(01K00D00D",
                                         "imageAtomicMin(01K00D00E",
                                         "textureOffset(00I10B10D00B",
                                         "imageAtomicAnd(00z10D00D",
                                         "imageAtomicAnd(00z10D00E",
                                         "gl_MaxAtomicCounterBufferSize",
                                         "textureOffset(00J20B20D00B",
                                         "lessThanEqual(20E20E",
                                         "gl_BaseVertex",
                                         "textureOffset(00g00B00D",
                                         "textureProj(00g30B",
                                         "imageLoad(01Z20D",
                                         "bitfieldInsert(30E30E00D00D",
                                         "bitfieldExtract(20E00D00D",
                                         "uintBitsToFloat(20E",
                                         "unpackUnorm4x8(00E",
                                         "mod(10B10B",
                                         "gl_LocalInvocationIndex",
                                         "imageAtomicAdd(01W10D00D",
                                         "imageAtomicAdd(01W10D00E",
                                         "gl_MaxVertexImageUniforms",
                                         "equal(20D20D",
                                         "gl_MaxCombinedAtomicCounterBuffers",
                                         "mix(10E10E10F",
                                         "textureGather(00R10B00D",
                                         "textureSize(00Z00D",
                                         "bitfieldExtract(30D00D00D",
                                         "imageAtomicXor(01J20D00D",
                                         "imageAtomicXor(01J20D00E",
                                         "imageStore(01T20D00D30B",
                                         "intBitsToFloat(00D",
                                         "textureLodOffset(00m20B00B00D",
                                         "findLSB(00E",
                                         "texelFetch(00p10D00D",
                                         "textureGather(00d10B00B",
                                         "shadow2DProj(00d30B00B",
                                         "inversesqrt(10B",
                                         "inversesqrt(10C",
                                         "abs(30D",
                                         "transpose(D0B",
                                         "abs(30C",
                                         "textureProjGrad(00O30B10B10B",
                                         "imageAtomicMax(01Z20D00D",
                                         "",
                                         "imageLoad(01E20D",
                                         "textureProj(00N20B00B",
                                         "gl_FragData",
                                         "dFdxCoarse(20B",
                                         "clamp(20E00E00E",
                                         "textureProj(00d30B",
                                         "gl_MaxVertexOutputVectors",
                                         "shadow1D(00m20B",
                                         "textureOffset(00u10B00D",
                                         "cosh(10B",
                                         "sign(10C",
                                         "imageAtomicAnd(01G20D00E",
                                         "imageAtomicAnd(01G20D00D",
                                         "sign(10D",
                                         "umulExtended(00E00E00E00E",
                                         "gl_MaxVertexAttribs",
                                         "",
                                         "texture(00a20B",
                                         "imageAtomicAdd(01T20D00D00E",
                                         "imageAtomicAdd(01T20D00D00D",
                                         "imageAtomicExchange(01g00D00B",
                                         "ldexp(10B10D",
                                         "textureProjOffset(00g30B00D",
                                         "texture(00Z20B",
                                         "degrees(10B",
                                         "texture(00K20B",
                                         "sinh(10B",
                                         "texture(00m20B",
                                         "imageAtomicXor(01C20D00D",
                                         "not(30F",
                                         "textureProjLodOffset(00I20B00B10D",
                                         "textureGather(00K20B",
                                         "textureGatherOffset(00R10B10D",
                                         "memoryBarrierShared(",
                                         "clamp(20B20B20B",
                                         "texelFetch(00W20D00D",
                                         "textureProjLod(00g10B00B",
                                         "trunc(20C",
                                         "trunc(20B",
                                         "textureProjOffset(00I30B10D00B",
                                         "max(00C00C",
                                         "tan(10B",
                                         "texture(00g00B",
                                         "textureLodOffset(00L20B00B10D",
                                         "textureLodOffset(00u10B00B00D",
                                         "imageAtomicAnd(00y10D00E",
                                         "imageAtomicAnd(00y10D00D",
                                         "isinf(20B",
                                         "dFdyCoarse(10B",
                                         "textureGatherOffset(00X10B10D00D",
                                         "min(10E10E",
                                         "memoryBarrierImage(",
                                         "round(10B",
                                         "round(10C",
                                         "textureProjLodOffset(00m30B00B00D",
                                         "textureProjGradOffset(00g10B00B00B00D",
                                         "textureProj(00R30B",
                                         "shadow1DProj(00m30B",
                                         "texture(00f30B00B",
                                         "fma(00B00B00B",
                                         "imageAtomicOr(01b20D00E",
                                         "imageAtomicOr(01b20D00D",
                                         "textureGatherOffset(00v10B10D00D",
                                         "atomicMax(00E00E",
                                         "imageAtomicMin(01B20D00E",
                                         "imageAtomicMin(01B20D00D",
                                         "textureQueryLod(00t00B",
                                         "textureProjOffset(00R30B10D",
                                         "textureProj(00X30B",
                                         "findMSB(00D",
                                         "findMSB(00E",
                                         "mix(20B20B20B",
                                         "imageAtomicCompSwap(01X10D00D00D",
                                         "frexp(30C30D",
                                         "mix(10C10C10C",
                                         "min(30D00D",
                                         "texture(00M10B00B",
                                         "fwidth(20B",
                                         "imageAtomicOr(01S10D00D00D",
                                         "imageAtomicOr(01S10D00D00E",
                                         "mod(30C00C",
                                         "imageAtomicAdd(01A10D00D",
                                         "imageAtomicAdd(01A10D00E",
                                         "texture(00o00B00B",
                                         "imageAtomicOr(01H20D00E",
                                         "imageAtomicOr(01H20D00D",
                                         "cos(20B",
                                         "textureGather(00T20B",
                                         "textureProjGradOffset(00J30B20B20B20D",
                                         "asinh(10B",
                                         "texelFetchOffset(00v10D10D",
                                         "imageAtomicXor(01E20D00E",
                                         "imageAtomicXor(01E20D00D"};

// Flat array of offsets from a symbol into the rules table.
constexpr uint16_t kMangledOffsets[] = {
    0,     // textureProj_00R30B00B
    2,     // interpolateAtOffset_30B10B
    3,     // textureProjOffset_00g10B00D
    4,     // imageAtomicOr_00z10D00D
    5,     // texture2DProj_00I20B
    7,     // textureProjGradOffset_00v30B10B10B10D
    8,     // texelFetch_00o00D00D
    9,     // imageLoad_01g00D
    10,    // imageLoad_01I20D
    12,    // tanh_30B
    14,    // imageAtomicCompSwap_01E20D00D00D
    15,    // textureQueryLod_00m00B
    16,    // imageAtomicCompSwap_01f00D00D00D
    17,    // not_10F
    19,    // findMSB_20E
    21,    // lessThanEqual_30B30B
    23,    // imageAtomicAdd_00z10D00E
    24,    // textureLod_00t00B00B
    25,    // textureProjGradOffset_00O30B10B10B10D
    26,    // outerProduct_20B30B
    28,    // imageAtomicOr_00z10D00E
    29,    // imageAtomicAnd_01f00D00D
    30,    // imageAtomicAnd_01f00D00E
    31,    // imageSamples_01V
    32,    // imageSamples_01U
    33,    // imageSamples_01T
    34,    // imageSamples_01S
    35,    // mix_20B20B00B
    37,    // imageSamples_01Q
    38,    // textureLodOffset_00o00B00B00D
    39,    // uintBitsToFloat_30E
    41,    // imageAtomicExchange_01R10D00D00B
    42,    // textureSize_00K00D
    44,    // textureSize_00h00D
    45,    // gl_MaxAtomicCounterBindings
    47,    // texelFetchOffset_00q10D10D
    48,    // greaterThanEqual_10E10E
    50,    // texture_00d20B
    52,    // atan_10B10B
    54,    // clamp_30B30B30B
    56,    // imageAtomicCompSwap_01a20D00E00E
    57,    // imageAtomicCompSwap_01R10D00D00D00D
    58,    // textureLodOffset_00a20B00B10D
    60,    // imageStore_01K00D30B
    61,    // greaterThanEqual_20B20B
    63,    // imageLoad_01F20D
    65,    // ceil_10C
    66,    // imageAtomicCompSwap_01b20D00D00D
    67,    // imageAtomicAnd_01A10D00D
    68,    // imageAtomicAdd_01D20D00E
    69,    // atomicAdd_00D00D
    71,    // textureSize_00p00D
    72,    // floatBitsToUint_20B
    74,    // textureProjOffset_00t30B00D00B
    75,    // imageAtomicOr_01Q10D00D00D
    76,    // imageAtomicOr_01Q10D00D00E
    77,    // mix_20D20D20F
    78,    // degrees_20B
    80,    // imageAtomicMin_01Y10D00D
    81,    // imageAtomicAnd_01Z20D00D
    82,    // imageAtomicCompSwap_01D20D00D00D
    83,    // min_00C00C
    84,    // imageAtomicMax_01S10D00D00E
    85,    // imageAtomicXor_01R10D00D00E
    86,    // imageAtomicXor_01Q10D00D00E
    87,    // inversesqrt_00C
    88,    // inversesqrt_00B
    90,    // imageAtomicXor_01Q10D00D00D
    91,    // texelFetchOffset_00J20D00D20D
    93,    // textureProjGrad_00S30B20B20B
    95,    // equal_10D10D
    97,    // max_30D00D
    99,    // groupMemoryBarrier_
    101,   // imageAtomicOr_01N10D00D
    102,   // imageAtomicOr_01N10D00E
    103,   // imageAtomicExchange_01b20D00E
    104,   // imageAtomicExchange_01b20D00D
    105,   // step_20C20C
    106,   // texelFetch_00I10D00D
    108,   // mod_00C00C
    109,   // transpose_E0B
    111,   // imageAtomicMin_01R10D00D00E
    112,   // imageAtomicMin_01R10D00D00D
    113,   // textureGatherOffsets_00f20B00B70D
    114,   // textureGather_00O20B
    115,   // textureProjOffset_00Y30B20D00B
    117,   // modf_10B10B
    119,   // imageAtomicMax_01K00D00D
    120,   // imageAtomicMax_01K00D00E
    121,   // determinant_50B
    122,   // imageAtomicCompSwap_01J20D00E00E
    123,   // textureProj_00g10B00B
    124,   // lessThan_20B20B
    126,   // gl_MaxFragmentInputVectors
    128,   // sign_20C
    129,   // cosh_20B
    131,   // sign_20D
    133,   // atanh_00B
    135,   // imageAtomicAnd_01V20D00D00E
    136,   // imageAtomicAnd_01V20D00D00D
    137,   // textureProj_00t10B
    138,   // texture_00p20B00B
    139,   // fma_10C10C10C
    140,   // imageAtomicXor_01Y10D00D
    141,   // imageAtomicXor_01Y10D00E
    142,   // imageAtomicExchange_01N10D00D
    143,   // imageAtomicAnd_01C20D00E
    144,   // textureOffset_00d20B10D00B
    146,   // textureOffset_00m20B00D
    147,   // imageAtomicAnd_01C20D00D
    148,   // lessThan_10E10E
    150,   // imageAtomicCompSwap_01A10D00D00D
    151,   // textureGrad_00X00B00B00B
    152,   // textureProjLodOffset_00t30B00B00D
    153,   // fma_30C30C30C
    154,   // textureGrad_00v10B10B10B
    155,   // textureProj_00N30B00B
    156,   // step_00C00C
    157,   // gl_MaxCombinedShaderOutputResources
    159,   // texture_00I10B00B
    161,   // texelFetch_00j00D
    162,   // lessThan_20D20D
    164,   // clamp_20C20C20C
    165,   // imageAtomicXor_00z10D00E
    166,   // all_10F
    168,   // dFdyCoarse_00B
    169,   // isinf_30B
    171,   // textureGatherOffset_00a20B10D00D
    173,   // textureGatherOffset_00I10B10D
    175,   // textureProjOffset_00q30B10D
    176,   // textureOffset_00L20B10D
    178,   // lessThanEqual_30E30E
    180,   // min_10E00E
    182,   // imageAtomicXor_01a20D00E
    183,   // imageAtomicXor_01a20D00D
    184,   // textureProjOffset_00S30B20D
    186,   // round_00C
    187,   // round_00B
    189,   // greaterThan_30D30D
    191,   // texture_00U20B
    193,   // imageAtomicCompSwap_01P10D00E00E
    194,   // smoothstep_00C00C20C
    195,   // texture2DRect_00O10B
    196,   // imageAtomicAdd_01K00D00E
    197,   // imageAtomicAdd_01K00D00D
    198,   // noise2_20B
    199,   // gl_MaxGeometryOutputVertices
    200,   // step_20B20B
    202,   // imageAtomicAnd_01b20D00E
    203,   // findMSB_10E
    205,   // findMSB_10D
    207,   // interpolateAtOffset_00B10B
    208,   // texture_00t00B
    209,   // textureLodOffset_00S20B00B20D
    211,   // textureQueryLod_00p00B
    212,   // imageStore_00z10D30D
    214,   // outerProduct_10B20B
    216,   // fwidthFine_10B
    217,   // cos_30B
    219,   // unpackHalf2x16_00E
    221,   // imageStore_01J20D30E
    223,   // outerProduct_10B10B
    225,   // imageAtomicOr_01M00D00D
    226,   // gl_MaxComputeTextureImageUnits
    228,   // imageAtomicMax_01Y10D00E
    229,   // imageAtomicMax_01Y10D00D
    230,   // sin_30B
    232,   // imageAtomicAnd_01O10D00D
    233,   // imageAtomicCompSwap_01Q10D00D00D00D
    234,   // textureGather_00L20B00D
    236,   // imageStore_01A10D30E
    238,   // imageAtomicXor_01H20D00D
    239,   // imageAtomicXor_01H20D00E
    240,   // shadow1D_00m20B00B
    241,   // max_10E10E
    243,   // max_30B30B
    245,   // clamp_10E10E10E
    247,   // texture_00N10B
    248,   // textureProjGrad_00t30B00B00B
    249,   // imageAtomicOr_01E20D00D
    250,   // imageAtomicOr_01E20D00E
    251,   // texelFetchOffset_00a20D00D10D
    253,   // imageLoad_01V20D00D
    254,   // not_20F
    256,   // imageAtomicExchange_01F20D00D
    257,   // imageAtomicMax_01Q10D00D00D
    258,   // imageAtomicMax_01Q10D00D00E
    259,   // imageAtomicExchange_01F20D00B
    260,   // imageStore_01L00D30D
    261,   // outerProduct_20B20B
    263,   // textureProjLodOffset_00R20B00B10D
    265,   // textureOffset_00p10B00D
    266,   // texture_00h20B
    267,   // imageAtomicXor_01B20D00D
    268,   // imageAtomicXor_01B20D00E
    269,   // textureProjGrad_00J30B20B20B
    271,   // imageAtomicOr_01R10D00D00E
    272,   // imageAtomicOr_01R10D00D00D
    273,   // textureLod_00X10B00B
    275,   // gl_InvocationID
    276,   // imageAtomicAnd_01R10D00D00D
    277,   // imageAtomicAdd_01E20D00E
    278,   // radians_10B
    280,   // textureGatherOffset_00n10B00B10D
    281,   // noise2_10B
    282,   // textureQueryLod_00a10B
    283,   // textureGather_00e20B00B
    285,   // distance_10B10B
    287,   // textureGrad_00Z20B20B20B
    289,   // sign_00B
    291,   // bitfieldReverse_00D
    293,   // bitfieldReverse_00E
    295,   // bitfieldExtract_30E00D00D
    297,   // textureLod_00I10B00B
    299,   // greaterThanEqual_10D10D
    301,   // imageStore_01f00D30B
    302,   // imageAtomicCompSwap_01I20D00E00E
    303,   // degrees_30B
    305,   // inversesqrt_30B
    307,   // inversesqrt_30C
    308,   // imageAtomicMin_01I20D00D
    309,   // textureGather_00v20B00D
    310,   // intBitsToFloat_20D
    312,   // exp_20B
    314,   // imageAtomicMax_01A10D00E
    315,   // imageAtomicMax_01A10D00D
    316,   // acosh_00B
    318,   // log_10B
    320,   // textureProjLodOffset_00S30B00B20D
    322,   // textureGather_00L20B
    324,   // textureProj_00n30B
    325,   // textureQueryLod_00i00B
    326,   // texture_00p20B
    327,   // outerProduct_30B20B
    329,   // texture_00S20B
    331,   // atomicXor_00D00D
    333,   // texelFetch_00Y20D00D
    335,   // imageAtomicOr_01P10D00D
    336,   // imageAtomicOr_01P10D00E
    337,   // imageAtomicXor_01N10D00E
    338,   // imageAtomicXor_01N10D00D
    339,   // bitfieldExtract_10D00D00D
    341,   // sign_30B
    343,   // sign_30C
    344,   // sign_30D
    346,   // texture_00Y20B00B
    348,   // dFdy_20B
    351,   // textureProj_00Y30B
    353,   // textureOffset_00X10B10D00B
    355,   // memoryBarrierBuffer_
    357,   // isinf_00B
    359,   // isinf_00C
    360,   // clamp_20D00D00D
    362,   // texture2DProj_00I20B00B
    364,   // mod_30B00B
    366,   // imageAtomicAnd_01A10D00E
    367,   // textureGatherOffsets_00O10B70D00D
    368,   // textureGather_00f20B00B
    370,   // textureProj_00m30B
    371,   // greaterThan_20E20E
    373,   // textureProjLod_00I30B00B
    375,   // refract_00B00B00B
    377,   // gl_MaxGeometryImageUniforms
    378,   // imageAtomicMin_00y10D00D
    379,   // imageAtomicMin_00y10D00E
    380,   // imageAtomicMin_01X10D00D
    381,   // imageAtomicMin_01X10D00E
    382,   // textureSize_00e00D
    384,   // texelFetch_00a20D00D
    386,   // step_00C10C
    387,   // frexp_30B30D
    389,   // imageAtomicMin_01Y10D00E
    390,   // texture_00t00B00B
    391,   // min_30C00C
    392,   // imageAtomicCompSwap_01X10D00E00E
    393,   // texture_00I10B
    395,   // gl_InstanceID
    397,   // normalize_20B
    399,   // normalize_20C
    400,   // imageAtomicCompSwap_01H20D00D00D
    401,   // inverse_F0B
    403,   // imageLoad_01K00D
    404,   // frexp_20C20D
    405,   // atan_00B
    407,   // textureGatherOffset_00R10B10D00D
    409,   // imageAtomicMin_01h00D00E
    410,   // imageAtomicMin_01h00D00D
    411,   // greaterThan_30E30E
    413,   // imageStore_01U20D00D30D
    414,   // texelFetchOffset_00p10D00D00D
    415,   // imageAtomicAnd_01J20D00D
    416,   // imageAtomicAnd_01J20D00E
    417,   // gl_DepthRange
    419,   // imageAtomicMax_01S10D00D00D
    420,   // imageAtomicCompSwap_01K00D00D00D
    421,   // textureProj_00o30B
    422,   // imageAtomicAdd_01I20D00E
    423,   // bitfieldExtract_20D00D00D
    425,   // texture_00L20B00B
    427,   // imageAtomicOr_01L00D00E
    428,   // imageAtomicOr_01L00D00D
    429,   // mix_30D30D30F
    430,   // imageAtomicExchange_01Z20D00B
    431,   // imageAtomicExchange_01Z20D00E
    432,   // imageAtomicExchange_01Z20D00D
    433,   // imageAtomicExchange_01f00D00E
    434,   // imageAtomicExchange_01f00D00D
    435,   // imageLoad_01h00D
    436,   // imageAtomicCompSwap_01E20D00E00E
    437,   // textureProjOffset_00O30B10D
    438,   // floor_10B
    440,   // floor_10C
    441,   // imageAtomicMax_01R10D00D00E
    442,   // imageAtomicMax_01R10D00D00D
    443,   // textureProjLodOffset_00o10B00B00D
    444,   // textureGather_00x30B00D
    445,   // interpolateAtSample_10B00D
    446,   // imageAtomicMin_01F20D00E
    447,   // imageAtomicMin_01F20D00D
    448,   // outerProduct_10B30B
    450,   // imageAtomicCompSwap_01O10D00E00E
    451,   // cos_00B
    453,   // imageAtomicXor_01F20D00E
    454,   // frexp_00C00D
    455,   // atomicCounterCompSwap_00G00E00E
    456,   // textureOffset_00a20B10D00B
    458,   // textureGather_00X10B
    460,   // textureOffset_00R10B10D00B
    462,   // textureGatherOffset_00d10B00B10D
    464,   // gl_MaxFragmentImageUniforms
    466,   // textureSize_00i00D
    467,   // equal_20E20E
    469,   // uaddCarry_00E00E00E
    471,   // textureQueryLod_00T20B
    472,   // textureCube_00K20B
    474,   // imageAtomicMax_01U20D00D00E
    475,   // imageAtomicMax_01U20D00D00D
    476,   // matrixCompMult_90B90B
    477,   // imageAtomicMin_01T20D00D00D
    478,   // imageAtomicMin_01T20D00D00E
    479,   // textureGradOffset_00p10B00B00B00D
    480,   // textureProjLodOffset_00g30B00B00D
    481,   // clamp_30E00E00E
    483,   // asin_00B
    485,   // textureProjOffset_00J30B20D00B
    487,   // imageLoad_01W10D
    488,   // texelFetch_00w00D
    489,   // imageAtomicExchange_01b20D00B
    490,   // notEqual_30E30E
    492,   // lessThanEqual_10E10E
    494,   // inversesqrt_20C
    495,   // inversesqrt_20B
    497,   // textureLod_00i20B00B
    498,   // textureOffset_00u10B00D00B
    499,   // reflect_00C00C
    500,   // atomicAdd_00E00E
    502,   // intBitsToFloat_30D
    504,   // textureProjGradOffset_00v20B10B10B10D
    505,   // textureGrad_00X10B10B10B
    507,   // greaterThanEqual_30E30E
    509,   // mix_20B20B20F
    511,   // gl_MaxVertexAtomicCounters
    513,   // textureProjOffset_00X20B10D
    515,   // any_10F
    517,   // textureProjGradOffset_00d30B10B10B10D
    519,   // imageLoad_01X10D
    520,   // textureProjOffset_00I30B10D
    522,   // imageAtomicExchange_01W10D00B
    523,   // imageAtomicExchange_01W10D00E
    524,   // imageAtomicExchange_01W10D00D
    525,   // textureOffset_00X10B10D
    527,   // imageAtomicXor_01K00D00E
    528,   // texture_00R10B
    530,   // imageAtomicAnd_01Z20D00E
    531,   // imageStore_01M00D30E
    532,   // radians_00B
    534,   // imageStore_01Y10D30E
    535,   // step_10B10B
    537,   // gl_MaxDualSourceDrawBuffersEXT
    538,   // imageAtomicAdd_01Y10D00D
    539,   // imageAtomicAdd_01Y10D00E
    540,   // bitfieldReverse_10E
    542,   // bitfieldReverse_10D
    544,   // imageStore_01g00D30D
    545,   // textureProjGradOffset_00q20B10B10B10D
    546,   // imageAtomicExchange_01S10D00D00E
    547,   // atomicXor_00E00E
    549,   // mix_00C00C00F
    550,   // textureLodOffset_00g00B00B00D
    551,   // greaterThan_30B30B
    553,   // gl_MaxFragmentAtomicCounters
    555,   // faceforward_20B20B20B
    557,   // textureSize_00x00D
    558,   // textureProj_00S30B00B
    560,   // fma_20B20B20B
    561,   // textureProjLod_00o10B00B
    562,   // imageAtomicMin_01J20D00E
    563,   // outerProduct_30B30B
    565,   // exp_30B
    567,   // bitCount_10E
    569,   // bitCount_10D
    571,   // log_00B
    573,   // mix_00F00F00F
    574,   // imageAtomicCompSwap_01M00D00D00D
    575,   // imageAtomicAnd_01T20D00D00E
    576,   // imageAtomicAnd_01T20D00D00D
    577,   // subpassLoad_01l00D
    578,   // imageStore_01N10D30B
    579,   // acosh_30B
    581,   // imageAtomicOr_01Y10D00E
    582,   // imageAtomicOr_01Y10D00D
    583,   // textureGradOffset_00X10B10B10B10D
    585,   // texelFetchOffset_00X10D00D10D
    587,   // packUnorm2x16_10B
    589,   // texture_00h20B00B
    590,   // umulExtended_20E20E20E20E
    592,   // texture_00m20B00B
    593,   // textureProjGradOffset_00g30B00B00B00D
    594,   // textureProj_00o30B00B
    595,   // textureCubeLod_00K20B00B
    597,   // textureSize_00L00D
    599,   // imageAtomicXor_01L00D00E
    600,   // max_20E00E
    602,   // textureProj_00S30B
    604,   // dFdy_30B
    607,   // imageAtomicMin_01W10D00D
    608,   // isinf_10C
    609,   // isinf_10B
    611,   // textureGatherOffsets_00a20B70D
    612,   // gl_MaxVertexTextureImageUnits
    614,   // greaterThanEqual_30B30B
    616,   // texture2DProjLodEXT_00I20B00B
    617,   // gl_FrontFacing
    619,   // imageStore_01C20D30D
    621,   // textureProjOffset_00t10B00D00B
    622,   // imageAtomicCompSwap_01Z20D00D00D
    623,   // acos_10B
    625,   // textureCube_00K20B00B
    627,   // lessThan_10B10B
    629,   // gl_MaxComputeAtomicCounterBuffers
    631,   // textureSize_00f00D
    633,   // imageLoad_01B20D
    635,   // texelFetchOffset_00h10D00D00D
    636,   // mod_20C00C
    637,   // imageAtomicAnd_01g00D00D
    638,   // gl_LastFragColorARM
    639,   // lessThanEqual_20D20D
    641,   // textureQueryLod_00k20B
    642,   // textureProjLod_00Y30B00B
    644,   // gl_SecondaryFragColorEXT
    645,   // imageAtomicAnd_01U20D00D00D
    646,   // imageAtomicAnd_01U20D00D00E
    647,   // gl_BaseInstance
    648,   // transpose_B0B
    650,   // imageAtomicXor_01b20D00E
    651,   // mix_20F20F20F
    652,   // smoothstep_00B00B30B
    654,   // imageAtomicExchange_01M00D00B
    655,   // imageAtomicExchange_01F20D00E
    656,   // imageAtomicExchange_01M00D00D
    657,   // imageAtomicExchange_01M00D00E
    658,   // imageAtomicCompSwap_01F20D00E00E
    659,   // texelFetch_00N10D00D
    660,   // textureSize_00a00D
    662,   // imageAtomicXor_01T20D00D00D
    663,   // textureProjOffset_00Y30B20D
    665,   // bitCount_30E
    667,   // atan_30B
    669,   // textureGatherOffsets_00R10B70D00D
    670,   // imageAtomicMax_01b20D00D
    671,   // ceil_10B
    673,   // textureSize_00S00D
    675,   // imageAtomicExchange_01S10D00D00B
    676,   // atomicCounterDecrement_00G
    678,   // ceil_30B
    680,   // textureSize_00t00D
    681,   // memoryBarrier_
    683,   // texture_00f30B
    685,   // imageSamples_01R
    686,   // texelFetch_00R10D00D
    688,   // sign_20B
    690,   // smoothstep_30B30B30B
    692,   // textureGrad_00R10B10B10B
    694,   // min_00D00D
    696,   // textureProj_00t10B00B
    697,   // imageAtomicCompSwap_01W10D00E00E
    698,   // imageAtomicAdd_01V20D00D00E
    699,   // ldexp_20B20D
    701,   // greaterThanEqual_30D30D
    703,   // imageLoad_01D20D
    705,   // findLSB_10E
    707,   // texture_00Z20B00B
    709,   // imageAtomicXor_01S10D00D00E
    710,   // imageAtomicXor_01S10D00D00D
    711,   // cos_10B
    713,   // texelFetch_00v10D
    714,   // texture_00e30B
    716,   // imageStore_01W10D30B
    717,   // textureSize_00T00D
    719,   // imageAtomicAnd_01g00D00E
    720,   // textureSize_00u00D
    721,   // textureProjGradOffset_00Y30B20B20B20D
    723,   // noise3_30B
    724,   // textureGrad_00T20B20B20B
    726,   // texture1DProj_00g10B00B
    727,   // textureProjOffset_00d30B10D00B
    729,   // textureGatherOffsets_00X10B70D
    730,   // imageAtomicXor_01U20D00D00D
    731,   // imageAtomicXor_01U20D00D00E
    732,   // imageAtomicAdd_01h00D00D
    733,   // imageAtomicAdd_01h00D00E
    734,   // matrixCompMult_50B50B
    736,   // equal_30B30B
    738,   // imageAtomicExchange_01E20D00B
    739,   // textureLod_00U20B00B
    741,   // imageAtomicXor_01I20D00E
    742,   // imageAtomicXor_01I20D00D
    743,   // textureOffset_00h10B00D
    744,   // textureLod_00p10B00B
    745,   // max_20C20C
    746,   // max_10B10B
    748,   // gl_PointSize
    750,   // imageAtomicCompSwap_01B20D00E00E
    751,   // asin_10B
    753,   // sinh_00B
    755,   // imageAtomicAdd_01g00D00D
    756,   // imageAtomicCompSwap_01h00D00E00E
    757,   // textureOffset_00S20B20D
    759,   // fma_20C20C20C
    760,   // imageAtomicCompSwap_01N10D00D00D
    761,   // textureProj_00R20B
    763,   // greaterThan_10E10E
    765,   // imageAtomicAnd_01M00D00E
    766,   // imageAtomicAnd_01M00D00D
    767,   // EmitVertex_
    769,   // smoothstep_20B20B20B
    771,   // textureSamples_00b
    772,   // textureOffset_00J20B20D
    774,   // texelFetch_00J20D00D
    776,   // imageAtomicExchange_01V20D00D00E
    777,   // imageAtomicExchange_01V20D00D00B
    778,   // imageAtomicCompSwap_01Y10D00E00E
    779,   // imageAtomicExchange_00y10D00B
    780,   // imageAtomicExchange_00y10D00D
    781,   // imageAtomicExchange_00y10D00E
    782,   // gl_ViewID_OVR
    783,   // radians_30B
    785,   // fract_30B
    787,   // imageAtomicAdd_01B20D00D
    788,   // imageAtomicAdd_01B20D00E
    789,   // imageAtomicMin_01H20D00E
    790,   // uaddCarry_20E20E20E
    792,   // textureProjGrad_00X30B10B10B
    794,   // textureSamples_00P
    795,   // textureProjOffset_00v20B10D
    796,   // shadow2D_00d20B00B
    797,   // texelFetchOffset_00o00D00D00D
    798,   // textureSamples_00V
    799,   // textureSamples_00W
    800,   // textureProjGrad_00q30B10B10B
    801,   // textureGatherOffset_00O10B10D
    802,   // clamp_10D00D00D
    804,   // gl_MaxComputeImageUniforms
    806,   // textureLod_00L20B00B
    808,   // imageAtomicExchange_01A10D00B
    809,   // imageAtomicCompSwap_01V20D00D00D00D
    810,   // imageAtomicExchange_01A10D00E
    811,   // imageAtomicExchange_01A10D00D
    812,   // imageAtomicXor_01b20D00D
    813,   // texture_00n20B
    814,   // ldexp_20C20D
    815,   // clamp_00E00E00E
    817,   // length_20B
    819,   // ldexp_00B00D
    821,   // imageAtomicExchange_01N10D00E
    822,   // bitfieldInsert_00D00D00D00D
    824,   // textureProjGrad_00Y30B20B20B
    826,   // roundEven_30B
    828,   // roundEven_30C
    829,   // acosh_20B
    831,   // atanh_10B
    833,   // length_20C
    834,   // clamp_10B10B10B
    836,   // textureGatherOffset_00L20B10D00D
    838,   // bitCount_00D
    840,   // bitCount_00E
    842,   // imageAtomicExchange_01N10D00B
    843,   // floatBitsToInt_30B
    845,   // max_20B00B
    847,   // imageAtomicAdd_00z10D00D
    848,   // texelFetchOffset_00Y20D00D20D
    850,   // atomicExchange_00E00E
    852,   // imageAtomicXor_01h00D00D
    853,   // imageAtomicXor_01h00D00E
    854,   // ldexp_30C30D
    855,   // texture_00o00B
    856,   // textureGatherOffsets_00X10B70D00D
    857,   // lessThanEqual_20B20B
    859,   // min_10B00B
    861,   // textureQueryLod_00f10B
    862,   // smoothstep_10C10C10C
    863,   // textureGatherOffsets_00U20B70D
    864,   // imageAtomicAnd_01L00D00D
    865,   // imageAtomicAnd_01L00D00E
    866,   // mix_30F30F30F
    867,   // abs_20D
    869,   // abs_20C
    870,   // abs_20B
    872,   // lessThanEqual_10B10B
    874,   // imageAtomicOr_01f00D00E
    875,   // imageAtomicOr_01f00D00D
    876,   // imageAtomicOr_01a20D00D
    877,   // mix_00B00B00B
    879,   // mix_00B00B00F
    881,   // textureGather_00s30B00D
    882,   // textureProj_00I20B
    884,   // imageAtomicExchange_01B20D00B
    885,   // textureLodOffset_00p10B00B00D
    886,   // gl_MaxVertexAtomicCounterBuffers
    888,   // unpackDouble2x32_00C
    889,   // acos_00B
    891,   // textureGradOffset_00J20B20B20B20D
    893,   // fma_00C00C00C
    894,   // texture2DGradEXT_00I10B10B10B
    895,   // imageAtomicCompSwap_01G20D00D00D
    896,   // imageAtomicAnd_01I20D00D
    897,   // texture2DProjGradEXT_00I30B10B10B
    898,   // fma_30B30B30B
    899,   // imageAtomicAdd_01L00D00D
    900,   // texture_00i20B00B
    901,   // gl_MaxComputeWorkGroupCount
    903,   // clamp_20C00C00C
    904,   // imageAtomicMax_01X10D00E
    905,   // imageAtomicCompSwap_00y10D00E00E
    906,   // mix_30E30E30F
    907,   // imageAtomicMax_01b20D00E
    908,   // imageAtomicMin_01G20D00D
    909,   // imageAtomicMin_01G20D00E
    910,   // textureGatherOffsets_00I10B70D
    911,   // imageAtomicExchange_01S10D00D00D
    912,   // atan_20B
    914,   // imageAtomicCompSwap_01Z20D00E00E
    915,   // interpolateAtSample_30B00D
    916,   // dFdxCoarse_30B
    917,   // texture_00M10B
    918,   // min_10B10B
    920,   // textureLodOffset_00h10B00B00D
    921,   // EndStreamPrimitive_00D
    922,   // pow_10B10B
    924,   // texture_00Y20B
    926,   // imageAtomicXor_01P10D00D
    927,   // texture_00X10B00B
    929,   // frexp_00B00D
    931,   // texture2D_00I10B
    933,   // imageLoad_01O10D
    934,   // ceil_20C
    935,   // ceil_20B
    937,   // imageAtomicMin_01b20D00E
    938,   // imageAtomicMin_01b20D00D
    939,   // imageAtomicMax_01P10D00D
    940,   // imageAtomicMax_01P10D00E
    941,   // imageAtomicExchange_01P10D00B
    942,   // textureProjOffset_00R20B10D
    944,   // imageStore_01V20D00D30E
    945,   // imageAtomicCompSwap_01T20D00D00E00E
    946,   // subpassLoad_01m00D
    947,   // textureOffset_00I10B10D
    949,   // min_20B00B
    951,   // reflect_00B00B
    953,   // noise4_10B
    954,   // sqrt_10C
    955,   // sqrt_10B
    957,   // imageAtomicXor_01Z20D00D
    958,   // imageAtomicXor_01Z20D00E
    959,   // clamp_20E20E20E
    961,   // textureGradOffset_00g00B00B00B00D
    962,   // textureGather_00q20B
    963,   // noise3_00B
    964,   // imageAtomicOr_01G20D00D
    965,   // imageAtomicOr_01G20D00E
    966,   // imageAtomicMin_01C20D00D
    967,   // imageAtomicMin_01C20D00E
    968,   // imageAtomicAnd_01F20D00E
    969,   // textureProjLod_00d30B00B
    971,   // imageStore_01a20D30D
    972,   // imageLoad_01H20D
    974,   // textureProjGradOffset_00I20B10B10B10D
    976,   // interpolateAtSample_20B00D
    977,   // reflect_10B10B
    979,   // refract_10B10B00B
    981,   // imageAtomicMax_01h00D00D
    982,   // mix_20C20C20F
    983,   // imageAtomicExchange_01X10D00D
    984,   // imageAtomicExchange_01X10D00E
    985,   // mix_20C20C20C
    986,   // textureOffset_00v10B10D
    987,   // imageAtomicMin_01P10D00D
    988,   // sinh_30B
    990,   // textureSize_00m00D
    991,   // textureQueryLod_00e20B
    992,   // asinh_20B
    994,   // imageAtomicAdd_01C20D00D
    995,   // imageAtomicCompSwap_01I20D00D00D
    996,   // textureProj_00O20B
    998,   // imageAtomicCompSwap_01M00D00E00E
    999,   // frexp_10B10D
    1001,  // inverse_50B
    1003,  // dot_10B10B
    1005,  // imageAtomicExchange_01T20D00D00D
    1006,  // imageAtomicExchange_01T20D00D00E
    1007,  // noise2_00B
    1008,  // textureProjGradOffset_00o10B00B00B00D
    1009,  // radians_20B
    1011,  // atomicCompSwap_00E00E00E
    1013,  // textureGrad_00I00B00B00B
    1014,  // textureGrad_00Y20B20B20B
    1016,  // gl_MaxVertexUniformVectors
    1018,  // textureOffset_00o00B00D00B
    1019,  // ftransform_
    1020,  // textureProj_00X20B
    1022,  // textureProjOffset_00n30B10D
    1023,  // gl_MaxGeometryUniformComponents
    1024,  // greaterThanEqual_20E20E
    1026,  // textureProj_00M20B
    1027,  // texture3DProjLod_00J30B00B
    1029,  // isinf_30C
    1030,  // imageAtomicAdd_01S10D00D00D
    1031,  // mix_10D10D10F
    1032,  // textureProjGrad_00g10B00B00B
    1033,  // log_20B
    1035,  // imageAtomicMax_01D20D00E
    1036,  // imageAtomicMax_01D20D00D
    1037,  // textureOffset_00h10B00D00B
    1038,  // modf_30B30B
    1040,  // roundEven_20C
    1041,  // roundEven_20B
    1043,  // outerProduct_30B10B
    1045,  // textureProj_00J30B
    1047,  // imageAtomicOr_00y10D00D
    1048,  // imageAtomicOr_00y10D00E
    1049,  // imageAtomicOr_01F20D00E
    1050,  // imageAtomicOr_01F20D00D
    1051,  // textureLodOffset_00t00B00B00D
    1052,  // floatBitsToInt_20B
    1054,  // texelFetch_00U20D00D
    1056,  // max_00D00D
    1058,  // atomicMin_00E00E
    1060,  // imageAtomicMin_01Q10D00D00D
    1061,  // imageAtomicMin_01Q10D00D00E
    1062,  // textureGradOffset_00v10B10B10B10D
    1063,  // textureGrad_00n20B10B10B
    1064,  // imageLoad_01S10D00D
    1065,  // max_20E20E
    1067,  // imageAtomicCompSwap_01F20D00D00D
    1068,  // abs_10D
    1070,  // abs_10B
    1072,  // abs_10C
    1073,  // gl_FragDepthEXT
    1074,  // imageAtomicAdd_01V20D00D00D
    1075,  // modf_30C30C
    1076,  // imageAtomicExchange_01g00D00E
    1077,  // textureGrad_00i20B00B00B
    1078,  // textureProj_00g10B
    1079,  // equal_20B20B
    1081,  // textureProjLodOffset_00X20B00B10D
    1083,  // max_30C00C
    1084,  // imageAtomicMax_01W10D00D
    1085,  // textureGatherOffsets_00a20B70D00D
    1086,  // texture_00U20B00B
    1088,  // textureProj_00I30B
    1090,  // mix_00E00E00F
    1091,  // imageAtomicCompSwap_01h00D00D00D
    1092,  // mix_00D00D00F
    1093,  // fwidthFine_00B
    1094,  // texture_00i20B
    1095,  // textureGradOffset_00a20B10B10B10D
    1097,  // smoothstep_00B00B20B
    1099,  // textureLod_00s30B00B
    1100,  // imageAtomicOr_01C20D00D
    1101,  // imageAtomicOr_01C20D00E
    1102,  // imageAtomicXor_01g00D00E
    1103,  // notEqual_30B30B
    1105,  // imageAtomicCompSwap_01W10D00D00D
    1106,  // textureGatherOffset_00f20B00B10D
    1108,  // imageLoad_01T20D00D
    1109,  // imageSize_00y
    1111,  // imageAtomicMin_01W10D00E
    1112,  // imageSize_00z
    1114,  // mod_10C10C
    1115,  // imageAtomicXor_01g00D00D
    1116,  // faceforward_00C00C00C
    1117,  // textureGrad_00a20B10B10B
    1119,  // imageAtomicXor_01R10D00D00D
    1120,  // imageAtomicXor_01T20D00D00E
    1121,  // dFdxCoarse_00B
    1122,  // imageAtomicMin_01a20D00D
    1123,  // texture_00J20B00B
    1125,  // refract_20B20B00B
    1127,  // ceil_30C
    1128,  // gl_MaxGeometryOutputComponents
    1129,  // noise1_30B
    1130,  // log2_30B
    1132,  // textureProjGrad_00d30B10B10B
    1134,  // mod_20C20C
    1135,  // fract_30C
    1136,  // texelFetch_00t00D00D
    1137,  // imageAtomicXor_01L00D00D
    1138,  // max_30E30E
    1140,  // gl_MaxFragmentAtomicCounterBuffers
    1142,  // gl_in
    1143,  // noise4_00B
    1144,  // distance_10C10C
    1145,  // textureProjLodOffset_00J30B00B20D
    1147,  // imageAtomicMax_01H20D00E
    1148,  // imageAtomicMax_01H20D00D
    1149,  // imageStore_01h00D30E
    1150,  // textureGatherOffsets_00d10B00B70D
    1151,  // texelFetch_00c20D00D
    1153,  // sqrt_00B
    1155,  // sqrt_00C
    1156,  // textureProjLod_00R30B00B
    1158,  // noise3_10B
    1159,  // texelFetch_00q10D
    1160,  // imageAtomicAnd_01F20D00D
    1161,  // textureLod_00m20B00B
    1162,  // textureProjOffset_00m30B00D00B
    1163,  // textureProjGrad_00v30B10B10B
    1164,  // clamp_20D20D20D
    1166,  // imageAtomicMin_01P10D00E
    1167,  // imageAtomicAdd_01C20D00E
    1168,  // clamp_00C00C00C
    1169,  // imageAtomicCompSwap_01b20D00E00E
    1170,  // max_10E00E
    1172,  // textureGrad_00U20B10B10B
    1174,  // imageAtomicCompSwap_01B20D00D00D
    1175,  // imageLoad_00z10D
    1177,  // clamp_30C00C00C
    1178,  // sinh_20B
    1180,  // matrixCompMult_E0BE0B
    1181,  // textureProjOffset_00q20B10D
    1182,  // gl_PerVertex
    1183,  // textureGradOffset_00m20B00B00B00D
    1184,  // textureQueryLevels_00p
    1185,  // gl_WorkGroupSize
    1187,  // asinh_30B
    1189,  // cross_20C20C
    1190,  // textureGather_00a20B
    1192,  // textureProjGradOffset_00O20B10B10B10D
    1193,  // pow_30B30B
    1195,  // imageAtomicCompSwap_01G20D00E00E
    1196,  // smoothstep_10B10B10B
    1198,  // textureProj_00O30B
    1200,  // imageAtomicAdd_01Q10D00D00E
    1201,  // textureQueryLod_00R10B
    1202,  // imageAtomicCompSwap_01T20D00D00D00D
    1203,  // imageAtomicAdd_01R10D00D00D
    1204,  // imageAtomicAdd_01R10D00D00E
    1205,  // imageAtomicExchange_01E20D00D
    1206,  // imageAtomicExchange_01E20D00E
    1207,  // isnan_00B
    1209,  // isnan_00C
    1210,  // imulExtended_10D10D10D10D
    1212,  // textureProjGrad_00o10B00B00B
    1213,  // refract_10C10C00B
    1214,  // min_00E00E
    1216,  // texture2DProj_00I30B
    1218,  // textureGradOffset_00I10B10B10B10D
    1220,  // textureLodOffset_00J20B00B20D
    1222,  // notEqual_20B20B
    1224,  // atomicCompSwap_00D00D00D
    1226,  // imageAtomicOr_01W10D00E
    1227,  // imageAtomicOr_01W10D00D
    1228,  // textureOffset_00i20B00D
    1229,  // dFdyFine_00B
    1230,  // textureLod_00a20B00B
    1232,  // textureProj_00N30B
    1233,  // refract_30C30C00B
    1234,  // equal_30D30D
    1236,  // packSnorm2x16_10B
    1238,  // floatBitsToUint_30B
    1240,  // imageLoad_00y10D
    1242,  // textureOffset_00R10B10D
    1244,  // textureProjGrad_00q20B10B10B
    1245,  // textureProjGradOffset_00R20B10B10B10D
    1247,  // ldexp_30B30D
    1249,  // max_30B00B
    1251,  // imageAtomicAdd_01Q10D00D00D
    1252,  // atomicCounterOr_00G00E
    1253,  // step_30B30B
    1255,  // imageAtomicOr_01T20D00D00D
    1256,  // imageAtomicOr_01T20D00D00E
    1257,  // textureProj_00I30B00B
    1259,  // imageAtomicExchange_01D20D00E
    1260,  // textureOffset_00g00B00D00B
    1261,  // imageAtomicExchange_01D20D00B
    1262,  // imageAtomicMin_01g00D00E
    1263,  // abs_00D
    1265,  // abs_00C
    1266,  // abs_00B
    1268,  // textureLod_00R10B00B
    1270,  // dFdxCoarse_10B
    1271,  // texture1D_00g00B
    1272,  // frexp_10C10D
    1273,  // imageAtomicMax_01B20D00D
    1274,  // imageAtomicAdd_01g00D00E
    1275,  // texture2DLod_00I10B00B
    1277,  // textureProjGradOffset_00X20B10B10B10D
    1279,  // round_20C
    1280,  // EndPrimitive_
    1282,  // step_00B30B
    1284,  // round_20B
    1286,  // equal_30E30E
    1288,  // imageAtomicCompSwap_01R10D00D00E00E
    1289,  // step_00C20C
    1290,  // dot_00C00C
    1291,  // max_30C30C
    1292,  // atomicOr_00D00D
    1294,  // texture2DProj_00M20B
    1295,  // notEqual_10D10D
    1297,  // textureSize_00V
    1300,  // imageAtomicAnd_01h00D00D
    1301,  // min_20C00C
    1302,  // imageAtomicAdd_01G20D00E
    1303,  // imageAtomicAdd_01G20D00D
    1304,  // findLSB_30D
    1306,  // findLSB_30E
    1308,  // textureProj_00X20B00B
    1310,  // shadow2D_00d20B
    1311,  // imageAtomicAdd_01N10D00E
    1312,  // imageAtomicAdd_01N10D00D
    1313,  // textureGatherOffset_00U20B10D
    1315,  // faceforward_10B10B10B
    1317,  // imageAtomicAnd_01h00D00E
    1318,  // min_10D00D
    1320,  // imageAtomicOr_01B20D00E
    1321,  // imageAtomicOr_01B20D00D
    1322,  // EmitStreamVertex_00D
    1323,  // imageAtomicCompSwap_01J20D00D00D
    1324,  // all_20F
    1326,  // imageSize_01J
    1328,  // imageSize_01K
    1329,  // imageSize_01H
    1331,  // imageSize_01I
    1333,  // packHalf2x16_10B
    1335,  // textureProj_00I20B00B
    1337,  // imageSize_01L
    1338,  // imageSize_01M
    1339,  // imageSize_01B
    1341,  // imageSize_01C
    1343,  // texelFetch_00r00D
    1344,  // imageSize_01F
    1346,  // imageSize_01G
    1348,  // imageSize_01D
    1350,  // imageSize_01E
    1352,  // imageSize_01Z
    1353,  // imageAtomicExchange_01L00D00B
    1354,  // imageAtomicMax_01Z20D00E
    1355,  // texelFetch_00X10D00D
    1357,  // notEqual_30F30F
    1359,  // imageSize_01R
    1360,  // imageSize_01S
    1361,  // imageSize_01P
    1362,  // imageSize_01Q
    1363,  // imageSize_01V
    1364,  // textureQueryLod_00g00B
    1365,  // imageSize_01T
    1366,  // imageSize_01U
    1367,  // imageSize_01h
    1368,  // fract_20C
    1369,  // fract_20B
    1371,  // textureGatherOffset_00X10B10D
    1373,  // imageSize_01c
    1374,  // imageSize_01a
    1375,  // imageSize_01f
    1376,  // texture2DProjGradEXT_00I20B10B10B
    1377,  // imageSize_01d
    1378,  // textureLod_00S20B00B
    1380,  // step_30C30C
    1381,  // imageAtomicMin_01J20D00D
    1382,  // gl_FragDepth
    1384,  // textureGather_00x30B
    1385,  // mix_30B30B30F
    1387,  // mix_30B30B30B
    1389,  // textureGather_00Z20B00D
    1391,  // noise4_30B
    1392,  // sqrt_30C
    1393,  // sqrt_30B
    1395,  // imageStore_01E20D30B
    1397,  // exp_00B
    1399,  // max_30D30D
    1401,  // gl_MaxGeometryTextureImageUnits
    1402,  // interpolateAtCentroid_10B
    1403,  // texture_00q10B
    1404,  // textureSize_00M00D
    1405,  // textureSamples_00c
    1406,  // angle_BaseInstance
    1407,  // mix_10F10F10F
    1408,  // textureGradOffset_00U20B10B10B10D
    1410,  // gl_Position
    1413,  // textureGradOffset_00O10B10B10B10D
    1414,  // textureProj_00M30B
    1415,  // textureGradOffset_00L20B10B10B10D
    1417,  // imageAtomicExchange_01V20D00D00D
    1418,  // imageAtomicExchange_01J20D00B
    1419,  // imageAtomicExchange_01J20D00E
    1420,  // imageAtomicExchange_01J20D00D
    1421,  // textureQueryLod_00l20B
    1422,  // imageAtomicOr_01M00D00E
    1423,  // dot_20B20B
    1425,  // textureProjGrad_00v20B10B10B
    1426,  // textureProjLod_00S30B00B
    1428,  // textureProjGrad_00R20B10B10B
    1430,  // imageAtomicMax_00z10D00E
    1431,  // imageAtomicMax_00z10D00D
    1432,  // normalize_30C
    1433,  // normalize_30B
    1435,  // textureOffset_00O10B10D
    1436,  // textureProjGrad_00I20B10B10B
    1438,  // textureGather_00e20B
    1439,  // imageAtomicMax_01V20D00D00E
    1440,  // texture2D_00M10B
    1441,  // imageAtomicAdd_01a20D00E
    1442,  // fwidthFine_30B
    1443,  // textureGather_00K20B00D
    1445,  // textureCubeLodEXT_00K20B00B
    1446,  // textureGather_00T20B00D
    1448,  // textureProj_00N20B
    1449,  // textureQueryLod_00I10B
    1450,  // imageAtomicCompSwap_01A10D00E00E
    1451,  // dFdyFine_10B
    1452,  // modf_10C10C
    1453,  // imageAtomicMax_01E20D00D
    1454,  // imageAtomicMax_01E20D00E
    1455,  // textureProjLodOffset_00X30B00B10D
    1457,  // textureProjLod_00m30B00B
    1458,  // textureProjOffset_00g30B00D00B
    1459,  // texelFetchOffset_00U20D00D10D
    1461,  // imageAtomicCompSwap_00z10D00E00E
    1462,  // imageAtomicMin_01D20D00E
    1463,  // textureProjGradOffset_00q30B10B10B10D
    1464,  // textureGradOffset_00d20B10B10B10D
    1466,  // fwidthCoarse_20B
    1467,  // textureProjOffset_00d30B10D
    1469,  // equal_20F20F
    1471,  // Empty
    1471,  // mix_20C20C00C
    1472,  // usubBorrow_10E10E10E
    1474,  // imageStore_01S10D00D30E
    1475,  // equal_10B10B
    1477,  // imageAtomicExchange_01Q10D00D00D
    1478,  // imageAtomicExchange_01Q10D00D00E
    1479,  // imageAtomicExchange_01Q10D00D00B
    1480,  // textureLodOffset_00U20B00B10D
    1482,  // isnan_10C
    1483,  // isnan_10B
    1485,  // imageAtomicMin_01H20D00D
    1486,  // imageAtomicXor_01A10D00D
    1487,  // imageAtomicXor_01A10D00E
    1488,  // imageAtomicCompSwap_01C20D00D00D
    1489,  // textureGrad_00R00B00B00B
    1490,  // imageAtomicXor_01W10D00D
    1491,  // imageAtomicXor_01W10D00E
    1492,  // atomicMin_00D00D
    1494,  // textureSize_00X00D
    1496,  // greaterThan_10B10B
    1498,  // mix_00C00C00C
    1499,  // clamp_30D00D00D
    1501,  // mix_20E20E20F
    1502,  // floatBitsToInt_10B
    1504,  // textureProjOffset_00R30B10D00B
    1506,  // textureGather_00U20B00D
    1508,  // floatBitsToInt_00B
    1510,  // imageLoad_01a20D
    1511,  // floatBitsToUint_00B
    1513,  // min_30C30C
    1514,  // textureSamples_00Q
    1515,  // textureGradOffset_00i20B00B00B00D
    1516,  // imageAtomicXor_00z10D00D
    1517,  // texture2DRectProj_00O20B
    1518,  // modf_20C20C
    1519,  // tan_20B
    1521,  // floor_00C
    1522,  // floor_00B
    1524,  // imageAtomicMax_01O10D00E
    1525,  // imageAtomicMax_01O10D00D
    1526,  // mod_30C30C
    1527,  // gl_DrawID
    1528,  // textureOffset_00t00B00D
    1529,  // texture3DLod_00J20B00B
    1531,  // texture_00R10B00B
    1533,  // modf_00B00B
    1535,  // notEqual_20D20D
    1537,  // imageAtomicExchange_01R10D00D00E
    1538,  // imageAtomicExchange_01R10D00D00D
    1539,  // ldexp_10C10D
    1540,  // imageAtomicXor_00y10D00E
    1541,  // imageAtomicXor_00y10D00D
    1542,  // determinant_A0B
    1543,  // textureLodOffset_00i20B00B00D
    1544,  // imageStore_01D20D30E
    1546,  // shadow1DLod_00m20B00B
    1547,  // imageAtomicOr_01I20D00E
    1548,  // distance_00C00C
    1549,  // isnan_30B
    1551,  // textureProjOffset_00o30B00D
    1552,  // lessThanEqual_30D30D
    1554,  // textureProj_00M30B00B
    1555,  // texture2DProj_00M30B
    1556,  // atomicCounterMax_00G00E
    1557,  // atomicCounterExchange_00G00E
    1558,  // textureGrad_00I10B10B10B
    1560,  // step_00B20B
    1562,  // texture2DProjLod_00I20B00B
    1564,  // step_00C30C
    1565,  // yuv_2_rgb_20B00H
    1566,  // texelFetch_00b10D00D
    1569,  // textureProj_00J30B00B
    1571,  // textureGather_00R10B
    1573,  // imageAtomicCompSwap_01K00D00E00E
    1574,  // imageAtomicOr_01V20D00D00D
    1575,  // imageAtomicOr_01V20D00D00E
    1576,  // imageAtomicExchange_01P10D00D
    1577,  // imageLoad_01L00D
    1578,  // min_10D10D
    1580,  // all_30F
    1582,  // imageAtomicExchange_01P10D00E
    1583,  // imageAtomicMax_01a20D00D
    1584,  // imageAtomicAnd_01S10D00D00E
    1585,  // imageAtomicAnd_01S10D00D00D
    1586,  // angle_BaseVertex
    1587,  // bitfieldReverse_20D
    1589,  // bitfieldReverse_20E
    1591,  // imageAtomicExchange_01I20D00D
    1592,  // imageAtomicExchange_01I20D00E
    1593,  // imageAtomicExchange_01I20D00B
    1594,  // gl_MaxGeometryInputComponents
    1595,  // texture_00u20B
    1596,  // textureGather_00v20B
    1597,  // fract_10B
    1599,  // fract_10C
    1600,  // textureGatherOffset_00O10B10D00D
    1601,  // textureQueryLod_00K20B
    1602,  // textureLodOffset_00I10B00B10D
    1604,  // imageAtomicCompSwap_01S10D00D00E00E
    1605,  // noise4_20B
    1606,  // textureOffset_00U20B10D
    1608,  // min_30B00B
    1610,  // imageAtomicMax_00y10D00D
    1611,  // imageAtomicMax_00y10D00E
    1612,  // atomicAnd_00D00D
    1614,  // gl_FragColor
    1616,  // exp_10B
    1618,  // textureOffset_00n20B10D
    1619,  // bitCount_30D
    1621,  // unpackUnorm2x16_00E
    1623,  // sqrt_20B
    1625,  // sqrt_20C
    1626,  // textureGrad_00L20B10B10B
    1628,  // interpolateAtCentroid_00B
    1629,  // textureSize_00o00D
    1630,  // gl_MaxImageUnits
    1632,  // textureProjGrad_00o30B00B00B
    1633,  // packUnorm4x8_30B
    1635,  // texelFetch_00P10D00D
    1638,  // texture_00O10B
    1640,  // imageAtomicMin_01M00D00D
    1641,  // imageAtomicMin_01M00D00E
    1642,  // texture_00e30B00B
    1644,  // imageAtomicMin_01O10D00E
    1645,  // imageAtomicMin_01O10D00D
    1646,  // imageAtomicExchange_01B20D00E
    1647,  // imageAtomicExchange_01B20D00D
    1648,  // gl_FragCoord
    1650,  // imageAtomicMax_01X10D00D
    1651,  // textureGrad_00u10B00B00B
    1652,  // fwidthFine_20B
    1653,  // textureQueryLod_00o00B
    1654,  // imageAtomicAnd_01E20D00E
    1655,  // imageAtomicAnd_01E20D00D
    1656,  // normalize_00B
    1658,  // normalize_00C
    1659,  // clamp_10C00C00C
    1660,  // imageAtomicCompSwap_01f00D00E00E
    1661,  // imageAtomicOr_01A10D00E
    1662,  // imageAtomicOr_01A10D00D
    1663,  // imageAtomicOr_01K00D00D
    1664,  // imageAtomicOr_01K00D00E
    1665,  // atomicMax_00D00D
    1667,  // textureProjGrad_00m30B00B00B
    1668,  // imageAtomicAnd_01R10D00D00E
    1669,  // floatBitsToUint_10B
    1671,  // textureLod_00J20B00B
    1673,  // imageAtomicExchange_01D20D00D
    1674,  // textureGrad_00O10B10B10B
    1675,  // dFdyFine_20B
    1676,  // textureSize_00I00D
    1678,  // gl_MaxComputeWorkGroupSize
    1680,  // texelFetchOffset_00R10D00D10D
    1682,  // dFdxFine_10B
    1683,  // imageAtomicAnd_01K00D00E
    1684,  // imageAtomicAnd_01K00D00D
    1685,  // textureLodOffset_00X10B00B10D
    1687,  // texture_00T20B00B
    1689,  // textureProj_00q20B
    1690,  // imageAtomicExchange_01K00D00D
    1691,  // imageAtomicCompSwap_00y10D00D00D
    1692,  // log_30B
    1694,  // notEqual_20F20F
    1696,  // allInvocationsEqual_00F
    1697,  // imageStore_01G20D30E
    1699,  // dFdyCoarse_30B
    1700,  // textureProjLod_00R20B00B
    1702,  // notEqual_30D30D
    1704,  // fwidthCoarse_30B
    1705,  // textureProjOffset_00I20B10D
    1707,  // imageStore_01X10D30D
    1708,  // textureQueryLevels_00l
    1709,  // textureQueryLevels_00m
    1710,  // textureQueryLevels_00o
    1711,  // textureQueryLevels_00h
    1712,  // textureQueryLevels_00i
    1713,  // textureQueryLevels_00k
    1714,  // textureQueryLevels_00d
    1715,  // textureQueryLevels_00e
    1716,  // textureQueryLevels_00f
    1717,  // textureQueryLevels_00g
    1718,  // gl_MaxDrawBuffers
    1720,  // textureQueryLevels_00a
    1721,  // atomicCounterMin_00G00E
    1722,  // textureGradOffset_00u10B00B00B00D
    1723,  // textureQueryLevels_00x
    1724,  // textureQueryLevels_00t
    1725,  // textureQueryLevels_00u
    1726,  // imulExtended_20D20D20D20D
    1728,  // any_30F
    1730,  // distance_30B30B
    1732,  // textureQueryLevels_00s
    1733,  // textureQueryLevels_00L
    1734,  // textureQueryLevels_00I
    1735,  // textureQueryLevels_00J
    1736,  // textureQueryLevels_00K
    1737,  // imageAtomicExchange_01L00D00D
    1738,  // imageAtomicAnd_01W10D00D
    1739,  // imageAtomicAnd_01W10D00E
    1740,  // texture3D_00J20B00B
    1742,  // texture1DLod_00g00B00B
    1743,  // textureQueryLevels_00X
    1744,  // textureQueryLevels_00Y
    1745,  // textureQueryLevels_00Z
    1746,  // dot_30B30B
    1748,  // textureQueryLevels_00T
    1749,  // textureQueryLevels_00U
    1750,  // textureQueryLevels_00R
    1751,  // textureQueryLevels_00S
    1752,  // gl_MaxTextureImageUnits
    1754,  // usubBorrow_20E20E20E
    1756,  // textureProj_00t30B00B
    1757,  // shadow1DProj_00m30B00B
    1758,  // clamp_30B00B00B
    1760,  // texture2DRectProj_00O30B
    1761,  // imageAtomicMax_01B20D00E
    1762,  // max_10D00D
    1764,  // textureGradOffset_00n20B10B10B10D
    1765,  // clamp_00D00D00D
    1767,  // floor_30B
    1769,  // floor_30C
    1770,  // imageStore_01P10D30E
    1771,  // textureProjGradOffset_00S30B20B20B20D
    1773,  // reflect_30C30C
    1774,  // gl_PointCoord
    1776,  // imageAtomicOr_01D20D00E
    1777,  // textureGatherOffset_00v10B10D
    1778,  // imageAtomicOr_01D20D00D
    1779,  // packDouble2x32_10E
    1780,  // clamp_10B00B00B
    1782,  // imageStore_01F20D30D
    1784,  // texelFetchOffset_00S20D00D20D
    1786,  // lessThan_10D10D
    1788,  // textureSize_00g00D
    1789,  // textureGatherOffset_00U20B10D00D
    1791,  // textureGatherOffset_00q10B10D00D
    1792,  // textureGather_00I10B00D
    1794,  // texture1DProjLod_00g30B00B
    1795,  // texelFetch_00V10D00D
    1798,  // imageAtomicExchange_01h00D00E
    1799,  // imageAtomicExchange_01h00D00D
    1800,  // atan_30B30B
    1802,  // imageAtomicExchange_01h00D00B
    1803,  // textureGatherOffsets_00R10B70D
    1804,  // imageAtomicMax_01a20D00E
    1805,  // textureProjLod_00g30B00B
    1806,  // max_00B00B
    1808,  // imageAtomicOr_01J20D00E
    1809,  // imageAtomicOr_01J20D00D
    1810,  // imageAtomicMax_01F20D00E
    1811,  // imageAtomicMax_01F20D00D
    1812,  // exp2_20B
    1814,  // smoothstep_30C30C30C
    1815,  // imageAtomicExchange_00z10D00B
    1816,  // imageAtomicExchange_00z10D00E
    1817,  // imageAtomicExchange_00z10D00D
    1818,  // textureGatherOffsets_00n10B00B70D
    1819,  // textureProjLod_00t10B00B
    1820,  // imageAtomicExchange_01K00D00E
    1821,  // imageAtomicExchange_01K00D00B
    1822,  // gl_MaxCombinedTextureImageUnits
    1824,  // textureSize_00k00D
    1825,  // reflect_20B20B
    1827,  // imageAtomicXor_01V20D00D00E
    1828,  // imageAtomicXor_01V20D00D00D
    1829,  // equal_10F10F
    1831,  // imageLoad_01f00D
    1832,  // acos_30B
    1834,  // dFdx_10B
    1837,  // bitfieldReverse_30E
    1839,  // bitfieldReverse_30D
    1841,  // texture1DProj_00g30B
    1842,  // fract_00C
    1843,  // fract_00B
    1845,  // min_30E00E
    1847,  // gl_MinProgramTexelOffset
    1849,  // interpolateAtOffset_20B10B
    1850,  // gl_MaxGeometryTotalOutputComponents
    1851,  // reflect_30B30B
    1853,  // textureGatherOffsets_00I10B70D00D
    1854,  // interpolateAtCentroid_30B
    1855,  // textureGather_00s30B
    1856,  // imageAtomicXor_01X10D00E
    1857,  // imageAtomicXor_01X10D00D
    1858,  // imageStore_01Z20D30B
    1859,  // texture1D_00g00B00B
    1860,  // pow_00B00B
    1862,  // mod_00B00B
    1864,  // faceforward_30C30C30C
    1865,  // roundEven_10B
    1867,  // roundEven_10C
    1868,  // atanh_30B
    1870,  // textureLod_00K20B00B
    1872,  // bitCount_20D
    1874,  // bitCount_20E
    1876,  // texelFetch_00L20D00D
    1878,  // dFdxFine_00B
    1879,  // distance_20B20B
    1881,  // textureGradOffset_00q10B10B10B10D
    1882,  // uaddCarry_30E30E30E
    1884,  // textureSize_00U00D
    1886,  // textureProjOffset_00o10B00D00B
    1887,  // gl_MaxCombinedImageUniforms
    1889,  // atomicCounterXor_00G00E
    1890,  // imageAtomicOr_01g00D00D
    1891,  // imageAtomicOr_01g00D00E
    1892,  // gl_GlobalInvocationID
    1894,  // gl_VertexID
    1896,  // imageAtomicMin_01L00D00E
    1897,  // smoothstep_20C20C20C
    1898,  // imageAtomicCompSwap_01U20D00D00D00D
    1899,  // atomicOr_00E00E
    1901,  // imageAtomicExchange_01T20D00D00B
    1902,  // mix_10B10B10F
    1904,  // reflect_10C10C
    1905,  // mix_10B10B10B
    1907,  // textureProj_00Y30B00B
    1909,  // imageAtomicMax_01I20D00D
    1910,  // imageAtomicMax_01I20D00E
    1911,  // frexp_20B20D
    1913,  // textureGatherOffset_00I10B10D00D
    1915,  // notEqual_20E20E
    1917,  // textureLodOffset_00d20B00B10D
    1919,  // inverse_A0B
    1921,  // textureProjGrad_00X20B10B10B
    1923,  // imageLoad_01J20D
    1925,  // textureSize_00Y00D
    1927,  // atan_20B20B
    1929,  // usubBorrow_00E00E00E
    1931,  // imageAtomicXor_01M00D00E
    1932,  // imageAtomicXor_01M00D00D
    1933,  // dFdyFine_30B
    1934,  // textureQueryLod_00s20B
    1935,  // imageAtomicAnd_01N10D00D
    1936,  // texture_00v10B
    1937,  // subpassLoad_01n00D
    1938,  // textureProjLodOffset_00g10B00B00D
    1939,  // step_10C10C
    1940,  // textureQueryLod_00x20B
    1941,  // fma_10B10B10B
    1942,  // smoothstep_00B00B10B
    1944,  // imageAtomicCompSwap_01a20D00D00D
    1945,  // imageSize_01N
    1946,  // textureLod_00u10B00B
    1947,  // textureProjGradOffset_00m30B00B00B00D
    1948,  // fwidthCoarse_00B
    1949,  // dFdyCoarse_20B
    1950,  // textureProjGradOffset_00o30B00B00B00D
    1951,  // textureProj_00g30B00B
    1952,  // bitfieldExtract_00E00D00D
    1954,  // imageStore_01I20D30D
    1956,  // distance_30C30C
    1957,  // any_20F
    1959,  // textureGatherOffsets_00L20B70D
    1960,  // gl_HelperInvocation
    1962,  // textureLod_00g00B00B
    1963,  // sin_10B
    1965,  // textureSize_00N00D
    1966,  // mod_20B20B
    1968,  // imageAtomicOr_01h00D00E
    1969,  // imageAtomicOr_01h00D00D
    1970,  // textureGrad_00k30B20B20B
    1971,  // textureProjOffset_00o10B00D
    1972,  // imageAtomicMin_01A10D00E
    1973,  // imageAtomicMin_01A10D00D
    1974,  // textureGradOffset_00f30B10B10B10D
    1976,  // max_20D20D
    1978,  // max_10D10D
    1980,  // imageAtomicCompSwap_01N10D00E00E
    1981,  // textureGradOffset_00t00B00B00B00D
    1982,  // refract_30B30B00B
    1984,  // floor_20C
    1985,  // floor_20B
    1987,  // texelFetchOffset_00t00D00D00D
    1988,  // imageAtomicOr_01a20D00E
    1989,  // matrixCompMult_F0BF0B
    1991,  // umulExtended_10E10E10E10E
    1993,  // texture_00d20B00B
    1995,  // imageAtomicAdd_01Z20D00D
    1996,  // imageAtomicAdd_01Z20D00E
    1997,  // umulExtended_30E30E30E30E
    1999,  // textureGatherOffsets_00q10B70D00D
    2000,  // textureGradOffset_00Y20B20B20B20D
    2002,  // textureGatherOffset_00a20B10D
    2004,  // textureGrad_00f30B10B10B
    2006,  // atomicCounterSubtract_00G00E
    2007,  // imageAtomicXor_01C20D00E
    2008,  // modf_20B20B
    2010,  // imageAtomicAnd_01Y10D00D
    2011,  // imageAtomicAnd_01Y10D00E
    2012,  // noise1_00B
    2013,  // imageLoad_01M00D
    2014,  // imageAtomicCompSwap_01L00D00E00E
    2015,  // length_30C
    2016,  // length_30B
    2018,  // mod_30B30B
    2020,  // mix_10C10C10F
    2021,  // imageAtomicMin_00z10D00E
    2022,  // imageAtomicMin_00z10D00D
    2023,  // exp2_30B
    2025,  // allInvocations_00F
    2026,  // max_20C00C
    2027,  // texture3DProj_00J30B00B
    2029,  // imageLoad_01Q10D00D
    2030,  // textureProjLod_00X30B00B
    2032,  // textureProjGradOffset_00I30B10B10B10D
    2034,  // cosh_30B
    2036,  // textureProj_00q30B
    2037,  // textureOffset_00S20B20D00B
    2039,  // usubBorrow_30E30E30E
    2041,  // textureProjOffset_00R20B10D00B
    2043,  // imageAtomicXor_01f00D00D
    2044,  // imageAtomicXor_01f00D00E
    2045,  // textureOffset_00t00B00D00B
    2046,  // textureOffset_00i20B00D00B
    2047,  // texture3DProj_00J30B
    2049,  // matrixCompMult_B0BB0B
    2050,  // lessThan_30B30B
    2052,  // cross_20B20B
    2054,  // imageSize_01O
    2055,  // textureGrad_00q10B10B10B
    2056,  // clamp_20B00B00B
    2058,  // dFdx_00B
    2061,  // findLSB_00D
    2063,  // textureProjLodOffset_00o30B00B00D
    2064,  // textureProj_00R20B00B
    2066,  // acos_20B
    2068,  // imageSize_01A
    2070,  // imageAtomicAnd_01B20D00D
    2071,  // max_20B20B
    2073,  // lessThan_20E20E
    2075,  // textureProjOffset_00g10B00D00B
    2076,  // equal_30F30F
    2078,  // sign_00C
    2079,  // cosh_00B
    2081,  // bitfieldExtract_00D00D00D
    2083,  // imageAtomicMin_01E20D00D
    2084,  // imageAtomicMin_01E20D00E
    2085,  // textureLod_00Z20B00B
    2087,  // sign_00D
    2089,  // textureOffset_00Y20B20D
    2091,  // transpose_60B
    2093,  // imageAtomicExchange_01L00D00E
    2094,  // imageAtomicAdd_01O10D00D
    2095,  // imageAtomicAdd_01O10D00E
    2096,  // faceforward_00B00B00B
    2098,  // gl_NumWorkGroups
    2100,  // imageAtomicOr_01O10D00E
    2101,  // imageAtomicOr_01O10D00D
    2102,  // imageAtomicAdd_01b20D00D
    2103,  // interpolateAtCentroid_20B
    2104,  // textureProjLodOffset_00R30B00B10D
    2106,  // textureGrad_00h10B00B00B
    2107,  // imageAtomicExchange_01U20D00D00B
    2108,  // texture1DProj_00g30B00B
    2109,  // textureQueryLod_00h00B
    2110,  // imageAtomicExchange_01U20D00D00E
    2111,  // modf_00C00C
    2112,  // textureProjLod_00t30B00B
    2113,  // textureOffset_00o00B00D
    2114,  // imageAtomicExchange_01U20D00D00D
    2115,  // textureGather_00U20B
    2117,  // imageStore_01H20D30B
    2119,  // texelFetch_00Q20D00D
    2121,  // roundEven_00C
    2122,  // roundEven_00B
    2124,  // texelFetchOffset_00O10D10D
    2125,  // atanh_20B
    2127,  // clamp_10E00E00E
    2129,  // dFdxFine_30B
    2130,  // imageAtomicAdd_01L00D00E
    2131,  // textureQueryLod_00J20B
    2132,  // textureProjOffset_00X30B10D
    2134,  // gl_MaxFragmentUniformVectors
    2136,  // texture2DProjLod_00I30B00B
    2138,  // interpolateAtOffset_10B10B
    2139,  // max_10C10C
    2140,  // texelFetch_00g00D00D
    2141,  // abs_30B
    2143,  // bitfieldInsert_10E10E00D00D
    2145,  // packSnorm4x8_30B
    2147,  // mix_10B10B00B
    2149,  // imageSize_01b
    2150,  // clamp_30D30D30D
    2152,  // textureQueryLod_00d10B
    2153,  // mod_10C00C
    2154,  // imageAtomicMax_01G20D00D
    2155,  // imageAtomicMax_01G20D00E
    2156,  // imageStore_01R10D00D30D
    2157,  // determinant_F0B
    2158,  // transpose_A0B
    2160,  // pow_20B20B
    2162,  // imageSize_01g
    2163,  // imageAtomicExchange_01G20D00B
    2164,  // imageSize_01e
    2165,  // imageAtomicExchange_01G20D00D
    2166,  // imageAtomicExchange_01G20D00E
    2167,  // imageLoad_01Y10D
    2168,  // imageAtomicMax_01g00D00D
    2169,  // imageAtomicMax_01g00D00E
    2170,  // textureProj_00v30B
    2171,  // textureProjGrad_00O20B10B10B
    2172,  // log2_20B
    2174,  // dot_30C30C
    2175,  // fwidthCoarse_10B
    2176,  // textureProjOffset_00I20B10D00B
    2178,  // textureGatherOffsets_00U20B70D00D
    2179,  // notEqual_10F10F
    2181,  // textureGatherOffsets_00O10B70D
    2182,  // smoothstep_00B00B00B
    2184,  // textureProjLodOffset_00d30B00B10D
    2186,  // imageAtomicAnd_01P10D00E
    2187,  // imageAtomicAnd_01P10D00D
    2188,  // textureProjLodOffset_00I30B00B10D
    2190,  // gl_MaxCombinedAtomicCounters
    2192,  // bitfieldInsert_10D10D00D00D
    2194,  // imageAtomicAdd_00y10D00E
    2195,  // imageAtomicAdd_00y10D00D
    2196,  // imageAtomicAnd_01Q10D00D00E
    2197,  // imageAtomicAnd_01Q10D00D00D
    2198,  // imageAtomicCompSwap_01L00D00D00D
    2199,  // textureGather_00k30B
    2200,  // texture_00J20B
    2202,  // lessThanEqual_10D10D
    2204,  // textureProjOffset_00o30B00D00B
    2205,  // gl_MaxVaryingVectors
    2207,  // textureSize_00d00D
    2209,  // sin_00B
    2211,  // imageLoad_01N10D
    2212,  // uaddCarry_10E10E10E
    2214,  // imageAtomicOr_01Z20D00E
    2215,  // imageAtomicOr_01Z20D00D
    2216,  // mix_10C10C00C
    2217,  // atomicCounterIncrement_00G
    2219,  // imageAtomicAdd_01J20D00D
    2220,  // imageAtomicAdd_01J20D00E
    2221,  // imageAtomicCompSwap_01S10D00D00D00D
    2222,  // imageAtomicMax_01W10D00E
    2223,  // textureProj_00o10B00B
    2224,  // imageAtomicAdd_01U20D00D00D
    2225,  // imageAtomicAdd_01U20D00D00E
    2226,  // textureProjOffset_00m30B00D
    2227,  // imageAtomicExchange_01Y10D00B
    2228,  // equal_10E10E
    2230,  // imageAtomicExchange_01Y10D00E
    2231,  // imageAtomicExchange_01Y10D00D
    2232,  // imageAtomicExchange_01O10D00B
    2233,  // imageAtomicExchange_01O10D00E
    2234,  // textureProjOffset_00J30B20D
    2236,  // imageAtomicXor_01D20D00D
    2237,  // imageAtomicXor_01D20D00E
    2238,  // notEqual_10E10E
    2240,  // min_10C10C
    2241,  // textureProjGrad_00t10B00B00B
    2242,  // textureGather_00q20B00D
    2243,  // imageAtomicAnd_01B20D00E
    2244,  // imageAtomicAdd_01S10D00D00E
    2245,  // imageAtomicCompSwap_01O10D00D00D
    2246,  // shadow1DProjLod_00m30B00B
    2247,  // imageAtomicMax_01f00D00E
    2248,  // imageAtomicMax_01f00D00D
    2249,  // texture_00u20B00B
    2250,  // textureLodOffset_00R10B00B10D
    2252,  // trunc_10B
    2254,  // trunc_10C
    2255,  // gl_MaxComputeAtomicCounters
    2257,  // texelFetch_00u10D00D
    2258,  // dot_20C20C
    2259,  // gl_DepthRangeParameters
    2261,  // textureGather_00f20B
    2262,  // textureGatherOffsets_00L20B70D00D
    2263,  // noise1_10B
    2264,  // textureProjGrad_00g30B00B00B
    2265,  // shadow2DProj_00d30B
    2266,  // textureProj_00d30B00B
    2268,  // sign_10B
    2270,  // max_00E00E
    2272,  // texture_00a20B00B
    2274,  // textureProj_00o10B
    2275,  // refract_20C20C00B
    2276,  // textureProj_00M20B00B
    2277,  // imageLoad_01A10D
    2279,  // textureProjOffset_00X30B10D00B
    2281,  // exp2_00B
    2283,  // imageAtomicExchange_01H20D00B
    2284,  // texelFetchOffset_00u10D00D00D
    2285,  // imageAtomicCompSwap_01H20D00E00E
    2286,  // imageAtomicExchange_01H20D00E
    2287,  // imageAtomicExchange_01H20D00D
    2288,  // textureGatherOffset_00q10B10D
    2289,  // textureGather_00a20B00D
    2291,  // imageStore_01Q10D00D30B
    2292,  // ldexp_00C00D
    2293,  // textureSize_00s00D
    2294,  // imageAtomicXor_01P10D00E
    2295,  // imageAtomicOr_01I20D00D
    2296,  // texture_00N10B00B
    2297,  // gl_PrimitiveID
    2299,  // imageAtomicOr_01X10D00D
    2300,  // imageAtomicCompSwap_01Y10D00D00D
    2301,  // imageAtomicOr_01X10D00E
    2302,  // textureProjGrad_00I30B10B10B
    2304,  // gl_Layer
    2306,  // textureOffset_00d20B10D
    2308,  // dFdx_30B
    2311,  // imageAtomicMin_01V20D00D00D
    2312,  // imageAtomicMin_01V20D00D00E
    2313,  // gl_LastFragColor
    2314,  // textureProjGradOffset_00t30B00B00B00D
    2315,  // min_20E20E
    2317,  // asin_20B
    2319,  // imageAtomicCompSwap_01U20D00D00E00E
    2320,  // texture_00l30B00B
    2321,  // texture1DProjLod_00g10B00B
    2322,  // fwidth_10B
    2325,  // dFdy_00B
    2328,  // shadow2DLod_00d20B00B
    2329,  // texture1DProj_00g10B
    2330,  // lessThan_30E30E
    2332,  // imulExtended_30D30D30D30D
    2334,  // transpose_70B
    2336,  // imulExtended_00D00D00D00D
    2338,  // textureGatherOffsets_00q10B70D
    2339,  // imageAtomicAdd_01F20D00D
    2340,  // imageAtomicAdd_01F20D00E
    2341,  // texture_00S20B00B
    2343,  // textureLod_00Y20B00B
    2345,  // faceforward_10C10C10C
    2346,  // textureQueryLod_00u00B
    2347,  // min_20D00D
    2349,  // imageAtomicCompSwap_01P10D00D00D
    2350,  // uintBitsToFloat_00E
    2352,  // dFdxFine_20B
    2353,  // imageAtomicMin_01L00D00D
    2354,  // imageAtomicExchange_01g00D00D
    2355,  // bitfieldInsert_20D20D00D00D
    2357,  // mix_30B30B00B
    2359,  // textureQueryLod_00U10B
    2360,  // imageAtomicAnd_01N10D00E
    2361,  // tanh_00B
    2363,  // imageStore_00y10D30B
    2365,  // max_10C00C
    2366,  // matrixCompMult_D0BD0B
    2367,  // textureGatherOffsets_00v10B70D00D
    2368,  // gl_MaxComputeUniformComponents
    2370,  // imageAtomicAnd_01X10D00E
    2371,  // shadow2DProjLod_00d30B00B
    2372,  // imageAtomicAnd_01X10D00D
    2373,  // min_30B30B
    2375,  // reflect_20C20C
    2376,  // texelFetch_00h10D00D
    2377,  // memoryBarrierAtomicCounter_
    2379,  // bitfieldInsert_00E00E00D00D
    2381,  // imageAtomicMin_01Z20D00E
    2382,  // imageAtomicMin_01Z20D00D
    2383,  // imageAtomicAdd_01b20D00E
    2384,  // imageAtomicMin_01a20D00E
    2385,  // textureGrad_00d20B10B10B
    2387,  // atan_10B
    2389,  // imageAtomicMax_01T20D00D00D
    2390,  // imageAtomicMax_01T20D00D00E
    2391,  // imageAtomicCompSwap_01g00D00D00D
    2392,  // clamp_30C30C30C
    2393,  // textureProj_00v20B
    2394,  // step_00B10B
    2396,  // textureProjLod_00I20B00B
    2398,  // rgb_2_yuv_20B00H
    2399,  // imageStore_01B20D30B
    2401,  // imageLoad_01P10D
    2402,  // texture_00T20B
    2404,  // log2_10B
    2406,  // imageAtomicAnd_01D20D00D
    2407,  // imageAtomicAnd_01D20D00E
    2408,  // findLSB_20E
    2410,  // findLSB_20D
    2412,  // imageAtomicMin_01f00D00E
    2413,  // imageAtomicMin_01f00D00D
    2414,  // noise2_30B
    2415,  // imageAtomicOr_01U20D00D00E
    2416,  // greaterThanEqual_10B10B
    2418,  // imageAtomicXor_01K00D00D
    2419,  // clamp_10D10D10D
    2421,  // texelFetch_00M10D00D
    2422,  // textureQueryLod_00Y20B
    2423,  // transpose_F0B
    2425,  // textureOffset_00Y20B20D00B
    2427,  // textureGradOffset_00S20B20B20B20D
    2429,  // imageAtomicOr_01U20D00D00D
    2430,  // clamp_30E30E30E
    2432,  // textureSize_00R00D
    2434,  // imageAtomicAdd_01f00D00D
    2435,  // acosh_10B
    2437,  // imageAtomicAdd_01f00D00E
    2438,  // imageLoad_01b20D
    2439,  // textureOffset_00L20B10D00B
    2441,  // mod_20B00B
    2443,  // imageLoad_01U20D00D
    2444,  // textureProjLod_00J30B00B
    2446,  // subpassLoad_01i
    2447,  // subpassLoad_01k
    2448,  // transpose_90B
    2450,  // mix_30C30C00C
    2451,  // atomicAnd_00E00E
    2453,  // max_20D00D
    2455,  // texelFetchOffset_00I10D00D10D
    2457,  // textureQueryLod_00L10B
    2458,  // atomicCounter_00G
    2460,  // textureGrad_00m20B00B00B
    2461,  // noise3_20B
    2462,  // bitfieldInsert_30D30D00D00D
    2464,  // min_10C00C
    2465,  // greaterThan_10D10D
    2467,  // bitfieldExtract_10E00D00D
    2469,  // textureGradOffset_00h10B00B00B00D
    2470,  // imageAtomicMax_01V20D00D00D
    2471,  // texture2D_00I10B00B
    2473,  // greaterThan_20D20D
    2475,  // noise1_20B
    2476,  // textureProjLodOffset_00t10B00B00D
    2477,  // textureProjOffset_00O20B10D
    2478,  // trunc_00B
    2480,  // length_10C
    2481,  // length_10B
    2483,  // imageLoad_01R10D00D
    2484,  // imageAtomicAdd_01H20D00D
    2485,  // imageAtomicAdd_01H20D00E
    2486,  // subpassLoad_01j
    2487,  // dot_00B00B
    2489,  // tan_30B
    2491,  // textureLod_00T20B00B
    2493,  // textureProjGrad_00R30B10B10B
    2495,  // exp2_10B
    2497,  // textureProjOffset_00X20B10D00B
    2499,  // textureProjGradOffset_00X30B10B10B10D
    2501,  // matrixCompMult_A0BA0B
    2503,  // textureGatherOffsets_00v10B70D
    2504,  // textureGrad_00S20B20B20B
    2506,  // round_30B
    2508,  // round_30C
    2509,  // anyInvocation_00F
    2510,  // textureGrad_00x30B20B20B
    2511,  // imageAtomicCompSwap_01D20D00E00E
    2512,  // textureProjLod_00o30B00B
    2513,  // smoothstep_00C00C10C
    2514,  // interpolateAtSample_00B00D
    2515,  // dFdx_20B
    2518,  // texture_00L20B
    2520,  // barrier_
    2522,  // imageAtomicAdd_01a20D00D
    2523,  // textureGather_00k30B00D
    2524,  // findMSB_20D
    2526,  // textureGatherOffset_00L20B10D
    2528,  // imageAtomicMin_01S10D00D00D
    2529,  // imageAtomicMin_01S10D00D00E
    2530,  // textureProjOffset_00S30B20D00B
    2532,  // imageAtomicAdd_01D20D00D
    2533,  // normalize_10C
    2534,  // unpackSnorm4x8_00E
    2536,  // imageLoad_01C20D
    2538,  // imageAtomicMax_01C20D00D
    2539,  // imageAtomicMax_01C20D00E
    2540,  // textureGather_00l30B00B
    2541,  // normalize_10B
    2543,  // asin_30B
    2545,  // isnan_20B
    2547,  // isnan_20C
    2548,  // fwidth_00B
    2551,  // dFdy_10B
    2554,  // imageAtomicAdd_01P10D00E
    2555,  // imageAtomicAdd_01P10D00D
    2556,  // max_30E00E
    2558,  // textureLod_00d20B00B
    2560,  // textureOffset_00q10B10D
    2561,  // gl_LastFragData
    2563,  // mod_10B00B
    2565,  // texture_00g00B00B
    2566,  // uintBitsToFloat_10E
    2568,  // textureProjOffset_00t30B00D
    2569,  // matrixCompMult_70B70B
    2570,  // imageAtomicAdd_01I20D00D
    2571,  // imageAtomicMax_01M00D00D
    2572,  // imageAtomicMax_01M00D00E
    2573,  // textureLod_00k30B00B
    2574,  // imageAtomicAdd_01E20D00D
    2575,  // textureLodOffset_00Y20B00B20D
    2577,  // refract_00C00C00B
    2578,  // log2_00B
    2580,  // tanh_10B
    2582,  // imageAtomicMin_01I20D00E
    2583,  // textureLod_00h10B00B
    2584,  // imageStore_01b20D30E
    2585,  // textureGather_00O20B00D
    2586,  // gl_LocalInvocationID
    2588,  // clamp_00B00B00B
    2590,  // textureGather_00d10B
    2591,  // gl_MaxGeometryAtomicCounterBuffers
    2592,  // textureOffset_00p10B00D00B
    2593,  // imageAtomicExchange_01f00D00B
    2594,  // clamp_10C10C10C
    2595,  // outerProduct_20B10B
    2597,  // textureProjOffset_00t10B00D
    2598,  // isinf_20C
    2599,  // textureGrad_00e30B20B20B
    2601,  // textureSize_00J00D
    2603,  // textureQueryLod_00Z20B
    2604,  // dot_10C10C
    2605,  // textureProjGrad_00n30B10B10B
    2606,  // imageAtomicMin_01U20D00D00E
    2607,  // imageAtomicMin_01U20D00D00D
    2608,  // texture2DProjLodEXT_00I30B00B
    2609,  // imageAtomicMax_01N10D00D
    2610,  // imageAtomicMax_01N10D00E
    2611,  // imageAtomicAnd_01b20D00D
    2612,  // step_00B00B
    2614,  // texture2DLodEXT_00I10B00B
    2615,  // texture_00K20B00B
    2617,  // textureProjGradOffset_00n30B10B10B10D
    2618,  // textureGrad_00J20B20B20B
    2620,  // imageAtomicCompSwap_01V20D00D00E00E
    2621,  // textureOffset_00U20B10D00B
    2623,  // intBitsToFloat_10D
    2625,  // min_20C20C
    2626,  // findLSB_10D
    2628,  // textureProjLodOffset_00Y30B00B20D
    2630,  // imageAtomicMax_01h00D00E
    2631,  // texture3D_00J20B
    2633,  // gl_SecondaryFragDataEXT
    2634,  // imageAtomicAdd_01X10D00E
    2635,  // faceforward_20C20C20C
    2636,  // imageAtomicAnd_01O10D00E
    2637,  // imageAtomicAdd_01X10D00D
    2638,  // textureGather_00n10B00B
    2639,  // textureGather_00X10B00D
    2641,  // imageAtomicMax_01L00D00E
    2642,  // imageAtomicMax_01L00D00D
    2643,  // imageAtomicXor_01G20D00E
    2644,  // imageAtomicXor_01G20D00D
    2645,  // textureOffset_00a20B10D
    2647,  // imageAtomicExchange_01X10D00B
    2648,  // min_30E30E
    2650,  // texture2DProj_00I30B00B
    2652,  // textureQueryLod_00X10B
    2653,  // imageAtomicAnd_01I20D00E
    2654,  // textureCubeGradEXT_00K20B20B20B
    2655,  // min_00B00B
    2657,  // textureGradOffset_00o00B00B00B00D
    2658,  // mix_30C30C30F
    2659,  // mix_30C30C30C
    2660,  // gl_WorkGroupID
    2662,  // degrees_00B
    2664,  // imageAtomicMax_01J20D00E
    2665,  // imageAtomicMax_01J20D00D
    2666,  // imageAtomicMin_01D20D00D
    2667,  // atomicExchange_00D00D
    2669,  // textureOffset_00m20B00D00B
    2670,  // gl_MaxGeometryAtomicCounters
    2671,  // textureOffset_00f30B10D
    2672,  // imageAtomicExchange_01a20D00D
    2673,  // imageAtomicExchange_01a20D00E
    2674,  // imageAtomicExchange_01a20D00B
    2675,  // matrixCompMult_60B60B
    2676,  // imageAtomicCompSwap_00z10D00D00D
    2677,  // textureProj_00t30B
    2678,  // textureProjGradOffset_00t10B00B00B00D
    2679,  // unpackSnorm2x16_00E
    2681,  // lessThan_30D30D
    2683,  // atan_00B00B
    2685,  // textureQueryLod_00S20B
    2686,  // notEqual_10B10B
    2688,  // imageLoad_01G20D
    2690,  // trunc_30B
    2692,  // trunc_30C
    2693,  // length_00B
    2695,  // length_00C
    2696,  // imageAtomicAnd_01H20D00D
    2697,  // imageAtomicAnd_01H20D00E
    2698,  // textureProj_00X30B00B
    2700,  // imageAtomicExchange_01O10D00D
    2701,  // imageAtomicCompSwap_01C20D00E00E
    2702,  // tan_00B
    2704,  // min_20E00E
    2706,  // textureLod_00x30B00B
    2707,  // textureSize_00j
    2708,  // textureSize_00n
    2709,  // imageAtomicXor_01F20D00D
    2710,  // textureSize_00c
    2712,  // textureSize_00b
    2715,  // min_20B20B
    2717,  // textureSize_00q
    2718,  // textureSize_00r
    2719,  // textureSize_00w
    2720,  // textureSize_00v
    2721,  // bitfieldInsert_20E20E00D00D
    2723,  // gl_MaxProgramTexelOffset
    2725,  // textureSize_00O
    2726,  // imageAtomicAnd_01a20D00E
    2727,  // imageAtomicMin_01g00D00D
    2728,  // trunc_00C
    2729,  // imageAtomicAnd_01a20D00D
    2730,  // textureSize_00Q
    2732,  // textureSize_00P
    2735,  // imageAtomicAdd_01M00D00E
    2736,  // imageAtomicAdd_01M00D00D
    2737,  // textureSize_00W
    2739,  // textureProjLod_00X20B00B
    2741,  // smoothstep_00C00C00C
    2742,  // atomicCounterAnd_00G00E
    2743,  // faceforward_30B30B30B
    2745,  // distance_20C20C
    2746,  // atomicCounterAdd_00G00E
    2747,  // imageStore_01O10D30D
    2748,  // texture_00X10B
    2750,  // ceil_00C
    2751,  // ceil_00B
    2753,  // distance_00B00B
    2755,  // texelFetch_00O10D
    2756,  // imageAtomicMin_01N10D00D
    2757,  // imageAtomicMin_01N10D00E
    2758,  // imageAtomicExchange_01C20D00D
    2759,  // imageAtomicExchange_01C20D00E
    2760,  // textureGrad_00s30B20B20B
    2761,  // textureGather_00I10B
    2763,  // imageAtomicExchange_01C20D00B
    2764,  // min_30D30D
    2766,  // findMSB_30E
    2768,  // findMSB_30D
    2770,  // textureGradOffset_00R10B10B10B10D
    2772,  // fwidth_30B
    2775,  // textureGrad_00K20B20B20B
    2777,  // texelFetch_00S20D00D
    2779,  // max_10B00B
    2781,  // textureProjGradOffset_00R30B10B10B10D
    2783,  // texelFetchOffset_00L20D00D10D
    2785,  // isnan_30C
    2786,  // transpose_50B
    2788,  // greaterThanEqual_20D20D
    2790,  // asinh_00B
    2792,  // gl_PrimitiveIDIn
    2793,  // textureGather_00Z20B
    2795,  // textureGrad_00p10B00B00B
    2796,  // textureProjOffset_00v30B10D
    2797,  // greaterThan_20B20B
    2799,  // min_20D20D
    2801,  // texelFetchOffset_00g00D00D00D
    2802,  // imageAtomicCompSwap_01g00D00E00E
    2803,  // imageAtomicCompSwap_01Q10D00D00E00E
    2804,  // imageAtomicXor_01O10D00D
    2805,  // imageAtomicXor_01O10D00E
    2806,  // tanh_20B
    2808,  // textureProj_00m30B00B
    2809,  // sin_20B
    2811,  // smoothstep_00C00C30C
    2812,  // textureSize_00l00D
    2813,  // textureLod_00o00B00B
    2814,  // imageAtomicMin_01K00D00D
    2815,  // imageAtomicMin_01K00D00E
    2816,  // textureOffset_00I10B10D00B
    2818,  // imageAtomicAnd_00z10D00D
    2819,  // imageAtomicAnd_00z10D00E
    2820,  // gl_MaxAtomicCounterBufferSize
    2822,  // textureOffset_00J20B20D00B
    2824,  // lessThanEqual_20E20E
    2826,  // gl_BaseVertex
    2827,  // textureOffset_00g00B00D
    2828,  // textureProj_00g30B
    2829,  // imageLoad_01Z20D
    2830,  // bitfieldInsert_30E30E00D00D
    2832,  // bitfieldExtract_20E00D00D
    2834,  // uintBitsToFloat_20E
    2836,  // unpackUnorm4x8_00E
    2838,  // mod_10B10B
    2840,  // gl_LocalInvocationIndex
    2842,  // imageAtomicAdd_01W10D00D
    2843,  // imageAtomicAdd_01W10D00E
    2844,  // gl_MaxVertexImageUniforms
    2846,  // equal_20D20D
    2848,  // gl_MaxCombinedAtomicCounterBuffers
    2850,  // mix_10E10E10F
    2851,  // textureGather_00R10B00D
    2853,  // textureSize_00Z00D
    2855,  // bitfieldExtract_30D00D00D
    2857,  // imageAtomicXor_01J20D00D
    2858,  // imageAtomicXor_01J20D00E
    2859,  // imageStore_01T20D00D30B
    2860,  // intBitsToFloat_00D
    2862,  // textureLodOffset_00m20B00B00D
    2863,  // findLSB_00E
    2865,  // texelFetch_00p10D00D
    2866,  // textureGather_00d10B00B
    2868,  // shadow2DProj_00d30B00B
    2869,  // inversesqrt_10B
    2871,  // inversesqrt_10C
    2872,  // abs_30D
    2874,  // transpose_D0B
    2876,  // abs_30C
    2877,  // textureProjGrad_00O30B10B10B
    2878,  // imageAtomicMax_01Z20D00D
    2879,  // Empty
    2879,  // imageLoad_01E20D
    2881,  // textureProj_00N20B00B
    2882,  // gl_FragData
    2884,  // dFdxCoarse_20B
    2885,  // clamp_20E00E00E
    2887,  // textureProj_00d30B
    2889,  // gl_MaxVertexOutputVectors
    2891,  // shadow1D_00m20B
    2892,  // textureOffset_00u10B00D
    2893,  // cosh_10B
    2895,  // sign_10C
    2896,  // imageAtomicAnd_01G20D00E
    2897,  // imageAtomicAnd_01G20D00D
    2898,  // sign_10D
    2900,  // umulExtended_00E00E00E00E
    2902,  // gl_MaxVertexAttribs
    2904,  // Empty
    2904,  // texture_00a20B
    2906,  // imageAtomicAdd_01T20D00D00E
    2907,  // imageAtomicAdd_01T20D00D00D
    2908,  // imageAtomicExchange_01g00D00B
    2909,  // ldexp_10B10D
    2911,  // textureProjOffset_00g30B00D
    2912,  // texture_00Z20B
    2914,  // degrees_10B
    2916,  // texture_00K20B
    2918,  // sinh_10B
    2920,  // texture_00m20B
    2921,  // imageAtomicXor_01C20D00D
    2922,  // not_30F
    2924,  // textureProjLodOffset_00I20B00B10D
    2926,  // textureGather_00K20B
    2928,  // textureGatherOffset_00R10B10D
    2930,  // memoryBarrierShared_
    2932,  // clamp_20B20B20B
    2934,  // texelFetch_00W20D00D
    2936,  // textureProjLod_00g10B00B
    2937,  // trunc_20C
    2938,  // trunc_20B
    2940,  // textureProjOffset_00I30B10D00B
    2942,  // max_00C00C
    2943,  // tan_10B
    2945,  // texture_00g00B
    2946,  // textureLodOffset_00L20B00B10D
    2948,  // textureLodOffset_00u10B00B00D
    2949,  // imageAtomicAnd_00y10D00E
    2950,  // imageAtomicAnd_00y10D00D
    2951,  // isinf_20B
    2953,  // dFdyCoarse_10B
    2954,  // textureGatherOffset_00X10B10D00D
    2956,  // min_10E10E
    2958,  // memoryBarrierImage_
    2960,  // round_10B
    2962,  // round_10C
    2963,  // textureProjLodOffset_00m30B00B00D
    2964,  // textureProjGradOffset_00g10B00B00B00D
    2965,  // textureProj_00R30B
    2967,  // shadow1DProj_00m30B
    2968,  // texture_00f30B00B
    2969,  // fma_00B00B00B
    2970,  // imageAtomicOr_01b20D00E
    2971,  // imageAtomicOr_01b20D00D
    2972,  // textureGatherOffset_00v10B10D00D
    2973,  // atomicMax_00E00E
    2975,  // imageAtomicMin_01B20D00E
    2976,  // imageAtomicMin_01B20D00D
    2977,  // textureQueryLod_00t00B
    2978,  // textureProjOffset_00R30B10D
    2980,  // textureProj_00X30B
    2982,  // findMSB_00D
    2984,  // findMSB_00E
    2986,  // mix_20B20B20B
    2988,  // imageAtomicCompSwap_01X10D00D00D
    2989,  // frexp_30C30D
    2990,  // mix_10C10C10C
    2991,  // min_30D00D
    2993,  // texture_00M10B00B
    2994,  // fwidth_20B
    2997,  // imageAtomicOr_01S10D00D00D
    2998,  // imageAtomicOr_01S10D00D00E
    2999,  // mod_30C00C
    3000,  // imageAtomicAdd_01A10D00D
    3001,  // imageAtomicAdd_01A10D00E
    3002,  // texture_00o00B00B
    3003,  // imageAtomicOr_01H20D00E
    3004,  // imageAtomicOr_01H20D00D
    3005,  // cos_20B
    3007,  // textureGather_00T20B
    3009,  // textureProjGradOffset_00J30B20B20B20D
    3011,  // asinh_10B
    3013,  // texelFetchOffset_00v10D10D
    3014,  // imageAtomicXor_01E20D00E
    3015,  // imageAtomicXor_01E20D00D
};

using Ext = TExtension;

// Flat array of all unmangled name identifiers.
constexpr UnmangledEntry unmangled[] = {
    {"all", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"textureProj", Ext::OES_EGL_image_external_essl3, Ext::UNDEFINED, 300, -1, Shader::ALL},
    {"unpackUnorm4x8", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"imageAtomicCompSwap", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"fwidth", Ext::UNDEFINED, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT},
    {"rgb_2_yuv", Ext::EXT_YUV_target, Ext::UNDEFINED, 300, -1, Shader::ALL},
    {"atomicCounterIncrement", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
    {"yuv_2_rgb", Ext::EXT_YUV_target, Ext::UNDEFINED, 300, -1, Shader::ALL},
    {"findLSB", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"shadow1DProjLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::VERTEX},
    {"textureCubeGradEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::ALL},
    {"memoryBarrierImage", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"packSnorm4x8", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"inverse", Ext::UNDEFINED, Ext::UNDEFINED, 300, 140, Shader::ALL},
    {"textureCubeLod", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::VERTEX},
    {"imageAtomicAdd", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"texture", Ext::OES_EGL_image_external_essl3, Ext::UNDEFINED, 300, -1, Shader::ALL},
    {"frexp", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"degrees", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"imulExtended", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"texture2DProjGradEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::ALL},
    {"atomicAnd", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"textureProjGradOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::ALL},
    {"roundEven", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"texture2DProjLodEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
    {"memoryBarrierAtomicCounter", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"dFdxFine", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::FRAGMENT},
    {"ceil", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"texture1D", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"atomicCounterXor", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"not", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"texture2DRectProj", Ext::ARB_texture_rectangle, Ext::UNDEFINED, 100, -1, Shader::ALL},
    {"mod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"floatBitsToInt", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
    {"radians", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"smoothstep", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"textureProjGrad", Ext::UNDEFINED, Ext::UNDEFINED, -1, 140, Shader::ALL},
    {"textureQueryLevels", Ext::UNDEFINED, Ext::UNDEFINED, -1, 430, Shader::ALL},
    {"lessThan", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"dFdy", Ext::UNDEFINED, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT},
    {"modf", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"unpackSnorm4x8", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"round", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"textureOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::FRAGMENT},
    {"clamp", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"unpackDouble2x32", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"atomicCounterOr", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"findMSB", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"texture2DRect", Ext::ARB_texture_rectangle, Ext::UNDEFINED, 100, -1, Shader::ALL},
    {"acosh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"interpolateAtOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::FRAGMENT},
    {"cosh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"imageAtomicXor", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"uaddCarry", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"imageAtomicOr", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"imageLoad", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"asin", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"isnan", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"atomicMax", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"bitfieldReverse", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"dFdx", Ext::UNDEFINED, Ext::UNDEFINED, 300, 0, Shader::FRAGMENT},
    {"memoryBarrierShared", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::COMPUTE},
    {"shadow2DProj", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"textureLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"faceforward", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"abs", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"allInvocations", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"max", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"subpassLoad", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"atomicCounterAnd", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"unpackSnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
    {"log2", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"textureGrad", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"barrier", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::COMPUTE},
    {"texture2DProj", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::FRAGMENT},
    {"atomicCounterDecrement", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
    {"lessThanEqual", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"transpose", Ext::UNDEFINED, Ext::UNDEFINED, 300, 120, Shader::ALL},
    {"step", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"sinh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"textureProjOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::FRAGMENT},
    {"trunc", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"cos", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"interpolateAtSample", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::FRAGMENT},
    {"EmitStreamVertex", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::GEOMETRY},
    {"shadow2DProjLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::VERTEX},
    {"equal", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"texture2DLodEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
    {"usubBorrow", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"texelFetchOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::ALL},
    {"length", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"textureSize", Ext::OES_EGL_image_external_essl3, Ext::UNDEFINED, 300, -1, Shader::ALL},
    {"acos", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"uintBitsToFloat", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
    {"packUnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 400, Shader::ALL},
    {"unpackHalf2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
    {"matrixCompMult", Ext::UNDEFINED, Ext::UNDEFINED, 300, -1, Shader::ALL},
    {"pow", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"atomicExchange", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"texture2DProjLod", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::VERTEX},
    {"ldexp", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"floatBitsToUint", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
    {"textureProjLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::ALL},
    {"textureCubeLodEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
    {"imageStore", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"textureGatherOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"textureProjLodOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::ALL},
    {"log", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"bitCount", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"dFdyFine", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::FRAGMENT},
    {"exp2", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"atomicCompSwap", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"imageSamples", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::ALL},
    {"fract", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"atomicCounterSubtract", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"EmitVertex", Ext::UNDEFINED, Ext::UNDEFINED, -1, 150, Shader::GEOMETRY},
    {"shadow1DLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::VERTEX},
    {"textureGatherOffsets", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"fma", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"EndStreamPrimitive", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::GEOMETRY},
    {"determinant", Ext::UNDEFINED, Ext::UNDEFINED, 300, -1, Shader::ALL},
    {"textureGather", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"texture3DLod", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
    {"greaterThanEqual", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"shadow1D", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"greaterThan", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"bitfieldInsert", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"texture3DProj", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
    {"packUnorm4x8", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"sign", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"inversesqrt", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"noise1", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"distance", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"dFdxCoarse", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::FRAGMENT},
    {"noise2", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"tanh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"texture2DGradEXT", Ext::EXT_shader_texture_lod, Ext::UNDEFINED, 100, -1, Shader::ALL},
    {"memoryBarrier", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
    {"texture1DProjLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::VERTEX},
    {"fwidthCoarse", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::FRAGMENT},
    {"atomicCounterMax", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"atomicCounterMin", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"atomicCounter", Ext::UNDEFINED, Ext::UNDEFINED, 310, 420, Shader::ALL},
    {"intBitsToFloat", Ext::UNDEFINED, Ext::UNDEFINED, 300, 330, Shader::ALL},
    {"bitfieldExtract", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"texture3DProjLod", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
    {"atomicAdd", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"asinh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"texture2D", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::FRAGMENT},
    {"memoryBarrierBuffer", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"tan", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"any", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"atomicXor", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"normalize", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"shadow1DProj", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"imageAtomicAnd", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"dFdyCoarse", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::FRAGMENT},
    {"floor", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"textureLodOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::ALL},
    {"fwidthFine", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::FRAGMENT},
    {"atanh", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"textureSamples", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::ALL},
    {"cross", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"sqrt", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"atomicCounterCompSwap", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"mix", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::ALL},
    {"ftransform", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::VERTEX},
    {"atomicCounterAdd", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"sin", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"shadow2D", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"anyInvocation", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"shadow2DLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::VERTEX},
    {"imageAtomicMin", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"allInvocationsEqual", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"textureGradOffset", Ext::UNDEFINED, Ext::UNDEFINED, -1, 130, Shader::ALL},
    {"atan", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"unpackUnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 400, Shader::ALL},
    {"textureQueryLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::FRAGMENT},
    {"imageAtomicMax", Ext::UNDEFINED, Ext::UNDEFINED, -1, 420, Shader::ALL},
    {"texture1DProj", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"interpolateAtCentroid", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::FRAGMENT},
    {"reflect", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"isinf", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"texture3D", Ext::OES_texture_3D, Ext::UNDEFINED, 100, -1, Shader::FRAGMENT},
    {"umulExtended", Ext::UNDEFINED, Ext::UNDEFINED, 310, 400, Shader::ALL},
    {"atomicOr", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"texelFetch", Ext::OES_EGL_image_external_essl3, Ext::UNDEFINED, 300, -1, Shader::ALL},
    {"EndPrimitive", Ext::UNDEFINED, Ext::UNDEFINED, -1, 150, Shader::GEOMETRY},
    {"atomicCounterExchange", Ext::UNDEFINED, Ext::UNDEFINED, -1, 460, Shader::ALL},
    {"noise4", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"notEqual", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"outerProduct", Ext::UNDEFINED, Ext::UNDEFINED, 300, 120, Shader::ALL},
    {"packDouble2x32", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"imageSize", Ext::UNDEFINED, Ext::UNDEFINED, -1, 430, Shader::ALL},
    {"refract", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL},
    {"noise3", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::ALL},
    {"min", Ext::UNDEFINED, Ext::UNDEFINED, 300, 130, Shader::ALL},
    {"textureCube", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::ALL},
    {"packSnorm2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
    {"texture1DLod", Ext::UNDEFINED, Ext::UNDEFINED, -1, 0, Shader::VERTEX},
    {"exp", Ext::UNDEFINED, Ext::UNDEFINED, 0, 0, Shader::ALL},
    {"groupMemoryBarrier", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::COMPUTE},
    {"atomicMin", Ext::UNDEFINED, Ext::UNDEFINED, 310, 430, Shader::ALL},
    {"imageAtomicExchange", Ext::UNDEFINED, Ext::UNDEFINED, -1, 450, Shader::ALL},
    {"packHalf2x16", Ext::UNDEFINED, Ext::UNDEFINED, 300, 420, Shader::ALL},
    {"texture2DLod", Ext::UNDEFINED, Ext::UNDEFINED, 100, 0, Shader::VERTEX},
    {"dot", Ext::UNDEFINED, Ext::UNDEFINED, -1, 400, Shader::ALL}};
}

void TSymbolTable::initializeBuiltInVariables(sh::GLenum shaderType,
                                              ShShaderSpec spec,
                                              const ShBuiltInResources &resources)
{
    const TSourceLoc zeroSourceLoc             = {0, 0, 0, 0};
    TFieldList *fields_gl_DepthRangeParameters = new TFieldList();
    fields_gl_DepthRangeParameters->push_back(
        new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::near, zeroSourceLoc,
                   SymbolType::BuiltIn));
    fields_gl_DepthRangeParameters->push_back(
        new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::far, zeroSourceLoc,
                   SymbolType::BuiltIn));
    fields_gl_DepthRangeParameters->push_back(
        new TField(new TType(EbtFloat, EbpHigh, EvqGlobal, 1, 1), BuiltInName::diff, zeroSourceLoc,
                   SymbolType::BuiltIn));
    TStructure *gl_DepthRangeParameters =
        new TStructure(BuiltInId::gl_DepthRangeParameters, BuiltInName::gl_DepthRangeParameters,
                       TExtension::UNDEFINED, fields_gl_DepthRangeParameters);
    m_gl_DepthRangeParameters = gl_DepthRangeParameters;
    TType *type_gl_DepthRange = new TType(gl_DepthRangeParameters, false);
    type_gl_DepthRange->setQualifier(EvqUniform);
    type_gl_DepthRange->realize();
    m_gl_DepthRange       = new TVariable(BuiltInId::gl_DepthRange, BuiltInName::gl_DepthRange,
                                    SymbolType::BuiltIn, TExtension::UNDEFINED, type_gl_DepthRange);
    m_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);
        static_cast<TVariable *>(m_gl_MaxVertexAttribs)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxVertexUniformVectors)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxVertexTextureImageUnits)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxCombinedTextureImageUnits)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxTextureImageUnits)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxFragmentUniformVectors)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxVaryingVectors)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxDrawBuffers)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxDualSourceDrawBuffersEXT)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxVertexOutputVectors)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxFragmentInputVectors)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MinProgramTexelOffset)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxProgramTexelOffset)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxImageUnits)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxVertexImageUniforms)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxFragmentImageUniforms)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxComputeImageUniforms)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxCombinedImageUniforms)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxCombinedShaderOutputResources)
            ->shareConstPointer(unionArray);
    }
    m_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]);
        }
        static_cast<TVariable *>(m_gl_MaxComputeWorkGroupCount)->shareConstPointer(unionArray);
    }
    m_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]);
        }
        static_cast<TVariable *>(m_gl_MaxComputeWorkGroupSize)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxComputeUniformComponents)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxComputeTextureImageUnits)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxComputeAtomicCounters)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxComputeAtomicCounterBuffers)
            ->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxVertexAtomicCounters)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxFragmentAtomicCounters)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxCombinedAtomicCounters)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxAtomicCounterBindings)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxVertexAtomicCounterBuffers)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxFragmentAtomicCounterBuffers)
            ->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxCombinedAtomicCounterBuffers)
            ->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxAtomicCounterBufferSize)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryInputComponents)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryOutputComponents)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryImageUniforms)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryTextureImageUnits)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryOutputVertices)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryTotalOutputComponents)
            ->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryUniformComponents)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryAtomicCounters)->shareConstPointer(unionArray);
    }
    m_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);
        static_cast<TVariable *>(m_gl_MaxGeometryAtomicCounterBuffers)
            ->shareConstPointer(unionArray);
    }
    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();
    m_gl_FragData = new TVariable(BuiltInId::gl_FragData, BuiltInName::gl_FragData,
                                  SymbolType::BuiltIn, TExtension::UNDEFINED, type_gl_FragData);
    TType *type_gl_SecondaryFragDataEXT =
        new TType(EbtFloat, EbpMedium, EvqSecondaryFragDataEXT, 4, 1);
    type_gl_SecondaryFragDataEXT->makeArray(resources.MaxDualSourceDrawBuffers);
    type_gl_SecondaryFragDataEXT->realize();
    m_gl_SecondaryFragDataEXT = new TVariable(
        BuiltInId::gl_SecondaryFragDataEXT, BuiltInName::gl_SecondaryFragDataEXT,
        SymbolType::BuiltIn, TExtension::EXT_blend_func_extended, type_gl_SecondaryFragDataEXT);
    TType *type_gl_FragDepthEXT = new TType(
        EbtFloat, resources.FragmentPrecisionHigh ? EbpHigh : EbpMedium, EvqFragDepthEXT, 1);
    type_gl_FragDepthEXT->realize();
    m_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();
    m_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();
    m_gl_LastFragDataNV = new TVariable(
        BuiltInId::gl_LastFragDataNV, BuiltInName::gl_LastFragData, SymbolType::BuiltIn,
        TExtension::NV_shader_framebuffer_fetch, type_gl_LastFragDataNV);
    TFieldList *fields_gl_PerVertex = new TFieldList();
    fields_gl_PerVertex->push_back(new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1),
                                              BuiltInName::gl_Position, zeroSourceLoc,
                                              SymbolType::BuiltIn));
    TInterfaceBlock *gl_PerVertex =
        new TInterfaceBlock(BuiltInId::gl_PerVertex, BuiltInName::gl_PerVertex,
                            TExtension::EXT_geometry_shader, fields_gl_PerVertex);
    m_gl_PerVertex    = gl_PerVertex;
    TType *type_gl_in = new TType(gl_PerVertex, EvqPerVertexIn, TLayoutQualifier::Create());
    type_gl_in->makeArray(0u);
    type_gl_in->realize();
    m_gl_in = new TVariable(BuiltInId::gl_in, BuiltInName::gl_in, SymbolType::BuiltIn,
                            TExtension::EXT_geometry_shader, type_gl_in);
    TFieldList *fields_gl_PerVertexOutBlock = new TFieldList();
    fields_gl_PerVertexOutBlock->push_back(
        new TField(new TType(EbtFloat, EbpHigh, EvqPosition, 4, 1), BuiltInName::gl_Position,
                   zeroSourceLoc, SymbolType::BuiltIn));
    TInterfaceBlock *gl_PerVertexOutBlock =
        new TInterfaceBlock(BuiltInId::gl_PerVertexOutBlock, BuiltInName::gl_PerVertex,
                            TExtension::EXT_geometry_shader, fields_gl_PerVertexOutBlock);
    TType *type_gl_PositionGS = new TType(EbtFloat, EbpHigh, EvqPosition, 4);
    type_gl_PositionGS->setInterfaceBlock(gl_PerVertexOutBlock);
    type_gl_PositionGS->realize();
    m_gl_PositionGS =
        new TVariable(BuiltInId::gl_PositionGS, BuiltInName::gl_Position, SymbolType::BuiltIn,
                      TExtension::EXT_geometry_shader, type_gl_PositionGS);
}

namespace
{
uint16_t GetNextRuleIndex(uint32_t nameHash)
{
    if (nameHash == 2136 - 1)
        return ArraySize(BuiltInArray::kRules);
    return BuiltInArray::kMangledOffsets[nameHash + 1];
}
}  // namespace

const TSymbol *TSymbolTable::findBuiltIn(const ImmutableString &name, int shaderVersion) const
{
    if (name.length() > 37)
        return nullptr;

    uint32_t nameHash = name.mangledNameHash();
    if (nameHash >= 2136)
        return nullptr;

    const char *actualName = BuiltInArray::kMangledNames[nameHash];
    if (name != actualName)
        return nullptr;

    uint16_t startIndex = BuiltInArray::kMangledOffsets[nameHash];
    uint16_t nextIndex  = GetNextRuleIndex(nameHash);

    return FindMangledBuiltIn(mShaderSpec, shaderVersion, mShaderType, mResources, *this,
                              BuiltInArray::kRules, startIndex, nextIndex);
}

bool TSymbolTable::isUnmangledBuiltInName(const ImmutableString &name,
                                          int shaderVersion,
                                          const TExtensionBehavior &extensions) const
{
    if (name.length() > 26)
        return false;

    uint32_t nameHash = name.unmangledNameHash();
    if (nameHash >= 207)
        return false;

    return BuiltInArray::unmangled[nameHash].matches(name, mShaderSpec, shaderVersion, mShaderType,
                                                     extensions);
}

}  // namespace sh
