improved symbolic equality