anchor.diff:    Mask: NativeInt;
   
     ChildSortValue, ChildPath: Cardinal;
  -//  Left, Right: PCPFNode;
  -
     PBufferHigh, PBufferBase, PBufferCurrent: ^PCPFNode;
   
     Store: TFindPathLoopStore;(*record
  
positive.code:       Inc(NativeInt(Cell), Store.Info.CellOffsets[Child]);
  
        // parent bits
        Child := (Child shl 2) + (NodeInfo and 2) + (NativeUInt(Cardinal(Store.Current.Coordinates)) and 1);
        ParentBits := PARENT_BITS[Child];
  
        // allocated new or use exists
  
negative.code:           {$ifdef LARGEINT}
              NodeAllocatorBuffers := Pointer(@Store.Info.NodeAllocator.Items);
              ChildNode := Pointer(
                (NodeAllocatorBuffers[ChildNodeInfo shr LARGE_NODEPTR_OFFSET]) +
                (ChildNodeInfo and NODEPTR_CLEAN_MASK) );
            {$else}
              ChildNode := Pointer(ChildNodeInfo and NODEPTR_CLEAN_MASK);
            {$endif}
  
            // child node info (without heuristics data)
            Child{NodeInfo} := NativeUInt(ChildNode.NodeInfo) and Integer($ff00ff00);
            ParentBits := ParentBits or Child{NodeInfo};
            if (ParentBits and (Child shl 8) = 0) then goto nextchild_continue;
  
  