: flip ( x u -- x' )
  >r
  r@  1 and if dup $5555 and  1 lshift swap $AAAA and  1 rshift or then
  r@  2 and if dup $3333 and  2 lshift swap $CCCC and  2 rshift or then
  r@  4 and if dup $0F0F and  4 lshift swap $F0F0 and  4 rshift or then
  r>  8 and if dup $00FF and  8 lshift swap $FF00 and  8 rshift or then
;

