public INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> Join(IMethodResult <Variable> mr, INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> astate1, INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> astate2)
                {
                    ArithmeticAnalysis an = mr as ArithmeticAnalysis;

                    if (an == null)
                    {
                        return(null);
                    }

                    bool bWeaker;

                    return(an.Join(new Pair <APC, APC>(), astate1, astate2, out bWeaker, false));
                }