anchor.diff:        end;
        end;
        opBACKREFERENCE,opBACKREFERENCEIGNORECASE:begin
  -      Instruction:=Instruction^.Next;
  -      if ShouldVisit(Instruction,Position) then begin
  -       continue;
  +      if assigned(Instruction^.OtherNext) and BackReferenceAssertion(BitStateNFAWorkSubMatches[Instruction^.Value],
  +                                                                     BitStateNFAWorkSubMatches[Instruction^.Value or 1],
  +                                                                     BitStateNFAWorkSubMatches[Instruction^.OtherNext^.Value],
  +                                                                     BitStateNFAWorkSubMatches[Instruction^.OtherNext^.Value or 1],
  +                                                                     (Instruction^.IndexAndOpcode and $ff)=opBACKREFERENCEIGNORECASE) then begin
  +       Instruction:=Instruction^.Next;
  +       if ShouldVisit(Instruction,Position) then begin
  +        continue;
  +       end;
         end;
        end;
       end;
  
positive.code: 
         function LookAssertion(const Position,WhichLookAssertionString:longint;const LookBehind,Negative:boolean):boolean;
  
         function ParallelNFAStateAllocate(const Count:longint;const SubMatchesBitmap,UsedCheckBitmapSize:longword):PFLREParallelNFAState; {$ifdef caninline}inline;{$endif}
         function ParallelNFAStateAcquire(const State:PFLREParallelNFAState):PFLREParallelNFAState; {$ifdef caninline}inline;{$endif}
         procedure ParallelNFAStateRelease(const State:PFLREParallelNFAState); {$ifdef caninline}inline;{$endif}
  
negative.code:      end;
      end;
      opBACKREFERENCE,opBACKREFERENCEIGNORECASE:begin
       if assigned(Instruction^.OtherNext) and ParallelNFABackReferenceAssertion(State,
                                                                                 Instruction^.Value,
                                                                                 Instruction^.OtherNext^.Value,
                                                                                 (Instruction^.IndexAndOpcode and $ff)=opBACKREFERENCEIGNORECASE) then begin
        Instruction:=Instruction^.Next;
        continue;
       end else begin
  