#version 310 es

void main_1() {
  vec3 v = vec3(0.0f, 0.0f, 0.0f);
  float x_14 = v.y;
  vec3 x_16 = v;
  vec2 x_17 = vec2(x_16.x, x_16.z);
  vec3 x_18 = v;
  vec3 x_19 = vec3(x_18.x, x_18.z, x_18.y);
  return;
}

void tint_symbol() {
  main_1();
}

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