#include <metal_stdlib>
using namespace metal;

int i(int x) {
  return ~(x);
}

uint u(uint x) {
  return ~(x);
}

int4 vi(int4 x) {
  return ~(x);
}

uint4 vu(uint4 x) {
  return ~(x);
}

[[max_total_threads_per_threadgroup(1)]]
kernel void v() {
  (i(1));
  (u(1u));
  (vi(int4(0)));
  (vu(uint4(0u)));
}
