'Perform static symbolic execution starting from the given point.
returns (bool, SimulationManager): tuple of the success/failure of veritesting and the subsequent SimulationManager after
execution'

def _veritesting(self):

    s = self._input_state.copy()
    try:
        new_manager = self._execute_and_merge(s)
    except (ClaripyError, SimError, AngrError):
        if (not (BYPASS_VERITESTING_EXCEPTIONS in s.options)):
            raise
        else:
            l.warning('Veritesting    caught    an    exception.', exc_info=True)
        return (False, SimulationManager(self.project, stashes={'deviated': [s]}))
    except VeritestingError as ex:
        l.warning('Exception    occurred:    %s', str(ex))
        return (False, SimulationManager(self.project, stashes={'deviated': [s]}))
    l.info('Returning    new    paths:    (successful:    %s,    deadended:    %s,    errored:    %s,    deviated:    %s)', len(new_manager.successful), len(new_manager.deadended), len(new_manager.errored), len(new_manager.deviated))
    return (True, new_manager)
