#include <metal_stdlib>

using namespace metal;
struct tint_array_wrapper {
  uint arr[1];
};
struct main_out {
  uint x_1_1;
};
struct tint_symbol_1 {
  uint x_1_1 [[sample_mask]];
};

void main_1() {
  return;
}

fragment tint_symbol_1 tint_symbol() {
  thread tint_array_wrapper tint_symbol_4 = {.arr={0u}};
  main_1();
  main_out const tint_symbol_2 = {.x_1_1=tint_symbol_4.arr[0]};
  tint_symbol_1 const tint_symbol_3 = {.x_1_1=tint_symbol_2.x_1_1};
  return tint_symbol_3;
}

