anchor.diff:    {$endif}
   
     // cache finish attainable
  -  with FinishNode^ do
  -  if (SortValue < NATTANABLE_LENGTH_LIMIT) then
  -  begin
  -    Left := Prev;
  -    Right := Next;
  +  if (FinishNode.SortValue < NATTANABLE_LENGTH_LIMIT) then
  +  begin
  +    Left := FinishNode.Prev;
  +    Right := FinishNode.Next;
       Left.Next := Right;
       Right.Prev := Left;
  -    nAttainableLength := not Cardinal(1);
  -    AttainableDistance := 0;
  -  end;
  - (* if (FinishNode.SortValue < NATTANABLE_LENGTH_LIMIT) then
  -  begin
  -    L := FinishNode.Prev;
  -    R := FinishNode.Next;
  -    L.Next := R;
  -    R.Prev := L;
       FinishNode.nAttainableLength := not Cardinal(1);
  +    FinishNode.Path := not Cardinal(1){heuristics = 0};
       FinishNode.AttainableDistance := 0;
  -  end; *)
  +  end;
   
     // remove from list: attainable --> cached
     Node := StartPoint.AttainableNode;
  
positive.code:     // length of cached node
      nLength := Node.SortValue;
    until (nLength >= NATTANABLE_LENGTH_LIMIT);
    Node := ParentNode;
    nLength := Node.SortValue;
  
    // cache: attainable <-- cached
    repeat
      // parameters
      ParentNodeInfo := ParentNode.NodeInfo;
      SingleWeigths := {$ifdef CPUX86}Store.{$endif}SingleLineWeigths;
      Dec(nLength){increment};
      Inc(NativeInt(SingleWeigths), (ParentNodeInfo and (1 shl 3)) shl (10 - 3));
  
      // length and distance
      ParentNode.nAttainableLength := nLength;
      {$ifdef CPUX86}
        ParentNode.AttainableDistance := Node.AttainableDistance +
          HALF * (SingleWeigths[ParentNodeInfo shr 24] + SingleWeigths[NativeUInt(Node.NodeInfo) shr 24]);
      {$else}
        W1 := SingleWeigths[ParentNodeInfo shr 24];
        W2 := SingleWeigths[NativeUInt(Node.NodeInfo) shr 24]);
        ParentNode.AttainableDistance := Node.AttainableDistance + HALF * (W1 + W2);
      {$endif}
  
      // next node
  
negative.code: var
    Cell: PCPFCell;
    CellOffsets: PCPFOffsets;
    Left, Right, L, R: PCPFNode;
  
    ParentNode, Node: PCPFNode;
    ParentNodeInfo, NodeInfo: NativeUInt;
  