anchor.diff:  	    let avec = tpl_1(tpl);
   	    let bvec = tpl_2(tpl);
   	    abfifos[i].enq(tuple3(isFirst,avec[i], bvec[i]));
  -	 end
  -	 lastFifo.enq(isLast);
  +	    lastFifos[i].enq(isLast);
  +	 end
         endmethod
      endinterface : request
      interface PipeOut pipe = dotpipe;
  
positive.code: 	    resultFifos[i].enq(vi);
  	    if (verbose) $display(fshow("label=")+fshow(label)+fshow(" isLast=")+fshow(isLast)+fshow(" mul=") + fshow(vi));
  	 end
        end
     endrule
  
     Vector#(N, PipeOut#(Float)) resultPipes = map(toPipeOut, resultFifos);
     PipeOut#(Vector#(N,Float)) resultPipe <- mkJoinVector(id, resultPipes);
  
negative.code:    Reg#(UInt#(20)) numEltsReg <- mkReg(0);
     Reg#(UInt#(20)) countInReg <- mkReg(0);
     Vector#(N,FIFOF#(Tuple3#(Bool,Float,Float))) abfifos <- replicateM(mkFIFOF());
     Vector#(N,FIFOF#(Bool)) lastFifos <- replicateM(mkFIFOF());
     Vector#(N, PipeOut#(Tuple3#(Bool,Float,Float))) abpipes = map(toPipeOut,abfifos);
  
     Vector#(N, Server#(Tuple4#(Maybe#(Float), Float, Float, RoundMode), Tuple2#(Float,Exception))) macs <- replicateM(mkFloatMac);
     Vector#(N, FIFO#(Float)) accumFifo <- replicateM(mkFIFO());
     Vector#(N, FIFOF#(Float)) resultFifos <- replicateM(mkFIFOF());
  
     for (Integer i = 0; i < valueOf(N); i = i + 1) begin
        rule mul;
  	 let v = abpipes[i].first;
  	 abpipes[i].deq;
  	 let isFirst = tpl_1(v);
  