#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  device packed_float3* s;
};

kernel void tint_symbol(device packed_float3* s [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.s=s};
  float3 v = 0.0f;
  float const scalar = v[1u];
  float2 const swizzle2 = v.xz;
  float3 const swizzle3 = v.xzy;
  float3 const v_1 = float3(scalar);
  (*tint_module_vars.s) = packed_float3(((v_1 + float3(swizzle2, 1.0f)) + swizzle3));
}
