Duh, v128 plays very bad joke on v5.8.0. Fixed and improved version follows (418):
#!perl -lp0777
sub n{unpack$_[0],pop}sub f{"@_"%2**32}@Y=n V4,n u,'0`2-%9XFKS>_^W+J8=
+E0R$';$_
.=pack Bx.(55- y///c&63).VV,1,8*y///c;s!\C{64}!@V=n V16,$&;@:=@Y;$_='f
+orK(0..3)
{(C,D,A,B)=@:=@:[-1..2],$:[1]=fA+((D=fD+(A&B|~A&C,A&C|B&~C,A^B^C,A|~C^
+B)[K]+V[K
**2.4%13+(1+K+K%2*3)*_&15]+int 2**32*abs sinK*16+_+1)<<(N=31&n x.(K*4+
+_%4).c,
glqvein4dkpwfjou)|D>>32-N)for 0..15}_=f_+shift@:for@Y';s/[A-V_]/\$$&/g
+;$_!eeg;$
_=n H64,pack V4,@Y
P.S. April 14th. Legacy support costs too much, i decided to drop it. v5.8.0 only version is 403 and fits into five lines:
#!perl -lp0777
sub n{unpack$_[0],pop}sub f{"@_"%2**32}@Y=n V4,n u,'0`2-%9XFKS>_^W+J8=
+E0R$';$_=
pack'a*Bx8x!64X8VV',$_,1,8*y///c;s!\C{64}!$_='forK(0..3){(C,D,A,B)=@:=
+@:[-1..2]
,$:[1]=fA+((D=fD+(A&B|~A&C,A&C|B&~C,A^B^C,A|~C^B)[K]+V[K**2.55+(1+K+K%
+2*3)*_&15
]+2**32*abs sin++$@)<<(N=31&n x.(K*4+_%4).c,glqvein4dkpwfjou)|D>>32-N)
+forE..15}
_=f_+shift@:for@Y';@V=n V16,$&;@:=@Y;s/[A-V_]/\$$&/g;$_!eeg;$_=n H64,p
+ack V4,@Y
|