'Preprocesses the successor state.
:param state: the successor state'

def _preprocess_successor(self, state, add_guard=True):

    if (o.SIMPLIFY_EXIT_STATE in state.options):
        state.se.simplify()
    if (o.SIMPLIFY_EXIT_GUARD in state.options):
        state.scratch.guard = state.se.simplify(state.scratch.guard)
    if (o.SIMPLIFY_EXIT_TARGET in state.options):
        state.scratch.target = state.se.simplify(state.scratch.target)
    state.scratch.target = _raw_ast(state.scratch.target)
    state.scratch.guard = _raw_ast(state.scratch.guard)
    if add_guard:
        state.add_constraints(state.scratch.guard)
    state.regs.ip = state.scratch.target
    if (self.initial_state.arch.sp_offset is not None):
        self._manage_callstack(state)
    state.options.discard(o.AST_DEPS)
    state.options.discard(o.AUTO_REFS)
