#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  device uint* i;
};

#define TINT_ISOLATE_UB(VOLATILE_NAME) \
  {volatile bool VOLATILE_NAME = false; if (VOLATILE_NAME) break;}

void tint_symbol(tint_module_vars_struct tint_module_vars) {
  {
    (*tint_module_vars.i) = ((*tint_module_vars.i) + 1u);
    while(true) {
      TINT_ISOLATE_UB(tint_volatile_false)
      if (((*tint_module_vars.i) < 10u)) {
      } else {
        break;
      }
      {
      }
      continue;
    }
  }
}
