anchor.diff:        endmethod
      endinterface
      method Action start(XYRangeConfig#(a) cfg) if (x >= xlimit);
  +      $display("XYRangePipe x=%d xlimit=%d xstep=%d y=%d ylimit=%d ystep=%d", cfg.xbase, cfg.xlimit, cfg.xstep, cfg.ybase, cfg.ylimit, cfg.ystep);
         x <= cfg.xbase;
         y <= cfg.ybase;
         xbase <= cfg.xbase;
  
positive.code: 	    accumFifo[i].enq(tagged Valid tpl_1(resp));
  	 end
        end
        Vector#(n,Bit#(32)) ivs = unpack(pack(vs));
        resultFifo.enq(vs);
  
        if (c == numElts)
  	 c = 0;
        countOutReg <= c;
        if (verbose) $display(fshow("countOutReg=")+fshow(countOutReg)+fshow(" numElts=")+fshow(numElts)+fshow(" mul=") + fshow(ivs));
     endrule
  
     PipeOut#(Vector#(n,Float)) resultPipe = toPipeOut(resultFifo);
     PipeOut#(Float) dotpipe <- mkReducePipe(mkFloatAddPipe, resultPipe);
     return dotpipe;
  endmodule
  
  
negative.code:    rule sinkDone;
        // each time we write a burst of k values via sinkC
        let b <- sinkC.vector.finish();
        let c = dotprodCount-fromInteger(n);
        $display($format(fshow(cycles)+fshow("    sinkDone c")+fshow(c)));
        dotprodCount <= c;
        if (c == 0) begin
  	 running <= False;
  	 doneFifo.enq(?);
  