#include <metal_stdlib>

using namespace metal;
void main_1(thread uint* const tint_symbol_1) {
  *(tint_symbol_1) = 1u;
  switch(42u) {
    case 40u: {
      *(tint_symbol_1) = 40u;
      break;
    }
    case 20u: {
      *(tint_symbol_1) = 20u;
      break;
    }
    default: {
      /* fallthrough */
    }
    case 30u: {
      *(tint_symbol_1) = 30u;
      break;
    }
  }
  *(tint_symbol_1) = 7u;
  return;
}

fragment void tint_symbol() {
  thread uint tint_symbol_2 = 0u;
  main_1(&(tint_symbol_2));
  return;
}

