форт идеален в плане сокращения объема тем, что нет избыточной информации, в каких регистрах/ячейках хранятся промежуточные результаты. в записи арифметического или логического выражения лишь операнды и операторы, и то все в кучу

плюс можно паковать чем-то вроде словарного метода (идентификаторов нет, код повторяется в точности) - ищем одинаковые куски и оформляем их в новые слова, если они конечно не начинаются внутри цикла и заканчиваются вне

ну и дожимать - хранить не адрес слова, а его номер. причём юзать код переменной длины (1 байт - часто используемые слова, 2 - остальные). в идеале Хаффманом/арифметиком жать, если скорость не важна