add new predicates: WillNotOverflowSignedMul and WillNotOverflowUnsignedMul
add new constant function: log2