  #define inclusive_range_check( low, n, high )   \
    do  {                                         \
      __typeof( n ) __tmp_n = ( n );              \
-@@ -79,17 +75,12 @@ static inline void* trace_memcpy_check(void *restrict to, const void *restrict f
+@@ -89,18 +83,13 @@
      lt_check(__tmp_n, high);                    \
    } while (0)
  

+#define GUARD( x )              __VERIFIER_assume( (x) >= 0 )
+#define GUARD_GOTO( x , label ) __VERIFIER_assume( (x) >= 0 )
+#define GUARD_PTR( x )          __VERIFIER_assume( (x) >= 0 )
 
 /* TODO: use the OSSL error code in error reporting https://github.com/awslabs/s2n/issues/705 */
-#define GUARD_OSSL( x , errcode )			\
-  do {							\
-  if (( x ) != 1) {					\
-    S2N_ERROR( errcode );				\
-  }							\
-  } while (0)
+#define GUARD_OSSL( x , errcode ) __VERIFIER_assume( (x) == 1 )
 

-        return NULL;
-    }
-
     return memcpy(to, from, size);
 }
 
@@ -41,20 +43,12 @@
  */
 #define memcpy_check( d, s, n )                                             \
   do {                                                                      \
