#include <metal_stdlib>
using namespace metal;

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

int f() {
  int i = 0;
  {
    while(true) {
      TINT_ISOLATE_UB(tint_volatile_false)
      if ((i > 4)) {
        return i;
      }
      {
        i = as_type<int>((as_type<uint>(i) + as_type<uint>(1)));
        if ((i == 4)) { break; }
      }
      continue;
    }
  }
  return i;
}
