#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;
}

