Symbolic Pointer Range Analysis