anchor.diff:              end
            end
            else begin
  -            if (fromInteger(i) < offset) begin
  +            if (fromInteger(i) < sh_offset) begin
                  v = readVReg(stor)[40+i];
               end
  -            else if (fromInteger(i) < offset + 66) begin
  -               v = din[i-offset];
  +            else if (fromInteger(i) < sh_offset + 66) begin
  +               v = din[fromInteger(i)-sh_offset];
               end
               else begin
                  v = 0;
  
positive.code: 
     let verbose = True;
  
     Vector#(104, Reg#(Bit#(1))) stor      <- replicateM(mkReg(0));
  
     FIFOF#(Bit#(40)) fifo_out <- mkFIFOF;
     PipeOut#(Bit#(40)) pipe_out = toPipeOut(fifo_out);
  
     Reg#(Bit#(6))  state <- mkReg(0);
  
     rule state_machine;
        let next_state = state;
        let offset;
        let din;
  
        case (state)
  
negative.code:             shift40 = False;
           end
           else begin
              shift40 = (sh_offset == 0);
           end
  
           if (shift40) begin
  