#include <metal_stdlib>

using namespace metal;
struct tint_private_vars_struct {
  int a;
  int _a;
};

kernel void f(device int* tint_symbol [[buffer(0)]]) {
  thread tint_private_vars_struct tint_private_vars = {};
  tint_private_vars.a = 1;
  tint_private_vars._a = 2;
  int b = tint_private_vars.a;
  int _b = tint_private_vars._a;
  *(tint_symbol) = as_type<int>((as_type<uint>(b) + as_type<uint>(_b)));
  return;
}

