```c

if (__builtin_expect ((uintptr_t) p > (uintptr_t) -size, 0)

```

* `` size`` is `` p``'s size


``c type(x) = uintptr_t``일 때, ``c x + ~x = uintptr_t's MAX (111...11)`` 이므로

``c p + x = MAX`` 이면 ``c p = ~x``다.


``c -x = ~x + 1``이므로 ``c p = -x - 1``이다.

* 이를 대입하면 ``c x -x -1 = MAX``가 나오는데, 보통 ``c int(-1) = uintptr_t's MAX (111....11)``임을 생각해보면 된다.


따라서 ``c p = -x -1``이면 ``c p + x = uintptr_t's MAX``다.

``c x + 1 = t``로 치환하면, ``c p = -t``이면 ``c p + t = uintptr_t's MAX + 1``이므로

결과적으로, ``c p > -x``이면 ``c p + x > uintptr_t's MAX + 1``이 된다.