#include <metal_stdlib>
using namespace metal;

struct S_packed_vec3 {
  packed_int3 v;
};

struct tint_module_vars_struct {
  const constant S_packed_vec3* U;
};

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