+
+ /* for (st->qwad = st->size>>1; st->qwad > 0; st->qwad>>=1) */
+
+ copy_all_to (st->mask, 0, 0, st->temp, st->CPY); /* 1 */
+ copy_all_to (st->mask, 0, st->qwad, st->temp, st->IOR); /* 2 */
+ copy_all_to (st->self, 0, 0, st->temp, st->AND); /* 3 */
+ copy_all_to (st->temp, 0, 0, st->self, st->XOR); /* 4 */
+ copy_all_from (st->temp, st->qwad, 0, st->self, st->XOR); /* 5 */
+ copy_all_from (st->self, st->qwad, 0, st->self, st->IOR); /* 6 */
+ copy_all_to (st->temp, st->qwad, 0, st->self, st->XOR); /* 7 */
+ copy_all_to (st->self, 0, 0, st->temp, st->CPY); /* 8 */
+ copy_all_from (st->temp, st->qwad, st->qwad, st->self, st->XOR); /* 9 */
+ copy_all_to (st->mask, 0, 0, st->temp, st->AND); /* A */
+ copy_all_to (st->temp, 0, 0, st->self, st->XOR); /* B */
+ copy_all_to (st->temp, st->qwad, st->qwad, st->self, st->XOR); /* C */
+ copy_all_from (st->mask, st->qwad>>1, st->qwad>>1, st->mask, st->AND); /* D */
+ copy_all_to (st->mask, st->qwad, 0, st->mask, st->IOR); /* E */
+ copy_all_to (st->mask, 0, st->qwad, st->mask, st->IOR); /* F */
+ display (st, st->self);
+
+ st->qwad >>= 1;
+ if (st->qwad == 0) /* done with this round */