anchor.diff:  		       ObjectPointer pointerB, UInt#(addrwidth) numRowsB, UInt#(addrwidth) numColumnsB,
   		       ObjectPointer pointerC);
      method ActionValue#(Bool) finish();
  -   method Tuple6#(Bit#(J),Bit#(K),Bit#(32),Bit#(J),Bit#(K),Bit#(32)) dbg();
  +   method Tuple6#(Bit#(J),Bit#(K),Bit#(32),Bit#(J),Bit#(J),Bit#(32)) dbg();
   endinterface
   
   typedef enum {
  
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);
  