Kompresja motyla
Kompresja motyla – kompresja stosowana w algorytmie COMP128. Nazwa pochodzi od angielskiego butterfly compression. Na wejściu jest 512 8-bitowych elementów, a po kompresji otrzymuje się 32 elementy, każdy po 4 bity.
Sposób działania pokazuje poniższy rysunek, a także pseudo-kod zamieszczony pod nim:

// j - obecny poziom
for j = 0 to 4
{
for k = 0 to (2 ^ j) - 1
{
for l = 0 to 2 ^ (4 - j) - 1
{
m = 1 + k2 ^ (5 - j)
n = m + 2 ^ (4 - j)
y = (x[m] + 2x[n]) mod 2 ^ (9 - j)
z = (2x[m] + x[n]) mod 2 ^ (9 - j)
x[m] = T[j][y]
x[n] = T[j][z]
}
}
}