use auto for ackermann result