Это то, на чем сейчас все остановилось. В остальном количество команд, которые компилятор умеет генерировать уже почти хватает для всех видов конструкций, но код как ты заметил не самый оптимальный.
Да бог с ним, что "неоптимальный". Дело наживное. Главное, что это вообще сделано!