anchor.diff:         procedure ReleaseThreadLocalStorageInstance(const ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance);
   
          function SearchNextPossibleStart(const Input:PAnsiChar;const InputLength:longint):longint; {$ifdef cpu386}register;{$endif}
  +
  +       function SearchNextPossibleStartForDFA(const Input:PAnsiChar;const InputLength:longint):longint; {$ifdef cpu386}register;{$endif}
   
          function SearchMatch(ThreadLocalStorageInstance:TFLREThreadLocalStorageInstance;var Captures:TFLRECaptures;StartPosition,UntilExcludingPosition:longint;UnanchoredStart:boolean):boolean;
   
  
positive.code:    end;
  
     case CountPrefixCharClasses of
      0..1:begin
       DFAFastBeginningSearch:=false;
      end;
      2..15:begin
       DFAFastBeginningSearch:=AveragePrefixCharClassesVariance<(((CountPrefixCharClasses*128)+8) shr 4);
      end;
      else begin
  
negative.code:     result:=DFAMatch;
     end;
     if (State^.Flags and sfDFAStart)<>0 then begin
      Offset:=Instance.SearchNextPossibleStartForDFA(@LocalInput[Position],UntilExcludingPosition-Position);
      if Offset<0 then begin
       exit;
      end;
  