long(int x)^(short x)^ a; (int x) b(short x); (int x) c(short x) { var (int x) s; s.x = x; return s; }