anchor.diff:     endrule
   
      rule muloutaccumin1;
  -      let m <- mul1.y.get();
  +      let m <- mul[1].y.get();
         if (m.filterPhase)
   	 begin
   	    accum[1] <= m.y;
  
positive.code:    FIFOF#(Vector#(2, Signal)) outfifo <- mkFIFOF();
     Vector#(2, FPCMult) mul <- replicateM(mkFPCMult());
  
     Vector#(2, FIFO#(Complex#(Product))) accum <- replicateM(mkFIFO());
     FIFO#(Complex#(Product)) ycombined <- mkFIFO();
     FPCMult lo <- mkFPCMult();
  
     /* could do this with mkForkVector() but we don't need the extra FIFOs
  
negative.code:       let yin <- ycombined.get();
        let loin <- dds.osc.get();
        lo.x.enq(yin);
        lo.a.enq(CoeffData{a: loin, filterPhase: 0});
     endrule
     
     rule loout;
        let y <- lo.y;
        outfifo.enq(y.y);
     endrule
     
     interface PipeIn rfreq = toPipeIn(infifo);
  