void->int filter Generate{ int x=0; work push 1{ push(x); x = x+1; } } int->void filter Read{ work pop 1{ print( pop() ); } } bit->bit filter Shuffle{ work pop 16 push 16{ int [16] X = {11,3,15,7,10,2,14,6,9,1,13,5,8,0,12,4}; for(int i=0; i<16; ++i){ push( peek( X[i] ) ); } for(int i=0; i<16; ++i) pop(); } } void->void pipeline permutation{ add Generate(); add Shuffle(); add Read(); }