anchor.diff:              X := X - ((Mask xor PNativeInt(@Store.Info.FinishPoint)^) and Y and 1) - (Y shr 1);
               ChildNode.SortValue := {$ifdef CPUX86}ChildNode.{$endif}Path +
                  Cardinal(Store.Info.HeuristicsLine * (Y + (X and ((X shr HIGH_NATIVE_BIT) - 1))));
  -          end; *)
  +          end;
           end;
         end else
         begin
  
positive.code: 
          heuristics_data:
            // (dX, dY) = ChildNode.Coordinates - Store.Info.FinishPoint;
           (* dX := Cardinal(ChildNode.Coordinates);
            dY := Word(dX);
            dX := dX shr 16;
            Mask := Cardinal(Store.Info.FinishPoint);
  
negative.code: 
          // continue if the path is shorter
          ChildPath := ChildNode.Path;
          if (Path >= ChildPath) then goto nextchild_continue;
  
          // new parent bits
          ChildNode.NodeInfo := ParentBits;
  
          // sort value as hot knownpath node marker
         (* ChildSortValue := ChildNode.SortValue;
  
          // new Path and SortValue
          ChildNode.Path := Path;
          ChildNode.SortValue := Path + {heuristics}(ChildSortValue - ChildPath);
  
          // remove from opened list
          if (ChildSortValue < NATTANABLE_LENGTH_LIMIT) then
  