#include <metal_stdlib>
using namespace metal;

kernel void tint_symbol() {
  int i = 0;
  {
    int i = 0;
    while(true) {
      if ((i < 2)) {
      } else {
        break;
      }
      switch(i) {
        case 0:
        {
          i = (i + 1);
          continue;
        }
        default:
        {
          break;
        }
      }
      switch(i) {
        case 0:
        {
          i = (i + 1);
          continue;
        }
        default:
        {
          break;
        }
      }
      i = (i + 1);
      continue;
    }
  }
}
