#include <metal_stdlib>

using namespace metal;
struct S {
  /* 0x0000 */ packed_uint3 v;
  /* 0x000c */ int8_t tint_pad[4];
};

void f(const constant S* const tint_symbol) {
  uint3 v = (*(tint_symbol)).v;
  uint x = (*(tint_symbol)).v[0];
  uint y = (*(tint_symbol)).v[1];
  uint z = (*(tint_symbol)).v[2];
  uint2 xx = uint3((*(tint_symbol)).v).xx;
  uint2 xy = uint3((*(tint_symbol)).v).xy;
  uint2 xz = uint3((*(tint_symbol)).v).xz;
  uint2 yx = uint3((*(tint_symbol)).v).yx;
  uint2 yy = uint3((*(tint_symbol)).v).yy;
  uint2 yz = uint3((*(tint_symbol)).v).yz;
  uint2 zx = uint3((*(tint_symbol)).v).zx;
  uint2 zy = uint3((*(tint_symbol)).v).zy;
  uint2 zz = uint3((*(tint_symbol)).v).zz;
  uint3 xxx = uint3((*(tint_symbol)).v).xxx;
  uint3 xxy = uint3((*(tint_symbol)).v).xxy;
  uint3 xxz = uint3((*(tint_symbol)).v).xxz;
  uint3 xyx = uint3((*(tint_symbol)).v).xyx;
  uint3 xyy = uint3((*(tint_symbol)).v).xyy;
  uint3 xyz = uint3((*(tint_symbol)).v).xyz;
  uint3 xzx = uint3((*(tint_symbol)).v).xzx;
  uint3 xzy = uint3((*(tint_symbol)).v).xzy;
  uint3 xzz = uint3((*(tint_symbol)).v).xzz;
  uint3 yxx = uint3((*(tint_symbol)).v).yxx;
  uint3 yxy = uint3((*(tint_symbol)).v).yxy;
  uint3 yxz = uint3((*(tint_symbol)).v).yxz;
  uint3 yyx = uint3((*(tint_symbol)).v).yyx;
  uint3 yyy = uint3((*(tint_symbol)).v).yyy;
  uint3 yyz = uint3((*(tint_symbol)).v).yyz;
  uint3 yzx = uint3((*(tint_symbol)).v).yzx;
  uint3 yzy = uint3((*(tint_symbol)).v).yzy;
  uint3 yzz = uint3((*(tint_symbol)).v).yzz;
  uint3 zxx = uint3((*(tint_symbol)).v).zxx;
  uint3 zxy = uint3((*(tint_symbol)).v).zxy;
  uint3 zxz = uint3((*(tint_symbol)).v).zxz;
  uint3 zyx = uint3((*(tint_symbol)).v).zyx;
  uint3 zyy = uint3((*(tint_symbol)).v).zyy;
  uint3 zyz = uint3((*(tint_symbol)).v).zyz;
  uint3 zzx = uint3((*(tint_symbol)).v).zzx;
  uint3 zzy = uint3((*(tint_symbol)).v).zzy;
  uint3 zzz = uint3((*(tint_symbol)).v).zzz;
  uint4 xxxx = uint3((*(tint_symbol)).v).xxxx;
  uint4 xxxy = uint3((*(tint_symbol)).v).xxxy;
  uint4 xxxz = uint3((*(tint_symbol)).v).xxxz;
  uint4 xxyx = uint3((*(tint_symbol)).v).xxyx;
  uint4 xxyy = uint3((*(tint_symbol)).v).xxyy;
  uint4 xxyz = uint3((*(tint_symbol)).v).xxyz;
  uint4 xxzx = uint3((*(tint_symbol)).v).xxzx;
  uint4 xxzy = uint3((*(tint_symbol)).v).xxzy;
  uint4 xxzz = uint3((*(tint_symbol)).v).xxzz;
  uint4 xyxx = uint3((*(tint_symbol)).v).xyxx;
  uint4 xyxy = uint3((*(tint_symbol)).v).xyxy;
  uint4 xyxz = uint3((*(tint_symbol)).v).xyxz;
  uint4 xyyx = uint3((*(tint_symbol)).v).xyyx;
  uint4 xyyy = uint3((*(tint_symbol)).v).xyyy;
  uint4 xyyz = uint3((*(tint_symbol)).v).xyyz;
  uint4 xyzx = uint3((*(tint_symbol)).v).xyzx;
  uint4 xyzy = uint3((*(tint_symbol)).v).xyzy;
  uint4 xyzz = uint3((*(tint_symbol)).v).xyzz;
  uint4 xzxx = uint3((*(tint_symbol)).v).xzxx;
  uint4 xzxy = uint3((*(tint_symbol)).v).xzxy;
  uint4 xzxz = uint3((*(tint_symbol)).v).xzxz;
  uint4 xzyx = uint3((*(tint_symbol)).v).xzyx;
  uint4 xzyy = uint3((*(tint_symbol)).v).xzyy;
  uint4 xzyz = uint3((*(tint_symbol)).v).xzyz;
  uint4 xzzx = uint3((*(tint_symbol)).v).xzzx;
  uint4 xzzy = uint3((*(tint_symbol)).v).xzzy;
  uint4 xzzz = uint3((*(tint_symbol)).v).xzzz;
  uint4 yxxx = uint3((*(tint_symbol)).v).yxxx;
  uint4 yxxy = uint3((*(tint_symbol)).v).yxxy;
  uint4 yxxz = uint3((*(tint_symbol)).v).yxxz;
  uint4 yxyx = uint3((*(tint_symbol)).v).yxyx;
  uint4 yxyy = uint3((*(tint_symbol)).v).yxyy;
  uint4 yxyz = uint3((*(tint_symbol)).v).yxyz;
  uint4 yxzx = uint3((*(tint_symbol)).v).yxzx;
  uint4 yxzy = uint3((*(tint_symbol)).v).yxzy;
  uint4 yxzz = uint3((*(tint_symbol)).v).yxzz;
  uint4 yyxx = uint3((*(tint_symbol)).v).yyxx;
  uint4 yyxy = uint3((*(tint_symbol)).v).yyxy;
  uint4 yyxz = uint3((*(tint_symbol)).v).yyxz;
  uint4 yyyx = uint3((*(tint_symbol)).v).yyyx;
  uint4 yyyy = uint3((*(tint_symbol)).v).yyyy;
  uint4 yyyz = uint3((*(tint_symbol)).v).yyyz;
  uint4 yyzx = uint3((*(tint_symbol)).v).yyzx;
  uint4 yyzy = uint3((*(tint_symbol)).v).yyzy;
  uint4 yyzz = uint3((*(tint_symbol)).v).yyzz;
  uint4 yzxx = uint3((*(tint_symbol)).v).yzxx;
  uint4 yzxy = uint3((*(tint_symbol)).v).yzxy;
  uint4 yzxz = uint3((*(tint_symbol)).v).yzxz;
  uint4 yzyx = uint3((*(tint_symbol)).v).yzyx;
  uint4 yzyy = uint3((*(tint_symbol)).v).yzyy;
  uint4 yzyz = uint3((*(tint_symbol)).v).yzyz;
  uint4 yzzx = uint3((*(tint_symbol)).v).yzzx;
  uint4 yzzy = uint3((*(tint_symbol)).v).yzzy;
  uint4 yzzz = uint3((*(tint_symbol)).v).yzzz;
  uint4 zxxx = uint3((*(tint_symbol)).v).zxxx;
  uint4 zxxy = uint3((*(tint_symbol)).v).zxxy;
  uint4 zxxz = uint3((*(tint_symbol)).v).zxxz;
  uint4 zxyx = uint3((*(tint_symbol)).v).zxyx;
  uint4 zxyy = uint3((*(tint_symbol)).v).zxyy;
  uint4 zxyz = uint3((*(tint_symbol)).v).zxyz;
  uint4 zxzx = uint3((*(tint_symbol)).v).zxzx;
  uint4 zxzy = uint3((*(tint_symbol)).v).zxzy;
  uint4 zxzz = uint3((*(tint_symbol)).v).zxzz;
  uint4 zyxx = uint3((*(tint_symbol)).v).zyxx;
  uint4 zyxy = uint3((*(tint_symbol)).v).zyxy;
  uint4 zyxz = uint3((*(tint_symbol)).v).zyxz;
  uint4 zyyx = uint3((*(tint_symbol)).v).zyyx;
  uint4 zyyy = uint3((*(tint_symbol)).v).zyyy;
  uint4 zyyz = uint3((*(tint_symbol)).v).zyyz;
  uint4 zyzx = uint3((*(tint_symbol)).v).zyzx;
  uint4 zyzy = uint3((*(tint_symbol)).v).zyzy;
  uint4 zyzz = uint3((*(tint_symbol)).v).zyzz;
  uint4 zzxx = uint3((*(tint_symbol)).v).zzxx;
  uint4 zzxy = uint3((*(tint_symbol)).v).zzxy;
  uint4 zzxz = uint3((*(tint_symbol)).v).zzxz;
  uint4 zzyx = uint3((*(tint_symbol)).v).zzyx;
  uint4 zzyy = uint3((*(tint_symbol)).v).zzyy;
  uint4 zzyz = uint3((*(tint_symbol)).v).zzyz;
  uint4 zzzx = uint3((*(tint_symbol)).v).zzzx;
  uint4 zzzy = uint3((*(tint_symbol)).v).zzzy;
  uint4 zzzz = uint3((*(tint_symbol)).v).zzzz;
}

