anchor.diff:        dfifo.enq(vs);
      endrule
   
  -   FIFOF#(Bool) doneFifo <- mkFIFOF();
  -   rule sinkDone if (dpCount > 0);
  -      let c = dpCount-fromInteger(n);
  +   rule sinkDone;
  +      // each time we write a burst of k values via sinkC
         sinkC.vector.pipe.deq();
  +      let c = dpCount-fromInteger(k);
         dpCount <= c;
         if (c == 0) begin
   	 running <= False;
  
positive.code: 	    accumFifo[i].enq(tagged Valid tpl_1(resp));
  	 end
  	 else begin
  	    // need to fold the values together, but we're only compiling for n == 1
  	    if (i == 0)
  	       resultFifo.enq(tpl_1(resp));
  	 end
        end
        if (verbose) $display(fshow("count=")+fshow(countMulReg)+fshow(" mul=") + fshow(vs));
     endrule
  
     PipeOut#(Float) dotpipe = toPipeOut(resultFifo);
  endmodule
  
  
  
negative.code:        endrule
     end
  
     rule dotProdValue;
        Tuple2#(UInt#(addrwidth),UInt#(addrwidth)) xy = xypipes[n].first;
        xypipes[n].deq;
        Vector#(n,Float) vs;
  