В общем случае решения нет, ИМХО. Так как по сути это разбиение множества из 2^32 элементов на 256 непересекающихся подмножеств, т.е. описать это совсем не просто (если не использовать LUT). Вот если что-то конкретное известно про эти подмножества, то можно начинать оптимизировать.