#define ROUNDDOWN(v, k) ((v) & ~((k)-1))
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#define ROUNDDOWN(v, k) ((v) & ~((k)-1))
#define MIN(a, b) ((a) < (b) ? (a) : (b))
void
__assert_fail(const char* expr, const char* file, unsigned int line)
__attribute__((noinline, noreturn));
#else
#define assert(cond) (void)(cond); // assert nothing
#define assert_msg(cond, msg) (void)(cond); // assert nothing
void
__assert_fail(const char* expr, const char* file, unsigned int line)
__attribute__((noinline, noreturn));
#else
#define assert(cond) (void)(cond); // assert nothing
#define assert_msg(cond, msg) (void)(cond); // assert nothing