'Evaluate an expression, using the solver if necessary. Returns a string.
:param e: the expression
:param extra_constraints: extra constraints to apply to the solver
:param exact: if False, returns approximate solutions
:return: a single string solution, in the form of a Python primitive
:rtype: string'

def any_str(self, e, **kwargs):

    ans = self.any_n_str(e, 1, **kwargs)
    if (len(ans) > 0):
        return ans[0]
    else:
        raise SimUnsatError(('Not    satisfiable:    %s' % e.shallow_repr()))
