anchor.diff:        );
   
      Bool verbose = False;
  +   Bool useMac = True;
   
      Reg#(UInt#(nwidth)) countInReg <- mkReg(0);
      FIFOF#(Tuple3#(Bool,Vector#(n,Float),Vector#(n,Float))) xyfifo <- mkFIFOF();
  +   FIFOF#(Bool) firstFifo <- mkFIFOF();
      FIFOF#(Bool) lastFifo <- mkFIFOF();
      PipeOut#(Tuple3#(Bool, Vector#(n,Float),Vector#(n,Float))) xypipe = toPipeOut(xyfifo);
      rule xyin;
  
positive.code:       xypipes[n].deq;
        Vector#(N,Float) vs;
        for (Integer i = 0; i < n; i = i + 1) begin
  	 let v = fxdotprods[i].first;
  	 fxdotprods[i].deq;
  	 let xyi = tuple2(tpl_1(xy), tpl_2(xy)+fromInteger(i));
  	 if (verbose) $display($format(fshow(cycles)+fshow("    dotprodvalue xy=")+fshow(xyi)+fshow(" dotprod=")+fshow(v)));
  	 vs[i] = v;
  
negative.code: 	 dmaMMF.start(h1, unpack(extend(r1)), unpack(extend(c1)),
  		      h2, unpack(extend(r2)), unpack(extend(c2)),
  		      h3);
  	 mmfCycles <= 0;
  	 busyFifo.enq(True);
        endmethod
     endinterface   
  