static uint var_1 = 0u;

void main_1() {
  while (true) {
    if (false) {
    } else {
      break;
    }
    switch(42u) {
      default: {
        continue;
        break;
      }
      case 79u: {
        break;
      }
    }
  }
  return;
}

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