#define UNLIKELY(x) __builtin_expect(!!(x), 0)
#define PURE_FUNC __attribute__((pure))
#define CONST_FUNC __attribute__((const))
#define UNLIKELY(x) __builtin_expect(!!(x), 0)
#define PURE_FUNC __attribute__((pure))
#define CONST_FUNC __attribute__((const))