#version 310 es
precision mediump float;

bool tint_discarded = false;
layout(location = 1) flat in ivec3 x_1;
layout(location = 2) out int value;
int f(int x) {
  if ((x == 10)) {
    tint_discarded = true;
  }
  return x;
}

int tint_symbol(ivec3 x) {
  int y = x.x;
  while (true) {
    int r = f(y);
    if ((r == 0)) {
      break;
    }
  }
  return y;
}

void main() {
  int inner_result = tint_symbol(x_1);
  value = inner_result;
  if (tint_discarded) {
    discard;
  }
  return;
}
