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