An expression assert(E) is a constant subexpression, if
NDEBUG is defined at the point where assert is last defined or redefined, or
E contextually converted to bool is a constant subexpression that evaluates to the value true.