#include <metal_stdlib>
using namespace metal;

void a() {
  int a_1 = 0;
  switch(a_1) {
    case 0:
    {
      break;
    }
    case 1:
    {
      return;
    }
    default:
    {
      a_1 = (a_1 + 2);
      break;
    }
  }
}
