#include <metal_stdlib>

using namespace metal;
struct tint_private_vars_struct {
  float t;
};

float4 m(thread tint_private_vars_struct* const tint_private_vars) {
  (*(tint_private_vars)).t = 1.0f;
  return float4((*(tint_private_vars)).t);
}

void f(thread tint_private_vars_struct* const tint_private_vars) {
  float4 const tint_symbol = m(tint_private_vars);
  bool4 v = bool4(tint_symbol);
}

