#include <metal_stdlib>

using namespace metal;
struct tint_array_wrapper {
  int arr[1];
};

void main_1(thread tint_array_wrapper* const tint_symbol_2) {
  int const x_3 = (*(tint_symbol_2)).arr[0];
  return;
}

fragment void tint_symbol(uint x_1_param [[sample_mask]]) {
  thread tint_array_wrapper tint_symbol_3 = {};
  tint_symbol_3.arr[0] = as_type<int>(x_1_param);
  main_1(&(tint_symbol_3));
  return;
}

