#version 310 es

bool bool_var1 = bool(1u);
bool bool_var2 = bool(1);
bool bool_var3 = bool(1.0f);
int i32_var1 = int(1u);
int i32_var2 = int(1.0f);
int i32_var3 = int(true);
uint u32_var1 = uint(1);
uint u32_var2 = uint(1.0f);
uint u32_var3 = uint(true);
bvec3 v3bool_var1 = bvec3(uvec3(1u));
bvec3 v3bool_var2 = bvec3(ivec3(1));
bvec3 v3bool_var3 = bvec3(vec3(1.0f));
ivec3 v3i32_var1 = ivec3(uvec3(1u));
ivec3 v3i32_var2 = ivec3(vec3(1.0f));
ivec3 v3i32_var3 = ivec3(bvec3(true));
uvec3 v3u32_var1 = uvec3(ivec3(1));
uvec3 v3u32_var2 = uvec3(vec3(1.0f));
uvec3 v3u32_var3 = uvec3(bvec3(true));
bvec3 v3bool_var4 = bvec3(bvec2(vec2(123.0f)), true);
bvec4 v4bool_var5 = bvec4(bvec2(vec2(123.0f, 0.0f)), bvec2(true, bool(float(0.0f))));
void tint_symbol() {
  bool_var1 = false;
  bool_var2 = false;
  bool_var3 = false;
  i32_var1 = 0;
  i32_var2 = 0;
  i32_var3 = 0;
  u32_var1 = 0u;
  u32_var2 = 0u;
  u32_var3 = 0u;
  v3bool_var1 = bvec3(false, false, false);
  v3bool_var2 = bvec3(false, false, false);
  v3bool_var3 = bvec3(false, false, false);
  v3bool_var4 = bvec3(false, false, false);
  v4bool_var5 = bvec4(false, false, false, false);
  v3i32_var1 = ivec3(0, 0, 0);
  v3i32_var2 = ivec3(0, 0, 0);
  v3i32_var3 = ivec3(0, 0, 0);
  v3u32_var1 = uvec3(0u, 0u, 0u);
  v3u32_var2 = uvec3(0u, 0u, 0u);
  v3u32_var3 = uvec3(0u, 0u, 0u);
}

layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
  tint_symbol();
  return;
}
