#include <metal_stdlib>
using namespace metal;

void deref() {
  float2x3 a = float2x3(0.0f);
  thread float2x3* const p = (&a);
  float3 b = (*p)[0];
  (*p)[0] = float3(1.0f, 2.0f, 3.0f);
}
void no_deref() {
  float2x3 a = float2x3(0.0f);
  thread float2x3* const p = (&a);
  float3 b = (*p)[0];
  (*p)[0] = float3(1.0f, 2.0f, 3.0f);
}
kernel void tint_symbol() {
  deref();
  no_deref();
}
