#include <metal_stdlib>

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

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

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

