#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) {
  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;
}

