В случае, если нужно передать действительно произвольный код Хаффмана, то выиграть почти ничего нельзя. Код определяется N-элементным вектором m-битных чисел (с условием, что все элементы различны) — это буквы, отсортированные по кодам, и расстановкой скобок в выражении из N операндов — это двоичное дерево. Число векторов равно (2^m)!/(2^m-N)!, число деревьев — C(N,2*N)/(4*N-2). Если N заметно меньше, чем 2^m, то первое из этих чисел можно оценить как 2^(m*N), а второе — как 2^(2*N)/(4*N-2)/sqrt(pi*N). Общее число бит в их произведении — примерно m*N+2*N.
По мере приближения N к 2^m появляется возможность выиграть до 1.4*N бит (за счет того, что (2^m)!< (2^m)^(2^m).