#version 310 es

shared int zero[3];
void main_inner(uint tint_local_index) {
  {
    uint v_1 = 0u;
    v_1 = tint_local_index;
    while(true) {
      uint v_2 = v_1;
      if ((v_2 >= 3u)) {
        break;
      }
      zero[v_2] = 0;
      {
        v_1 = (v_2 + 1u);
      }
    }
  }
  barrier();
  int v[3] = zero;
}
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;
void main() {
  main_inner(gl_LocalInvocationIndex);
}
