@prog consfordbref.macro 1 99 d 1 i : consfordbref (d -- i1 ... iN N) connections dup 2 + rotate ( i1 ... iN N d ) 0 1 4 rotate 1 for pop ( i1 ... iN d i1 ... in n ) dup 3 + rotate ( i1 ... iN-1 d i1 ... in n iN ) dup condbref ( i1 ... iN-1 d i1 ... in n iN dN ) 3 pick 4 + pick dbcmp if swap 1 + else pop then loop dup 2 + rotate pop ; . c q