#include <metal_stdlib>
using namespace metal;

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