#version 310 es
precision mediump float;

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

void main() {
  unused_entry_point();
}

void some_loop_body() {
}

void f() {
  int j = 0;
  {
    int i = 0;
    while (true) {
      bool tint_tmp = (i < 5);
      if (tint_tmp) {
        tint_tmp = (j < 10);
      }
      if (!((tint_tmp))) { break; }
      some_loop_body();
      j = (i * 30);
      i = (i + 1);
    }
  }
}

