#include <metal_stdlib>

using namespace metal;
float2 subgroupShuffleDown_7a0cf5() {
  float2 arg_0 = float2(1.0f);
  uint arg_1 = 1u;
  float2 res = simd_shuffle_down(arg_0,arg_1);
  return res;
}

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

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

