HALF
#define HALF(x) ((int *) &x)[3] = 0; ((int *) &x)[2] &= 0xfe000000
#define HALF(x) ((int *) &x)[0] = 0
#define HALF(x) ((int *) &x)[3] = 0; ((int *) &x)[2] &= 0xfe000000
#define HALF(x) ((int *) &x)[0] = 0