#include <metal_stdlib>

using namespace metal;
half subgroupShuffle_b0f28d() {
  half arg_0 = 1.0h;
  int arg_1 = 1;
  half res = simd_shuffle(arg_0,arg_1);
  return res;
}

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

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

