#include <metal_stdlib>

using namespace metal;
void main_1() {
  switch(42u) {
    case 20u: {
      if (false) {
      }
      if (false) {
        break;
      }
      /* fallthrough */
    }
    default: {
      /* fallthrough */
    }
    case 50u: {
      if (false) {
      }
      break;
    }
  }
  return;
}

fragment void tint_symbol() {
  main_1();
  return;
}

