#include <metal_stdlib>
using namespace metal;

void deref() {
  int3 a = 0;
  thread int3* const p = (&a);
  (*p)[0u] = as_type<int>((as_type<uint>((*p)[0u]) + as_type<uint>(42)));
}

void no_deref() {
  int3 a = 0;
  thread int3* const p = (&a);
  (*p)[0u] = as_type<int>((as_type<uint>((*p)[0u]) + as_type<uint>(42)));
}

kernel void tint_symbol() {
  deref();
  no_deref();
}
