#include <metal_stdlib>

using namespace metal;
int4 subgroupShuffleXor_bdddba() {
  int4 arg_0 = int4(1);
  uint arg_1 = 1u;
  int4 res = simd_shuffle_xor(arg_0,arg_1);
  return res;
}

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

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

