#include <metal_stdlib>

using namespace metal;
struct S {
  float3 v;
};

struct tint_private_vars_struct {
  S P;
};

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

