anchor.diff:     interface PipeOut#(Bit#(32)) macCount;
      method Bit#(RowsPerTile) aNotEmpty;
      method Bit#(RowsPerTile) bNotEmpty;
  -   method Vector#(RowsPerTile, Bit#(TLog#(K))) dotProdChan;
  +   method Vector#(RowsPerTile, Bit#(TLog#(K))) dotProdChan();
   endinterface
   
   (* synthesize *)
  
positive.code: 		       ObjectPointer pointerB, UInt#(MMSize) numRowsB, UInt#(MMSize) numColumnsB,
  		       ObjectPointer pointerC);
     method ActionValue#(Bool) finish();
     method Tuple6#(Bit#(J),Bit#(K),Bit#(32),Bit#(J),Bit#(K),Bit#(32)) dbg();
  endinterface
  
  (* synthesize *)
  
negative.code:       doneFifo.deq();
        return True;
     endmethod
     method Tuple6#(Bit#(J),Bit#(K),Bit#(32),Bit#(J),Bit#(J),Bit#(32)) dbg();
        function Bool pipeNotEmpty(VectorSource#(asz, a) vs); return vs.pipe.notEmpty(); endfunction
        Vector#(J,Bool) aNotEmpty = map(pipeNotEmpty, sourceA);
        Vector#(K,Bool) bNotEmpty = map(pipeNotEmpty, sourceB);
  