#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  const constant float4* S;
};

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

kernel void tint_symbol(const constant float4* 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);
}
