#include <metal_stdlib>

using namespace metal;
half2 subgroupShuffleDown_57b1e8() {
  half2 arg_0 = half2(1.0h);
  uint arg_1 = 1u;
  half2 res = simd_shuffle_down(arg_0,arg_1);
  return res;
}

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

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

