#include <metal_stdlib>

using namespace metal;
kernel void f(device int* tint_symbol [[buffer(0)]]) {
  int const A = 1;
  int const _A = 2;
  int const B = A;
  int const _B = _A;
  *(tint_symbol) = as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(as_type<int>((as_type<uint>(A) + as_type<uint>(_A)))) + as_type<uint>(B)))) + as_type<uint>(_B)));
  return;
}

