#include <metal_stdlib>

using namespace metal;
struct tint_array_wrapper {
  uint arr[2];
};
struct S {
  uint field0;
  float field1;
  tint_array_wrapper field2;
};

void main_1() {
  uint x_25 = 0u;
  uint const x_2 = (1u + 1u);
  x_25 = 1u;
  while (true) {
    {
      x_25 = x_2;
    }
  }
  x_25 = 2u;
  return;
}

fragment void tint_symbol() {
  main_1();
  return;
}

