#include <metal_stdlib>

using namespace metal;
uint2 subgroupShuffleDown_c9f1c4() {
  uint2 arg_0 = uint2(1u);
  uint arg_1 = 1u;
  uint2 res = simd_shuffle_down(arg_0,arg_1);
  return res;
}

fragment void fragment_main(device uint2* tint_symbol [[buffer(0)]]) {
  *(tint_symbol) = subgroupShuffleDown_c9f1c4();
  return;
}

kernel void compute_main(device uint2* tint_symbol_1 [[buffer(0)]]) {
  *(tint_symbol_1) = subgroupShuffleDown_c9f1c4();
  return;
}

