anchor.diff:         endrule
      end
   
  -   rule dotProdValue if (dpCount > 0);
  +   rule dotProdValue;
         Tuple2#(UInt#(addrwidth),UInt#(addrwidth)) xy = xypipes[n].first;
         xypipes[n].deq;
         Vector#(n,Float) vs;
  
positive.code:       xypipe.deq;
        let x = tpl_1(v);
        let y = tpl_2(v);
        if (verbose) $display($format(fshow("dotprod x=") + fshow(x) + fshow(" y=") + fshow(y)));
  
        for (Integer i = 0; i < valueOf(n); i = i + 1) begin
  	  Maybe#(Float) accum = tagged Invalid;
  
negative.code:       dfifo.enq(vs);
     endrule
  
     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;
  