anchor.diff:  INTEGER(KIND=4),INTENT(INOUT) :: C
   LOGICAL(KIND=4),INTENT(IN)    :: ASCENDING
   IF (ASCENDING) THEN
  -  IF (BT%TREE(2,I).NE.0) CALL BTREE_SORTED(BT,ARRAY,BT%TREE(2,I),C,ASCENDING)
  +  IF (BT%TREE(I)%LEFT.NE.0) CALL BTREE_SORTED(BT,ARRAY,BT%TREE(I)%LEFT,C,ASCENDING)
     IF (C.GT.SIZE(ARRAY)) RETURN
     C = C + 1
  -  ARRAY(C) = BT%TREE(1,I)
  -  IF (BT%TREE(3,I).NE.0) CALL BTREE_SORTED(BT,ARRAY,BT%TREE(3,I),C,ASCENDING)
  +  ARRAY(C) = BT%TREE(I)%HASHCODE
  +  IF (BT%TREE(I)%RIGHT.NE.0) CALL BTREE_SORTED(BT,ARRAY,BT%TREE(I)%RIGHT,C,ASCENDING)
   ELSE
  -  IF (BT%TREE(3,I).NE.0) CALL BTREE_SORTED(BT,ARRAY,BT%TREE(3,I),C,ASCENDING)
  +  IF (BT%TREE(I)%RIGHT.NE.0) CALL BTREE_SORTED(BT,ARRAY,BT%TREE(I)%RIGHT,C,ASCENDING)
     IF (C.GT.SIZE(ARRAY)) RETURN
     C = C + 1
  -  ARRAY(C) = BT%TREE(1,I)
  -  IF (BT%TREE(2,I).NE.0) CALL BTREE_SORTED(BT,ARRAY,BT%TREE(2,I),C,ASCENDING)
  +  ARRAY(C) = BT%TREE(I)%HASHCODE
  +  IF (BT%TREE(I)%LEFT.NE.0) CALL BTREE_SORTED(BT,ARRAY,BT%TREE(I)%LEFT,C,ASCENDING)
   END IF
   END SUBROUTINE BTREE_SORTED
   ! ---------------------------------------------------------------------------------------------------------------------------------+
  
positive.code: SUBROUTINE BTREE_RESIZE(BT, CAPACITY)
  TYPE(BTREE),INTENT(INOUT)   :: BT                        ! Hash to be resized
  INTEGER(KIND=4),INTENT(IN)  :: CAPACITY                  ! Capacity to which to resize BTREE
  INTEGER(KIND=4),ALLOCATABLE :: TEMP(:,:)                 ! Temporary storage array for existing data
  INTEGER(KIND=4)             :: OLDCAPACITY,I,J,IERR      ! Temp variables, error status, and counters
    IF (ALLOCATED(BT%TREE)) THEN
      OLDCAPACITY = SIZE(BT%TREE,2)
      ALLOCATE(TEMP(3,OLDCAPACITY),STAT=IERR)
      IF (IERR.NE.0) THEN
        WRITE(0,'(A)') '0*** BTREE_RESIZE: UNABLE TO ALLOCATE TEMPORARY MEMORY FOR BTREE.'
        STOP
      END IF
      TEMP = BT%TREE
      CALL BTREE_ALLOCATE(BT, CAPACITY)
      DO J = 1, MIN(OLDCAPACITY,CAPACITY)
        DO I = 1,3
          BT%TREE(I,J) = TEMP(I,J)
        END DO
      END DO
      DEALLOCATE(TEMP,STAT=IERR)
      IF (IERR.NE.0) THEN
  
negative.code:   WRITE(6,'("       HASHCODE OF STR20 ", 4X A20," = ",I11)') STR20, HASHCODE(STR20)
    WRITE(6,'("       HASHCODE OF STR24 ",    A24," = ",I11)') STR24, HASHCODE(STR24)
  
    !CALL BTREE_SETBLOCKSIZE(4)
    CALL BTREE_INIT(BT)
    WRITE(6,'("CAPACITY = ",I4,", COUNT = ",I4)') SIZE(BT%TREE), BT%COUNT
  
                                                !            +------+       +------+------+
                                                !  IND       |VALUES|       | LEFT | RIGHT|              44
                                                !            +------+       +------+------+             /  \
    RES = BTREE_ADD(BT,44)                      !   1        |  44  |       |  4   |   2  |           42    64
    RES = BTREE_ADD(BT,64)                      !   2        |  64  |       |  7   |   3  |          /     /   \
  