#version 310 es
precision mediump float;

struct S {
  float a;
};

layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void tint_symbol() {
  bool bool_var = false;
  bool bool_let = false;
  int i32_var = 0;
  int i32_let = 0;
  uint u32_var = 0u;
  uint u32_let = 0u;
  float f32_var = 0.0f;
  float f32_let = 0.0f;
  ivec2 v2i32_var = ivec2(0, 0);
  ivec2 v2i32_let = ivec2(0, 0);
  uvec3 v3u32_var = uvec3(0u, 0u, 0u);
  uvec3 v3u32_let = uvec3(0u, 0u, 0u);
  vec4 v4f32_var = vec4(0.0f, 0.0f, 0.0f, 0.0f);
  vec4 v4f32_let = vec4(0.0f, 0.0f, 0.0f, 0.0f);
  mat2x3 m2x3_var = mat2x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
  mat3x4 m3x4_let = mat3x4(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
  float arr_var[4] = float[4](0.0f, 0.0f, 0.0f, 0.0f);
  float arr_let[4] = float[4](0.0f, 0.0f, 0.0f, 0.0f);
  S struct_var = S(0.0f);
  S struct_let = S(0.0f);
  return;
}
void main() {
  tint_symbol();
}


