anchor.diff:  
      endseq;
   
  -   mkFSM(hirschB);
  +   FSM hB <- mkFSM(hirschB);
  +   
  +   method Action start = hB.start;
  +   method Action waitTillDone = hB.waitTillDone;
  +   method Bool done = hB.done;
  +   method Action abort = hB.abort;
   endmodule
  
positive.code: import StmtFSM::*;
  import BRAM::*;
  
  module mkHirschA#(BRAMServer#(Bit#(strIndexWidth), Bit#(8)) strA, BRAMServer#(Bit#(strIndexWidth), Bit#(8)) strB, BRAMServer#(Bit#(lIndexWidth), Bit#(16)) matL)(FSM);
  
      Reg#(Bit#(7)) aLenReg <- mkReg(0);
    Reg#(Bit#(7)) bLenReg <- mkReg(0);
  
negative.code:   Reg#(Bit#(7)) jj <- mkReg(0);
     Reg#(Bit#(8)) aData <- mkReg(0);
     Reg#(Bit#(8)) bData <- mkReg(0);
     Reg#(Bit#(16)) k1jm1 <- mkReg(0);
    Reg#(Bit#(16)) k0j <- mkReg(0);
  
    Stmt hirschB =
     seq
  