Macro to perform integer log base 2
add TRUE/FALSE
Add __builtin_popcount wrapper.
Add macro for inducing proof obligations in Isabelle.
Merge pull request #3 from mfernandez/verification

Add macro for inducing proof obligations in Isabelle.
Double-check that unreachable code really is unreachable.

If you misplace UNREACHABLE() the compiler can end up removing non-dead code.
The result of this is typically that you end up executing garbage in a way that
can be quite difficult to debug. This change guards you against this case when
debugging. Should have no effect when NDEBUG is defined.