#include <metal_stdlib>

using namespace metal;
half4 subgroupShuffle_7ba2d5() {
  half4 arg_0 = half4(1.0h);
  uint arg_1 = 1u;
  half4 res = simd_shuffle(arg_0,arg_1);
  return res;
}

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

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

