static uint var_1 = 0u;

void main_1() {
  while (true) {
    if (false) {
    } else {
      break;
    }
    while (true) {
      if (true) {
      } else {
        break;
      }
      if (false) {
      } else {
        break;
      }
    }
  }
  return;
}

void main() {
  main_1();
  return;
}
