more robust symbolic computation