// Copyright 2026 The Dawn & Tint Authors
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice, this
//    list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice,
//    this list of conditions and the following disclaimer in the documentation
//    and/or other materials provided with the distribution.
//
// 3. Neither the name of the copyright holder nor the names of its
//    contributors may be used to endorse or promote products derived from
//    this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

////////////////////////////////////////////////////////////////////////////////
// File generated by 'tools/src/cmd/gen' using the template:
//   src/tint/lang/wgsl/intrinsic/data.cc.tmpl
//
// To regenerate run: './tools/run gen'
//
//                       Do not modify this file directly
////////////////////////////////////////////////////////////////////////////////

// clang-format off

#include <limits>
#include <string>

#include "src/tint/lang/core/intrinsic/type_matchers.h"
#include "src/tint/lang/core/type/abstract_float.h"
#include "src/tint/lang/core/type/abstract_int.h"
#include "src/tint/lang/core/type/abstract_numeric.h"
#include "src/tint/lang/wgsl/intrinsic/dialect.h"
#include "src/tint/lang/wgsl/intrinsic/type_matchers.h"
#include "src/tint/utils/text/string_stream.h"

namespace tint::wgsl::intrinsic {

using namespace tint::core::intrinsic;  // NOLINT(build/namespaces)

inline const core::type::AbstractFloat* BuildFa(intrinsic::MatchState& state, const core::type::Type*) {
    return state.types.AFloat();
}

inline bool MatchFa(intrinsic::MatchState& state, const core::type::Type* ty) {
    return (state.earliest_eval_stage <= core::EvaluationStage::kConstant) &&
           ty->IsAnyOf<intrinsic::Any, core::type::AbstractNumeric>();
}

inline const core::type::AbstractInt* BuildIa(intrinsic::MatchState& state, const core::type::Type*) {
    return state.types.AInt();
}

inline bool MatchIa(intrinsic::MatchState& state, const core::type::Type* ty) {
    return (state.earliest_eval_stage <= core::EvaluationStage::kConstant) &&
           ty->IsAnyOf<intrinsic::Any, core::type::AbstractInt>();
}

namespace {

using ConstEvalFunctionIndex = tint::core::intrinsic::ConstEvalFunctionIndex;
using IntrinsicInfo = tint::core::intrinsic::IntrinsicInfo;
using MatcherIndicesIndex = tint::core::intrinsic::MatcherIndicesIndex;
using MatchState = tint::core::intrinsic::MatchState;
using Number = tint::core::intrinsic::Number;
using NumberMatcher = tint::core::intrinsic::NumberMatcher;
using NumberMatcherIndex = tint::core::intrinsic::NumberMatcherIndex;
using OverloadFlag = tint::core::intrinsic::OverloadFlag;
using OverloadFlags = tint::core::intrinsic::OverloadFlags;
using OverloadIndex = tint::core::intrinsic::OverloadIndex;
using OverloadInfo = tint::core::intrinsic::OverloadInfo;
using ParameterIndex = tint::core::intrinsic::ParameterIndex;
using ParameterInfo = tint::core::intrinsic::ParameterInfo;
using StringStream = tint::StringStream;
using TemplateIndex = tint::core::intrinsic::TemplateIndex;
using Type = tint::core::type::Type;
using TypeMatcher = tint::core::intrinsic::TypeMatcher;
using TypeMatcherIndex = tint::core::intrinsic::TypeMatcherIndex;

template<size_t N>
using TemplateNumberMatcher = tint::core::intrinsic::TemplateNumberMatcher<N>;

template<size_t N>
using TemplateTypeMatcher = tint::core::intrinsic::TemplateTypeMatcher<N>;

/// TypeMatcher for 'type bool'
constexpr TypeMatcher kBoolMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchBool(state, ty)) {
      return nullptr;
    }
    return BuildBool(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("bool");
  }
};


/// TypeMatcher for 'type i8'
constexpr TypeMatcher kI8Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchI8(state, ty)) {
      return nullptr;
    }
    return BuildI8(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("i8");
  }
};


/// TypeMatcher for 'type u8'
constexpr TypeMatcher kU8Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchU8(state, ty)) {
      return nullptr;
    }
    return BuildU8(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("u8");
  }
};


/// TypeMatcher for 'type ia'
constexpr TypeMatcher kIaMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchIa(state, ty)) {
      return nullptr;
    }
    return BuildIa(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("abstract-int");
  }
};


/// TypeMatcher for 'type fa'
constexpr TypeMatcher kFaMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchFa(state, ty)) {
      return nullptr;
    }
    return BuildFa(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("abstract-float");
  }
};


/// TypeMatcher for 'type i32'
constexpr TypeMatcher kI32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchI32(state, ty)) {
      return nullptr;
    }
    return BuildI32(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("i32");
  }
};


/// TypeMatcher for 'type u32'
constexpr TypeMatcher kU32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchU32(state, ty)) {
      return nullptr;
    }
    return BuildU32(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("u32");
  }
};


/// TypeMatcher for 'type f32'
constexpr TypeMatcher kF32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchF32(state, ty)) {
      return nullptr;
    }
    return BuildF32(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("f32");
  }
};


/// TypeMatcher for 'type f16'
constexpr TypeMatcher kF16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchF16(state, ty)) {
      return nullptr;
    }
    return BuildF16(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("f16");
  }
};


/// TypeMatcher for 'type vec2'
constexpr TypeMatcher kVec2Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchVec2(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildVec2(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("vec2", "<", T, ">");
  }
};


/// TypeMatcher for 'type vec3'
constexpr TypeMatcher kVec3Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchVec3(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildVec3(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("vec3", "<", T, ">");
  }
};


/// TypeMatcher for 'type vec4'
constexpr TypeMatcher kVec4Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchVec4(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildVec4(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("vec4", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat2x2'
constexpr TypeMatcher kMat2X2Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat2X2(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat2X2(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat2x2", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat2x3'
constexpr TypeMatcher kMat2X3Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat2X3(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat2X3(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat2x3", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat2x4'
constexpr TypeMatcher kMat2X4Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat2X4(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat2X4(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat2x4", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat3x2'
constexpr TypeMatcher kMat3X2Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat3X2(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat3X2(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat3x2", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat3x3'
constexpr TypeMatcher kMat3X3Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat3X3(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat3X3(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat3x3", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat3x4'
constexpr TypeMatcher kMat3X4Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat3X4(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat3X4(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat3x4", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat4x2'
constexpr TypeMatcher kMat4X2Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat4X2(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat4X2(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat4x2", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat4x3'
constexpr TypeMatcher kMat4X3Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat4X3(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat4X3(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat4x3", "<", T, ">");
  }
};


/// TypeMatcher for 'type mat4x4'
constexpr TypeMatcher kMat4X4Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchMat4X4(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat4X4(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("mat4x4", "<", T, ">");
  }
};


/// TypeMatcher for 'type vec'
constexpr TypeMatcher kVecMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number N = Number::invalid;
  const Type* T = nullptr;
    if (!MatchVec(state, ty, N, T)) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildVec(state, ty, N, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText N;
  state->PrintNum(N);StyledText T;
  state->PrintType(T);
    out << style::Type("vec", N, "<", T, ">");
  }
};


/// TypeMatcher for 'type mat'
constexpr TypeMatcher kMatMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number N = Number::invalid;
  Number M = Number::invalid;
  const Type* T = nullptr;
    if (!MatchMat(state, ty, N, M, T)) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    M = state.Num(M);
    if (!M.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildMat(state, ty, N, M, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText N;
  state->PrintNum(N);StyledText M;
  state->PrintNum(M);StyledText T;
  state->PrintType(T);
    out << style::Type("mat", N, "x", M, "<", T, ">");
  }
};


/// TypeMatcher for 'type ptr'
constexpr TypeMatcher kPtrMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number S = Number::invalid;
  const Type* T = nullptr;
  Number A = Number::invalid;
    if (!MatchPtr(state, ty, S, T, A)) {
      return nullptr;
    }
    S = state.Num(S);
    if (!S.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildPtr(state, ty, S, T, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText S;
  state->PrintNum(S);StyledText T;
  state->PrintType(T);StyledText A;
  state->PrintNum(A);
    out << style::Type("ptr", "<", S, ", ", T, ", ", A, ">");
  }
};


/// TypeMatcher for 'type ref'
constexpr TypeMatcher kRefMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number S = Number::invalid;
  const Type* T = nullptr;
  Number A = Number::invalid;
    if (!MatchRef(state, ty, S, T, A)) {
      return nullptr;
    }
    S = state.Num(S);
    if (!S.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildRef(state, ty, S, T, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText S;
  state->PrintNum(S);StyledText T;
  state->PrintType(T);StyledText A;
  state->PrintNum(A);
    out << style::Type("ref", "<", S, ", ", T, ", ", A, ">");
  }
};


/// TypeMatcher for 'type atomic'
constexpr TypeMatcher kAtomicMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchAtomic(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildAtomic(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("atomic", "<", T, ">");
  }
};


/// TypeMatcher for 'type runtime_array'
constexpr TypeMatcher kRuntimeArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchRuntimeArray(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildRuntimeArray(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("array<", T, ">");
  }
};


/// TypeMatcher for 'type array'
constexpr TypeMatcher kArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
  Number N = Number::invalid;
    if (!MatchArray(state, ty, T, N)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    return BuildArray(state, ty, T, N);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);StyledText N;
  state->PrintNum(N);
    out << style::Type("array", "<", T, ", ", N, ">");
  }
};


/// TypeMatcher for 'type binding_array'
constexpr TypeMatcher kBindingArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
  Number N = Number::invalid;
    if (!MatchBindingArray(state, ty, T, N)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    return BuildBindingArray(state, ty, T, N);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);StyledText N;
  state->PrintNum(N);
    out << style::Type("binding_array", "<", T, ", ", N, ">");
  }
};


/// TypeMatcher for 'type sampler'
constexpr TypeMatcher kSamplerMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchSampler(state, ty)) {
      return nullptr;
    }
    return BuildSampler(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("sampler");
  }
};


/// TypeMatcher for 'type sampler_comparison'
constexpr TypeMatcher kSamplerComparisonMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchSamplerComparison(state, ty)) {
      return nullptr;
    }
    return BuildSamplerComparison(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("sampler_comparison");
  }
};


/// TypeMatcher for 'type texture_1d'
constexpr TypeMatcher kTexture1DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchTexture1D(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildTexture1D(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("texture_1d", "<", T, ">");
  }
};


/// TypeMatcher for 'type texture_2d'
constexpr TypeMatcher kTexture2DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchTexture2D(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildTexture2D(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("texture_2d", "<", T, ">");
  }
};


/// TypeMatcher for 'type texture_2d_array'
constexpr TypeMatcher kTexture2DArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchTexture2DArray(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildTexture2DArray(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("texture_2d_array", "<", T, ">");
  }
};


/// TypeMatcher for 'type texture_3d'
constexpr TypeMatcher kTexture3DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchTexture3D(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildTexture3D(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("texture_3d", "<", T, ">");
  }
};


/// TypeMatcher for 'type texture_cube'
constexpr TypeMatcher kTextureCubeMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchTextureCube(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildTextureCube(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("texture_cube", "<", T, ">");
  }
};


/// TypeMatcher for 'type texture_cube_array'
constexpr TypeMatcher kTextureCubeArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchTextureCubeArray(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildTextureCubeArray(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("texture_cube_array", "<", T, ">");
  }
};


/// TypeMatcher for 'type texture_multisampled_2d'
constexpr TypeMatcher kTextureMultisampled2DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchTextureMultisampled2D(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildTextureMultisampled2D(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("texture_multisampled_2d", "<", T, ">");
  }
};


/// TypeMatcher for 'type texture_depth_2d'
constexpr TypeMatcher kTextureDepth2DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchTextureDepth2D(state, ty)) {
      return nullptr;
    }
    return BuildTextureDepth2D(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("texture_depth_2d");
  }
};


/// TypeMatcher for 'type texture_depth_2d_array'
constexpr TypeMatcher kTextureDepth2DArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchTextureDepth2DArray(state, ty)) {
      return nullptr;
    }
    return BuildTextureDepth2DArray(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("texture_depth_2d_array");
  }
};


/// TypeMatcher for 'type texture_depth_cube'
constexpr TypeMatcher kTextureDepthCubeMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchTextureDepthCube(state, ty)) {
      return nullptr;
    }
    return BuildTextureDepthCube(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("texture_depth_cube");
  }
};


/// TypeMatcher for 'type texture_depth_cube_array'
constexpr TypeMatcher kTextureDepthCubeArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchTextureDepthCubeArray(state, ty)) {
      return nullptr;
    }
    return BuildTextureDepthCubeArray(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("texture_depth_cube_array");
  }
};


/// TypeMatcher for 'type texture_depth_multisampled_2d'
constexpr TypeMatcher kTextureDepthMultisampled2DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchTextureDepthMultisampled2D(state, ty)) {
      return nullptr;
    }
    return BuildTextureDepthMultisampled2D(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("texture_depth_multisampled_2d");
  }
};


/// TypeMatcher for 'type texture_storage_1d'
constexpr TypeMatcher kTextureStorage1DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number F = Number::invalid;
  Number A = Number::invalid;
    if (!MatchTextureStorage1D(state, ty, F, A)) {
      return nullptr;
    }
    F = state.Num(F);
    if (!F.IsValid()) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildTextureStorage1D(state, ty, F, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F;
  state->PrintNum(F);StyledText A;
  state->PrintNum(A);
    out << style::Type("texture_storage_1d", "<", F, ", ", A, ">");
  }
};


/// TypeMatcher for 'type texture_storage_2d'
constexpr TypeMatcher kTextureStorage2DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number F = Number::invalid;
  Number A = Number::invalid;
    if (!MatchTextureStorage2D(state, ty, F, A)) {
      return nullptr;
    }
    F = state.Num(F);
    if (!F.IsValid()) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildTextureStorage2D(state, ty, F, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F;
  state->PrintNum(F);StyledText A;
  state->PrintNum(A);
    out << style::Type("texture_storage_2d", "<", F, ", ", A, ">");
  }
};


/// TypeMatcher for 'type texture_storage_2d_array'
constexpr TypeMatcher kTextureStorage2DArrayMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number F = Number::invalid;
  Number A = Number::invalid;
    if (!MatchTextureStorage2DArray(state, ty, F, A)) {
      return nullptr;
    }
    F = state.Num(F);
    if (!F.IsValid()) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildTextureStorage2DArray(state, ty, F, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F;
  state->PrintNum(F);StyledText A;
  state->PrintNum(A);
    out << style::Type("texture_storage_2d_array", "<", F, ", ", A, ">");
  }
};


/// TypeMatcher for 'type texture_storage_3d'
constexpr TypeMatcher kTextureStorage3DMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number F = Number::invalid;
  Number A = Number::invalid;
    if (!MatchTextureStorage3D(state, ty, F, A)) {
      return nullptr;
    }
    F = state.Num(F);
    if (!F.IsValid()) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildTextureStorage3D(state, ty, F, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F;
  state->PrintNum(F);StyledText A;
  state->PrintNum(A);
    out << style::Type("texture_storage_3d", "<", F, ", ", A, ">");
  }
};


/// TypeMatcher for 'type texture_external'
constexpr TypeMatcher kTextureExternalMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchTextureExternal(state, ty)) {
      return nullptr;
    }
    return BuildTextureExternal(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("texture_external");
  }
};


/// TypeMatcher for 'type texel_buffer'
constexpr TypeMatcher kTexelBufferMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number F = Number::invalid;
  Number A = Number::invalid;
    if (!MatchTexelBuffer(state, ty, F, A)) {
      return nullptr;
    }
    F = state.Num(F);
    if (!F.IsValid()) {
      return nullptr;
    }
    A = state.Num(A);
    if (!A.IsValid()) {
      return nullptr;
    }
    return BuildTexelBuffer(state, ty, F, A);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F;
  state->PrintNum(F);StyledText A;
  state->PrintNum(A);
    out << style::Type("texel_buffer", "<", F, ", ", A, ">");
  }
};


/// TypeMatcher for 'type input_attachment'
constexpr TypeMatcher kInputAttachmentMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchInputAttachment(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildInputAttachment(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("input_attachment", "<", T, ">");
  }
};


/// TypeMatcher for 'type __modf_result'
constexpr TypeMatcher kModfResultMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchModfResult(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildModfResult(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("__modf_result_", T);
  }
};


/// TypeMatcher for 'type __modf_result_vec'
constexpr TypeMatcher kModfResultVecMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number N = Number::invalid;
  const Type* T = nullptr;
    if (!MatchModfResultVec(state, ty, N, T)) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildModfResultVec(state, ty, N, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText N;
  state->PrintNum(N);StyledText T;
  state->PrintType(T);
    out << style::Type("__modf_result_vec", N, "_", T);
  }
};


/// TypeMatcher for 'type __frexp_result'
constexpr TypeMatcher kFrexpResultMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchFrexpResult(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildFrexpResult(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("__frexp_result_", T);
  }
};


/// TypeMatcher for 'type __frexp_result_vec'
constexpr TypeMatcher kFrexpResultVecMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number N = Number::invalid;
  const Type* T = nullptr;
    if (!MatchFrexpResultVec(state, ty, N, T)) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildFrexpResultVec(state, ty, N, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText N;
  state->PrintNum(N);StyledText T;
  state->PrintType(T);
    out << style::Type("__frexp_result_vec", N, "_", T);
  }
};


/// TypeMatcher for 'type __atomic_compare_exchange_result'
constexpr TypeMatcher kAtomicCompareExchangeResultMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  const Type* T = nullptr;
    if (!MatchAtomicCompareExchangeResult(state, ty, T)) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    return BuildAtomicCompareExchangeResult(state, ty, T);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T;
  state->PrintType(T);
    out << style::Type("__atomic_compare_exchange_result", "<", T, ">");
  }
};


/// TypeMatcher for 'type subgroup_matrix'
constexpr TypeMatcher kSubgroupMatrixMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number S = Number::invalid;
  const Type* T = nullptr;
  Number C = Number::invalid;
  Number R = Number::invalid;
    if (!MatchSubgroupMatrix(state, ty, S, T, C, R)) {
      return nullptr;
    }
    S = state.Num(S);
    if (!S.IsValid()) {
      return nullptr;
    }
    T = state.Type(T);
    if (T == nullptr) {
      return nullptr;
    }
    C = state.Num(C);
    if (!C.IsValid()) {
      return nullptr;
    }
    R = state.Num(R);
    if (!R.IsValid()) {
      return nullptr;
    }
    return BuildSubgroupMatrix(state, ty, S, T, C, R);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText S;
  state->PrintNum(S);StyledText T;
  state->PrintType(T);StyledText C;
  state->PrintNum(C);StyledText R;
  state->PrintNum(R);
    out << style::Type("subgroup_matrix", "<", S, ", ", T, ", ", C, ", ", R, ">");
  }
};


/// TypeMatcher for 'type unsized_buffer'
constexpr TypeMatcher kUnsizedBufferMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchUnsizedBuffer(state, ty)) {
      return nullptr;
    }
    return BuildUnsizedBuffer(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("buffer");
  }
};


/// TypeMatcher for 'type buffer'
constexpr TypeMatcher kBufferMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
  Number N = Number::invalid;
    if (!MatchBuffer(state, ty, N)) {
      return nullptr;
    }
    N = state.Num(N);
    if (!N.IsValid()) {
      return nullptr;
    }
    return BuildBuffer(state, ty, N);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText N;
  state->PrintNum(N);
    out << style::Type("buffer", "<", N, ">");
  }
};


/// TypeMatcher for 'type __constructible'
constexpr TypeMatcher kConstructibleMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (!MatchConstructible(state, ty)) {
      return nullptr;
    }
    return BuildConstructible(state, ty);
  },
/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {
    out << style::Type("any concrete constructible type");
  }
};


/// TypeMatcher for 'match scalar'
constexpr TypeMatcher kScalarMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    if (MatchBool(state, ty)) {
      return BuildBool(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kIaMatcher.print(nullptr, out); out << style::Plain(", "); kFaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);}
};

/// TypeMatcher for 'match concrete_scalar'
constexpr TypeMatcher kConcreteScalarMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    if (MatchBool(state, ty)) {
      return BuildBool(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);}
};

/// TypeMatcher for 'match scalar_no_f32'
constexpr TypeMatcher kScalarNoF32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    if (MatchBool(state, ty)) {
      return BuildBool(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kIaMatcher.print(nullptr, out); out << style::Plain(", "); kFaMatcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);}
};

/// TypeMatcher for 'match scalar_no_f16'
constexpr TypeMatcher kScalarNoF16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchBool(state, ty)) {
      return BuildBool(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kIaMatcher.print(nullptr, out); out << style::Plain(", "); kFaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);}
};

/// TypeMatcher for 'match scalar_no_i32'
constexpr TypeMatcher kScalarNoI32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    if (MatchBool(state, ty)) {
      return BuildBool(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kIaMatcher.print(nullptr, out); out << style::Plain(", "); kFaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);}
};

/// TypeMatcher for 'match scalar_no_u32'
constexpr TypeMatcher kScalarNoU32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    if (MatchBool(state, ty)) {
      return BuildBool(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kIaMatcher.print(nullptr, out); out << style::Plain(", "); kFaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);}
};

/// TypeMatcher for 'match scalar_no_bool'
constexpr TypeMatcher kScalarNoBoolMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kIaMatcher.print(nullptr, out); out << style::Plain(", "); kFaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kU32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fia_fiu32_f16'
constexpr TypeMatcher kFiaFiu32F16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kFaMatcher.print(nullptr, out); out << style::Plain(", "); kIaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kF16Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fia_fi32_f16'
constexpr TypeMatcher kFiaFi32F16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kFaMatcher.print(nullptr, out); out << style::Plain(", "); kIaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kF16Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fia_fiu32'
constexpr TypeMatcher kFiaFiu32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kFaMatcher.print(nullptr, out); out << style::Plain(", "); kIaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kU32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fa_f32'
constexpr TypeMatcher kFaF32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kFaMatcher.print(nullptr, out); out << style::Plain(" or "); kF32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fa_f32_f16'
constexpr TypeMatcher kFaF32F16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchFa(state, ty)) {
      return BuildFa(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kFaMatcher.print(nullptr, out); out << style::Plain(", "); kF32Matcher.print(nullptr, out); out << style::Plain(" or "); kF16Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match ia_iu32'
constexpr TypeMatcher kIaIu32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kIaMatcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kU32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match ia_i32'
constexpr TypeMatcher kIaI32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchIa(state, ty)) {
      return BuildIa(state, ty);
    }
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kIaMatcher.print(nullptr, out); out << style::Plain(" or "); kI32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fiu32_f16'
constexpr TypeMatcher kFiu32F16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kF16Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fiu32'
constexpr TypeMatcher kFiu32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kU32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fi32_f16'
constexpr TypeMatcher kFi32F16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kF16Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match fi32'
constexpr TypeMatcher kFi32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(" or "); kI32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match f32_f16'
constexpr TypeMatcher kF32F16Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(" or "); kF16Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match iu32'
constexpr TypeMatcher kIu32Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kI32Matcher.print(nullptr, out); out << style::Plain(" or "); kU32Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match iu32_iu8'
constexpr TypeMatcher kIu32Iu8Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchI8(state, ty)) {
      return BuildI8(state, ty);
    }
    if (MatchU8(state, ty)) {
      return BuildU8(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(", "); kI8Matcher.print(nullptr, out); out << style::Plain(" or "); kU8Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match iu8'
constexpr TypeMatcher kIu8Matcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI8(state, ty)) {
      return BuildI8(state, ty);
    }
    if (MatchU8(state, ty)) {
      return BuildU8(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kI8Matcher.print(nullptr, out); out << style::Plain(" or "); kU8Matcher.print(nullptr, out);}
};

/// TypeMatcher for 'match subgroup_matrix_elements'
constexpr TypeMatcher kSubgroupMatrixElementsMatcher {
/* match */ [](MatchState& state, const Type* ty) -> const Type* {
    if (MatchI32(state, ty)) {
      return BuildI32(state, ty);
    }
    if (MatchU32(state, ty)) {
      return BuildU32(state, ty);
    }
    if (MatchF32(state, ty)) {
      return BuildF32(state, ty);
    }
    if (MatchF16(state, ty)) {
      return BuildF16(state, ty);
    }
    if (MatchU8(state, ty)) {
      return BuildU8(state, ty);
    }
    if (MatchI8(state, ty)) {
      return BuildI8(state, ty);
    }
    return nullptr;
  },
/* print */ [](MatchState*, StyledText& out) {
    // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support
    // template arguments, nor can they match sub-types. As such, they have no use for the MatchState.
 kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU8Matcher.print(nullptr, out); out << style::Plain(" or "); kI8Matcher.print(nullptr, out);}
};

/// EnumMatcher for 'match subgroup_matrix_kind_left'
constexpr NumberMatcher kSubgroupMatrixKindLeftMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::SubgroupMatrixKind::kLeft)) {
      return Number(static_cast<uint32_t>(core::SubgroupMatrixKind::kLeft));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("left");
  }
};

/// EnumMatcher for 'match subgroup_matrix_kind_right'
constexpr NumberMatcher kSubgroupMatrixKindRightMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::SubgroupMatrixKind::kRight)) {
      return Number(static_cast<uint32_t>(core::SubgroupMatrixKind::kRight));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("right");
  }
};

/// EnumMatcher for 'match subgroup_matrix_kind_result'
constexpr NumberMatcher kSubgroupMatrixKindResultMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::SubgroupMatrixKind::kResult)) {
      return Number(static_cast<uint32_t>(core::SubgroupMatrixKind::kResult));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("result");
  }
};

/// EnumMatcher for 'match f32_texel_format'
constexpr NumberMatcher kF32TexelFormatMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::TexelFormat>(number.Value())) {
      case core::TexelFormat::kR8Unorm:
      case core::TexelFormat::kR8Snorm:
      case core::TexelFormat::kRg8Unorm:
      case core::TexelFormat::kRg8Snorm:
      case core::TexelFormat::kBgra8Unorm:
      case core::TexelFormat::kRgba8Unorm:
      case core::TexelFormat::kRgba8Snorm:
      case core::TexelFormat::kR16Unorm:
      case core::TexelFormat::kR16Snorm:
      case core::TexelFormat::kRg16Unorm:
      case core::TexelFormat::kRg16Snorm:
      case core::TexelFormat::kRgba16Unorm:
      case core::TexelFormat::kRgba16Snorm:
      case core::TexelFormat::kR16Float:
      case core::TexelFormat::kRg16Float:
      case core::TexelFormat::kRgba16Float:
      case core::TexelFormat::kR32Float:
      case core::TexelFormat::kRg32Float:
      case core::TexelFormat::kRgba32Float:
      case core::TexelFormat::kRgb10A2Unorm:
      case core::TexelFormat::kRg11B10Ufloat:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("r8unorm")<< style::Plain(", ") << style::Enum("r8snorm")<< style::Plain(", ") << style::Enum("rg8unorm")<< style::Plain(", ") << style::Enum("rg8snorm")<< style::Plain(", ") << style::Enum("bgra8unorm")<< style::Plain(", ") << style::Enum("rgba8unorm")<< style::Plain(", ") << style::Enum("rgba8snorm")<< style::Plain(", ") << style::Enum("r16unorm")<< style::Plain(", ") << style::Enum("r16snorm")<< style::Plain(", ") << style::Enum("rg16unorm")<< style::Plain(", ") << style::Enum("rg16snorm")<< style::Plain(", ") << style::Enum("rgba16unorm")<< style::Plain(", ") << style::Enum("rgba16snorm")<< style::Plain(", ") << style::Enum("r16float")<< style::Plain(", ") << style::Enum("rg16float")<< style::Plain(", ") << style::Enum("rgba16float")<< style::Plain(", ") << style::Enum("r32float")<< style::Plain(", ") << style::Enum("rg32float")<< style::Plain(", ") << style::Enum("rgba32float")<< style::Plain(", ") << style::Enum("rgb10a2unorm")<< style::Plain(" or ") << style::Enum("rg11b10ufloat");
  }
};

/// EnumMatcher for 'match i32_texel_format'
constexpr NumberMatcher kI32TexelFormatMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::TexelFormat>(number.Value())) {
      case core::TexelFormat::kR8Sint:
      case core::TexelFormat::kRg8Sint:
      case core::TexelFormat::kRgba8Sint:
      case core::TexelFormat::kR16Sint:
      case core::TexelFormat::kRg16Sint:
      case core::TexelFormat::kRgba16Sint:
      case core::TexelFormat::kR32Sint:
      case core::TexelFormat::kRg32Sint:
      case core::TexelFormat::kRgba32Sint:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("r8sint")<< style::Plain(", ") << style::Enum("rg8sint")<< style::Plain(", ") << style::Enum("rgba8sint")<< style::Plain(", ") << style::Enum("r16sint")<< style::Plain(", ") << style::Enum("rg16sint")<< style::Plain(", ") << style::Enum("rgba16sint")<< style::Plain(", ") << style::Enum("r32sint")<< style::Plain(", ") << style::Enum("rg32sint")<< style::Plain(" or ") << style::Enum("rgba32sint");
  }
};

/// EnumMatcher for 'match u32_texel_format'
constexpr NumberMatcher kU32TexelFormatMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::TexelFormat>(number.Value())) {
      case core::TexelFormat::kR8Uint:
      case core::TexelFormat::kRg8Uint:
      case core::TexelFormat::kR16Uint:
      case core::TexelFormat::kRg16Uint:
      case core::TexelFormat::kRgba8Uint:
      case core::TexelFormat::kRgba16Uint:
      case core::TexelFormat::kR32Uint:
      case core::TexelFormat::kRg32Uint:
      case core::TexelFormat::kRgba32Uint:
      case core::TexelFormat::kRgb10A2Uint:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("r8uint")<< style::Plain(", ") << style::Enum("rg8uint")<< style::Plain(", ") << style::Enum("r16uint")<< style::Plain(", ") << style::Enum("rg16uint")<< style::Plain(", ") << style::Enum("rgba8uint")<< style::Plain(", ") << style::Enum("rgba16uint")<< style::Plain(", ") << style::Enum("r32uint")<< style::Plain(", ") << style::Enum("rg32uint")<< style::Plain(", ") << style::Enum("rgba32uint")<< style::Plain(" or ") << style::Enum("rgb10a2uint");
  }
};

/// EnumMatcher for 'match read'
constexpr NumberMatcher kReadMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::Access::kRead)) {
      return Number(static_cast<uint32_t>(core::Access::kRead));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("read");
  }
};

/// EnumMatcher for 'match write'
constexpr NumberMatcher kWriteMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::Access::kWrite)) {
      return Number(static_cast<uint32_t>(core::Access::kWrite));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("write");
  }
};

/// EnumMatcher for 'match read_write'
constexpr NumberMatcher kReadWriteMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::Access::kReadWrite)) {
      return Number(static_cast<uint32_t>(core::Access::kReadWrite));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("read_write");
  }
};

/// EnumMatcher for 'match readable'
constexpr NumberMatcher kReadableMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::Access>(number.Value())) {
      case core::Access::kRead:
      case core::Access::kReadWrite:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("read")<< style::Plain(" or ") << style::Enum("read_write");
  }
};

/// EnumMatcher for 'match writable'
constexpr NumberMatcher kWritableMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::Access>(number.Value())) {
      case core::Access::kWrite:
      case core::Access::kReadWrite:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("write")<< style::Plain(" or ") << style::Enum("read_write");
  }
};

/// EnumMatcher for 'match function_private_workgroup'
constexpr NumberMatcher kFunctionPrivateWorkgroupMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::AddressSpace>(number.Value())) {
      case core::AddressSpace::kFunction:
      case core::AddressSpace::kPrivate:
      case core::AddressSpace::kWorkgroup:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("function")<< style::Plain(", ") << style::Enum("private")<< style::Plain(" or ") << style::Enum("workgroup");
  }
};

/// EnumMatcher for 'match workgroup_or_storage'
constexpr NumberMatcher kWorkgroupOrStorageMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::AddressSpace>(number.Value())) {
      case core::AddressSpace::kWorkgroup:
      case core::AddressSpace::kStorage:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("workgroup")<< style::Plain(" or ") << style::Enum("storage");
  }
};

/// EnumMatcher for 'match storage'
constexpr NumberMatcher kStorageMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::AddressSpace::kStorage)) {
      return Number(static_cast<uint32_t>(core::AddressSpace::kStorage));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("storage");
  }
};

/// EnumMatcher for 'match workgroup'
constexpr NumberMatcher kWorkgroupMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    if (number.IsAny() || number.Value() == static_cast<uint32_t>(core::AddressSpace::kWorkgroup)) {
      return Number(static_cast<uint32_t>(core::AddressSpace::kWorkgroup));
    }
    return Number::invalid;
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("workgroup");
  }
};

/// EnumMatcher for 'match uniform_or_storage'
constexpr NumberMatcher kUniformOrStorageMatcher {
/* match */ [](MatchState&, Number number) -> Number {
    switch (static_cast<core::AddressSpace>(number.Value())) {
      case core::AddressSpace::kUniform:
      case core::AddressSpace::kStorage:
        return number;
      default:
        return Number::invalid;
    }
  },
/* print */ [](MatchState*, StyledText& out) {
  out<< style::Enum("uniform")<< style::Plain(" or ") << style::Enum("storage");
  }
};

/// Type and number matchers

/// The template types, types, and type matchers
constexpr TypeMatcher kTypeMatchers[] = {
  /* [0] */ TemplateTypeMatcher<0>::matcher,
  /* [1] */ TemplateTypeMatcher<1>::matcher,
  /* [2] */ TemplateTypeMatcher<2>::matcher,
  /* [3] */ TemplateTypeMatcher<3>::matcher,
  /* [4] */ TemplateTypeMatcher<4>::matcher,
  /* [5] */ TemplateTypeMatcher<5>::matcher,
  /* [6] */ TemplateTypeMatcher<6>::matcher,
  /* [7] */ TemplateTypeMatcher<7>::matcher,
  /* [8] */ TemplateTypeMatcher<8>::matcher,
  /* [9] */ kBoolMatcher,
  /* [10] */ kI8Matcher,
  /* [11] */ kU8Matcher,
  /* [12] */ kIaMatcher,
  /* [13] */ kFaMatcher,
  /* [14] */ kI32Matcher,
  /* [15] */ kU32Matcher,
  /* [16] */ kF32Matcher,
  /* [17] */ kF16Matcher,
  /* [18] */ kVec2Matcher,
  /* [19] */ kVec3Matcher,
  /* [20] */ kVec4Matcher,
  /* [21] */ kMat2X2Matcher,
  /* [22] */ kMat2X3Matcher,
  /* [23] */ kMat2X4Matcher,
  /* [24] */ kMat3X2Matcher,
  /* [25] */ kMat3X3Matcher,
  /* [26] */ kMat3X4Matcher,
  /* [27] */ kMat4X2Matcher,
  /* [28] */ kMat4X3Matcher,
  /* [29] */ kMat4X4Matcher,
  /* [30] */ kVecMatcher,
  /* [31] */ kMatMatcher,
  /* [32] */ kPtrMatcher,
  /* [33] */ kRefMatcher,
  /* [34] */ kAtomicMatcher,
  /* [35] */ kRuntimeArrayMatcher,
  /* [36] */ kArrayMatcher,
  /* [37] */ kBindingArrayMatcher,
  /* [38] */ kSamplerMatcher,
  /* [39] */ kSamplerComparisonMatcher,
  /* [40] */ kTexture1DMatcher,
  /* [41] */ kTexture2DMatcher,
  /* [42] */ kTexture2DArrayMatcher,
  /* [43] */ kTexture3DMatcher,
  /* [44] */ kTextureCubeMatcher,
  /* [45] */ kTextureCubeArrayMatcher,
  /* [46] */ kTextureMultisampled2DMatcher,
  /* [47] */ kTextureDepth2DMatcher,
  /* [48] */ kTextureDepth2DArrayMatcher,
  /* [49] */ kTextureDepthCubeMatcher,
  /* [50] */ kTextureDepthCubeArrayMatcher,
  /* [51] */ kTextureDepthMultisampled2DMatcher,
  /* [52] */ kTextureStorage1DMatcher,
  /* [53] */ kTextureStorage2DMatcher,
  /* [54] */ kTextureStorage2DArrayMatcher,
  /* [55] */ kTextureStorage3DMatcher,
  /* [56] */ kTextureExternalMatcher,
  /* [57] */ kTexelBufferMatcher,
  /* [58] */ kInputAttachmentMatcher,
  /* [59] */ kModfResultMatcher,
  /* [60] */ kModfResultVecMatcher,
  /* [61] */ kFrexpResultMatcher,
  /* [62] */ kFrexpResultVecMatcher,
  /* [63] */ kAtomicCompareExchangeResultMatcher,
  /* [64] */ kSubgroupMatrixMatcher,
  /* [65] */ kUnsizedBufferMatcher,
  /* [66] */ kBufferMatcher,
  /* [67] */ kConstructibleMatcher,
  /* [68] */ kScalarMatcher,
  /* [69] */ kConcreteScalarMatcher,
  /* [70] */ kScalarNoF32Matcher,
  /* [71] */ kScalarNoF16Matcher,
  /* [72] */ kScalarNoI32Matcher,
  /* [73] */ kScalarNoU32Matcher,
  /* [74] */ kScalarNoBoolMatcher,
  /* [75] */ kFiaFiu32F16Matcher,
  /* [76] */ kFiaFi32F16Matcher,
  /* [77] */ kFiaFiu32Matcher,
  /* [78] */ kFaF32Matcher,
  /* [79] */ kFaF32F16Matcher,
  /* [80] */ kIaIu32Matcher,
  /* [81] */ kIaI32Matcher,
  /* [82] */ kFiu32F16Matcher,
  /* [83] */ kFiu32Matcher,
  /* [84] */ kFi32F16Matcher,
  /* [85] */ kFi32Matcher,
  /* [86] */ kF32F16Matcher,
  /* [87] */ kIu32Matcher,
  /* [88] */ kIu32Iu8Matcher,
  /* [89] */ kIu8Matcher,
  /* [90] */ kSubgroupMatrixElementsMatcher,
};

/// The template numbers, and number matchers
constexpr NumberMatcher kNumberMatchers[] = {
  /* [0] */ TemplateNumberMatcher<0>::matcher,
  /* [1] */ TemplateNumberMatcher<1>::matcher,
  /* [2] */ TemplateNumberMatcher<2>::matcher,
  /* [3] */ TemplateNumberMatcher<3>::matcher,
  /* [4] */ TemplateNumberMatcher<4>::matcher,
  /* [5] */ TemplateNumberMatcher<5>::matcher,
  /* [6] */ TemplateNumberMatcher<6>::matcher,
  /* [7] */ TemplateNumberMatcher<7>::matcher,
  /* [8] */ TemplateNumberMatcher<8>::matcher,
  /* [9] */ kSubgroupMatrixKindLeftMatcher,
  /* [10] */ kSubgroupMatrixKindRightMatcher,
  /* [11] */ kSubgroupMatrixKindResultMatcher,
  /* [12] */ kF32TexelFormatMatcher,
  /* [13] */ kI32TexelFormatMatcher,
  /* [14] */ kU32TexelFormatMatcher,
  /* [15] */ kReadMatcher,
  /* [16] */ kWriteMatcher,
  /* [17] */ kReadWriteMatcher,
  /* [18] */ kReadableMatcher,
  /* [19] */ kWritableMatcher,
  /* [20] */ kFunctionPrivateWorkgroupMatcher,
  /* [21] */ kWorkgroupOrStorageMatcher,
  /* [22] */ kStorageMatcher,
  /* [23] */ kWorkgroupMatcher,
  /* [24] */ kUniformOrStorageMatcher,
};

constexpr MatcherIndex kMatcherIndices[] = {
  /* [0] */ MatcherIndex(32),
  /* [1] */ MatcherIndex(22),
  /* [2] */ MatcherIndex(34),
  /* [3] */ MatcherIndex(18),
  /* [4] */ MatcherIndex(15),
  /* [5] */ MatcherIndex(17),
  /* [6] */ MatcherIndex(32),
  /* [7] */ MatcherIndex(6),
  /* [8] */ MatcherIndex(36),
  /* [9] */ MatcherIndex(2),
  /* [10] */ MatcherIndex(5),
  /* [11] */ MatcherIndex(7),
  /* [12] */ MatcherIndex(32),
  /* [13] */ MatcherIndex(6),
  /* [14] */ MatcherIndex(36),
  /* [15] */ MatcherIndex(14),
  /* [16] */ MatcherIndex(5),
  /* [17] */ MatcherIndex(7),
  /* [18] */ MatcherIndex(32),
  /* [19] */ MatcherIndex(6),
  /* [20] */ MatcherIndex(36),
  /* [21] */ MatcherIndex(15),
  /* [22] */ MatcherIndex(5),
  /* [23] */ MatcherIndex(7),
  /* [24] */ MatcherIndex(32),
  /* [25] */ MatcherIndex(7),
  /* [26] */ MatcherIndex(36),
  /* [27] */ MatcherIndex(3),
  /* [28] */ MatcherIndex(6),
  /* [29] */ MatcherIndex(8),
  /* [30] */ MatcherIndex(32),
  /* [31] */ MatcherIndex(7),
  /* [32] */ MatcherIndex(36),
  /* [33] */ MatcherIndex(14),
  /* [34] */ MatcherIndex(6),
  /* [35] */ MatcherIndex(8),
  /* [36] */ MatcherIndex(32),
  /* [37] */ MatcherIndex(7),
  /* [38] */ MatcherIndex(36),
  /* [39] */ MatcherIndex(15),
  /* [40] */ MatcherIndex(6),
  /* [41] */ MatcherIndex(8),
  /* [42] */ MatcherIndex(32),
  /* [43] */ MatcherIndex(5),
  /* [44] */ MatcherIndex(36),
  /* [45] */ MatcherIndex(1),
  /* [46] */ MatcherIndex(4),
  /* [47] */ MatcherIndex(6),
  /* [48] */ MatcherIndex(32),
  /* [49] */ MatcherIndex(5),
  /* [50] */ MatcherIndex(36),
  /* [51] */ MatcherIndex(14),
  /* [52] */ MatcherIndex(4),
  /* [53] */ MatcherIndex(6),
  /* [54] */ MatcherIndex(32),
  /* [55] */ MatcherIndex(5),
  /* [56] */ MatcherIndex(36),
  /* [57] */ MatcherIndex(15),
  /* [58] */ MatcherIndex(4),
  /* [59] */ MatcherIndex(6),
  /* [60] */ MatcherIndex(32),
  /* [61] */ MatcherIndex(0),
  /* [62] */ MatcherIndex(35),
  /* [63] */ MatcherIndex(1),
  /* [64] */ MatcherIndex(2),
  /* [65] */ MatcherIndex(32),
  /* [66] */ MatcherIndex(22),
  /* [67] */ MatcherIndex(35),
  /* [68] */ MatcherIndex(0),
  /* [69] */ MatcherIndex(1),
  /* [70] */ MatcherIndex(32),
  /* [71] */ MatcherIndex(23),
  /* [72] */ MatcherIndex(35),
  /* [73] */ MatcherIndex(0),
  /* [74] */ MatcherIndex(1),
  /* [75] */ MatcherIndex(32),
  /* [76] */ MatcherIndex(23),
  /* [77] */ MatcherIndex(34),
  /* [78] */ MatcherIndex(0),
  /* [79] */ MatcherIndex(17),
  /* [80] */ MatcherIndex(32),
  /* [81] */ MatcherIndex(1),
  /* [82] */ MatcherIndex(34),
  /* [83] */ MatcherIndex(0),
  /* [84] */ MatcherIndex(17),
  /* [85] */ MatcherIndex(64),
  /* [86] */ MatcherIndex(1),
  /* [87] */ MatcherIndex(2),
  /* [88] */ MatcherIndex(3),
  /* [89] */ MatcherIndex(4),
  /* [90] */ MatcherIndex(32),
  /* [91] */ MatcherIndex(22),
  /* [92] */ MatcherIndex(35),
  /* [93] */ MatcherIndex(2),
  /* [94] */ MatcherIndex(5),
  /* [95] */ MatcherIndex(32),
  /* [96] */ MatcherIndex(22),
  /* [97] */ MatcherIndex(35),
  /* [98] */ MatcherIndex(14),
  /* [99] */ MatcherIndex(5),
  /* [100] */ MatcherIndex(32),
  /* [101] */ MatcherIndex(22),
  /* [102] */ MatcherIndex(35),
  /* [103] */ MatcherIndex(15),
  /* [104] */ MatcherIndex(5),
  /* [105] */ MatcherIndex(64),
  /* [106] */ MatcherIndex(2),
  /* [107] */ MatcherIndex(3),
  /* [108] */ MatcherIndex(4),
  /* [109] */ MatcherIndex(5),
  /* [110] */ MatcherIndex(32),
  /* [111] */ MatcherIndex(22),
  /* [112] */ MatcherIndex(35),
  /* [113] */ MatcherIndex(3),
  /* [114] */ MatcherIndex(6),
  /* [115] */ MatcherIndex(32),
  /* [116] */ MatcherIndex(22),
  /* [117] */ MatcherIndex(35),
  /* [118] */ MatcherIndex(14),
  /* [119] */ MatcherIndex(6),
  /* [120] */ MatcherIndex(32),
  /* [121] */ MatcherIndex(22),
  /* [122] */ MatcherIndex(35),
  /* [123] */ MatcherIndex(15),
  /* [124] */ MatcherIndex(6),
  /* [125] */ MatcherIndex(32),
  /* [126] */ MatcherIndex(22),
  /* [127] */ MatcherIndex(35),
  /* [128] */ MatcherIndex(1),
  /* [129] */ MatcherIndex(4),
  /* [130] */ MatcherIndex(64),
  /* [131] */ MatcherIndex(0),
  /* [132] */ MatcherIndex(1),
  /* [133] */ MatcherIndex(2),
  /* [134] */ MatcherIndex(3),
  /* [135] */ MatcherIndex(32),
  /* [136] */ MatcherIndex(22),
  /* [137] */ MatcherIndex(35),
  /* [138] */ MatcherIndex(14),
  /* [139] */ MatcherIndex(4),
  /* [140] */ MatcherIndex(32),
  /* [141] */ MatcherIndex(22),
  /* [142] */ MatcherIndex(35),
  /* [143] */ MatcherIndex(15),
  /* [144] */ MatcherIndex(4),
  /* [145] */ MatcherIndex(64),
  /* [146] */ MatcherIndex(11),
  /* [147] */ MatcherIndex(0),
  /* [148] */ MatcherIndex(2),
  /* [149] */ MatcherIndex(3),
  /* [150] */ MatcherIndex(64),
  /* [151] */ MatcherIndex(9),
  /* [152] */ MatcherIndex(1),
  /* [153] */ MatcherIndex(4),
  /* [154] */ MatcherIndex(3),
  /* [155] */ MatcherIndex(64),
  /* [156] */ MatcherIndex(10),
  /* [157] */ MatcherIndex(1),
  /* [158] */ MatcherIndex(2),
  /* [159] */ MatcherIndex(4),
  /* [160] */ MatcherIndex(64),
  /* [161] */ MatcherIndex(11),
  /* [162] */ MatcherIndex(1),
  /* [163] */ MatcherIndex(2),
  /* [164] */ MatcherIndex(3),
  /* [165] */ MatcherIndex(64),
  /* [166] */ MatcherIndex(9),
  /* [167] */ MatcherIndex(0),
  /* [168] */ MatcherIndex(4),
  /* [169] */ MatcherIndex(3),
  /* [170] */ MatcherIndex(64),
  /* [171] */ MatcherIndex(10),
  /* [172] */ MatcherIndex(0),
  /* [173] */ MatcherIndex(2),
  /* [174] */ MatcherIndex(4),
  /* [175] */ MatcherIndex(64),
  /* [176] */ MatcherIndex(0),
  /* [177] */ MatcherIndex(10),
  /* [178] */ MatcherIndex(1),
  /* [179] */ MatcherIndex(2),
  /* [180] */ MatcherIndex(64),
  /* [181] */ MatcherIndex(0),
  /* [182] */ MatcherIndex(11),
  /* [183] */ MatcherIndex(1),
  /* [184] */ MatcherIndex(2),
  /* [185] */ MatcherIndex(32),
  /* [186] */ MatcherIndex(2),
  /* [187] */ MatcherIndex(66),
  /* [188] */ MatcherIndex(3),
  /* [189] */ MatcherIndex(1),
  /* [190] */ MatcherIndex(32),
  /* [191] */ MatcherIndex(1),
  /* [192] */ MatcherIndex(66),
  /* [193] */ MatcherIndex(2),
  /* [194] */ MatcherIndex(0),
  /* [195] */ MatcherIndex(31),
  /* [196] */ MatcherIndex(0),
  /* [197] */ MatcherIndex(0),
  /* [198] */ MatcherIndex(1),
  /* [199] */ MatcherIndex(31),
  /* [200] */ MatcherIndex(1),
  /* [201] */ MatcherIndex(0),
  /* [202] */ MatcherIndex(2),
  /* [203] */ MatcherIndex(31),
  /* [204] */ MatcherIndex(0),
  /* [205] */ MatcherIndex(1),
  /* [206] */ MatcherIndex(2),
  /* [207] */ MatcherIndex(32),
  /* [208] */ MatcherIndex(23),
  /* [209] */ MatcherIndex(0),
  /* [210] */ MatcherIndex(17),
  /* [211] */ MatcherIndex(32),
  /* [212] */ MatcherIndex(2),
  /* [213] */ MatcherIndex(0),
  /* [214] */ MatcherIndex(1),
  /* [215] */ MatcherIndex(32),
  /* [216] */ MatcherIndex(2),
  /* [217] */ MatcherIndex(65),
  /* [218] */ MatcherIndex(1),
  /* [219] */ MatcherIndex(32),
  /* [220] */ MatcherIndex(1),
  /* [221] */ MatcherIndex(65),
  /* [222] */ MatcherIndex(0),
  /* [223] */ MatcherIndex(32),
  /* [224] */ MatcherIndex(0),
  /* [225] */ MatcherIndex(1),
  /* [226] */ MatcherIndex(2),
  /* [227] */ MatcherIndex(33),
  /* [228] */ MatcherIndex(0),
  /* [229] */ MatcherIndex(1),
  /* [230] */ MatcherIndex(2),
  /* [231] */ MatcherIndex(31),
  /* [232] */ MatcherIndex(1),
  /* [233] */ MatcherIndex(2),
  /* [234] */ MatcherIndex(0),
  /* [235] */ MatcherIndex(31),
  /* [236] */ MatcherIndex(2),
  /* [237] */ MatcherIndex(3),
  /* [238] */ MatcherIndex(0),
  /* [239] */ MatcherIndex(31),
  /* [240] */ MatcherIndex(1),
  /* [241] */ MatcherIndex(3),
  /* [242] */ MatcherIndex(0),
  /* [243] */ MatcherIndex(31),
  /* [244] */ MatcherIndex(2),
  /* [245] */ MatcherIndex(1),
  /* [246] */ MatcherIndex(0),
  /* [247] */ MatcherIndex(30),
  /* [248] */ MatcherIndex(0),
  /* [249] */ MatcherIndex(1),
  /* [250] */ MatcherIndex(30),
  /* [251] */ MatcherIndex(0),
  /* [252] */ MatcherIndex(9),
  /* [253] */ MatcherIndex(30),
  /* [254] */ MatcherIndex(1),
  /* [255] */ MatcherIndex(0),
  /* [256] */ MatcherIndex(30),
  /* [257] */ MatcherIndex(1),
  /* [258] */ MatcherIndex(83),
  /* [259] */ MatcherIndex(30),
  /* [260] */ MatcherIndex(1),
  /* [261] */ MatcherIndex(2),
  /* [262] */ MatcherIndex(30),
  /* [263] */ MatcherIndex(1),
  /* [264] */ MatcherIndex(17),
  /* [265] */ MatcherIndex(30),
  /* [266] */ MatcherIndex(1),
  /* [267] */ MatcherIndex(15),
  /* [268] */ MatcherIndex(30),
  /* [269] */ MatcherIndex(1),
  /* [270] */ MatcherIndex(12),
  /* [271] */ MatcherIndex(30),
  /* [272] */ MatcherIndex(0),
  /* [273] */ MatcherIndex(16),
  /* [274] */ MatcherIndex(62),
  /* [275] */ MatcherIndex(0),
  /* [276] */ MatcherIndex(1),
  /* [277] */ MatcherIndex(30),
  /* [278] */ MatcherIndex(0),
  /* [279] */ MatcherIndex(2),
  /* [280] */ MatcherIndex(60),
  /* [281] */ MatcherIndex(0),
  /* [282] */ MatcherIndex(1),
  /* [283] */ MatcherIndex(52),
  /* [284] */ MatcherIndex(0),
  /* [285] */ MatcherIndex(1),
  /* [286] */ MatcherIndex(53),
  /* [287] */ MatcherIndex(0),
  /* [288] */ MatcherIndex(1),
  /* [289] */ MatcherIndex(54),
  /* [290] */ MatcherIndex(0),
  /* [291] */ MatcherIndex(1),
  /* [292] */ MatcherIndex(55),
  /* [293] */ MatcherIndex(0),
  /* [294] */ MatcherIndex(1),
  /* [295] */ MatcherIndex(57),
  /* [296] */ MatcherIndex(0),
  /* [297] */ MatcherIndex(1),
  /* [298] */ MatcherIndex(52),
  /* [299] */ MatcherIndex(1),
  /* [300] */ MatcherIndex(2),
  /* [301] */ MatcherIndex(53),
  /* [302] */ MatcherIndex(1),
  /* [303] */ MatcherIndex(2),
  /* [304] */ MatcherIndex(54),
  /* [305] */ MatcherIndex(1),
  /* [306] */ MatcherIndex(2),
  /* [307] */ MatcherIndex(55),
  /* [308] */ MatcherIndex(1),
  /* [309] */ MatcherIndex(2),
  /* [310] */ MatcherIndex(57),
  /* [311] */ MatcherIndex(1),
  /* [312] */ MatcherIndex(2),
  /* [313] */ MatcherIndex(30),
  /* [314] */ MatcherIndex(2),
  /* [315] */ MatcherIndex(0),
  /* [316] */ MatcherIndex(30),
  /* [317] */ MatcherIndex(1),
  /* [318] */ MatcherIndex(9),
  /* [319] */ MatcherIndex(18),
  /* [320] */ MatcherIndex(17),
  /* [321] */ MatcherIndex(18),
  /* [322] */ MatcherIndex(83),
  /* [323] */ MatcherIndex(20),
  /* [324] */ MatcherIndex(17),
  /* [325] */ MatcherIndex(18),
  /* [326] */ MatcherIndex(1),
  /* [327] */ MatcherIndex(19),
  /* [328] */ MatcherIndex(0),
  /* [329] */ MatcherIndex(61),
  /* [330] */ MatcherIndex(0),
  /* [331] */ MatcherIndex(59),
  /* [332] */ MatcherIndex(0),
  /* [333] */ MatcherIndex(18),
  /* [334] */ MatcherIndex(16),
  /* [335] */ MatcherIndex(20),
  /* [336] */ MatcherIndex(16),
  /* [337] */ MatcherIndex(20),
  /* [338] */ MatcherIndex(14),
  /* [339] */ MatcherIndex(20),
  /* [340] */ MatcherIndex(15),
  /* [341] */ MatcherIndex(40),
  /* [342] */ MatcherIndex(0),
  /* [343] */ MatcherIndex(41),
  /* [344] */ MatcherIndex(0),
  /* [345] */ MatcherIndex(42),
  /* [346] */ MatcherIndex(0),
  /* [347] */ MatcherIndex(19),
  /* [348] */ MatcherIndex(15),
  /* [349] */ MatcherIndex(43),
  /* [350] */ MatcherIndex(0),
  /* [351] */ MatcherIndex(44),
  /* [352] */ MatcherIndex(0),
  /* [353] */ MatcherIndex(45),
  /* [354] */ MatcherIndex(0),
  /* [355] */ MatcherIndex(46),
  /* [356] */ MatcherIndex(0),
  /* [357] */ MatcherIndex(20),
  /* [358] */ MatcherIndex(0),
  /* [359] */ MatcherIndex(18),
  /* [360] */ MatcherIndex(14),
  /* [361] */ MatcherIndex(19),
  /* [362] */ MatcherIndex(16),
  /* [363] */ MatcherIndex(40),
  /* [364] */ MatcherIndex(16),
  /* [365] */ MatcherIndex(41),
  /* [366] */ MatcherIndex(16),
  /* [367] */ MatcherIndex(42),
  /* [368] */ MatcherIndex(16),
  /* [369] */ MatcherIndex(43),
  /* [370] */ MatcherIndex(16),
  /* [371] */ MatcherIndex(19),
  /* [372] */ MatcherIndex(14),
  /* [373] */ MatcherIndex(44),
  /* [374] */ MatcherIndex(16),
  /* [375] */ MatcherIndex(45),
  /* [376] */ MatcherIndex(16),
  /* [377] */ MatcherIndex(18),
  /* [378] */ MatcherIndex(0),
  /* [379] */ MatcherIndex(19),
  /* [380] */ MatcherIndex(1),
  /* [381] */ MatcherIndex(58),
  /* [382] */ MatcherIndex(0),
  /* [383] */ MatcherIndex(63),
  /* [384] */ MatcherIndex(0),
  /* [385] */ MatcherIndex(40),
  /* [386] */ MatcherIndex(1),
  /* [387] */ MatcherIndex(41),
  /* [388] */ MatcherIndex(1),
  /* [389] */ MatcherIndex(42),
  /* [390] */ MatcherIndex(1),
  /* [391] */ MatcherIndex(43),
  /* [392] */ MatcherIndex(1),
  /* [393] */ MatcherIndex(44),
  /* [394] */ MatcherIndex(1),
  /* [395] */ MatcherIndex(45),
  /* [396] */ MatcherIndex(1),
  /* [397] */ MatcherIndex(46),
  /* [398] */ MatcherIndex(1),
  /* [399] */ MatcherIndex(18),
  /* [400] */ MatcherIndex(12),
  /* [401] */ MatcherIndex(19),
  /* [402] */ MatcherIndex(12),
  /* [403] */ MatcherIndex(20),
  /* [404] */ MatcherIndex(12),
  /* [405] */ MatcherIndex(20),
  /* [406] */ MatcherIndex(1),
  /* [407] */ MatcherIndex(21),
  /* [408] */ MatcherIndex(0),
  /* [409] */ MatcherIndex(21),
  /* [410] */ MatcherIndex(16),
  /* [411] */ MatcherIndex(21),
  /* [412] */ MatcherIndex(17),
  /* [413] */ MatcherIndex(22),
  /* [414] */ MatcherIndex(0),
  /* [415] */ MatcherIndex(22),
  /* [416] */ MatcherIndex(16),
  /* [417] */ MatcherIndex(22),
  /* [418] */ MatcherIndex(17),
  /* [419] */ MatcherIndex(23),
  /* [420] */ MatcherIndex(16),
  /* [421] */ MatcherIndex(23),
  /* [422] */ MatcherIndex(17),
  /* [423] */ MatcherIndex(24),
  /* [424] */ MatcherIndex(0),
  /* [425] */ MatcherIndex(24),
  /* [426] */ MatcherIndex(16),
  /* [427] */ MatcherIndex(24),
  /* [428] */ MatcherIndex(17),
  /* [429] */ MatcherIndex(25),
  /* [430] */ MatcherIndex(0),
  /* [431] */ MatcherIndex(25),
  /* [432] */ MatcherIndex(16),
  /* [433] */ MatcherIndex(25),
  /* [434] */ MatcherIndex(17),
  /* [435] */ MatcherIndex(26),
  /* [436] */ MatcherIndex(0),
  /* [437] */ MatcherIndex(26),
  /* [438] */ MatcherIndex(16),
  /* [439] */ MatcherIndex(26),
  /* [440] */ MatcherIndex(17),
  /* [441] */ MatcherIndex(27),
  /* [442] */ MatcherIndex(0),
  /* [443] */ MatcherIndex(27),
  /* [444] */ MatcherIndex(16),
  /* [445] */ MatcherIndex(27),
  /* [446] */ MatcherIndex(17),
  /* [447] */ MatcherIndex(28),
  /* [448] */ MatcherIndex(0),
  /* [449] */ MatcherIndex(28),
  /* [450] */ MatcherIndex(16),
  /* [451] */ MatcherIndex(28),
  /* [452] */ MatcherIndex(17),
  /* [453] */ MatcherIndex(29),
  /* [454] */ MatcherIndex(0),
  /* [455] */ MatcherIndex(29),
  /* [456] */ MatcherIndex(16),
  /* [457] */ MatcherIndex(29),
  /* [458] */ MatcherIndex(17),
  /* [459] */ MatcherIndex(75),
  /* [460] */ MatcherIndex(79),
  /* [461] */ MatcherIndex(87),
  /* [462] */ MatcherIndex(81),
  /* [463] */ MatcherIndex(68),
  /* [464] */ MatcherIndex(76),
  /* [465] */ MatcherIndex(67),
  /* [466] */ MatcherIndex(47),
  /* [467] */ MatcherIndex(48),
  /* [468] */ MatcherIndex(49),
  /* [469] */ MatcherIndex(50),
  /* [470] */ MatcherIndex(51),
  /* [471] */ MatcherIndex(56),
  /* [472] */ MatcherIndex(38),
  /* [473] */ MatcherIndex(39),
  /* [474] */ MatcherIndex(13),
  /* [475] */ MatcherIndex(82),
  /* [476] */ MatcherIndex(86),
  /* [477] */ MatcherIndex(88),
  /* [478] */ MatcherIndex(89),
  /* [479] */ MatcherIndex(69),
  /* [480] */ MatcherIndex(80),
  /* [481] */ MatcherIndex(72),
  /* [482] */ MatcherIndex(73),
  /* [483] */ MatcherIndex(70),
  /* [484] */ MatcherIndex(71),
  /* [485] */ MatcherIndex(74),
};

static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices),
              "MatcherIndicesIndex is not large enough to index kMatcherIndices");

constexpr ParameterInfo kParameters[] = {
  {
    /* [0] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(80),
  },
  {
    /* [1] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [2] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [3] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [4] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [5] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [6] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [7] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [8] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [9] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [10] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [11] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [12] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [13] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [14] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [15] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [16] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [17] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [18] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [19] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(367),
  },
  {
    /* [20] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [21] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [22] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [23] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [24] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [25] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [26] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [27] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(345),
  },
  {
    /* [28] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [29] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [30] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [31] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [32] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(467),
  },
  {
    /* [33] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(473),
  },
  {
    /* [34] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [35] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [36] */
    /* usage */ core::ParameterUsage::kDepthRef,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [37] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [38] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(367),
  },
  {
    /* [39] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [40] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [41] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [42] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [43] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [44] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(365),
  },
  {
    /* [45] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [46] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [47] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [48] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [49] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [50] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(369),
  },
  {
    /* [51] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [52] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [53] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [54] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [55] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(371),
  },
  {
    /* [56] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(375),
  },
  {
    /* [57] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [58] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [59] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [60] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [61] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [62] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(367),
  },
  {
    /* [63] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [64] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [65] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [66] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [67] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [68] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(467),
  },
  {
    /* [69] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [70] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [71] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [72] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [73] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [74] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [75] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(343),
  },
  {
    /* [76] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [77] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [78] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [79] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [80] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(353),
  },
  {
    /* [81] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [82] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [83] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [84] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(467),
  },
  {
    /* [85] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [86] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [87] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [88] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [89] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(466),
  },
  {
    /* [90] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(473),
  },
  {
    /* [91] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [92] */
    /* usage */ core::ParameterUsage::kDepthRef,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [93] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [94] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(469),
  },
  {
    /* [95] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(473),
  },
  {
    /* [96] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [97] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [98] */
    /* usage */ core::ParameterUsage::kDepthRef,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [99] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(367),
  },
  {
    /* [100] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [101] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [102] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [103] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [104] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(365),
  },
  {
    /* [105] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [106] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [107] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [108] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [109] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(369),
  },
  {
    /* [110] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [111] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [112] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [113] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(371),
  },
  {
    /* [114] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(375),
  },
  {
    /* [115] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [116] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [117] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [118] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [119] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(373),
  },
  {
    /* [120] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [121] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [122] */
    /* usage */ core::ParameterUsage::kDdx,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [123] */
    /* usage */ core::ParameterUsage::kDdy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [124] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(365),
  },
  {
    /* [125] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [126] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [127] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [128] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [129] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(369),
  },
  {
    /* [130] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [131] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [132] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [133] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(371),
  },
  {
    /* [134] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(375),
  },
  {
    /* [135] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [136] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [137] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [138] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [139] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(466),
  },
  {
    /* [140] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [141] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [142] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [143] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [144] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(469),
  },
  {
    /* [145] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [146] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [147] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [148] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [149] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(125),
  },
  {
    /* [150] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [151] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(130),
  },
  {
    /* [152] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [153] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [154] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(42),
  },
  {
    /* [155] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [156] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(130),
  },
  {
    /* [157] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [158] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [159] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(135),
  },
  {
    /* [160] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [161] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(130),
  },
  {
    /* [162] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [163] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [164] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(140),
  },
  {
    /* [165] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [166] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(130),
  },
  {
    /* [167] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [168] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [169] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(48),
  },
  {
    /* [170] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [171] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(130),
  },
  {
    /* [172] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [173] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [174] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(54),
  },
  {
    /* [175] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [176] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(130),
  },
  {
    /* [177] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [178] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [179] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [180] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [181] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [182] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [183] */
    /* usage */ core::ParameterUsage::kComponent,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [184] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(351),
  },
  {
    /* [185] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [186] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [187] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(466),
  },
  {
    /* [188] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [189] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [190] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [191] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(468),
  },
  {
    /* [192] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(473),
  },
  {
    /* [193] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [194] */
    /* usage */ core::ParameterUsage::kDepthRef,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [195] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(365),
  },
  {
    /* [196] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [197] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [198] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(359),
  },
  {
    /* [199] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(369),
  },
  {
    /* [200] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [201] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [202] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(371),
  },
  {
    /* [203] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(373),
  },
  {
    /* [204] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [205] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [206] */
    /* usage */ core::ParameterUsage::kBias,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [207] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(363),
  },
  {
    /* [208] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [209] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [210] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [211] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(373),
  },
  {
    /* [212] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [213] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [214] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [215] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(468),
  },
  {
    /* [216] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [217] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(361),
  },
  {
    /* [218] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [219] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(304),
  },
  {
    /* [220] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [221] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(27),
  },
  {
    /* [222] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(335),
  },
  {
    /* [223] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(304),
  },
  {
    /* [224] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [225] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(27),
  },
  {
    /* [226] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(337),
  },
  {
    /* [227] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(304),
  },
  {
    /* [228] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [229] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(27),
  },
  {
    /* [230] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(339),
  },
  {
    /* [231] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(345),
  },
  {
    /* [232] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(325),
  },
  {
    /* [233] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [234] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(27),
  },
  {
    /* [235] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(467),
  },
  {
    /* [236] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [237] */
    /* usage */ core::ParameterUsage::kArrayIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [238] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [239] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(90),
  },
  {
    /* [240] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [241] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [242] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [243] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(6),
  },
  {
    /* [244] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [245] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [246] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [247] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(95),
  },
  {
    /* [248] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [249] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [250] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [251] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [252] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [253] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [254] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [255] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(12),
  },
  {
    /* [256] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [257] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [258] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [259] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(18),
  },
  {
    /* [260] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [261] */
    /* usage */ core::ParameterUsage::kColMajor,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [262] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [263] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(90),
  },
  {
    /* [264] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [265] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(85),
  },
  {
    /* [266] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [267] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(6),
  },
  {
    /* [268] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [269] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(85),
  },
  {
    /* [270] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [271] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(95),
  },
  {
    /* [272] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [273] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(85),
  },
  {
    /* [274] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [275] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(100),
  },
  {
    /* [276] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [277] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(85),
  },
  {
    /* [278] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [279] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(12),
  },
  {
    /* [280] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [281] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(85),
  },
  {
    /* [282] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [283] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(18),
  },
  {
    /* [284] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [285] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(85),
  },
  {
    /* [286] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [287] */
    /* usage */ core::ParameterUsage::kX,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [288] */
    /* usage */ core::ParameterUsage::kY,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [289] */
    /* usage */ core::ParameterUsage::kZ,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [290] */
    /* usage */ core::ParameterUsage::kW,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [291] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [292] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [293] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [294] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [295] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [296] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [297] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [298] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [299] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(357),
  },
  {
    /* [300] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(357),
  },
  {
    /* [301] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(357),
  },
  {
    /* [302] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(357),
  },
  {
    /* [303] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(253),
  },
  {
    /* [304] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(253),
  },
  {
    /* [305] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(253),
  },
  {
    /* [306] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [307] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [308] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [309] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [310] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [311] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [312] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [313] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [314] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(151),
  },
  {
    /* [315] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [316] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [317] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(250),
  },
  {
    /* [318] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(250),
  },
  {
    /* [319] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(471),
  },
  {
    /* [320] */
    /* usage */ core::ParameterUsage::kSampler,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(472),
  },
  {
    /* [321] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [322] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(298),
  },
  {
    /* [323] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [324] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(335),
  },
  {
    /* [325] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(301),
  },
  {
    /* [326] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [327] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(335),
  },
  {
    /* [328] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(307),
  },
  {
    /* [329] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [330] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(335),
  },
  {
    /* [331] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(310),
  },
  {
    /* [332] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [333] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(335),
  },
  {
    /* [334] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(298),
  },
  {
    /* [335] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [336] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(337),
  },
  {
    /* [337] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(301),
  },
  {
    /* [338] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [339] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(337),
  },
  {
    /* [340] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(307),
  },
  {
    /* [341] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [342] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(337),
  },
  {
    /* [343] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(310),
  },
  {
    /* [344] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [345] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(337),
  },
  {
    /* [346] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(298),
  },
  {
    /* [347] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [348] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(339),
  },
  {
    /* [349] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(301),
  },
  {
    /* [350] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [351] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(339),
  },
  {
    /* [352] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(307),
  },
  {
    /* [353] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [354] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(339),
  },
  {
    /* [355] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(310),
  },
  {
    /* [356] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [357] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(339),
  },
  {
    /* [358] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(341),
  },
  {
    /* [359] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [360] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [361] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(343),
  },
  {
    /* [362] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(325),
  },
  {
    /* [363] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [364] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(349),
  },
  {
    /* [365] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(379),
  },
  {
    /* [366] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [367] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(355),
  },
  {
    /* [368] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(325),
  },
  {
    /* [369] */
    /* usage */ core::ParameterUsage::kSampleIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [370] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(466),
  },
  {
    /* [371] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [372] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [373] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(470),
  },
  {
    /* [374] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [375] */
    /* usage */ core::ParameterUsage::kSampleIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [376] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(110),
  },
  {
    /* [377] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [378] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [379] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(24),
  },
  {
    /* [380] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [381] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [382] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(115),
  },
  {
    /* [383] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [384] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [385] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(120),
  },
  {
    /* [386] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [387] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [388] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(30),
  },
  {
    /* [389] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [390] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [391] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(36),
  },
  {
    /* [392] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [393] */
    /* usage */ core::ParameterUsage::kStride,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [394] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(165),
  },
  {
    /* [395] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(170),
  },
  {
    /* [396] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(160),
  },
  {
    /* [397] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(185),
  },
  {
    /* [398] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(46),
  },
  {
    /* [399] */
    /* usage */ core::ParameterUsage::kS,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(10),
  },
  {
    /* [400] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(215),
  },
  {
    /* [401] */
    /* usage */ core::ParameterUsage::kOffset,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(27),
  },
  {
    /* [402] */
    /* usage */ core::ParameterUsage::kS,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(46),
  },
  {
    /* [403] */
    /* usage */ core::ParameterUsage::kXy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [404] */
    /* usage */ core::ParameterUsage::kZ,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [405] */
    /* usage */ core::ParameterUsage::kW,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [406] */
    /* usage */ core::ParameterUsage::kX,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [407] */
    /* usage */ core::ParameterUsage::kYz,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [408] */
    /* usage */ core::ParameterUsage::kW,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [409] */
    /* usage */ core::ParameterUsage::kX,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [410] */
    /* usage */ core::ParameterUsage::kY,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [411] */
    /* usage */ core::ParameterUsage::kZw,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [412] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [413] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [414] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [415] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(277),
  },
  {
    /* [416] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(341),
  },
  {
    /* [417] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [418] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(343),
  },
  {
    /* [419] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [420] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(345),
  },
  {
    /* [421] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [422] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(349),
  },
  {
    /* [423] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [424] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(351),
  },
  {
    /* [425] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [426] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(353),
  },
  {
    /* [427] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [428] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(466),
  },
  {
    /* [429] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [430] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(467),
  },
  {
    /* [431] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [432] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(468),
  },
  {
    /* [433] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [434] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(469),
  },
  {
    /* [435] */
    /* usage */ core::ParameterUsage::kLevel,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [436] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(471),
  },
  {
    /* [437] */
    /* usage */ core::ParameterUsage::kCoords,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [438] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(0),
  },
  {
    /* [439] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(3),
  },
  {
    /* [440] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [441] */
    /* usage */ core::ParameterUsage::kSourceLaneIndex,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [442] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [443] */
    /* usage */ core::ParameterUsage::kSourceLaneIndex,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [444] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [445] */
    /* usage */ core::ParameterUsage::kSourceLaneIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [446] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [447] */
    /* usage */ core::ParameterUsage::kSourceLaneIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [448] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [449] */
    /* usage */ core::ParameterUsage::kMask,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [450] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [451] */
    /* usage */ core::ParameterUsage::kMask,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [452] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [453] */
    /* usage */ core::ParameterUsage::kDelta,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [454] */
    /* usage */ core::ParameterUsage::kValue,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [455] */
    /* usage */ core::ParameterUsage::kDelta,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [456] */
    /* usage */ core::ParameterUsage::kE,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [457] */
    /* usage */ core::ParameterUsage::kId,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [458] */
    /* usage */ core::ParameterUsage::kE,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(247),
  },
  {
    /* [459] */
    /* usage */ core::ParameterUsage::kId,
    /* is_const */ true,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [460] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(150),
  },
  {
    /* [461] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(155),
  },
  {
    /* [462] */
    /* usage */ core::ParameterUsage::kM,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(130),
  },
  {
    /* [463] */
    /* usage */ core::ParameterUsage::kS,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [464] */
    /* usage */ core::ParameterUsage::kM,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(175),
  },
  {
    /* [465] */
    /* usage */ core::ParameterUsage::kS,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(15),
  },
  {
    /* [466] */
    /* usage */ core::ParameterUsage::kM,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(180),
  },
  {
    /* [467] */
    /* usage */ core::ParameterUsage::kS,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(4),
  },
  {
    /* [468] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(253),
  },
  {
    /* [469] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [470] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(253),
  },
  {
    /* [471] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(265),
  },
  {
    /* [472] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(231),
  },
  {
    /* [473] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(231),
  },
  {
    /* [474] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [475] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(231),
  },
  {
    /* [476] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(253),
  },
  {
    /* [477] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(313),
  },
  {
    /* [478] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(231),
  },
  {
    /* [479] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(239),
  },
  {
    /* [480] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(243),
  },
  {
    /* [481] */
    /* usage */ core::ParameterUsage::kXy,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [482] */
    /* usage */ core::ParameterUsage::kZw,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(377),
  },
  {
    /* [483] */
    /* usage */ core::ParameterUsage::kXyz,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [484] */
    /* usage */ core::ParameterUsage::kW,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [485] */
    /* usage */ core::ParameterUsage::kX,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(61),
  },
  {
    /* [486] */
    /* usage */ core::ParameterUsage::kZyw,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(327),
  },
  {
    /* [487] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(60),
  },
  {
    /* [488] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(65),
  },
  {
    /* [489] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(70),
  },
  {
    /* [490] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(5),
  },
  {
    /* [491] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(270),
  },
  {
    /* [492] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(319),
  },
  {
    /* [493] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(323),
  },
  {
    /* [494] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(259),
  },
  {
    /* [495] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(262),
  },
  {
    /* [496] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(268),
  },
  {
    /* [497] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(325),
  },
  {
    /* [498] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(195),
  },
  {
    /* [499] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(273),
  },
  {
    /* [500] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(271),
  },
  {
    /* [501] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(333),
  },
  {
    /* [502] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(335),
  },
  {
    /* [503] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(337),
  },
  {
    /* [504] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(339),
  },
  {
    /* [505] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(203),
  },
  {
    /* [506] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(207),
  },
  {
    /* [507] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(75),
  },
  {
    /* [508] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(283),
  },
  {
    /* [509] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(286),
  },
  {
    /* [510] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(289),
  },
  {
    /* [511] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(292),
  },
  {
    /* [512] */
    /* usage */ core::ParameterUsage::kTexture,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(295),
  },
  {
    /* [513] */
    /* usage */ core::ParameterUsage::kInputAttachment,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(381),
  },
  {
    /* [514] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(190),
  },
  {
    /* [515] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(219),
  },
  {
    /* [516] */
    /* usage */ core::ParameterUsage::kIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(9),
  },
  {
    /* [517] */
    /* usage */ core::ParameterUsage::kIndex,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(45),
  },
  {
    /* [518] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(227),
  },
  {
    /* [519] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(223),
  },
  {
    /* [520] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(15),
  },
  {
    /* [521] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(379),
  },
  {
    /* [522] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(405),
  },
  {
    /* [523] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(407),
  },
  {
    /* [524] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(409),
  },
  {
    /* [525] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(411),
  },
  {
    /* [526] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(413),
  },
  {
    /* [527] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(415),
  },
  {
    /* [528] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(417),
  },
  {
    /* [529] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(208),
  },
  {
    /* [530] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(419),
  },
  {
    /* [531] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(421),
  },
  {
    /* [532] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(423),
  },
  {
    /* [533] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(425),
  },
  {
    /* [534] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(427),
  },
  {
    /* [535] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(429),
  },
  {
    /* [536] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(431),
  },
  {
    /* [537] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(433),
  },
  {
    /* [538] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(435),
  },
  {
    /* [539] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(437),
  },
  {
    /* [540] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(439),
  },
  {
    /* [541] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(441),
  },
  {
    /* [542] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(443),
  },
  {
    /* [543] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(445),
  },
  {
    /* [544] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(447),
  },
  {
    /* [545] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(449),
  },
  {
    /* [546] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(451),
  },
  {
    /* [547] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(453),
  },
  {
    /* [548] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(455),
  },
  {
    /* [549] */
    /* usage */ core::ParameterUsage::kNone,
    /* is_const */ false,
    /* matcher_indices */ MatcherIndicesIndex(457),
  },
};

static_assert(ParameterIndex::CanIndex(kParameters),
              "ParameterIndex is not large enough to index kParameters");

constexpr TemplateInfo kTemplates[] = {
  {
    /* [0] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(105),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [1] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [2] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [3] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(475),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [4] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [5] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [6] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [7] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [8] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [9] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(105),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [10] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [11] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [12] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(156),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [13] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [14] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [15] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [16] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [17] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [18] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(105),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [19] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [20] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [21] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(146),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [22] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [23] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [24] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [25] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [26] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [27] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(85),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [28] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [29] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(475),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [30] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [31] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [32] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [33] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [34] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [35] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(85),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [36] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [37] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(156),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [38] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [39] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [40] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [41] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [42] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [43] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(85),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [44] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [45] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(146),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [46] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [47] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [48] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [49] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [50] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [51] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [52] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [53] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(475),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [54] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [55] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [56] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [57] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [58] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [59] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [60] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [61] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(156),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [62] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [63] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [64] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [65] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [66] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [67] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [68] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [69] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(146),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [70] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [71] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [72] */
    /* name */ "AC",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [73] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [74] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [75] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(105),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [76] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [77] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [78] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(475),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [79] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [80] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [81] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [82] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(105),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [83] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [84] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [85] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(156),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [86] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [87] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [88] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [89] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(105),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [90] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [91] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [92] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(146),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [93] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [94] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [95] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [96] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(85),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [97] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [98] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(475),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [99] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [100] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [101] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [102] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(85),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [103] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [104] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(156),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [105] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [106] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [107] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [108] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(85),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [109] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [110] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(146),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [111] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [112] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [113] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(3),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [114] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [115] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [116] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(475),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [117] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [118] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [119] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [120] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [121] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [122] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(156),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [123] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [124] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [125] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [126] */
    /* name */ "Majorness",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kmajorness,
  },
  {
    /* [127] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [128] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(146),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [129] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [130] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [131] */
    /* name */ "AM",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [132] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [133] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [134] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(423),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [135] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [136] */
    /* name */ "O",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [137] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [138] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [139] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [140] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [141] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [142] */
    /* name */ "O",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [143] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [144] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(476),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [145] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [146] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [147] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [148] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [149] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(273),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [150] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(273),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [151] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [152] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [153] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [154] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(477),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [155] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(478),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [156] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [157] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [158] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [159] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [160] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [161] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [162] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [163] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [164] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [165] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(476),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [166] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [167] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [168] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [169] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(273),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [170] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(273),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [171] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [172] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [173] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [174] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(478),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [175] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(477),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [176] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [177] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [178] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [179] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [180] */
    /* name */ "TR",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [181] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [182] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [183] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [184] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [185] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [186] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(423),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [187] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [188] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [189] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [190] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [191] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [192] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [193] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [194] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [195] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [196] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(423),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [197] */
    /* name */ "O",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [198] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [199] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [200] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [201] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [202] */
    /* name */ "O",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [203] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [204] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [205] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(270),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [206] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [207] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [208] */
    /* name */ "L",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [209] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [210] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(474),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [211] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [212] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [213] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [214] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(15),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [215] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [216] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [217] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [218] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [219] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [220] */
    /* name */ "L",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [221] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [222] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(270),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [223] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [224] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [225] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [226] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(474),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [227] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [228] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [229] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [230] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(15),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [231] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [232] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [233] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [234] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(270),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [235] */
    /* name */ "RW",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [236] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [237] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [238] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(474),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [239] */
    /* name */ "RW",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [240] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [241] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [242] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(15),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [243] */
    /* name */ "RW",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [244] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [245] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [246] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(475),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [247] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [248] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [249] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [250] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [251] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(423),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [252] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [253] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [254] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [255] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [256] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [257] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(460),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [258] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [259] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [260] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [261] */
    /* name */ "AS",
    /* matcher_indices */ MatcherIndicesIndex(423),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [262] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [263] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [264] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(256),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [265] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [266] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [267] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [268] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(460),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [269] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(462),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [270] */
    /* name */ "M",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [271] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [272] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(460),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [273] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [274] */
    /* name */ "M",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [275] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [276] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [277] */
    /* name */ "L",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [278] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [279] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [280] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [281] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [282] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(475),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [283] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [284] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ksubgroup_matrix_kind,
  },
  {
    /* [285] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [286] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [287] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(385),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [288] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [289] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [290] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(387),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [291] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [292] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [293] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(389),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [294] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [295] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [296] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(391),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [297] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [298] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [299] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(393),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [300] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [301] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [302] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(395),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [303] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [304] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [305] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(397),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [306] */
    /* name */ "K",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [307] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [308] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [309] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [310] */
    /* name */ "A",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [311] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(460),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [312] */
    /* name */ "C",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [313] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [314] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [315] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(459),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [316] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [317] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [318] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(407),
    /* kind */ TemplateInfo::Kind::kaddress_space,
  },
  {
    /* [319] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [320] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [321] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [322] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [323] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(262),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [324] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [325] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(463),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [326] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [327] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(464),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [328] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [329] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(479),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [330] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(265),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [331] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [332] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(319),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [333] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [334] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(323),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [335] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [336] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(258),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [337] */
    /* name */ "L",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [338] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [339] */
    /* name */ "R",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [340] */
    /* name */ "F",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::ktexel_format,
  },
  {
    /* [341] */
    /* name */ "W",
    /* matcher_indices */ MatcherIndicesIndex(327),
    /* kind */ TemplateInfo::Kind::kaccess,
  },
  {
    /* [342] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(466),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [343] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [344] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(467),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [345] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [346] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(468),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [347] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [348] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(469),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [349] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [350] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(470),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [351] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [352] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(472),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [353] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [354] */
    /* name */ "S",
    /* matcher_indices */ MatcherIndicesIndex(473),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [355] */
    /* name */ "I",
    /* matcher_indices */ MatcherIndicesIndex(461),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [356] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(480),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [357] */
    /* name */ "N",
    /* matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* kind */ TemplateInfo::Kind::kNumber,
  },
  {
    /* [358] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(273),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [359] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(483),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [360] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(5),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [361] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(484),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [362] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(15),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [363] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(481),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [364] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(4),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [365] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(482),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [366] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(151),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [367] */
    /* name */ "U",
    /* matcher_indices */ MatcherIndicesIndex(485),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [368] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(321),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [369] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(465),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [370] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(481),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [371] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(482),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [372] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(483),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [373] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(484),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [374] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(485),
    /* kind */ TemplateInfo::Kind::kType,
  },
  {
    /* [375] */
    /* name */ "T",
    /* matcher_indices */ MatcherIndicesIndex(476),
    /* kind */ TemplateInfo::Kind::kType,
  },
};

static_assert(TemplateIndex::CanIndex(kTemplates),
              "TemplateIndex is not large enough to index kTemplates");

constexpr core::constant::Eval::Function kConstEvalFunctions[] = {
  /* [0] */ &core::constant::Eval::abs,
  /* [1] */ &core::constant::Eval::acos,
  /* [2] */ &core::constant::Eval::acosh,
  /* [3] */ &core::constant::Eval::all,
  /* [4] */ &core::constant::Eval::any,
  /* [5] */ &core::constant::Eval::asin,
  /* [6] */ &core::constant::Eval::asinh,
  /* [7] */ &core::constant::Eval::atan,
  /* [8] */ &core::constant::Eval::atan2,
  /* [9] */ &core::constant::Eval::atanh,
  /* [10] */ &core::constant::Eval::bitcast,
  /* [11] */ &core::constant::Eval::ceil,
  /* [12] */ &core::constant::Eval::clamp,
  /* [13] */ &core::constant::Eval::cos,
  /* [14] */ &core::constant::Eval::cosh,
  /* [15] */ &core::constant::Eval::countLeadingZeros,
  /* [16] */ &core::constant::Eval::countOneBits,
  /* [17] */ &core::constant::Eval::countTrailingZeros,
  /* [18] */ &core::constant::Eval::cross,
  /* [19] */ &core::constant::Eval::degrees,
  /* [20] */ &core::constant::Eval::determinant,
  /* [21] */ &core::constant::Eval::distance,
  /* [22] */ &core::constant::Eval::dot,
  /* [23] */ &core::constant::Eval::dot4I8Packed,
  /* [24] */ &core::constant::Eval::dot4U8Packed,
  /* [25] */ &core::constant::Eval::exp,
  /* [26] */ &core::constant::Eval::exp2,
  /* [27] */ &core::constant::Eval::extractBits,
  /* [28] */ &core::constant::Eval::faceForward,
  /* [29] */ &core::constant::Eval::firstLeadingBit,
  /* [30] */ &core::constant::Eval::firstTrailingBit,
  /* [31] */ &core::constant::Eval::floor,
  /* [32] */ &core::constant::Eval::fma,
  /* [33] */ &core::constant::Eval::fract,
  /* [34] */ &core::constant::Eval::frexp,
  /* [35] */ &core::constant::Eval::insertBits,
  /* [36] */ &core::constant::Eval::inverseSqrt,
  /* [37] */ &core::constant::Eval::ldexp,
  /* [38] */ &core::constant::Eval::length,
  /* [39] */ &core::constant::Eval::log,
  /* [40] */ &core::constant::Eval::log2,
  /* [41] */ &core::constant::Eval::max,
  /* [42] */ &core::constant::Eval::min,
  /* [43] */ &core::constant::Eval::mix,
  /* [44] */ &core::constant::Eval::modf,
  /* [45] */ &core::constant::Eval::normalize,
  /* [46] */ &core::constant::Eval::pack2x16float,
  /* [47] */ &core::constant::Eval::pack2x16snorm,
  /* [48] */ &core::constant::Eval::pack2x16unorm,
  /* [49] */ &core::constant::Eval::pack4x8snorm,
  /* [50] */ &core::constant::Eval::pack4x8unorm,
  /* [51] */ &core::constant::Eval::pack4xI8,
  /* [52] */ &core::constant::Eval::pack4xU8,
  /* [53] */ &core::constant::Eval::pack4xI8Clamp,
  /* [54] */ &core::constant::Eval::pack4xU8Clamp,
  /* [55] */ &core::constant::Eval::pow,
  /* [56] */ &core::constant::Eval::quantizeToF16,
  /* [57] */ &core::constant::Eval::radians,
  /* [58] */ &core::constant::Eval::reflect,
  /* [59] */ &core::constant::Eval::refract,
  /* [60] */ &core::constant::Eval::reverseBits,
  /* [61] */ &core::constant::Eval::round,
  /* [62] */ &core::constant::Eval::saturate,
  /* [63] */ &core::constant::Eval::select_bool,
  /* [64] */ &core::constant::Eval::select_boolvec,
  /* [65] */ &core::constant::Eval::sign,
  /* [66] */ &core::constant::Eval::sin,
  /* [67] */ &core::constant::Eval::sinh,
  /* [68] */ &core::constant::Eval::smoothstep,
  /* [69] */ &core::constant::Eval::sqrt,
  /* [70] */ &core::constant::Eval::step,
  /* [71] */ &core::constant::Eval::tan,
  /* [72] */ &core::constant::Eval::tanh,
  /* [73] */ &core::constant::Eval::transpose,
  /* [74] */ &core::constant::Eval::trunc,
  /* [75] */ &core::constant::Eval::unpack2x16float,
  /* [76] */ &core::constant::Eval::unpack2x16snorm,
  /* [77] */ &core::constant::Eval::unpack2x16unorm,
  /* [78] */ &core::constant::Eval::unpack4x8snorm,
  /* [79] */ &core::constant::Eval::unpack4x8unorm,
  /* [80] */ &core::constant::Eval::unpack4xI8,
  /* [81] */ &core::constant::Eval::unpack4xU8,
  /* [82] */ &core::constant::Eval::Not,
  /* [83] */ &core::constant::Eval::Complement,
  /* [84] */ &core::constant::Eval::UnaryMinus,
  /* [85] */ &core::constant::Eval::Plus,
  /* [86] */ &core::constant::Eval::Minus,
  /* [87] */ &core::constant::Eval::Multiply,
  /* [88] */ &core::constant::Eval::MultiplyMatVec,
  /* [89] */ &core::constant::Eval::MultiplyVecMat,
  /* [90] */ &core::constant::Eval::MultiplyMatMat,
  /* [91] */ &core::constant::Eval::Divide,
  /* [92] */ &core::constant::Eval::Modulo,
  /* [93] */ &core::constant::Eval::Xor,
  /* [94] */ &core::constant::Eval::And,
  /* [95] */ &core::constant::Eval::Or,
  /* [96] */ &core::constant::Eval::LogicalAnd,
  /* [97] */ &core::constant::Eval::LogicalOr,
  /* [98] */ &core::constant::Eval::Equal,
  /* [99] */ &core::constant::Eval::NotEqual,
  /* [100] */ &core::constant::Eval::LessThan,
  /* [101] */ &core::constant::Eval::GreaterThan,
  /* [102] */ &core::constant::Eval::LessThanEqual,
  /* [103] */ &core::constant::Eval::GreaterThanEqual,
  /* [104] */ &core::constant::Eval::ShiftLeft,
  /* [105] */ &core::constant::Eval::ShiftRight,
  /* [106] */ &core::constant::Eval::Zero,
  /* [107] */ &core::constant::Eval::Identity,
  /* [108] */ &core::constant::Eval::Conv,
  /* [109] */ &core::constant::Eval::VecSplat,
  /* [110] */ &core::constant::Eval::VecInitS,
  /* [111] */ &core::constant::Eval::VecInitM,
  /* [112] */ &core::constant::Eval::MatInitS,
  /* [113] */ &core::constant::Eval::MatInitV,
};

static_assert(ConstEvalFunctionIndex::CanIndex(kConstEvalFunctions),
              "ConstEvalFunctionIndex is not large enough to index kConstEvalFunctions");

constexpr OverloadInfo kOverloads[] = {
  {
    /* [0] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(275),
    /* parameters */ ParameterIndex(358),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [1] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(275),
    /* parameters */ ParameterIndex(361),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [2] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(231),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [3] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(275),
    /* parameters */ ParameterIndex(364),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [4] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(278),
    /* parameters */ ParameterIndex(367),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [5] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(276),
    /* parameters */ ParameterIndex(370),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [6] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(218),
    /* parameters */ ParameterIndex(235),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [7] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(279),
    /* parameters */ ParameterIndex(373),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [8] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(204),
    /* parameters */ ParameterIndex(436),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [9] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(221),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [10] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(225),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [11] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(229),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [12] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(221),
    /* parameters */ ParameterIndex(325),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [13] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(225),
    /* parameters */ ParameterIndex(325),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [14] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(229),
    /* parameters */ ParameterIndex(325),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [15] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(221),
    /* parameters */ ParameterIndex(219),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [16] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(225),
    /* parameters */ ParameterIndex(219),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [17] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(229),
    /* parameters */ ParameterIndex(219),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [18] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(221),
    /* parameters */ ParameterIndex(328),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [19] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(225),
    /* parameters */ ParameterIndex(328),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [20] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(229),
    /* parameters */ ParameterIndex(328),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [21] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(221),
    /* parameters */ ParameterIndex(331),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [22] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(225),
    /* parameters */ ParameterIndex(331),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [23] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(229),
    /* parameters */ ParameterIndex(331),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [24] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(233),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [25] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(237),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [26] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(241),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [27] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(233),
    /* parameters */ ParameterIndex(325),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [28] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(237),
    /* parameters */ ParameterIndex(325),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [29] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(241),
    /* parameters */ ParameterIndex(325),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [30] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(233),
    /* parameters */ ParameterIndex(219),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [31] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(237),
    /* parameters */ ParameterIndex(219),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [32] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(241),
    /* parameters */ ParameterIndex(219),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [33] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(233),
    /* parameters */ ParameterIndex(328),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [34] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(237),
    /* parameters */ ParameterIndex(328),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [35] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(241),
    /* parameters */ ParameterIndex(328),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [36] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(233),
    /* parameters */ ParameterIndex(331),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [37] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(237),
    /* parameters */ ParameterIndex(331),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [38] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(241),
    /* parameters */ ParameterIndex(331),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [39] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(358),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [40] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(336),
    /* parameters */ ParameterIndex(416),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [41] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(75),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [42] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(336),
    /* parameters */ ParameterIndex(418),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [43] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(27),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [44] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(336),
    /* parameters */ ParameterIndex(420),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [45] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(364),
    /* return_matcher_indices */ MatcherIndicesIndex(347),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [46] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(336),
    /* parameters */ ParameterIndex(422),
    /* return_matcher_indices */ MatcherIndicesIndex(347),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [47] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(184),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [48] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(336),
    /* parameters */ ParameterIndex(424),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [49] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(80),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [50] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(336),
    /* parameters */ ParameterIndex(426),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [51] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(367),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [52] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(89),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [53] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(208),
    /* parameters */ ParameterIndex(428),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [54] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [55] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(208),
    /* parameters */ ParameterIndex(430),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [56] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(191),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [57] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(208),
    /* parameters */ ParameterIndex(432),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [58] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(94),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [59] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(208),
    /* parameters */ ParameterIndex(434),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [60] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(373),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [61] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(338),
    /* parameters */ ParameterIndex(508),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [62] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(338),
    /* parameters */ ParameterIndex(509),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [63] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(338),
    /* parameters */ ParameterIndex(510),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [64] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(338),
    /* parameters */ ParameterIndex(511),
    /* return_matcher_indices */ MatcherIndicesIndex(347),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [65] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(340),
    /* parameters */ ParameterIndex(508),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [66] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(340),
    /* parameters */ ParameterIndex(509),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [67] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(340),
    /* parameters */ ParameterIndex(510),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [68] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(340),
    /* parameters */ ParameterIndex(511),
    /* return_matcher_indices */ MatcherIndicesIndex(347),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [69] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(338),
    /* parameters */ ParameterIndex(512),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [70] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(340),
    /* parameters */ ParameterIndex(512),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [71] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(319),
    /* return_matcher_indices */ MatcherIndicesIndex(3),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [72] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(403),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [73] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [74] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(299),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [75] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(299),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [76] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(109),
  },
  {
    /* [77] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(109),
  },
  {
    /* [78] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(287),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(110),
  },
  {
    /* [79] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(287),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(110),
  },
  {
    /* [80] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(403),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [81] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(406),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [82] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(409),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [83] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(481),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [84] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(483),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [85] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(485),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [86] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(403),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [87] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(406),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [88] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(409),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [89] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(481),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [90] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(483),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [91] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(485),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [92] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(358),
    /* parameters */ ParameterIndex(522),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [93] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(360),
    /* parameters */ ParameterIndex(522),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [94] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(362),
    /* parameters */ ParameterIndex(522),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [95] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(364),
    /* parameters */ ParameterIndex(522),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [96] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(366),
    /* parameters */ ParameterIndex(522),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [97] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(401),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [98] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [99] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [100] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [101] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(109),
  },
  {
    /* [102] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(109),
  },
  {
    /* [103] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(287),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(110),
  },
  {
    /* [104] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(287),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(110),
  },
  {
    /* [105] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(403),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [106] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(406),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [107] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(403),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [108] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(406),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(111),
  },
  {
    /* [109] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(358),
    /* parameters */ ParameterIndex(521),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [110] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(360),
    /* parameters */ ParameterIndex(521),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [111] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(362),
    /* parameters */ ParameterIndex(521),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [112] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(364),
    /* parameters */ ParameterIndex(521),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [113] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(366),
    /* parameters */ ParameterIndex(521),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [114] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(207),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [115] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(44),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [116] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(195),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [117] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(19),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [118] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(99),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [119] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(50),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [120] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(199),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [121] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(119),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [122] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(56),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [123] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(139),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [124] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(187),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [125] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(68),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [126] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(84),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [127] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(215),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [128] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(144),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [129] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(207),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [130] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(124),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [131] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(124),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [132] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(62),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [133] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(62),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [134] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(129),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [135] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(129),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [136] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(211),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [137] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(134),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [138] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(208),
    /* parameters */ ParameterIndex(139),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [139] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(208),
    /* parameters */ ParameterIndex(139),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [140] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(68),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [141] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(68),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [142] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(208),
    /* parameters */ ParameterIndex(215),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [143] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(144),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [144] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(204),
    /* parameters */ ParameterIndex(322),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [145] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(204),
    /* parameters */ ParameterIndex(325),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [146] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(204),
    /* parameters */ ParameterIndex(219),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [147] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(204),
    /* parameters */ ParameterIndex(328),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [148] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(233),
    /* parameters */ ParameterIndex(331),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [149] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(209),
    /* parameters */ ParameterIndex(334),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [150] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(209),
    /* parameters */ ParameterIndex(337),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [151] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(209),
    /* parameters */ ParameterIndex(223),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [152] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(209),
    /* parameters */ ParameterIndex(340),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [153] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(237),
    /* parameters */ ParameterIndex(343),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [154] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(213),
    /* parameters */ ParameterIndex(346),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [155] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(213),
    /* parameters */ ParameterIndex(349),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [156] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(213),
    /* parameters */ ParameterIndex(227),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [157] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(213),
    /* parameters */ ParameterIndex(352),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [158] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(241),
    /* parameters */ ParameterIndex(355),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [159] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(287),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [160] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(290),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [161] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(293),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [162] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(296),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [163] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(299),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [164] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(302),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [165] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(305),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [166] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(342),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [167] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(344),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [168] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(346),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [169] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(348),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [170] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(350),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [171] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(352),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [172] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(354),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [173] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(287),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [174] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(290),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [175] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(293),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [176] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(296),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [177] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(299),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [178] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(302),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [179] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(305),
    /* parameters */ ParameterIndex(516),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [180] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(342),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [181] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(344),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [182] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(346),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [183] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(348),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [184] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(350),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [185] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(352),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [186] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(354),
    /* parameters */ ParameterIndex(517),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [187] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(399),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [188] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [189] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(291),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [190] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(291),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [191] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(109),
  },
  {
    /* [192] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(109),
  },
  {
    /* [193] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(287),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(110),
  },
  {
    /* [194] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(287),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(110),
  },
  {
    /* [195] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(358),
    /* parameters */ ParameterIndex(497),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [196] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(360),
    /* parameters */ ParameterIndex(497),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [197] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(362),
    /* parameters */ ParameterIndex(497),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [198] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(364),
    /* parameters */ ParameterIndex(497),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [199] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(366),
    /* parameters */ ParameterIndex(497),
    /* return_matcher_indices */ MatcherIndicesIndex(377),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [200] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(74),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [201] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(74),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [202] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(26),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [203] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(26),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [204] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(183),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [205] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(79),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [206] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(139),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [207] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(187),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [208] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(68),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [209] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(84),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [210] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(215),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [211] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(144),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [212] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(96),
    /* parameters */ ParameterIndex(239),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [213] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 8,
    /* templates */ TemplateIndex(27),
    /* parameters */ ParameterIndex(243),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [214] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(102),
    /* parameters */ ParameterIndex(247),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [215] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(108),
    /* parameters */ ParameterIndex(251),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [216] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 8,
    /* templates */ TemplateIndex(35),
    /* parameters */ ParameterIndex(255),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [217] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 8,
    /* templates */ TemplateIndex(43),
    /* parameters */ ParameterIndex(259),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [218] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 2,
    /* num_templates   */ 7,
    /* templates */ TemplateIndex(75),
    /* parameters */ ParameterIndex(376),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [219] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 2,
    /* num_templates   */ 9,
    /* templates */ TemplateIndex(0),
    /* parameters */ ParameterIndex(379),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [220] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 2,
    /* num_templates   */ 7,
    /* templates */ TemplateIndex(82),
    /* parameters */ ParameterIndex(382),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [221] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 2,
    /* num_templates   */ 7,
    /* templates */ TemplateIndex(89),
    /* parameters */ ParameterIndex(385),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [222] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 2,
    /* num_templates   */ 9,
    /* templates */ TemplateIndex(9),
    /* parameters */ ParameterIndex(388),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [223] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 2,
    /* num_templates   */ 9,
    /* templates */ TemplateIndex(18),
    /* parameters */ ParameterIndex(391),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [224] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(115),
    /* parameters */ ParameterIndex(149),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [225] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 7,
    /* templates */ TemplateIndex(52),
    /* parameters */ ParameterIndex(154),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [226] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(121),
    /* parameters */ ParameterIndex(159),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [227] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(127),
    /* parameters */ ParameterIndex(164),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [228] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 7,
    /* templates */ TemplateIndex(60),
    /* parameters */ ParameterIndex(169),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [229] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 7,
    /* templates */ TemplateIndex(68),
    /* parameters */ ParameterIndex(174),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [230] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(114),
    /* parameters */ ParameterIndex(263),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [231] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 8,
    /* templates */ TemplateIndex(51),
    /* parameters */ ParameterIndex(267),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [232] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(120),
    /* parameters */ ParameterIndex(271),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [233] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(126),
    /* parameters */ ParameterIndex(275),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [234] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 8,
    /* templates */ TemplateIndex(59),
    /* parameters */ ParameterIndex(279),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [235] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 8,
    /* templates */ TemplateIndex(67),
    /* parameters */ ParameterIndex(283),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [236] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(490),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [237] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(364),
    /* parameters */ ParameterIndex(491),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [238] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(492),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [239] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(368),
    /* parameters */ ParameterIndex(493),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [240] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(321),
    /* parameters */ ParameterIndex(311),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [241] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(264),
    /* parameters */ ParameterIndex(494),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [242] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(323),
    /* parameters */ ParameterIndex(495),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [243] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(330),
    /* parameters */ ParameterIndex(496),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [244] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(332),
    /* parameters */ ParameterIndex(311),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [245] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(334),
    /* parameters */ ParameterIndex(497),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(10),
  },
  {
    /* [246] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(358),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [247] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(75),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [248] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(27),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [249] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(364),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [250] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(184),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [251] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(80),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [252] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(89),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [253] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [254] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(191),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [255] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(94),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [256] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(87),
  },
  {
    /* [257] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(87),
  },
  {
    /* [258] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(468),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(87),
  },
  {
    /* [259] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(469),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(87),
  },
  {
    /* [260] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(272),
    /* parameters */ ParameterIndex(474),
    /* return_matcher_indices */ MatcherIndicesIndex(231),
    /* const_eval_fn */ ConstEvalFunctionIndex(87),
  },
  {
    /* [261] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(272),
    /* parameters */ ParameterIndex(473),
    /* return_matcher_indices */ MatcherIndicesIndex(231),
    /* const_eval_fn */ ConstEvalFunctionIndex(87),
  },
  {
    /* [262] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(311),
    /* parameters */ ParameterIndex(475),
    /* return_matcher_indices */ MatcherIndicesIndex(313),
    /* const_eval_fn */ ConstEvalFunctionIndex(88),
  },
  {
    /* [263] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(311),
    /* parameters */ ParameterIndex(477),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(89),
  },
  {
    /* [264] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(479),
    /* return_matcher_indices */ MatcherIndicesIndex(235),
    /* const_eval_fn */ ConstEvalFunctionIndex(90),
  },
  {
    /* [265] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [266] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(523),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [267] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(523),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [268] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [269] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [270] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(291),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [271] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(291),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [272] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(524),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [273] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(525),
    /* return_matcher_indices */ MatcherIndicesIndex(407),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [274] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [275] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(526),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [276] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(526),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [277] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [278] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [279] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [280] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [281] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(527),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [282] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(528),
    /* return_matcher_indices */ MatcherIndicesIndex(413),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [283] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [284] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(529),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [285] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(529),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [286] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 8,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [287] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 8,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [288] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(299),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [289] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(299),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [290] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(530),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [291] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(531),
    /* return_matcher_indices */ MatcherIndicesIndex(208),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [292] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [293] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(532),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [294] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(532),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [295] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [296] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [297] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(291),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [298] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(291),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [299] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(533),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [300] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(534),
    /* return_matcher_indices */ MatcherIndicesIndex(423),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [301] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [302] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(535),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [303] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(535),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [304] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 9,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [305] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 9,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [306] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [307] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [308] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(536),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [309] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(537),
    /* return_matcher_indices */ MatcherIndicesIndex(429),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [310] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [311] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(538),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [312] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(538),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [313] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 12,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [314] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 12,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [315] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(299),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [316] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(299),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [317] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(539),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [318] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(540),
    /* return_matcher_indices */ MatcherIndicesIndex(435),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [319] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [320] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(541),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [321] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(541),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [322] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 8,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [323] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 8,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [324] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(291),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [325] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(291),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [326] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(542),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [327] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(543),
    /* return_matcher_indices */ MatcherIndicesIndex(441),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [328] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [329] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(544),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [330] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(544),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [331] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 12,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [332] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 12,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [333] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [334] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [335] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(545),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [336] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(546),
    /* return_matcher_indices */ MatcherIndicesIndex(447),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [337] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [338] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(375),
    /* parameters */ ParameterIndex(547),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [339] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(547),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [340] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 16,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [341] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 16,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(112),
  },
  {
    /* [342] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(299),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [343] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(299),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(113),
  },
  {
    /* [344] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(145),
    /* parameters */ ParameterIndex(548),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [345] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(150),
    /* parameters */ ParameterIndex(549),
    /* return_matcher_indices */ MatcherIndicesIndex(453),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [346] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(104),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [347] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(104),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [348] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(38),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [349] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(38),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [350] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(109),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [351] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(109),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [352] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(203),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [353] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(114),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [354] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(44),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [355] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(44),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [356] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(19),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [357] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 7,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(19),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [358] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(50),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [359] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(50),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [360] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(119),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [361] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(56),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [362] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(89),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [363] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(89),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [364] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [365] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [366] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(191),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [367] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(94),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [368] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(27),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [369] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(80),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [370] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [371] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(94),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [372] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(338),
    /* parameters */ ParameterIndex(510),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [373] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(340),
    /* parameters */ ParameterIndex(510),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [374] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(89),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [375] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(89),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [376] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [377] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [378] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(191),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [379] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(94),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [380] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(89),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [381] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(89),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [382] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [383] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 6,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(32),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [384] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(191),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [385] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 5,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(207),
    /* parameters */ ParameterIndex(94),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [386] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(85),
  },
  {
    /* [387] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(85),
  },
  {
    /* [388] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(468),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(85),
  },
  {
    /* [389] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(469),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(85),
  },
  {
    /* [390] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(272),
    /* parameters */ ParameterIndex(472),
    /* return_matcher_indices */ MatcherIndicesIndex(231),
    /* const_eval_fn */ ConstEvalFunctionIndex(85),
  },
  {
    /* [391] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(86),
  },
  {
    /* [392] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(86),
  },
  {
    /* [393] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(468),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(86),
  },
  {
    /* [394] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(469),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(86),
  },
  {
    /* [395] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(272),
    /* parameters */ ParameterIndex(472),
    /* return_matcher_indices */ MatcherIndicesIndex(231),
    /* const_eval_fn */ ConstEvalFunctionIndex(86),
  },
  {
    /* [396] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(144),
    /* parameters */ ParameterIndex(460),
    /* return_matcher_indices */ MatcherIndicesIndex(145),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [397] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(149),
    /* parameters */ ParameterIndex(460),
    /* return_matcher_indices */ MatcherIndicesIndex(145),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [398] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(154),
    /* parameters */ ParameterIndex(460),
    /* return_matcher_indices */ MatcherIndicesIndex(145),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [399] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(159),
    /* parameters */ ParameterIndex(460),
    /* return_matcher_indices */ MatcherIndicesIndex(145),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [400] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(164),
    /* parameters */ ParameterIndex(394),
    /* return_matcher_indices */ MatcherIndicesIndex(160),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [401] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(169),
    /* parameters */ ParameterIndex(394),
    /* return_matcher_indices */ MatcherIndicesIndex(160),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [402] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(174),
    /* parameters */ ParameterIndex(394),
    /* return_matcher_indices */ MatcherIndicesIndex(160),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [403] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(179),
    /* parameters */ ParameterIndex(394),
    /* return_matcher_indices */ MatcherIndicesIndex(160),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [404] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(184),
    /* parameters */ ParameterIndex(397),
    /* return_matcher_indices */ MatcherIndicesIndex(211),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [405] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(189),
    /* parameters */ ParameterIndex(397),
    /* return_matcher_indices */ MatcherIndicesIndex(211),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [406] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(249),
    /* parameters */ ParameterIndex(400),
    /* return_matcher_indices */ MatcherIndicesIndex(211),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [407] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(253),
    /* parameters */ ParameterIndex(400),
    /* return_matcher_indices */ MatcherIndicesIndex(211),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [408] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(132),
    /* parameters */ ParameterIndex(397),
    /* return_matcher_indices */ MatcherIndicesIndex(211),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [409] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 6,
    /* templates */ TemplateIndex(138),
    /* parameters */ ParameterIndex(397),
    /* return_matcher_indices */ MatcherIndicesIndex(211),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [410] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(194),
    /* parameters */ ParameterIndex(400),
    /* return_matcher_indices */ MatcherIndicesIndex(211),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [411] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 1,
    /* num_templates   */ 5,
    /* templates */ TemplateIndex(199),
    /* parameters */ ParameterIndex(400),
    /* return_matcher_indices */ MatcherIndicesIndex(211),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [412] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(133),
    /* parameters */ ParameterIndex(514),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [413] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(139),
    /* parameters */ ParameterIndex(514),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [414] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(133),
    /* parameters */ ParameterIndex(515),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [415] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(139),
    /* parameters */ ParameterIndex(515),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [416] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(91),
  },
  {
    /* [417] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(91),
  },
  {
    /* [418] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(468),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(91),
  },
  {
    /* [419] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(469),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(91),
  },
  {
    /* [420] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(92),
  },
  {
    /* [421] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(92),
  },
  {
    /* [422] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(468),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(92),
  },
  {
    /* [423] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(469),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(92),
  },
  {
    /* [424] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(94),
  },
  {
    /* [425] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(135),
    /* parameters */ ParameterIndex(317),
    /* return_matcher_indices */ MatcherIndicesIndex(250),
    /* const_eval_fn */ ConstEvalFunctionIndex(94),
  },
  {
    /* [426] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(94),
  },
  {
    /* [427] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(94),
  },
  {
    /* [428] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(95),
  },
  {
    /* [429] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(135),
    /* parameters */ ParameterIndex(317),
    /* return_matcher_indices */ MatcherIndicesIndex(250),
    /* const_eval_fn */ ConstEvalFunctionIndex(95),
  },
  {
    /* [430] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(95),
  },
  {
    /* [431] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(95),
  },
  {
    /* [432] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(261),
    /* parameters */ ParameterIndex(487),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [433] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(319),
    /* parameters */ ParameterIndex(488),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [434] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(319),
    /* parameters */ ParameterIndex(489),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [435] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(43),
  },
  {
    /* [436] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(308),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(43),
  },
  {
    /* [437] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(309),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(43),
  },
  {
    /* [438] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(312),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(63),
  },
  {
    /* [439] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(304),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(63),
  },
  {
    /* [440] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(324),
    /* parameters */ ParameterIndex(315),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(64),
  },
  {
    /* [441] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 4,
    /* templates */ TemplateIndex(245),
    /* parameters */ ParameterIndex(462),
    /* return_matcher_indices */ MatcherIndicesIndex(130),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [442] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(284),
    /* parameters */ ParameterIndex(464),
    /* return_matcher_indices */ MatcherIndicesIndex(175),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [443] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(284),
    /* parameters */ ParameterIndex(466),
    /* return_matcher_indices */ MatcherIndicesIndex(180),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [444] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(15),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [445] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(520),
    /* return_matcher_indices */ MatcherIndicesIndex(15),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [446] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(370),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(15),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [447] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [448] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [449] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(371),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [450] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [451] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(499),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [452] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(372),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [453] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(5),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [454] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(490),
    /* return_matcher_indices */ MatcherIndicesIndex(5),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [455] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(373),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(5),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [456] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(106),
  },
  {
    /* [457] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(107),
  },
  {
    /* [458] */
    /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(374),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(108),
  },
  {
    /* [459] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(0),
  },
  {
    /* [460] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(314),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(0),
  },
  {
    /* [461] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(1),
  },
  {
    /* [462] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(1),
  },
  {
    /* [463] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(2),
  },
  {
    /* [464] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(2),
  },
  {
    /* [465] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(3),
  },
  {
    /* [466] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(135),
    /* parameters */ ParameterIndex(317),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(3),
  },
  {
    /* [467] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(4),
  },
  {
    /* [468] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(135),
    /* parameters */ ParameterIndex(317),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(4),
  },
  {
    /* [469] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(5),
  },
  {
    /* [470] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(5),
  },
  {
    /* [471] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(6),
  },
  {
    /* [472] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(6),
  },
  {
    /* [473] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(7),
  },
  {
    /* [474] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(7),
  },
  {
    /* [475] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(8),
  },
  {
    /* [476] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(272),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(8),
  },
  {
    /* [477] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(9),
  },
  {
    /* [478] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(9),
  },
  {
    /* [479] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(11),
  },
  {
    /* [480] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(11),
  },
  {
    /* [481] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(12),
  },
  {
    /* [482] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(12),
  },
  {
    /* [483] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(13),
  },
  {
    /* [484] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(13),
  },
  {
    /* [485] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(14),
  },
  {
    /* [486] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(14),
  },
  {
    /* [487] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(15),
  },
  {
    /* [488] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(15),
  },
  {
    /* [489] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(16),
  },
  {
    /* [490] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(16),
  },
  {
    /* [491] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(17),
  },
  {
    /* [492] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(17),
  },
  {
    /* [493] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(19),
  },
  {
    /* [494] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(19),
  },
  {
    /* [495] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(21),
  },
  {
    /* [496] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(45),
    /* const_eval_fn */ ConstEvalFunctionIndex(21),
  },
  {
    /* [497] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(499),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [498] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(135),
    /* parameters */ ParameterIndex(500),
    /* return_matcher_indices */ MatcherIndicesIndex(271),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [499] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(25),
  },
  {
    /* [500] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(25),
  },
  {
    /* [501] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(26),
  },
  {
    /* [502] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(26),
  },
  {
    /* [503] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(16),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(27),
  },
  {
    /* [504] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(180),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(27),
  },
  {
    /* [505] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(29),
  },
  {
    /* [506] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(29),
  },
  {
    /* [507] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(30),
  },
  {
    /* [508] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(30),
  },
  {
    /* [509] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(31),
  },
  {
    /* [510] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(31),
  },
  {
    /* [511] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(32),
  },
  {
    /* [512] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(308),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(32),
  },
  {
    /* [513] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(33),
  },
  {
    /* [514] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(33),
  },
  {
    /* [515] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(329),
    /* const_eval_fn */ ConstEvalFunctionIndex(34),
  },
  {
    /* [516] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(274),
    /* const_eval_fn */ ConstEvalFunctionIndex(34),
  },
  {
    /* [517] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(15),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(35),
  },
  {
    /* [518] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 4,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(35),
  },
  {
    /* [519] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(36),
  },
  {
    /* [520] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(36),
  },
  {
    /* [521] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(268),
    /* parameters */ ParameterIndex(412),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(37),
  },
  {
    /* [522] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(414),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(37),
  },
  {
    /* [523] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(38),
  },
  {
    /* [524] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(45),
    /* const_eval_fn */ ConstEvalFunctionIndex(38),
  },
  {
    /* [525] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(39),
  },
  {
    /* [526] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(39),
  },
  {
    /* [527] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(40),
  },
  {
    /* [528] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(40),
  },
  {
    /* [529] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(41),
  },
  {
    /* [530] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(314),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(41),
  },
  {
    /* [531] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(42),
  },
  {
    /* [532] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(314),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(42),
  },
  {
    /* [533] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(331),
    /* const_eval_fn */ ConstEvalFunctionIndex(44),
  },
  {
    /* [534] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(280),
    /* const_eval_fn */ ConstEvalFunctionIndex(44),
  },
  {
    /* [535] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(55),
  },
  {
    /* [536] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(55),
  },
  {
    /* [537] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(499),
    /* return_matcher_indices */ MatcherIndicesIndex(273),
    /* const_eval_fn */ ConstEvalFunctionIndex(56),
  },
  {
    /* [538] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(135),
    /* parameters */ ParameterIndex(500),
    /* return_matcher_indices */ MatcherIndicesIndex(271),
    /* const_eval_fn */ ConstEvalFunctionIndex(56),
  },
  {
    /* [539] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(57),
  },
  {
    /* [540] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(57),
  },
  {
    /* [541] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(60),
  },
  {
    /* [542] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(60),
  },
  {
    /* [543] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(61),
  },
  {
    /* [544] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(61),
  },
  {
    /* [545] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(62),
  },
  {
    /* [546] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(272),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(62),
  },
  {
    /* [547] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(327),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(65),
  },
  {
    /* [548] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(326),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(65),
  },
  {
    /* [549] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(66),
  },
  {
    /* [550] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(66),
  },
  {
    /* [551] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(67),
  },
  {
    /* [552] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(67),
  },
  {
    /* [553] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(68),
  },
  {
    /* [554] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(308),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(68),
  },
  {
    /* [555] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(69),
  },
  {
    /* [556] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(69),
  },
  {
    /* [557] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(70),
  },
  {
    /* [558] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(70),
  },
  {
    /* [559] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(71),
  },
  {
    /* [560] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(71),
  },
  {
    /* [561] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(72),
  },
  {
    /* [562] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(72),
  },
  {
    /* [563] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(74),
  },
  {
    /* [564] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(74),
  },
  {
    /* [565] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(369),
    /* parameters */ ParameterIndex(506),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [566] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(507),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [567] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(367),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [568] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(373),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [569] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(44),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [570] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(319),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [571] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(282),
    /* parameters */ ParameterIndex(440),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [572] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(281),
    /* parameters */ ParameterIndex(442),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [573] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(246),
    /* parameters */ ParameterIndex(440),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [574] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(281),
    /* parameters */ ParameterIndex(442),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [575] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(282),
    /* parameters */ ParameterIndex(444),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [576] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(281),
    /* parameters */ ParameterIndex(446),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [577] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(246),
    /* parameters */ ParameterIndex(448),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [578] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(281),
    /* parameters */ ParameterIndex(450),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [579] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(246),
    /* parameters */ ParameterIndex(452),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [580] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(281),
    /* parameters */ ParameterIndex(454),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [581] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(160),
    /* parameters */ ParameterIndex(440),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [582] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(316),
    /* parameters */ ParameterIndex(442),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [583] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(282),
    /* parameters */ ParameterIndex(456),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [584] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(281),
    /* parameters */ ParameterIndex(458),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [585] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(246),
    /* parameters */ ParameterIndex(456),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [586] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(281),
    /* parameters */ ParameterIndex(458),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [587] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(329),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [588] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(328),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [589] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(82),
  },
  {
    /* [590] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(135),
    /* parameters */ ParameterIndex(317),
    /* return_matcher_indices */ MatcherIndicesIndex(250),
    /* const_eval_fn */ ConstEvalFunctionIndex(82),
  },
  {
    /* [591] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(83),
  },
  {
    /* [592] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(83),
  },
  {
    /* [593] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(327),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(84),
  },
  {
    /* [594] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(327),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(84),
  },
  {
    /* [595] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(93),
  },
  {
    /* [596] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(93),
  },
  {
    /* [597] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(98),
  },
  {
    /* [598] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(316),
    /* const_eval_fn */ ConstEvalFunctionIndex(98),
  },
  {
    /* [599] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(99),
  },
  {
    /* [600] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(325),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(316),
    /* const_eval_fn */ ConstEvalFunctionIndex(99),
  },
  {
    /* [601] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(100),
  },
  {
    /* [602] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(316),
    /* const_eval_fn */ ConstEvalFunctionIndex(100),
  },
  {
    /* [603] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(101),
  },
  {
    /* [604] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(316),
    /* const_eval_fn */ ConstEvalFunctionIndex(101),
  },
  {
    /* [605] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(102),
  },
  {
    /* [606] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(316),
    /* const_eval_fn */ ConstEvalFunctionIndex(102),
  },
  {
    /* [607] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(1),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(103),
  },
  {
    /* [608] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(315),
    /* parameters */ ParameterIndex(303),
    /* return_matcher_indices */ MatcherIndicesIndex(316),
    /* const_eval_fn */ ConstEvalFunctionIndex(103),
  },
  {
    /* [609] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(16),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(104),
  },
  {
    /* [610] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(470),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(104),
  },
  {
    /* [611] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(16),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(105),
  },
  {
    /* [612] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(356),
    /* parameters */ ParameterIndex(470),
    /* return_matcher_indices */ MatcherIndicesIndex(253),
    /* const_eval_fn */ ConstEvalFunctionIndex(105),
  },
  {
    /* [613] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(257),
    /* parameters */ ParameterIndex(295),
    /* return_matcher_indices */ MatcherIndicesIndex(327),
    /* const_eval_fn */ ConstEvalFunctionIndex(18),
  },
  {
    /* [614] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(498),
    /* return_matcher_indices */ MatcherIndicesIndex(45),
    /* const_eval_fn */ ConstEvalFunctionIndex(20),
  },
  {
    /* [615] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(314),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(45),
    /* const_eval_fn */ ConstEvalFunctionIndex(22),
  },
  {
    /* [616] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(15),
    /* const_eval_fn */ ConstEvalFunctionIndex(23),
  },
  {
    /* [617] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(24),
  },
  {
    /* [618] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(308),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(28),
  },
  {
    /* [619] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(45),
  },
  {
    /* [620] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(501),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(46),
  },
  {
    /* [621] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(501),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(47),
  },
  {
    /* [622] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(501),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(48),
  },
  {
    /* [623] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(502),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(49),
  },
  {
    /* [624] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(502),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(50),
  },
  {
    /* [625] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(503),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(51),
  },
  {
    /* [626] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(504),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(52),
  },
  {
    /* [627] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(503),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(53),
  },
  {
    /* [628] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(504),
    /* return_matcher_indices */ MatcherIndicesIndex(4),
    /* const_eval_fn */ ConstEvalFunctionIndex(54),
  },
  {
    /* [629] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(179),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(58),
  },
  {
    /* [630] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(267),
    /* parameters */ ParameterIndex(309),
    /* return_matcher_indices */ MatcherIndicesIndex(247),
    /* const_eval_fn */ ConstEvalFunctionIndex(59),
  },
  {
    /* [631] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(270),
    /* parameters */ ParameterIndex(505),
    /* return_matcher_indices */ MatcherIndicesIndex(199),
    /* const_eval_fn */ ConstEvalFunctionIndex(73),
  },
  {
    /* [632] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(333),
    /* const_eval_fn */ ConstEvalFunctionIndex(75),
  },
  {
    /* [633] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(333),
    /* const_eval_fn */ ConstEvalFunctionIndex(76),
  },
  {
    /* [634] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(333),
    /* const_eval_fn */ ConstEvalFunctionIndex(77),
  },
  {
    /* [635] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(78),
  },
  {
    /* [636] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(335),
    /* const_eval_fn */ ConstEvalFunctionIndex(79),
  },
  {
    /* [637] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(337),
    /* const_eval_fn */ ConstEvalFunctionIndex(80),
  },
  {
    /* [638] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(17),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(81),
  },
  {
    /* [639] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [640] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 1,
    /* templates */ TemplateIndex(217),
    /* parameters */ ParameterIndex(513),
    /* return_matcher_indices */ MatcherIndicesIndex(357),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [641] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(317),
    /* parameters */ ParameterIndex(0),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [642] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(317),
    /* parameters */ ParameterIndex(0),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [643] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(317),
    /* parameters */ ParameterIndex(0),
    /* return_matcher_indices */ MatcherIndicesIndex(61),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [644] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 3,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 2,
    /* templates */ TemplateIndex(317),
    /* parameters */ ParameterIndex(0),
    /* return_matcher_indices */ MatcherIndicesIndex(383),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [645] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(438),
    /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [646] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(339),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [647] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 0,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(/* invalid */),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [648] */
    /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [649] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(308),
    /* parameters */ ParameterIndex(518),
    /* return_matcher_indices */ MatcherIndicesIndex(223),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [650] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 1,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 3,
    /* templates */ TemplateIndex(308),
    /* parameters */ ParameterIndex(519),
    /* return_matcher_indices */ MatcherIndicesIndex(227),
    /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */),
  },
  {
    /* [651] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(96),
  },
  {
    /* [652] */
    /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse),
    /* num_parameters */ 2,
    /* num_explicit_templates */ 0,
    /* num_templates   */ 0,
    /* templates */ TemplateIndex(/* invalid */),
    /* parameters */ ParameterIndex(306),
    /* return_matcher_indices */ MatcherIndicesIndex(151),
    /* const_eval_fn */ ConstEvalFunctionIndex(97),
  },
};

static_assert(OverloadIndex::CanIndex(kOverloads),
              "OverloadIndex is not large enough to index kOverloads");

constexpr IntrinsicInfo kBuiltins[] = {
  {
    /* [0] */
    /* fn abs[T : fia_fiu32_f16](T) -> T */
    /* fn abs[N : num, T : fia_fiu32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(459),
  },
  {
    /* [1] */
    /* fn acos[T : fa_f32_f16](@test_value(0.96891242171) T) -> T */
    /* fn acos[N : num, T : fa_f32_f16](@test_value(0.96891242171) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(461),
  },
  {
    /* [2] */
    /* fn acosh[T : fa_f32_f16](@test_value(1.5430806348) T) -> T */
    /* fn acosh[N : num, T : fa_f32_f16](@test_value(1.5430806348) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(463),
  },
  {
    /* [3] */
    /* fn all(bool) -> bool */
    /* fn all[N : num](vec<N, bool>) -> bool */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(465),
  },
  {
    /* [4] */
    /* fn any(bool) -> bool */
    /* fn any[N : num](vec<N, bool>) -> bool */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(467),
  },
  {
    /* [5] */
    /* fn arrayLength[AS : uniform_or_storage, T, R : read](ptr<AS, runtime_array<T>, R>) -> u32 */
    /* fn arrayLength[T, W : writable](ptr<storage, runtime_array<T>, W>) -> u32 */
    /* fn arrayLength[T, W : writable](ptr<workgroup, runtime_array<T>, W>) -> u32 */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(432),
  },
  {
    /* [6] */
    /* fn asin[T : fa_f32_f16](@test_value(0.479425538604) T) -> T */
    /* fn asin[N : num, T : fa_f32_f16](@test_value(0.479425538604) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(469),
  },
  {
    /* [7] */
    /* fn asinh[T : fa_f32_f16](T) -> T */
    /* fn asinh[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(471),
  },
  {
    /* [8] */
    /* fn atan[T : fa_f32_f16](T) -> T */
    /* fn atan[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(473),
  },
  {
    /* [9] */
    /* fn atan2[T : fa_f32_f16](T, T) -> T */
    /* fn atan2[T : fa_f32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(475),
  },
  {
    /* [10] */
    /* fn atanh[T : fa_f32_f16](@test_value(0.5) T) -> T */
    /* fn atanh[N : num, T : fa_f32_f16](@test_value(0.5) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(477),
  },
  {
    /* [11] */
    /* fn bitcast<T : f16>(f16) -> T */
    /* fn bitcast<T : u32>(ia) -> T */
    /* fn bitcast<T : fiu32>(vec2<f16>) -> T */
    /* fn bitcast<T : vec2<fiu32>>(vec4<f16>) -> T */
    /* fn bitcast<T : fiu32>[U : fiu32](U) -> T */
    /* fn bitcast<T : vec<N, fiu32>>[N : num, U : fiu32](vec<N, U>) -> T */
    /* fn bitcast<T : vec<N, f16>>[N : num](vec<N, f16>) -> T */
    /* fn bitcast<T : vec<N, u32>>[N : num](vec<N, ia>) -> T */
    /* fn bitcast<T : vec2<f16>>[S : fiu32](S) -> T */
    /* fn bitcast<T : vec4<f16>>[S : fiu32](vec2<S>) -> T */
    /* num overloads */ 10,
    /* overloads */ OverloadIndex(236),
  },
  {
    /* [12] */
    /* fn ceil[T : fa_f32_f16](@test_value(1.5) T) -> T */
    /* fn ceil[N : num, T : fa_f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(479),
  },
  {
    /* [13] */
    /* fn clamp[T : fia_fiu32_f16](T, T, T) -> T */
    /* fn clamp[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(481),
  },
  {
    /* [14] */
    /* fn cos[T : fa_f32_f16](@test_value(0) T) -> T */
    /* fn cos[N : num, T : fa_f32_f16](@test_value(0) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(483),
  },
  {
    /* [15] */
    /* fn cosh[T : fa_f32_f16](@test_value(0) T) -> T */
    /* fn cosh[N : num, T : fa_f32_f16](@test_value(0) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(485),
  },
  {
    /* [16] */
    /* fn countLeadingZeros[T : iu32](T) -> T */
    /* fn countLeadingZeros[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(487),
  },
  {
    /* [17] */
    /* fn countOneBits[T : iu32](T) -> T */
    /* fn countOneBits[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(489),
  },
  {
    /* [18] */
    /* fn countTrailingZeros[T : iu32](T) -> T */
    /* fn countTrailingZeros[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(491),
  },
  {
    /* [19] */
    /* fn cross[T : fa_f32_f16](vec3<T>, vec3<T>) -> vec3<T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(613),
  },
  {
    /* [20] */
    /* fn degrees[T : fa_f32_f16](T) -> T */
    /* fn degrees[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(493),
  },
  {
    /* [21] */
    /* fn determinant[N : num, T : fa_f32_f16](mat<N, N, T>) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(614),
  },
  {
    /* [22] */
    /* fn distance[T : fa_f32_f16](T, T) -> T */
    /* fn distance[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(495),
  },
  {
    /* [23] */
    /* fn dot[N : num, T : fia_fiu32_f16](vec<N, T>, vec<N, T>) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(615),
  },
  {
    /* [24] */
    /* fn dot4I8Packed(u32, u32) -> i32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(616),
  },
  {
    /* [25] */
    /* fn dot4U8Packed(u32, u32) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(617),
  },
  {
    /* [26] */
    /* fn dpdx(f32) -> f32 */
    /* fn dpdx[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [27] */
    /* fn dpdxCoarse(f32) -> f32 */
    /* fn dpdxCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [28] */
    /* fn dpdxFine(f32) -> f32 */
    /* fn dpdxFine[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [29] */
    /* fn dpdy(f32) -> f32 */
    /* fn dpdy[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [30] */
    /* fn dpdyCoarse(f32) -> f32 */
    /* fn dpdyCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [31] */
    /* fn dpdyFine(f32) -> f32 */
    /* fn dpdyFine[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [32] */
    /* fn exp[T : fa_f32_f16](T) -> T */
    /* fn exp[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(499),
  },
  {
    /* [33] */
    /* fn exp2[T : fa_f32_f16](T) -> T */
    /* fn exp2[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(501),
  },
  {
    /* [34] */
    /* fn extractBits[T : iu32](T, u32, u32) -> T */
    /* fn extractBits[N : num, T : iu32](vec<N, T>, u32, u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(503),
  },
  {
    /* [35] */
    /* fn faceForward[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(618),
  },
  {
    /* [36] */
    /* fn firstLeadingBit[T : iu32](T) -> T */
    /* fn firstLeadingBit[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(505),
  },
  {
    /* [37] */
    /* fn firstTrailingBit[T : iu32](T) -> T */
    /* fn firstTrailingBit[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(507),
  },
  {
    /* [38] */
    /* fn floor[T : fa_f32_f16](@test_value(1.5) T) -> T */
    /* fn floor[N : num, T : fa_f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(509),
  },
  {
    /* [39] */
    /* fn fma[T : fa_f32_f16](T, T, T) -> T */
    /* fn fma[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(511),
  },
  {
    /* [40] */
    /* fn fract[T : fa_f32_f16](@test_value(1.25) T) -> T */
    /* fn fract[N : num, T : fa_f32_f16](@test_value(1.25) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(513),
  },
  {
    /* [41] */
    /* fn frexp[T : fa_f32_f16](T) -> __frexp_result<T> */
    /* fn frexp[N : num, T : fa_f32_f16](vec<N, T>) -> __frexp_result_vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(515),
  },
  {
    /* [42] */
    /* fn fwidth(f32) -> f32 */
    /* fn fwidth[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [43] */
    /* fn fwidthCoarse(f32) -> f32 */
    /* fn fwidthCoarse[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [44] */
    /* fn fwidthFine(f32) -> f32 */
    /* fn fwidthFine[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(497),
  },
  {
    /* [45] */
    /* fn insertBits[T : iu32](T, T, u32, u32) -> T */
    /* fn insertBits[N : num, T : iu32](vec<N, T>, vec<N, T>, u32, u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(517),
  },
  {
    /* [46] */
    /* fn inverseSqrt[T : fa_f32_f16](T) -> T */
    /* fn inverseSqrt[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(519),
  },
  {
    /* [47] */
    /* fn ldexp[T : fa_f32_f16, U : ia_i32](T, U) -> T */
    /* fn ldexp[N : num, T : fa_f32_f16, U : ia_i32](vec<N, T>, vec<N, U>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(521),
  },
  {
    /* [48] */
    /* fn length[T : fa_f32_f16](@test_value(0) T) -> T */
    /* fn length[N : num, T : fa_f32_f16](@test_value(0) vec<N, T>) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(523),
  },
  {
    /* [49] */
    /* fn log[T : fa_f32_f16](T) -> T */
    /* fn log[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(525),
  },
  {
    /* [50] */
    /* fn log2[T : fa_f32_f16](T) -> T */
    /* fn log2[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(527),
  },
  {
    /* [51] */
    /* fn max[T : fia_fiu32_f16](T, T) -> T */
    /* fn max[N : num, T : fia_fiu32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(529),
  },
  {
    /* [52] */
    /* fn min[T : fia_fiu32_f16](T, T) -> T */
    /* fn min[N : num, T : fia_fiu32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(531),
  },
  {
    /* [53] */
    /* fn mix[T : fa_f32_f16](T, T, T) -> T */
    /* fn mix[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* fn mix[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, T) -> vec<N, T> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(435),
  },
  {
    /* [54] */
    /* fn modf[T : fa_f32_f16](@test_value(-1.5) T) -> __modf_result<T> */
    /* fn modf[N : num, T : fa_f32_f16](@test_value(-1.5) vec<N, T>) -> __modf_result_vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(533),
  },
  {
    /* [55] */
    /* fn normalize[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(619),
  },
  {
    /* [56] */
    /* fn pack2x16float(vec2<f32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(620),
  },
  {
    /* [57] */
    /* fn pack2x16snorm(vec2<f32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(621),
  },
  {
    /* [58] */
    /* fn pack2x16unorm(vec2<f32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(622),
  },
  {
    /* [59] */
    /* fn pack4x8snorm(vec4<f32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(623),
  },
  {
    /* [60] */
    /* fn pack4x8unorm(vec4<f32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(624),
  },
  {
    /* [61] */
    /* fn pack4xI8(vec4<i32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(625),
  },
  {
    /* [62] */
    /* fn pack4xU8(vec4<u32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(626),
  },
  {
    /* [63] */
    /* fn pack4xI8Clamp(vec4<i32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(627),
  },
  {
    /* [64] */
    /* fn pack4xU8Clamp(vec4<u32>) -> u32 */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(628),
  },
  {
    /* [65] */
    /* fn pow[T : fa_f32_f16](T, T) -> T */
    /* fn pow[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(535),
  },
  {
    /* [66] */
    /* fn quantizeToF16(f32) -> f32 */
    /* fn quantizeToF16[N : num](vec<N, f32>) -> vec<N, f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(537),
  },
  {
    /* [67] */
    /* fn radians[T : fa_f32_f16](T) -> T */
    /* fn radians[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(539),
  },
  {
    /* [68] */
    /* fn reflect[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(629),
  },
  {
    /* [69] */
    /* fn refract[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>, T) -> vec<N, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(630),
  },
  {
    /* [70] */
    /* fn reverseBits[T : iu32](T) -> T */
    /* fn reverseBits[N : num, T : iu32](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(541),
  },
  {
    /* [71] */
    /* fn round[T : fa_f32_f16](@test_value(3.5) T) -> T */
    /* fn round[N : num, T : fa_f32_f16](@test_value(3.5) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(543),
  },
  {
    /* [72] */
    /* fn saturate[T : fa_f32_f16](@test_value(2) T) -> T */
    /* fn saturate[T : fa_f32_f16, N : num](@test_value(2) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(545),
  },
  {
    /* [73] */
    /* fn select[T : scalar](T, T, bool) -> T */
    /* fn select[T : scalar, N : num](vec<N, T>, vec<N, T>, bool) -> vec<N, T> */
    /* fn select[N : num, T : scalar](vec<N, T>, vec<N, T>, vec<N, bool>) -> vec<N, T> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(438),
  },
  {
    /* [74] */
    /* fn sign[T : fia_fi32_f16](T) -> T */
    /* fn sign[N : num, T : fia_fi32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(547),
  },
  {
    /* [75] */
    /* fn sin[T : fa_f32_f16](@test_value(1.57079632679) T) -> T */
    /* fn sin[N : num, T : fa_f32_f16](@test_value(1.57079632679) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(549),
  },
  {
    /* [76] */
    /* fn sinh[T : fa_f32_f16](T) -> T */
    /* fn sinh[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(551),
  },
  {
    /* [77] */
    /* fn smoothstep[T : fa_f32_f16](@test_value(2) T, @test_value(4) T, @test_value(3) T) -> T */
    /* fn smoothstep[N : num, T : fa_f32_f16](@test_value(2) vec<N, T>, @test_value(4) vec<N, T>, @test_value(3) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(553),
  },
  {
    /* [78] */
    /* fn sqrt[T : fa_f32_f16](T) -> T */
    /* fn sqrt[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(555),
  },
  {
    /* [79] */
    /* fn step[T : fa_f32_f16](T, T) -> T */
    /* fn step[N : num, T : fa_f32_f16](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(557),
  },
  {
    /* [80] */
    /* fn tan[T : fa_f32_f16](T) -> T */
    /* fn tan[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(559),
  },
  {
    /* [81] */
    /* fn tanh[T : fa_f32_f16](T) -> T */
    /* fn tanh[N : num, T : fa_f32_f16](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(561),
  },
  {
    /* [82] */
    /* fn transpose[M : num, N : num, T : fa_f32_f16](mat<M, N, T>) -> mat<N, M, T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(631),
  },
  {
    /* [83] */
    /* fn trunc[T : fa_f32_f16](@test_value(1.5) T) -> T */
    /* fn trunc[N : num, T : fa_f32_f16](@test_value(1.5) vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(563),
  },
  {
    /* [84] */
    /* fn unpack2x16float(u32) -> vec2<f32> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(632),
  },
  {
    /* [85] */
    /* fn unpack2x16snorm(u32) -> vec2<f32> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(633),
  },
  {
    /* [86] */
    /* fn unpack2x16unorm(u32) -> vec2<f32> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(634),
  },
  {
    /* [87] */
    /* fn unpack4x8snorm(u32) -> vec4<f32> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(635),
  },
  {
    /* [88] */
    /* fn unpack4x8unorm(u32) -> vec4<f32> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(636),
  },
  {
    /* [89] */
    /* fn unpack4xI8(u32) -> vec4<i32> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(637),
  },
  {
    /* [90] */
    /* fn unpack4xU8(u32) -> vec4<u32> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(638),
  },
  {
    /* [91] */
    /* fn workgroupUniformLoad[T : __constructible](ptr<workgroup, T, read_write>) -> T */
    /* fn workgroupUniformLoad[T : iu32](ptr<workgroup, atomic<T>, read_write>) -> T */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(565),
  },
  {
    /* [92] */
    /* fn storageBarrier() */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(639),
  },
  {
    /* [93] */
    /* fn workgroupBarrier() */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(639),
  },
  {
    /* [94] */
    /* fn textureBarrier() */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(639),
  },
  {
    /* [95] */
    /* fn textureDimensions[T : fiu32](texture: texture_1d<T>) -> u32 */
    /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_1d<T>, level: L) -> u32 */
    /* fn textureDimensions[T : fiu32](texture: texture_2d<T>) -> vec2<u32> */
    /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_2d<T>, level: L) -> vec2<u32> */
    /* fn textureDimensions[T : fiu32](texture: texture_2d_array<T>) -> vec2<u32> */
    /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_2d_array<T>, level: L) -> vec2<u32> */
    /* fn textureDimensions[T : fiu32](texture: texture_3d<T>) -> vec3<u32> */
    /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_3d<T>, level: L) -> vec3<u32> */
    /* fn textureDimensions[T : fiu32](texture: texture_cube<T>) -> vec2<u32> */
    /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_cube<T>, level: L) -> vec2<u32> */
    /* fn textureDimensions[T : fiu32](texture: texture_cube_array<T>) -> vec2<u32> */
    /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_cube_array<T>, level: L) -> vec2<u32> */
    /* fn textureDimensions[T : fiu32](texture: texture_multisampled_2d<T>) -> vec2<u32> */
    /* fn textureDimensions(texture: texture_depth_2d) -> vec2<u32> */
    /* fn textureDimensions[L : iu32](texture: texture_depth_2d, level: L) -> vec2<u32> */
    /* fn textureDimensions(texture: texture_depth_2d_array) -> vec2<u32> */
    /* fn textureDimensions[L : iu32](texture: texture_depth_2d_array, level: L) -> vec2<u32> */
    /* fn textureDimensions(texture: texture_depth_cube) -> vec2<u32> */
    /* fn textureDimensions[L : iu32](texture: texture_depth_cube, level: L) -> vec2<u32> */
    /* fn textureDimensions(texture: texture_depth_cube_array) -> vec2<u32> */
    /* fn textureDimensions[L : iu32](texture: texture_depth_cube_array, level: L) -> vec2<u32> */
    /* fn textureDimensions(texture: texture_depth_multisampled_2d) -> vec2<u32> */
    /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_1d<F, R>) -> u32 */
    /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_2d<F, R>) -> vec2<u32> */
    /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_2d_array<F, R>) -> vec2<u32> */
    /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_3d<F, R>) -> vec3<u32> */
    /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_1d<F, W>) -> u32 */
    /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_2d<F, W>) -> vec2<u32> */
    /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_2d_array<F, W>) -> vec2<u32> */
    /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_3d<F, W>) -> vec3<u32> */
    /* fn textureDimensions[F : texel_format, R : read](texture: texel_buffer<F, R>) -> u32 */
    /* fn textureDimensions[F : texel_format, W : writable](texture: texel_buffer<F, W>) -> u32 */
    /* fn textureDimensions(texture: texture_external) -> vec2<u32> */
    /* num overloads */ 33,
    /* overloads */ OverloadIndex(39),
  },
  {
    /* [96] */
    /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>) -> vec4<T> */
    /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_2d<T>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<T> */
    /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array<T>, sampler: sampler, coords: vec2<f32>, array_index: A) -> vec4<T> */
    /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array<T>, sampler: sampler, coords: vec2<f32>, array_index: A, @const offset: vec2<i32>) -> vec4<T> */
    /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_cube<T>, sampler: sampler, coords: vec3<f32>) -> vec4<T> */
    /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_cube_array<T>, sampler: sampler, coords: vec3<f32>, array_index: A) -> vec4<T> */
    /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
    /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureGather[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A) -> vec4<f32> */
    /* fn textureGather[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
    /* fn textureGather[A : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A) -> vec4<f32> */
    /* num overloads */ 12,
    /* overloads */ OverloadIndex(200),
  },
  {
    /* [97] */
    /* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> vec4<f32> */
    /* fn textureGatherCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureGatherCompare[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> vec4<f32> */
    /* fn textureGatherCompare[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureGatherCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> vec4<f32> */
    /* fn textureGatherCompare[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> vec4<f32> */
    /* num overloads */ 6,
    /* overloads */ OverloadIndex(362),
  },
  {
    /* [98] */
    /* fn textureNumLayers[T : fiu32](texture: texture_2d_array<T>) -> u32 */
    /* fn textureNumLayers[T : fiu32](texture: texture_cube_array<T>) -> u32 */
    /* fn textureNumLayers(texture: texture_depth_2d_array) -> u32 */
    /* fn textureNumLayers(texture: texture_depth_cube_array) -> u32 */
    /* fn textureNumLayers[F : texel_format, R : read](texture: texture_storage_2d_array<F, R>) -> u32 */
    /* fn textureNumLayers[F : texel_format, W : writable](texture: texture_storage_2d_array<F, W>) -> u32 */
    /* num overloads */ 6,
    /* overloads */ OverloadIndex(368),
  },
  {
    /* [99] */
    /* fn textureNumLevels[T : fiu32](texture: texture_1d<T>) -> u32 */
    /* fn textureNumLevels[T : fiu32](texture: texture_2d<T>) -> u32 */
    /* fn textureNumLevels[T : fiu32](texture: texture_2d_array<T>) -> u32 */
    /* fn textureNumLevels[T : fiu32](texture: texture_3d<T>) -> u32 */
    /* fn textureNumLevels[T : fiu32](texture: texture_cube<T>) -> u32 */
    /* fn textureNumLevels[T : fiu32](texture: texture_cube_array<T>) -> u32 */
    /* fn textureNumLevels(texture: texture_depth_2d) -> u32 */
    /* fn textureNumLevels(texture: texture_depth_2d_array) -> u32 */
    /* fn textureNumLevels(texture: texture_depth_cube) -> u32 */
    /* fn textureNumLevels(texture: texture_depth_cube_array) -> u32 */
    /* num overloads */ 10,
    /* overloads */ OverloadIndex(246),
  },
  {
    /* [100] */
    /* fn textureNumSamples[T : fiu32](texture: texture_multisampled_2d<T>) -> u32 */
    /* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(567),
  },
  {
    /* [101] */
    /* fn textureSample(texture: texture_1d<f32>, sampler: sampler, coords: f32) -> vec4<f32> */
    /* fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
    /* fn textureSample(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureSample[A : iu32](texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A) -> vec4<f32> */
    /* fn textureSample[A : iu32](texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureSample(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
    /* fn textureSample(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, @const offset: vec3<i32>) -> vec4<f32> */
    /* fn textureSample(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>) -> vec4<f32> */
    /* fn textureSample[A : iu32](texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A) -> vec4<f32> */
    /* fn textureSample(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>) -> f32 */
    /* fn textureSample(texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, @const offset: vec2<i32>) -> f32 */
    /* fn textureSample[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A) -> f32 */
    /* fn textureSample[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A, @const offset: vec2<i32>) -> f32 */
    /* fn textureSample(texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>) -> f32 */
    /* fn textureSample[A : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A) -> f32 */
    /* num overloads */ 15,
    /* overloads */ OverloadIndex(114),
  },
  {
    /* [102] */
    /* fn textureSampleBias(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, bias: f32) -> vec4<f32> */
    /* fn textureSampleBias(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, bias: f32, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureSampleBias[A : iu32](texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, bias: f32) -> vec4<f32> */
    /* fn textureSampleBias[A : iu32](texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, bias: f32, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureSampleBias(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, bias: f32) -> vec4<f32> */
    /* fn textureSampleBias(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, bias: f32, @const offset: vec3<i32>) -> vec4<f32> */
    /* fn textureSampleBias(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, bias: f32) -> vec4<f32> */
    /* fn textureSampleBias[A : iu32](texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A, bias: f32) -> vec4<f32> */
    /* num overloads */ 8,
    /* overloads */ OverloadIndex(346),
  },
  {
    /* [103] */
    /* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
    /* fn textureSampleCompare(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
    /* fn textureSampleCompare[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> f32 */
    /* fn textureSampleCompare[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
    /* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
    /* fn textureSampleCompare[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> f32 */
    /* num overloads */ 6,
    /* overloads */ OverloadIndex(374),
  },
  {
    /* [104] */
    /* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32) -> f32 */
    /* fn textureSampleCompareLevel(texture: texture_depth_2d, sampler: sampler_comparison, coords: vec2<f32>, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
    /* fn textureSampleCompareLevel[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32) -> f32 */
    /* fn textureSampleCompareLevel[A : iu32](texture: texture_depth_2d_array, sampler: sampler_comparison, coords: vec2<f32>, array_index: A, depth_ref: f32, @const offset: vec2<i32>) -> f32 */
    /* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3<f32>, depth_ref: f32) -> f32 */
    /* fn textureSampleCompareLevel[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3<f32>, array_index: A, depth_ref: f32) -> f32 */
    /* num overloads */ 6,
    /* overloads */ OverloadIndex(380),
  },
  {
    /* [105] */
    /* fn textureSampleGrad(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
    /* fn textureSampleGrad(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, ddx: vec2<f32>, ddy: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureSampleGrad[A : iu32](texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, ddx: vec2<f32>, ddy: vec2<f32>) -> vec4<f32> */
    /* fn textureSampleGrad[A : iu32](texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, ddx: vec2<f32>, ddy: vec2<f32>, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureSampleGrad(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* fn textureSampleGrad(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>, @const offset: vec3<i32>) -> vec4<f32> */
    /* fn textureSampleGrad(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* fn textureSampleGrad[A : iu32](texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A, ddx: vec3<f32>, ddy: vec3<f32>) -> vec4<f32> */
    /* num overloads */ 8,
    /* overloads */ OverloadIndex(354),
  },
  {
    /* [106] */
    /* fn textureSampleLevel(texture: texture_1d<f32>, sampler: sampler, coords: f32, level: f32) -> vec4<f32> */
    /* fn textureSampleLevel(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, level: f32) -> vec4<f32> */
    /* fn textureSampleLevel(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>, level: f32, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureSampleLevel[A : iu32](texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, level: f32) -> vec4<f32> */
    /* fn textureSampleLevel[A : iu32](texture: texture_2d_array<f32>, sampler: sampler, coords: vec2<f32>, array_index: A, level: f32, @const offset: vec2<i32>) -> vec4<f32> */
    /* fn textureSampleLevel(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, level: f32) -> vec4<f32> */
    /* fn textureSampleLevel(texture: texture_3d<f32>, sampler: sampler, coords: vec3<f32>, level: f32, @const offset: vec3<i32>) -> vec4<f32> */
    /* fn textureSampleLevel(texture: texture_cube<f32>, sampler: sampler, coords: vec3<f32>, level: f32) -> vec4<f32> */
    /* fn textureSampleLevel[A : iu32](texture: texture_cube_array<f32>, sampler: sampler, coords: vec3<f32>, array_index: A, level: f32) -> vec4<f32> */
    /* fn textureSampleLevel[L : iu32](texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, level: L) -> f32 */
    /* fn textureSampleLevel[L : iu32](texture: texture_depth_2d, sampler: sampler, coords: vec2<f32>, level: L, @const offset: vec2<i32>) -> f32 */
    /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A, level: L) -> f32 */
    /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2<f32>, array_index: A, level: L, @const offset: vec2<i32>) -> f32 */
    /* fn textureSampleLevel[L : iu32](texture: texture_depth_cube, sampler: sampler, coords: vec3<f32>, level: L) -> f32 */
    /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3<f32>, array_index: A, level: L) -> f32 */
    /* num overloads */ 15,
    /* overloads */ OverloadIndex(129),
  },
  {
    /* [107] */
    /* fn textureSampleBaseClampToEdge(texture: texture_2d<f32>, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
    /* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2<f32>) -> vec4<f32> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(569),
  },
  {
    /* [108] */
    /* fn textureStore[C : iu32, F : f32_texel_format, W : writable](texture: texture_storage_1d<F, W>, coords: C, value: vec4<f32>) */
    /* fn textureStore[C : iu32, F : f32_texel_format, W : writable](texture: texture_storage_2d<F, W>, coords: vec2<C>, value: vec4<f32>) */
    /* fn textureStore[C : iu32, F : f32_texel_format, W : writable, A : iu32](texture: texture_storage_2d_array<F, W>, coords: vec2<C>, array_index: A, value: vec4<f32>) */
    /* fn textureStore[C : iu32, F : f32_texel_format, W : writable](texture: texture_storage_3d<F, W>, coords: vec3<C>, value: vec4<f32>) */
    /* fn textureStore[C : iu32, F : f32_texel_format, RW : read_write](texture: texel_buffer<F, RW>, coords: C, value: vec4<f32>) */
    /* fn textureStore[C : iu32, F : i32_texel_format, W : writable](texture: texture_storage_1d<F, W>, coords: C, value: vec4<i32>) */
    /* fn textureStore[C : iu32, F : i32_texel_format, W : writable](texture: texture_storage_2d<F, W>, coords: vec2<C>, value: vec4<i32>) */
    /* fn textureStore[C : iu32, F : i32_texel_format, W : writable, A : iu32](texture: texture_storage_2d_array<F, W>, coords: vec2<C>, array_index: A, value: vec4<i32>) */
    /* fn textureStore[C : iu32, F : i32_texel_format, W : writable](texture: texture_storage_3d<F, W>, coords: vec3<C>, value: vec4<i32>) */
    /* fn textureStore[C : iu32, F : i32_texel_format, RW : read_write](texture: texel_buffer<F, RW>, coords: C, value: vec4<i32>) */
    /* fn textureStore[C : iu32, F : u32_texel_format, W : writable](texture: texture_storage_1d<F, W>, coords: C, value: vec4<u32>) */
    /* fn textureStore[C : iu32, F : u32_texel_format, W : writable](texture: texture_storage_2d<F, W>, coords: vec2<C>, value: vec4<u32>) */
    /* fn textureStore[C : iu32, F : u32_texel_format, W : writable, A : iu32](texture: texture_storage_2d_array<F, W>, coords: vec2<C>, array_index: A, value: vec4<u32>) */
    /* fn textureStore[C : iu32, F : u32_texel_format, W : writable](texture: texture_storage_3d<F, W>, coords: vec3<C>, value: vec4<u32>) */
    /* fn textureStore[C : iu32, F : u32_texel_format, RW : read_write](texture: texel_buffer<F, RW>, coords: C, value: vec4<u32>) */
    /* num overloads */ 15,
    /* overloads */ OverloadIndex(144),
  },
  {
    /* [109] */
    /* fn textureLoad[T : fiu32, C : iu32, L : iu32](texture: texture_1d<T>, coords: C, level: L) -> vec4<T> */
    /* fn textureLoad[T : fiu32, C : iu32, L : iu32](texture: texture_2d<T>, coords: vec2<C>, level: L) -> vec4<T> */
    /* fn textureLoad[T : fiu32, C : iu32, A : iu32, L : iu32](texture: texture_2d_array<T>, coords: vec2<C>, array_index: A, level: L) -> vec4<T> */
    /* fn textureLoad[T : fiu32, C : iu32, L : iu32](texture: texture_3d<T>, coords: vec3<C>, level: L) -> vec4<T> */
    /* fn textureLoad[T : fiu32, C : iu32, S : iu32](texture: texture_multisampled_2d<T>, coords: vec2<C>, sample_index: S) -> vec4<T> */
    /* fn textureLoad[C : iu32, L : iu32](texture: texture_depth_2d, coords: vec2<C>, level: L) -> f32 */
    /* fn textureLoad[C : iu32, A : iu32, L : iu32](texture: texture_depth_2d_array, coords: vec2<C>, array_index: A, level: L) -> f32 */
    /* fn textureLoad[C : iu32, S : iu32](texture: texture_depth_multisampled_2d, coords: vec2<C>, sample_index: S) -> f32 */
    /* fn textureLoad[C : iu32](texture: texture_external, coords: vec2<C>) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, R : read](texture: texture_storage_1d<F, R>, coords: C) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, R : read](texture: texture_storage_1d<F, R>, coords: C) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, R : read](texture: texture_storage_1d<F, R>, coords: C) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, R : read](texture: texture_storage_2d<F, R>, coords: vec2<C>) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, R : read](texture: texture_storage_2d<F, R>, coords: vec2<C>) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, R : read](texture: texture_storage_2d<F, R>, coords: vec2<C>) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, R : read, A : iu32](texture: texture_storage_2d_array<F, R>, coords: vec2<C>, array_index: A) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, R : read, A : iu32](texture: texture_storage_2d_array<F, R>, coords: vec2<C>, array_index: A) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, R : read, A : iu32](texture: texture_storage_2d_array<F, R>, coords: vec2<C>, array_index: A) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, R : read](texture: texture_storage_3d<F, R>, coords: vec3<C>) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, R : read](texture: texture_storage_3d<F, R>, coords: vec3<C>) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, R : read](texture: texture_storage_3d<F, R>, coords: vec3<C>) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, R : read](texture: texel_buffer<F, R>, coords: C) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, R : read](texture: texel_buffer<F, R>, coords: C) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, R : read](texture: texel_buffer<F, R>, coords: C) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texture_storage_1d<F, RW>, coords: C) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texture_storage_1d<F, RW>, coords: C) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texture_storage_1d<F, RW>, coords: C) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texture_storage_2d<F, RW>, coords: vec2<C>) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texture_storage_2d<F, RW>, coords: vec2<C>) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texture_storage_2d<F, RW>, coords: vec2<C>) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write, A : iu32](texture: texture_storage_2d_array<F, RW>, coords: vec2<C>, array_index: A) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write, A : iu32](texture: texture_storage_2d_array<F, RW>, coords: vec2<C>, array_index: A) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write, A : iu32](texture: texture_storage_2d_array<F, RW>, coords: vec2<C>, array_index: A) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texture_storage_3d<F, RW>, coords: vec3<C>) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texture_storage_3d<F, RW>, coords: vec3<C>) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texture_storage_3d<F, RW>, coords: vec3<C>) -> vec4<u32> */
    /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texel_buffer<F, RW>, coords: C) -> vec4<f32> */
    /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texel_buffer<F, RW>, coords: C) -> vec4<i32> */
    /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texel_buffer<F, RW>, coords: C) -> vec4<u32> */
    /* num overloads */ 39,
    /* overloads */ OverloadIndex(0),
  },
  {
    /* [110] */
    /* fn inputAttachmentLoad[T : fiu32](input_attachment: input_attachment<T>) -> vec4<T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(640),
  },
  {
    /* [111] */
    /* fn atomicLoad[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(641),
  },
  {
    /* [112] */
    /* fn atomicStore[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(642),
  },
  {
    /* [113] */
    /* fn atomicAdd[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(643),
  },
  {
    /* [114] */
    /* fn atomicSub[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(643),
  },
  {
    /* [115] */
    /* fn atomicMax[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(643),
  },
  {
    /* [116] */
    /* fn atomicMin[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(643),
  },
  {
    /* [117] */
    /* fn atomicAnd[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(643),
  },
  {
    /* [118] */
    /* fn atomicOr[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(643),
  },
  {
    /* [119] */
    /* fn atomicXor[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(643),
  },
  {
    /* [120] */
    /* fn atomicExchange[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T) -> T */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(643),
  },
  {
    /* [121] */
    /* fn atomicCompareExchangeWeak[T : iu32, S : workgroup_or_storage](ptr<S, atomic<T>, read_write>, T, T) -> __atomic_compare_exchange_result<T> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(644),
  },
  {
    /* [122] */
    /* fn atomicStoreMax(ptr<storage, atomic<vec2<u32>>, read_write>, vec2<u32>) */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(645),
  },
  {
    /* [123] */
    /* fn atomicStoreMin(ptr<storage, atomic<vec2<u32>>, read_write>, vec2<u32>) */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(645),
  },
  {
    /* [124] */
    /* fn subgroupBallot(bool) -> vec4<u32> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(646),
  },
  {
    /* [125] */
    /* fn subgroupElect() -> bool */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(647),
  },
  {
    /* [126] */
    /* fn subgroupBroadcast[T : fiu32_f16, I : iu32](value: T, @const sourceLaneIndex: I) -> T */
    /* fn subgroupBroadcast[N : num, T : fiu32_f16, I : iu32](value: vec<N, T>, @const sourceLaneIndex: I) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(571),
  },
  {
    /* [127] */
    /* fn subgroupBroadcastFirst[T : fiu32_f16](value: T) -> T */
    /* fn subgroupBroadcastFirst[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [128] */
    /* fn subgroupShuffle[T : fiu32_f16, I : iu32](value: T, sourceLaneIndex: I) -> T */
    /* fn subgroupShuffle[N : num, T : fiu32_f16, I : iu32](value: vec<N, T>, sourceLaneIndex: I) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(575),
  },
  {
    /* [129] */
    /* fn subgroupShuffleXor[T : fiu32_f16](value: T, mask: u32) -> T */
    /* fn subgroupShuffleXor[N : num, T : fiu32_f16](value: vec<N, T>, mask: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(577),
  },
  {
    /* [130] */
    /* fn subgroupShuffleUp[T : fiu32_f16](value: T, delta: u32) -> T */
    /* fn subgroupShuffleUp[N : num, T : fiu32_f16](value: vec<N, T>, delta: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(579),
  },
  {
    /* [131] */
    /* fn subgroupShuffleDown[T : fiu32_f16](value: T, delta: u32) -> T */
    /* fn subgroupShuffleDown[N : num, T : fiu32_f16](value: vec<N, T>, delta: u32) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(579),
  },
  {
    /* [132] */
    /* fn subgroupAdd[T : fiu32_f16](value: T) -> T */
    /* fn subgroupAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [133] */
    /* fn subgroupInclusiveAdd[T : fiu32_f16](value: T) -> T */
    /* fn subgroupInclusiveAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [134] */
    /* fn subgroupExclusiveAdd[T : fiu32_f16](value: T) -> T */
    /* fn subgroupExclusiveAdd[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [135] */
    /* fn subgroupMul[T : fiu32_f16](value: T) -> T */
    /* fn subgroupMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [136] */
    /* fn subgroupInclusiveMul[T : fiu32_f16](value: T) -> T */
    /* fn subgroupInclusiveMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [137] */
    /* fn subgroupExclusiveMul[T : fiu32_f16](value: T) -> T */
    /* fn subgroupExclusiveMul[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [138] */
    /* fn subgroupAnd[T : iu32](value: T) -> T */
    /* fn subgroupAnd[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(581),
  },
  {
    /* [139] */
    /* fn subgroupOr[T : iu32](value: T) -> T */
    /* fn subgroupOr[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(581),
  },
  {
    /* [140] */
    /* fn subgroupXor[T : iu32](value: T) -> T */
    /* fn subgroupXor[N : num, T : iu32](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(581),
  },
  {
    /* [141] */
    /* fn subgroupMin[T : fiu32_f16](value: T) -> T */
    /* fn subgroupMin[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [142] */
    /* fn subgroupMax[T : fiu32_f16](value: T) -> T */
    /* fn subgroupMax[N : num, T : fiu32_f16](value: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(573),
  },
  {
    /* [143] */
    /* fn subgroupAll(bool) -> bool */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(648),
  },
  {
    /* [144] */
    /* fn subgroupAny(bool) -> bool */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(648),
  },
  {
    /* [145] */
    /* fn quadBroadcast[T : fiu32_f16, I : iu32](e: T, @const id: I) -> T */
    /* fn quadBroadcast[N : num, T : fiu32_f16, I : iu32](e: vec<N, T>, @const id: I) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(583),
  },
  {
    /* [146] */
    /* fn quadSwapX[T : fiu32_f16](e: T) -> T */
    /* fn quadSwapX[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(585),
  },
  {
    /* [147] */
    /* fn quadSwapY[T : fiu32_f16](e: T) -> T */
    /* fn quadSwapY[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(585),
  },
  {
    /* [148] */
    /* fn quadSwapDiagonal[T : fiu32_f16](e: T) -> T */
    /* fn quadSwapDiagonal[N : num, T : fiu32_f16](e: vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(585),
  },
  {
    /* [149] */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AM : readable](ptr<storage, runtime_array<S>, AM>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : readable](ptr<AS, array<S, AC>, AM>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AM : readable](ptr<storage, runtime_array<i32>, AM>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AM : readable](ptr<storage, runtime_array<u32>, AM>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : readable](ptr<AS, array<i32, AC>, AM>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : readable](ptr<AS, array<u32, AC>, AM>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>, Majorness : majorness>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AM : readable](ptr<storage, runtime_array<S>, AM>, offset: u32, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>, Majorness : majorness>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : readable](ptr<AS, array<S, AC>, AM>, offset: u32, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>, Majorness : majorness>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AM : readable](ptr<storage, runtime_array<i32>, AM>, offset: u32, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>, Majorness : majorness>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AM : readable](ptr<storage, runtime_array<u32>, AM>, offset: u32, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>, Majorness : majorness>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : readable](ptr<AS, array<i32, AC>, AM>, offset: u32, @test_value(8) stride: u32) -> T */
    /* fn subgroupMatrixLoad<T : subgroup_matrix<K, S, C, R>, Majorness : majorness>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : readable](ptr<AS, array<u32, AC>, AM>, offset: u32, @test_value(8) stride: u32) -> T */
    /* num overloads */ 12,
    /* overloads */ OverloadIndex(212),
  },
  {
    /* [150] */
    /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AM : writable](ptr<storage, runtime_array<S>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @const col_major: bool, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : writable](ptr<AS, array<S, AC>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @const col_major: bool, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num, AM : writable](ptr<storage, runtime_array<i32>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @const col_major: bool, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num, AM : writable](ptr<storage, runtime_array<u32>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @const col_major: bool, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : writable](ptr<AS, array<i32, AC>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @const col_major: bool, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : writable](ptr<AS, array<u32, AC>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @const col_major: bool, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore<Majorness : majorness>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AM : writable](ptr<storage, runtime_array<S>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore<Majorness : majorness>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : writable](ptr<AS, array<S, AC>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore<Majorness : majorness>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AM : writable](ptr<storage, runtime_array<i32>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore<Majorness : majorness>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AM : writable](ptr<storage, runtime_array<u32>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore<Majorness : majorness>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : writable](ptr<AS, array<i32, AC>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @test_value(8) stride: u32) */
    /* fn subgroupMatrixStore<Majorness : majorness>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num, AS : workgroup_or_storage, AM : writable](ptr<AS, array<u32, AC>, AM>, offset: u32, subgroup_matrix<K, S, C, R>, @test_value(8) stride: u32) */
    /* num overloads */ 12,
    /* overloads */ OverloadIndex(224),
  },
  {
    /* [151] */
    /* fn subgroupMatrixMultiply<TR : f32_f16>[T : f16, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn subgroupMatrixMultiply<TR : f32>[T : f32, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn subgroupMatrixMultiply<TR : iu32_iu8>[T : iu8, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn subgroupMatrixMultiply<TR : iu32>[T : iu32, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(396),
  },
  {
    /* [152] */
    /* fn subgroupMatrixMultiplyAccumulate[T : f16, TR : f32_f16, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn subgroupMatrixMultiplyAccumulate[T : f32, TR : f32, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn subgroupMatrixMultiplyAccumulate[T : iu8, TR : iu32_iu8, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* fn subgroupMatrixMultiplyAccumulate[T : iu32, TR : iu32, C : num, R : num, K : num](subgroup_matrix<subgroup_matrix_kind_left, T, K, R>, subgroup_matrix<subgroup_matrix_kind_right, T, C, K>, subgroup_matrix<subgroup_matrix_kind_result, TR, C, R>) -> subgroup_matrix<subgroup_matrix_kind_result, TR, C, R> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(400),
  },
  {
    /* [153] */
    /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix<K, T, C, R>, @test_value(8) s: T) -> subgroup_matrix<K, T, C, R> */
    /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix<K, i8, C, R>, @test_value(8) s: i32) -> subgroup_matrix<K, i8, C, R> */
    /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix<K, u8, C, R>, @test_value(8) s: u32) -> subgroup_matrix<K, u8, C, R> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(441),
  },
  {
    /* [154] */
    /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix<K, T, C, R>, @test_value(8) s: T) -> subgroup_matrix<K, T, C, R> */
    /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix<K, i8, C, R>, @test_value(8) s: i32) -> subgroup_matrix<K, i8, C, R> */
    /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix<K, u8, C, R>, @test_value(8) s: u32) -> subgroup_matrix<K, u8, C, R> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(441),
  },
  {
    /* [155] */
    /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix<K, T, C, R>, @test_value(8) s: T) -> subgroup_matrix<K, T, C, R> */
    /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix<K, i8, C, R>, @test_value(8) s: i32) -> subgroup_matrix<K, i8, C, R> */
    /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix<K, u8, C, R>, @test_value(8) s: u32) -> subgroup_matrix<K, u8, C, R> */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(441),
  },
  {
    /* [156] */
    /* fn bufferView<T>[R : read, AS : uniform_or_storage, N : num, I : iu32](ptr<AS, buffer<N>, R>, offset: I) -> ptr<AS, T, R> */
    /* fn bufferView<T>[W : read_write, AS : workgroup_or_storage, N : num, I : iu32](ptr<AS, buffer<N>, W>, offset: I) -> ptr<AS, T, W> */
    /* fn bufferView<T>[R : read, AS : uniform_or_storage, I : iu32](ptr<AS, unsized_buffer, R>, offset: I) -> ptr<AS, T, R> */
    /* fn bufferView<T>[W : read_write, AS : workgroup_or_storage, I : iu32](ptr<AS, unsized_buffer, W>, offset: I) -> ptr<AS, T, W> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(404),
  },
  {
    /* [157] */
    /* fn bufferArrayView<T>[R : read, AS : uniform_or_storage, N : num, O : iu32, S : iu32](ptr<AS, buffer<N>, R>, offset: O, s: S) -> ptr<AS, T, R> */
    /* fn bufferArrayView<T>[W : read_write, AS : workgroup_or_storage, N : num, O : iu32, S : iu32](ptr<AS, buffer<N>, W>, offset: O, s: S) -> ptr<AS, T, W> */
    /* fn bufferArrayView<T>[R : read, AS : uniform_or_storage, O : iu32, S : iu32](ptr<AS, unsized_buffer, R>, offset: O, s: S) -> ptr<AS, T, R> */
    /* fn bufferArrayView<T>[W : read_write, AS : workgroup_or_storage, O : iu32, S : iu32](ptr<AS, unsized_buffer, W>, offset: O, s: S) -> ptr<AS, T, W> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(408),
  },
  {
    /* [158] */
    /* fn bufferLength[R : read, AS : uniform_or_storage, N : num](ptr<AS, buffer<N>, R>) -> u32 */
    /* fn bufferLength[W : read_write, AS : workgroup_or_storage, N : num](ptr<AS, buffer<N>, W>) -> u32 */
    /* fn bufferLength[R : read, AS : uniform_or_storage](ptr<AS, unsized_buffer, R>) -> u32 */
    /* fn bufferLength[W : read_write, AS : workgroup_or_storage](ptr<AS, unsized_buffer, W>) -> u32 */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(412),
  },
  {
    /* [159] */
    /* fn print[T : concrete_scalar](T) */
    /* fn print[N : num, T : concrete_scalar](vec<N, T>) */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(587),
  },
  {
    /* [160] */
    /* fn hasResource<T : texture_1d<K>>[K : fiu32, I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_2d<K>>[K : fiu32, I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_2d_array<K>>[K : fiu32, I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_3d<K>>[K : fiu32, I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_cube<K>>[K : fiu32, I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_cube_array<K>>[K : fiu32, I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_multisampled_2d<K>>[K : fiu32, I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_depth_2d>[I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_depth_2d_array>[I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_depth_cube>[I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_depth_cube_array>[I : iu32](index: I) -> bool */
    /* fn hasResource<T : texture_depth_multisampled_2d>[I : iu32](index: I) -> bool */
    /* fn hasResource<S : sampler>[I : iu32](index: I) -> bool */
    /* fn hasResource<S : sampler_comparison>[I : iu32](index: I) -> bool */
    /* num overloads */ 14,
    /* overloads */ OverloadIndex(159),
  },
  {
    /* [161] */
    /* fn getResource<T : texture_1d<K>>[K : fiu32, I : iu32](index: I) -> T */
    /* fn getResource<T : texture_2d<K>>[K : fiu32, I : iu32](index: I) -> T */
    /* fn getResource<T : texture_2d_array<K>>[K : fiu32, I : iu32](index: I) -> T */
    /* fn getResource<T : texture_3d<K>>[K : fiu32, I : iu32](index: I) -> T */
    /* fn getResource<T : texture_cube<K>>[K : fiu32, I : iu32](index: I) -> T */
    /* fn getResource<T : texture_cube_array<K>>[K : fiu32, I : iu32](index: I) -> T */
    /* fn getResource<T : texture_multisampled_2d<K>>[K : fiu32, I : iu32](index: I) -> T */
    /* fn getResource<T : texture_depth_2d>[I : iu32](index: I) -> T */
    /* fn getResource<T : texture_depth_2d_array>[I : iu32](index: I) -> T */
    /* fn getResource<T : texture_depth_cube>[I : iu32](index: I) -> T */
    /* fn getResource<T : texture_depth_cube_array>[I : iu32](index: I) -> T */
    /* fn getResource<T : texture_depth_multisampled_2d>[I : iu32](index: I) -> T */
    /* fn getResource<S : sampler>[I : iu32](index: I) -> S */
    /* fn getResource<S : sampler_comparison>[I : iu32](index: I) -> S */
    /* num overloads */ 14,
    /* overloads */ OverloadIndex(173),
  },
};

constexpr IntrinsicInfo kUnaryOperators[] = {
  {
    /* [0] */
    /* op &[S : address_space, T, A : access](ref<S, T, A>) -> ptr<S, T, A> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(649),
  },
  {
    /* [1] */
    /* op *[S : address_space, T, A : access](ptr<S, T, A>) -> ref<S, T, A> */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(650),
  },
  {
    /* [2] */
    /* op !(bool) -> bool */
    /* op ![N : num](vec<N, bool>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(589),
  },
  {
    /* [3] */
    /* op ~[T : ia_iu32](T) -> T */
    /* op ~[T : ia_iu32, N : num](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(591),
  },
  {
    /* [4] */
    /* op -[T : fia_fi32_f16](T) -> T */
    /* op -[T : fia_fi32_f16, N : num](vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(593),
  },
};
constexpr uint8_t kUnaryOperatorAnd = 0;
constexpr uint8_t kUnaryOperatorStar = 1;
constexpr uint8_t kUnaryOperatorNot = 2;
constexpr uint8_t kUnaryOperatorComplement = 3;
constexpr uint8_t kUnaryOperatorMinus = 4;

constexpr IntrinsicInfo kBinaryOperators[] = {
  {
    /* [0] */
    /* op +[T : fia_fiu32_f16](T, T) -> T */
    /* op +[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* op +[T : fia_fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
    /* op +[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
    /* op +[T : fa_f32_f16, N : num, M : num](mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
    /* num overloads */ 5,
    /* overloads */ OverloadIndex(386),
  },
  {
    /* [1] */
    /* op -[T : fia_fiu32_f16](T, T) -> T */
    /* op -[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* op -[T : fia_fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
    /* op -[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
    /* op -[T : fa_f32_f16, N : num, M : num](mat<N, M, T>, mat<N, M, T>) -> mat<N, M, T> */
    /* num overloads */ 5,
    /* overloads */ OverloadIndex(391),
  },
  {
    /* [2] */
    /* op *[T : fia_fiu32_f16](T, T) -> T */
    /* op *[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* op *[T : fia_fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
    /* op *[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
    /* op *[T : fa_f32_f16, N : num, M : num](T, mat<N, M, T>) -> mat<N, M, T> */
    /* op *[T : fa_f32_f16, N : num, M : num](mat<N, M, T>, T) -> mat<N, M, T> */
    /* op *[T : fa_f32_f16, C : num, R : num](mat<C, R, T>, vec<C, T>) -> vec<R, T> */
    /* op *[T : fa_f32_f16, C : num, R : num](vec<R, T>, mat<C, R, T>) -> vec<C, T> */
    /* op *[T : fa_f32_f16, K : num, C : num, R : num](mat<K, R, T>, mat<C, K, T>) -> mat<C, R, T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(256),
  },
  {
    /* [3] */
    /* op /[T : fia_fiu32_f16](T, T) -> T */
    /* op /[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* op /[T : fia_fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
    /* op /[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(416),
  },
  {
    /* [4] */
    /* op %[T : fia_fiu32_f16](T, T) -> T */
    /* op %[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* op %[T : fia_fiu32_f16, N : num](vec<N, T>, T) -> vec<N, T> */
    /* op %[T : fia_fiu32_f16, N : num](T, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(420),
  },
  {
    /* [5] */
    /* op ^[T : ia_iu32](T, T) -> T */
    /* op ^[T : ia_iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(595),
  },
  {
    /* [6] */
    /* op &(bool, bool) -> bool */
    /* op &[N : num](vec<N, bool>, vec<N, bool>) -> vec<N, bool> */
    /* op &[T : ia_iu32](T, T) -> T */
    /* op &[T : ia_iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(424),
  },
  {
    /* [7] */
    /* op |(bool, bool) -> bool */
    /* op |[N : num](vec<N, bool>, vec<N, bool>) -> vec<N, bool> */
    /* op |[T : ia_iu32](T, T) -> T */
    /* op |[T : ia_iu32, N : num](vec<N, T>, vec<N, T>) -> vec<N, T> */
    /* num overloads */ 4,
    /* overloads */ OverloadIndex(428),
  },
  {
    /* [8] */
    /* op &&(bool, bool) -> bool */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(651),
  },
  {
    /* [9] */
    /* op ||(bool, bool) -> bool */
    /* num overloads */ 1,
    /* overloads */ OverloadIndex(652),
  },
  {
    /* [10] */
    /* op ==[T : scalar](T, T) -> bool */
    /* op ==[T : scalar, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(597),
  },
  {
    /* [11] */
    /* op !=[T : scalar](T, T) -> bool */
    /* op !=[T : scalar, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(599),
  },
  {
    /* [12] */
    /* op <[T : fia_fiu32_f16](T, T) -> bool */
    /* op <[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(601),
  },
  {
    /* [13] */
    /* op >[T : fia_fiu32_f16](T, T) -> bool */
    /* op >[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(603),
  },
  {
    /* [14] */
    /* op <=[T : fia_fiu32_f16](T, T) -> bool */
    /* op <=[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(605),
  },
  {
    /* [15] */
    /* op >=[T : fia_fiu32_f16](T, T) -> bool */
    /* op >=[T : fia_fiu32_f16, N : num](vec<N, T>, vec<N, T>) -> vec<N, bool> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(607),
  },
  {
    /* [16] */
    /* op <<[T : ia_iu32](T, u32) -> T */
    /* op <<[T : ia_iu32, N : num](vec<N, T>, vec<N, u32>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(609),
  },
  {
    /* [17] */
    /* op >>[T : ia_iu32](T, u32) -> T */
    /* op >>[T : ia_iu32, N : num](vec<N, T>, vec<N, u32>) -> vec<N, T> */
    /* num overloads */ 2,
    /* overloads */ OverloadIndex(611),
  },
};
constexpr uint8_t kBinaryOperatorPlus = 0;
constexpr uint8_t kBinaryOperatorMinus = 1;
constexpr uint8_t kBinaryOperatorStar = 2;
constexpr uint8_t kBinaryOperatorDivide = 3;
constexpr uint8_t kBinaryOperatorModulo = 4;
constexpr uint8_t kBinaryOperatorXor = 5;
constexpr uint8_t kBinaryOperatorAnd = 6;
constexpr uint8_t kBinaryOperatorOr = 7;
constexpr uint8_t kBinaryOperatorLogicalAnd = 8;
constexpr uint8_t kBinaryOperatorLogicalOr = 9;
constexpr uint8_t kBinaryOperatorEqual = 10;
constexpr uint8_t kBinaryOperatorNotEqual = 11;
constexpr uint8_t kBinaryOperatorLessThan = 12;
constexpr uint8_t kBinaryOperatorGreaterThan = 13;
constexpr uint8_t kBinaryOperatorLessThanEqual = 14;
constexpr uint8_t kBinaryOperatorGreaterThanEqual = 15;
constexpr uint8_t kBinaryOperatorShiftLeft = 16;
constexpr uint8_t kBinaryOperatorShiftRight = 17;

constexpr IntrinsicInfo kConstructorsAndConverters[] = {
  {
    /* [0] */
    /* ctor i32() -> i32 */
    /* ctor i32(i32) -> i32 */
    /* conv i32[T : scalar_no_i32](T) -> i32 */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(444),
  },
  {
    /* [1] */
    /* ctor u32() -> u32 */
    /* ctor u32(u32) -> u32 */
    /* conv u32[T : scalar_no_u32](T) -> u32 */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(447),
  },
  {
    /* [2] */
    /* ctor f32() -> f32 */
    /* ctor f32(f32) -> f32 */
    /* conv f32[T : scalar_no_f32](T) -> f32 */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(450),
  },
  {
    /* [3] */
    /* ctor f16() -> f16 */
    /* ctor f16(f16) -> f16 */
    /* conv f16[T : scalar_no_f16](T) -> f16 */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(453),
  },
  {
    /* [4] */
    /* ctor bool() -> bool */
    /* ctor bool(bool) -> bool */
    /* conv bool[T : scalar_no_bool](T) -> bool */
    /* num overloads */ 3,
    /* overloads */ OverloadIndex(456),
  },
  {
    /* [5] */
    /* ctor vec2() -> vec2<ia> */
    /* ctor vec2<T : concrete_scalar>() -> vec2<T> */
    /* ctor vec2<T : concrete_scalar>(vec2<T>) -> vec2<T> */
    /* ctor vec2[T : scalar](vec2<T>) -> vec2<T> */
    /* ctor vec2<T : concrete_scalar>(T) -> vec2<T> */
    /* ctor vec2[T : scalar](T) -> vec2<T> */
    /* ctor vec2<T : concrete_scalar>(x: T, y: T) -> vec2<T> */
    /* ctor vec2[T : scalar](x: T, y: T) -> vec2<T> */
    /* conv vec2<T : f32>[U : scalar_no_f32](vec2<U>) -> vec2<T> */
    /* conv vec2<T : f16>[U : scalar_no_f16](vec2<U>) -> vec2<T> */
    /* conv vec2<T : i32>[U : scalar_no_i32](vec2<U>) -> vec2<T> */
    /* conv vec2<T : u32>[U : scalar_no_u32](vec2<U>) -> vec2<T> */
    /* conv vec2<T : bool>[U : scalar_no_bool](vec2<U>) -> vec2<T> */
    /* num overloads */ 13,
    /* overloads */ OverloadIndex(187),
  },
  {
    /* [6] */
    /* ctor vec3() -> vec3<ia> */
    /* ctor vec3<T : concrete_scalar>() -> vec3<T> */
    /* ctor vec3<T : concrete_scalar>(vec3<T>) -> vec3<T> */
    /* ctor vec3[T : scalar](vec3<T>) -> vec3<T> */
    /* ctor vec3<T : concrete_scalar>(T) -> vec3<T> */
    /* ctor vec3[T : scalar](T) -> vec3<T> */
    /* ctor vec3<T : concrete_scalar>(x: T, y: T, z: T) -> vec3<T> */
    /* ctor vec3[T : scalar](x: T, y: T, z: T) -> vec3<T> */
    /* ctor vec3<T : concrete_scalar>(xy: vec2<T>, z: T) -> vec3<T> */
    /* ctor vec3<T : concrete_scalar>(x: T, yz: vec2<T>) -> vec3<T> */
    /* ctor vec3[T : scalar](xy: vec2<T>, z: T) -> vec3<T> */
    /* ctor vec3[T : scalar](x: T, yz: vec2<T>) -> vec3<T> */
    /* conv vec3<T : f32>[U : scalar_no_f32](vec3<U>) -> vec3<T> */
    /* conv vec3<T : f16>[U : scalar_no_f16](vec3<U>) -> vec3<T> */
    /* conv vec3<T : i32>[U : scalar_no_i32](vec3<U>) -> vec3<T> */
    /* conv vec3<T : u32>[U : scalar_no_u32](vec3<U>) -> vec3<T> */
    /* conv vec3<T : bool>[U : scalar_no_bool](vec3<U>) -> vec3<T> */
    /* num overloads */ 17,
    /* overloads */ OverloadIndex(97),
  },
  {
    /* [7] */
    /* ctor vec4() -> vec4<ia> */
    /* ctor vec4<T : concrete_scalar>() -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(vec4<T>) -> vec4<T> */
    /* ctor vec4[T : scalar](vec4<T>) -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(T) -> vec4<T> */
    /* ctor vec4[T : scalar](T) -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(x: T, y: T, z: T, w: T) -> vec4<T> */
    /* ctor vec4[T : scalar](x: T, y: T, z: T, w: T) -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(xy: vec2<T>, z: T, w: T) -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(x: T, yz: vec2<T>, w: T) -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(x: T, y: T, zw: vec2<T>) -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(xy: vec2<T>, zw: vec2<T>) -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(xyz: vec3<T>, w: T) -> vec4<T> */
    /* ctor vec4<T : concrete_scalar>(x: T, zyw: vec3<T>) -> vec4<T> */
    /* ctor vec4[T : scalar](xy: vec2<T>, z: T, w: T) -> vec4<T> */
    /* ctor vec4[T : scalar](x: T, yz: vec2<T>, w: T) -> vec4<T> */
    /* ctor vec4[T : scalar](x: T, y: T, zw: vec2<T>) -> vec4<T> */
    /* ctor vec4[T : scalar](xy: vec2<T>, zw: vec2<T>) -> vec4<T> */
    /* ctor vec4[T : scalar](xyz: vec3<T>, w: T) -> vec4<T> */
    /* ctor vec4[T : scalar](x: T, zyw: vec3<T>) -> vec4<T> */
    /* conv vec4<T : f32>[U : scalar_no_f32](vec4<U>) -> vec4<T> */
    /* conv vec4<T : f16>[U : scalar_no_f16](vec4<U>) -> vec4<T> */
    /* conv vec4<T : i32>[U : scalar_no_i32](vec4<U>) -> vec4<T> */
    /* conv vec4<T : u32>[U : scalar_no_u32](vec4<U>) -> vec4<T> */
    /* conv vec4<T : bool>[U : scalar_no_bool](vec4<U>) -> vec4<T> */
    /* num overloads */ 25,
    /* overloads */ OverloadIndex(72),
  },
  {
    /* [8] */
    /* ctor mat2x2<T : f32_f16>() -> mat2x2<T> */
    /* ctor mat2x2<T : f32_f16>(mat2x2<T>) -> mat2x2<T> */
    /* ctor mat2x2[T : fa_f32_f16](mat2x2<T>) -> mat2x2<T> */
    /* ctor mat2x2<T : fa_f32_f16>(T, T, T, T) -> mat2x2<T> */
    /* ctor mat2x2[T : fa_f32_f16](T, T, T, T) -> mat2x2<T> */
    /* ctor mat2x2<T : fa_f32_f16>(vec2<T>, vec2<T>) -> mat2x2<T> */
    /* ctor mat2x2[T : fa_f32_f16](vec2<T>, vec2<T>) -> mat2x2<T> */
    /* conv mat2x2<T : f16>(mat2x2<f32>) -> mat2x2<T> */
    /* conv mat2x2<T : f32>(mat2x2<f16>) -> mat2x2<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(265),
  },
  {
    /* [9] */
    /* ctor mat2x3<T : f32_f16>() -> mat2x3<T> */
    /* ctor mat2x3<T : f32_f16>(mat2x3<T>) -> mat2x3<T> */
    /* ctor mat2x3[T : fa_f32_f16](mat2x3<T>) -> mat2x3<T> */
    /* ctor mat2x3<T : fa_f32_f16>(T, T, T, T, T, T) -> mat2x3<T> */
    /* ctor mat2x3[T : fa_f32_f16](T, T, T, T, T, T) -> mat2x3<T> */
    /* ctor mat2x3<T : fa_f32_f16>(vec3<T>, vec3<T>) -> mat2x3<T> */
    /* ctor mat2x3[T : fa_f32_f16](vec3<T>, vec3<T>) -> mat2x3<T> */
    /* conv mat2x3<T : f16>(mat2x3<f32>) -> mat2x3<T> */
    /* conv mat2x3<T : f32>(mat2x3<f16>) -> mat2x3<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(274),
  },
  {
    /* [10] */
    /* ctor mat2x4<T : f32_f16>() -> mat2x4<T> */
    /* ctor mat2x4<T : f32_f16>(mat2x4<T>) -> mat2x4<T> */
    /* ctor mat2x4[T : fa_f32_f16](mat2x4<T>) -> mat2x4<T> */
    /* ctor mat2x4<T : fa_f32_f16>(T, T, T, T, T, T, T, T) -> mat2x4<T> */
    /* ctor mat2x4[T : fa_f32_f16](T, T, T, T, T, T, T, T) -> mat2x4<T> */
    /* ctor mat2x4<T : fa_f32_f16>(vec4<T>, vec4<T>) -> mat2x4<T> */
    /* ctor mat2x4[T : fa_f32_f16](vec4<T>, vec4<T>) -> mat2x4<T> */
    /* conv mat2x4<T : f16>(mat2x4<f32>) -> mat2x4<T> */
    /* conv mat2x4<T : f32>(mat2x4<f16>) -> mat2x4<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(283),
  },
  {
    /* [11] */
    /* ctor mat3x2<T : f32_f16>() -> mat3x2<T> */
    /* ctor mat3x2<T : f32_f16>(mat3x2<T>) -> mat3x2<T> */
    /* ctor mat3x2[T : fa_f32_f16](mat3x2<T>) -> mat3x2<T> */
    /* ctor mat3x2<T : fa_f32_f16>(T, T, T, T, T, T) -> mat3x2<T> */
    /* ctor mat3x2[T : fa_f32_f16](T, T, T, T, T, T) -> mat3x2<T> */
    /* ctor mat3x2<T : fa_f32_f16>(vec2<T>, vec2<T>, vec2<T>) -> mat3x2<T> */
    /* ctor mat3x2[T : fa_f32_f16](vec2<T>, vec2<T>, vec2<T>) -> mat3x2<T> */
    /* conv mat3x2<T : f16>(mat3x2<f32>) -> mat3x2<T> */
    /* conv mat3x2<T : f32>(mat3x2<f16>) -> mat3x2<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(292),
  },
  {
    /* [12] */
    /* ctor mat3x3<T : f32_f16>() -> mat3x3<T> */
    /* ctor mat3x3<T : f32_f16>(mat3x3<T>) -> mat3x3<T> */
    /* ctor mat3x3[T : fa_f32_f16](mat3x3<T>) -> mat3x3<T> */
    /* ctor mat3x3<T : fa_f32_f16>(T, T, T, T, T, T, T, T, T) -> mat3x3<T> */
    /* ctor mat3x3[T : fa_f32_f16](T, T, T, T, T, T, T, T, T) -> mat3x3<T> */
    /* ctor mat3x3<T : fa_f32_f16>(vec3<T>, vec3<T>, vec3<T>) -> mat3x3<T> */
    /* ctor mat3x3[T : fa_f32_f16](vec3<T>, vec3<T>, vec3<T>) -> mat3x3<T> */
    /* conv mat3x3<T : f16>(mat3x3<f32>) -> mat3x3<T> */
    /* conv mat3x3<T : f32>(mat3x3<f16>) -> mat3x3<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(301),
  },
  {
    /* [13] */
    /* ctor mat3x4<T : f32_f16>() -> mat3x4<T> */
    /* ctor mat3x4<T : f32_f16>(mat3x4<T>) -> mat3x4<T> */
    /* ctor mat3x4[T : fa_f32_f16](mat3x4<T>) -> mat3x4<T> */
    /* ctor mat3x4<T : fa_f32_f16>(T, T, T, T, T, T, T, T, T, T, T, T) -> mat3x4<T> */
    /* ctor mat3x4[T : fa_f32_f16](T, T, T, T, T, T, T, T, T, T, T, T) -> mat3x4<T> */
    /* ctor mat3x4<T : fa_f32_f16>(vec4<T>, vec4<T>, vec4<T>) -> mat3x4<T> */
    /* ctor mat3x4[T : fa_f32_f16](vec4<T>, vec4<T>, vec4<T>) -> mat3x4<T> */
    /* conv mat3x4<T : f16>(mat3x4<f32>) -> mat3x4<T> */
    /* conv mat3x4<T : f32>(mat3x4<f16>) -> mat3x4<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(310),
  },
  {
    /* [14] */
    /* ctor mat4x2<T : f32_f16>() -> mat4x2<T> */
    /* ctor mat4x2<T : f32_f16>(mat4x2<T>) -> mat4x2<T> */
    /* ctor mat4x2[T : fa_f32_f16](mat4x2<T>) -> mat4x2<T> */
    /* ctor mat4x2<T : fa_f32_f16>(T, T, T, T, T, T, T, T) -> mat4x2<T> */
    /* ctor mat4x2[T : fa_f32_f16](T, T, T, T, T, T, T, T) -> mat4x2<T> */
    /* ctor mat4x2<T : fa_f32_f16>(vec2<T>, vec2<T>, vec2<T>, vec2<T>) -> mat4x2<T> */
    /* ctor mat4x2[T : fa_f32_f16](vec2<T>, vec2<T>, vec2<T>, vec2<T>) -> mat4x2<T> */
    /* conv mat4x2<T : f16>(mat4x2<f32>) -> mat4x2<T> */
    /* conv mat4x2<T : f32>(mat4x2<f16>) -> mat4x2<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(319),
  },
  {
    /* [15] */
    /* ctor mat4x3<T : f32_f16>() -> mat4x3<T> */
    /* ctor mat4x3<T : f32_f16>(mat4x3<T>) -> mat4x3<T> */
    /* ctor mat4x3[T : fa_f32_f16](mat4x3<T>) -> mat4x3<T> */
    /* ctor mat4x3<T : fa_f32_f16>(T, T, T, T, T, T, T, T, T, T, T, T) -> mat4x3<T> */
    /* ctor mat4x3[T : fa_f32_f16](T, T, T, T, T, T, T, T, T, T, T, T) -> mat4x3<T> */
    /* ctor mat4x3<T : fa_f32_f16>(vec3<T>, vec3<T>, vec3<T>, vec3<T>) -> mat4x3<T> */
    /* ctor mat4x3[T : fa_f32_f16](vec3<T>, vec3<T>, vec3<T>, vec3<T>) -> mat4x3<T> */
    /* conv mat4x3<T : f16>(mat4x3<f32>) -> mat4x3<T> */
    /* conv mat4x3<T : f32>(mat4x3<f16>) -> mat4x3<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(328),
  },
  {
    /* [16] */
    /* ctor mat4x4<T : f32_f16>() -> mat4x4<T> */
    /* ctor mat4x4<T : f32_f16>(mat4x4<T>) -> mat4x4<T> */
    /* ctor mat4x4[T : fa_f32_f16](mat4x4<T>) -> mat4x4<T> */
    /* ctor mat4x4<T : fa_f32_f16>(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) -> mat4x4<T> */
    /* ctor mat4x4[T : fa_f32_f16](T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T) -> mat4x4<T> */
    /* ctor mat4x4<T : fa_f32_f16>(vec4<T>, vec4<T>, vec4<T>, vec4<T>) -> mat4x4<T> */
    /* ctor mat4x4[T : fa_f32_f16](vec4<T>, vec4<T>, vec4<T>, vec4<T>) -> mat4x4<T> */
    /* conv mat4x4<T : f16>(mat4x4<f32>) -> mat4x4<T> */
    /* conv mat4x4<T : f32>(mat4x4<f16>) -> mat4x4<T> */
    /* num overloads */ 9,
    /* overloads */ OverloadIndex(337),
  },
};

}  // anonymous namespace

const core::intrinsic::TableData Dialect::kData{
  /* templates */ kTemplates,
  /* type_matcher_indices */ kMatcherIndices,
  /* type_matchers */ kTypeMatchers,
  /* number_matchers */ kNumberMatchers,
  /* parameters */ kParameters,
  /* overloads */ kOverloads,
  /* const_eval_functions */ kConstEvalFunctions,
  /* ctor_conv */ kConstructorsAndConverters,
  /* builtins */ kBuiltins,
  /* binary '+' */ kBinaryOperators[kBinaryOperatorPlus],
  /* binary '-' */ kBinaryOperators[kBinaryOperatorMinus],
  /* binary '*' */ kBinaryOperators[kBinaryOperatorStar],
  /* binary '/' */ kBinaryOperators[kBinaryOperatorDivide],
  /* binary '%' */ kBinaryOperators[kBinaryOperatorModulo],
  /* binary '^' */ kBinaryOperators[kBinaryOperatorXor],
  /* binary '&' */ kBinaryOperators[kBinaryOperatorAnd],
  /* binary '|' */ kBinaryOperators[kBinaryOperatorOr],
  /* binary '&&' */ kBinaryOperators[kBinaryOperatorLogicalAnd],
  /* binary '||' */ kBinaryOperators[kBinaryOperatorLogicalOr],
  /* binary '==' */ kBinaryOperators[kBinaryOperatorEqual],
  /* binary '!=' */ kBinaryOperators[kBinaryOperatorNotEqual],
  /* binary '<' */ kBinaryOperators[kBinaryOperatorLessThan],
  /* binary '>' */ kBinaryOperators[kBinaryOperatorGreaterThan],
  /* binary '<=' */ kBinaryOperators[kBinaryOperatorLessThanEqual],
  /* binary '>=' */ kBinaryOperators[kBinaryOperatorGreaterThanEqual],
  /* binary '<<' */ kBinaryOperators[kBinaryOperatorShiftLeft],
  /* binary '>>' */ kBinaryOperators[kBinaryOperatorShiftRight],
  /* unary '!' */ kUnaryOperators[kUnaryOperatorNot],
  /* unary '~' */ kUnaryOperators[kUnaryOperatorComplement],
  /* unary '-' */ kUnaryOperators[kUnaryOperatorMinus],
  /* unary '*' */ kUnaryOperators[kUnaryOperatorStar],
  /* unary '&' */ kUnaryOperators[kUnaryOperatorAnd],
};

}  // namespace tint::wgsl::intrinsic

// clang-format on
