#include <metal_stdlib>

using namespace metal;
float2 subgroupShuffle_d9ff67() {
  float2 arg_0 = float2(1.0f);
  int arg_1 = 1;
  float2 res = simd_shuffle(arg_0,arg_1);
  return res;
}

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

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

