public void evaluate(final String expression) throws ExpressionExecuteException {
        try {
            actualResult = evaluator.evaluate(expression);
            functionRepository.update(ANS, new DoubleConstant(actualResult));
        } catch (ExpressionExecuteException ex) {
            actualResult = Double.NaN;
            throw ex;
        } catch (FunctionParseException ex) {
            actualResult = Double.NaN;
            throw new ExpressionExecuteException(expression, ex);
        }
    }