Ну , допустим , что пишем интерпретатор байткода или P-кода или U-кода или ещё какого-то там кода , который получается после компилятора с Kotlin или с Java или ещё с чего-нибудь. Именно интерпретатор , а не компилятор. Понятно , что одно промежуточное представление можно преобразовать в другое ( например одноадресную систему команд в трёхадресную будто бы для ускорения работы и распараллеливания ).

Соответственно вопрос - для окончательной системы команд , которую потом интерпретировать , какой вариант лучше?

1) безадресная
2) одноадресная
3) двухадресная
4) трёхадресная
5) четырёхадресная