# define GRASSHOPPER_INLINE inline
# elif defined(__GNUC__) && __GNUC__ >= 2
# define GRASSHOPPER_INLINE __inline__
+# define likely(x) __builtin_expect(!!(x), 1)
# elif defined(_MSC_VER)
# define GRASSHOPPER_INLINE __inline
# else
# define GRASSHOPPER_INLINE inline
# endif
+# if !defined(likely)
+# define likely(x) x
+# endif
+
typedef union {
uint8_t b[16];
uint64_t q[2];