type_max
#define type_max(t) __type_max(typeof(t))
#define type_max(T) ((T)((__type_half_max(T) - 1) + __type_half_max(T)))