#include <metal_stdlib>
using namespace metal;

struct str {
  float4 i;
};

struct tint_module_vars_struct {
  const constant str* S;
};

float4 func(const constant float4* const pointer) {
  return (*pointer);
}

kernel void tint_symbol(const constant str* S [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.S=S};
  float4 const r = func((&(*tint_module_vars.S).i));
}
