#version 450
#if defined(GL_AMD_gpu_shader_half_float)
#extension GL_AMD_gpu_shader_half_float : require
#elif defined(GL_EXT_shader_explicit_arithmetic_types_float16)
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require
#else
#error No extension available for FP16.
#endif
#extension GL_EXT_shader_16bit_storage : require
#extension GL_KHR_cooperative_matrix : require
#extension GL_KHR_memory_scope_semantics : require
#extension GL_NV_cooperative_vector : require
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;

layout(constant_id = 0) const float spec_const = 0.0;
const vec4 _33 = vec4(spec_const);
float _62;

layout(set = 0, binding = 0, std140) uniform UBO
{
    float uniform_float;
} ubo;

void main()
{
    vec4 a = vec4(0.0);
    mat4 b = mat4(vec4(1.0), vec4(1.0), vec4(1.0), vec4(1.0));
    coopmat<float16_t, gl_ScopeWorkgroup, 16u, 16u, gl_MatrixUseAccumulator> matrix = coopmat<float16_t, gl_ScopeWorkgroup, 16u, 16u, gl_MatrixUseAccumulator>(float16_t(0.0));
    coopvecNV<float16_t, 16u> vec = coopvecNV<float16_t, 16u>(float16_t(0.0));
    vec4 c = _33;
    vec4 _48 = vec4(ubo.uniform_float);
    vec4 d = _48;
    mat4 e = mat4(_48, _48, _48, _48);
    float16_t _55 = float16_t(ubo.uniform_float);
    coopmat<float16_t, gl_ScopeWorkgroup, 16u, 16u, gl_MatrixUseAccumulator> matrix2 = coopmat<float16_t, gl_ScopeWorkgroup, 16u, 16u, gl_MatrixUseAccumulator>(_55);
    coopvecNV<float16_t, 16u> vec_dynamic = coopvecNV<float16_t, 16u>(_55);
}

