#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(thread uint* const tint_symbol_1) {
  if (true) {
    uint const x_1 = 1u;
    if (true) {
    }
    uint const x_3 = x_1;
    *(tint_symbol_1) = x_3;
  }
  return;
}

fragment void tint_symbol() {
  thread uint tint_symbol_2 = 0u;
  main_1(&(tint_symbol_2));
  return;
}

