anchor.diff:   end;
   var Thread:PFLREParallelNFAThread;
       StackItem:PFLREParallelNFAStackItem;
  -    StackSize:longint;
  +    StackSize,InstructionID:longint;
   begin
    StackSize:=0;
    StackItem:=@ParallelNFAStack[StackSize];
  
positive.code:   Instruction:=StackItem^.Instruction;
    State:=StackItem^.State;
    while assigned(Instruction) do begin
     if ParallelNFAInstructionGenerations[Instruction^.IDandOpcode shr 8]=ParallelNFAGeneration then begin
      ParallelNFAStateRelease(State);
      break;
     end else begin
      ParallelNFAInstructionGenerations[Instruction^.IDandOpcode shr 8]:=ParallelNFAGeneration;
      case Instruction^.IDandOpcode and $ff of
       opJMP:begin
        Instruction:=Instruction^.Next;
  
negative.code:       StackItem:=@ParallelNFAStack[StackSize];
        StackItem^.Instruction:=Instruction^.OtherNext;
        StackItem^.State:=State;
        inc(StackSize);        
        Instruction:=Instruction^.Next;
        State:=ParallelNFAStateAcquire(State);
        continue;              
       end;
       opSAVE:begin
        State:=ParallelNFAStateUpdate(State,Instruction^.Value,Position);
  