#define bitselect(x, y, z) ((x) ^ ((z) & ((y) ^ (x))))