Tail call optimization is only marginally relevant here, since the tail call is the addition, not one of the recursions.