1      SUBROUTINE eomccsdtq_y2_29_3_1_2(d_a,k_a_offset,d_b,k_b_offset,d_c
2     &,k_c_offset)
3C     $Id$
4C     This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
5C     Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
6C     i3 ( h3 h4 h6 h14 p1 p7 )_yt + = 1 * Sum ( h11 p10 p9 ) * t ( p9 p10 h11 h14 )_t * y ( h3 h4 h6 h11 p1 p7 p9 p10 )_y
7      IMPLICIT NONE
8#include "global.fh"
9#include "mafdecls.fh"
10#include "sym.fh"
11#include "errquit.fh"
12#include "tce.fh"
13      INTEGER d_a
14      INTEGER k_a_offset
15      INTEGER d_b
16      INTEGER k_b_offset
17      INTEGER d_c
18      INTEGER k_c_offset
19      INTEGER NXTASK
20      INTEGER next
21      INTEGER nprocs
22      INTEGER count
23      INTEGER h3b
24      INTEGER h4b
25      INTEGER h6b
26      INTEGER p1b
27      INTEGER h14b
28      INTEGER p7b
29      INTEGER dimc
30      INTEGER l_c_sort
31      INTEGER k_c_sort
32      INTEGER p9b
33      INTEGER p10b
34      INTEGER h11b
35      INTEGER p9b_1
36      INTEGER p10b_1
37      INTEGER h14b_1
38      INTEGER h11b_1
39      INTEGER h3b_2
40      INTEGER h4b_2
41      INTEGER h6b_2
42      INTEGER h11b_2
43      INTEGER p1b_2
44      INTEGER p7b_2
45      INTEGER p9b_2
46      INTEGER p10b_2
47      INTEGER dim_common
48      INTEGER dima_sort
49      INTEGER dima
50      INTEGER dimb_sort
51      INTEGER dimb
52      INTEGER l_a_sort
53      INTEGER k_a_sort
54      INTEGER l_a
55      INTEGER k_a
56      INTEGER l_b_sort
57      INTEGER k_b_sort
58      INTEGER l_b
59      INTEGER k_b
60      INTEGER nsuperp(2)
61      INTEGER isuperp
62      INTEGER l_c
63      INTEGER k_c
64      DOUBLE PRECISION FACTORIAL
65      EXTERNAL NXTASK
66      EXTERNAL FACTORIAL
67      nprocs = GA_NNODES()
68      count = 0
69      next = NXTASK(nprocs,1)
70      DO h3b = 1,noab
71      DO h4b = h3b,noab
72      DO h6b = 1,noab
73      DO p1b = noab+1,noab+nvab
74      DO h14b = 1,noab
75      DO p7b = noab+1,noab+nvab
76      IF (next.eq.count) THEN
77      IF ((.not.restricted).or.(int_mb(k_spin+h3b-1)+int_mb(k_spin+h4b-1
78     &)+int_mb(k_spin+h6b-1)+int_mb(k_spin+p1b-1)+int_mb(k_spin+h14b-1)+
79     &int_mb(k_spin+p7b-1).ne.12)) THEN
80      IF (int_mb(k_spin+h3b-1)+int_mb(k_spin+h4b-1)+int_mb(k_spin+h6b-1)
81     & .eq. int_mb(k_spin+p1b-1)+int_mb(k_spin+h14b-1)+int_mb(k_spin+p7b
82     &-1)) THEN
83      IF (ieor(int_mb(k_sym+h3b-1),ieor(int_mb(k_sym+h4b-1),ieor(int_mb(
84     &k_sym+h6b-1),ieor(int_mb(k_sym+p1b-1),ieor(int_mb(k_sym+h14b-1),in
85     &t_mb(k_sym+p7b-1)))))) .eq. ieor(irrep_y,irrep_t)) THEN
86      dimc = int_mb(k_range+h3b-1) * int_mb(k_range+h4b-1) * int_mb(k_ra
87     &nge+h6b-1) * int_mb(k_range+p1b-1) * int_mb(k_range+h14b-1) * int_
88     &mb(k_range+p7b-1)
89      IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c_sort,k_c_sort)) CALL
90     & ERRQUIT('eomccsdtq_y2_29_3_1_2',0,MA_ERR)
91      CALL DFILL(dimc,0.0d0,dbl_mb(k_c_sort),1)
92      DO p9b = noab+1,noab+nvab
93      DO p10b = p9b,noab+nvab
94      DO h11b = 1,noab
95      IF (int_mb(k_spin+p9b-1)+int_mb(k_spin+p10b-1) .eq. int_mb(k_spin+
96     &h14b-1)+int_mb(k_spin+h11b-1)) THEN
97      IF (ieor(int_mb(k_sym+p9b-1),ieor(int_mb(k_sym+p10b-1),ieor(int_mb
98     &(k_sym+h14b-1),int_mb(k_sym+h11b-1)))) .eq. irrep_t) THEN
99      CALL TCE_RESTRICTED_4(p9b,p10b,h14b,h11b,p9b_1,p10b_1,h14b_1,h11b_
100     &1)
101      CALL TCE_RESTRICTED_8(h3b,h4b,h6b,h11b,p1b,p7b,p9b,p10b,h3b_2,h4b_
102     &2,h6b_2,h11b_2,p1b_2,p7b_2,p9b_2,p10b_2)
103      dim_common = int_mb(k_range+p9b-1) * int_mb(k_range+p10b-1) * int_
104     &mb(k_range+h11b-1)
105      dima_sort = int_mb(k_range+h14b-1)
106      dima = dim_common * dima_sort
107      dimb_sort = int_mb(k_range+h3b-1) * int_mb(k_range+h4b-1) * int_mb
108     &(k_range+h6b-1) * int_mb(k_range+p1b-1) * int_mb(k_range+p7b-1)
109      dimb = dim_common * dimb_sort
110      IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
111      IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a_sort,k_a_sort)) CALL
112     & ERRQUIT('eomccsdtq_y2_29_3_1_2',1,MA_ERR)
113      IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a)) CALL ERRQUIT('
114     &eomccsdtq_y2_29_3_1_2',2,MA_ERR)
115      IF ((h11b .le. h14b)) THEN
116      CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,int_mb(k_a_offset),(h14b_
117     &1 - 1 + noab * (h11b_1 - 1 + noab * (p10b_1 - noab - 1 + nvab * (p
118     &9b_1 - noab - 1)))))
119      CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_a_sort),int_mb(k_range+p9b-1)
120     &,int_mb(k_range+p10b-1),int_mb(k_range+h11b-1),int_mb(k_range+h14b
121     &-1),4,3,2,1,1.0d0)
122      END IF
123      IF ((h14b .lt. h11b)) THEN
124      CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,int_mb(k_a_offset),(h11b_
125     &1 - 1 + noab * (h14b_1 - 1 + noab * (p10b_1 - noab - 1 + nvab * (p
126     &9b_1 - noab - 1)))))
127      CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_a_sort),int_mb(k_range+p9b-1)
128     &,int_mb(k_range+p10b-1),int_mb(k_range+h14b-1),int_mb(k_range+h11b
129     &-1),3,4,2,1,-1.0d0)
130      END IF
131      IF (.not.MA_POP_STACK(l_a)) CALL ERRQUIT('eomccsdtq_y2_29_3_1_2',3
132     &,MA_ERR)
133      IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b_sort,k_b_sort)) CALL
134     & ERRQUIT('eomccsdtq_y2_29_3_1_2',4,MA_ERR)
135      IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b)) CALL ERRQUIT('
136     &eomccsdtq_y2_29_3_1_2',5,MA_ERR)
137      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p10b .lt. p7b) .an
138     &d. (p7b .lt. p1b)) THEN
139      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
140     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
141     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
142     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
143      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
144     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
145     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
146     &1),int_mb(k_range+p1b-1),7,8,2,4,3,1,6,5,1.0d0)
147      END IF
148      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p9b .lt. p7b) .and
149     &. (p7b .le. p10b) .and. (p10b .lt. p1b)) THEN
150      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
151     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
152     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
153     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
154      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
155     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
156     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
157     &1),int_mb(k_range+p1b-1),6,8,2,4,3,1,7,5,-1.0d0)
158      END IF
159      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p9b .lt. p7b) .and
160     &. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
161      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
162     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
163     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
164     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
165      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
166     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
167     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
168     &),int_mb(k_range+p10b-1),6,7,2,4,3,1,8,5,1.0d0)
169      END IF
170      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p7b .le. p9b) .and
171     &. (p10b .lt. p1b)) THEN
172      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
173     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
174     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
175     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
176      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
177     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
178     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
179     &1),int_mb(k_range+p1b-1),5,8,2,4,3,1,7,6,1.0d0)
180      END IF
181      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p7b .le. p9b) .and
182     &. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
183      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
184     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
185     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
186     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
187      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
188     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
189     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
190     &),int_mb(k_range+p10b-1),5,7,2,4,3,1,8,6,-1.0d0)
191      END IF
192      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p7b .lt. p1b) .and
193     &. (p1b .le. p9b)) THEN
194      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
195     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
196     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
197     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
198      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
199     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
200     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
201     &),int_mb(k_range+p10b-1),5,6,2,4,3,1,8,7,1.0d0)
202      END IF
203      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p10b .lt. p1b) .an
204     &d. (p1b .le. p7b)) THEN
205      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
206     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
207     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
208     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
209      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
210     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
211     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
212     &1),int_mb(k_range+p7b-1),8,7,2,4,3,1,6,5,-1.0d0)
213      END IF
214      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p9b .lt. p1b) .and
215     &. (p1b .le. p10b) .and. (p10b .lt. p7b)) THEN
216      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
217     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
218     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
219     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
220      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
221     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
222     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
223     &1),int_mb(k_range+p7b-1),8,6,2,4,3,1,7,5,1.0d0)
224      END IF
225      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p9b .lt. p1b) .and
226     &. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
227      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
228     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
229     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
230     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
231      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
232     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
233     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
234     &),int_mb(k_range+p10b-1),7,6,2,4,3,1,8,5,-1.0d0)
235      END IF
236      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p1b .le. p9b) .and
237     &. (p10b .lt. p7b)) THEN
238      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
239     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
240     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
241     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
242      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
243     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
244     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
245     &1),int_mb(k_range+p7b-1),8,5,2,4,3,1,7,6,-1.0d0)
246      END IF
247      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p1b .le. p9b) .and
248     &. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
249      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
250     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
251     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
252     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
253      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
254     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
255     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
256     &),int_mb(k_range+p10b-1),7,5,2,4,3,1,8,6,1.0d0)
257      END IF
258      IF ((h11b .lt. h6b) .and. (h6b .lt. h3b) .and. (p1b .le. p7b) .and
259     &. (p7b .le. p9b)) THEN
260      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
261     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
262     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
263     &1 + noab * (h6b_2 - 1 + noab * (h11b_2 - 1)))))))))
264      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
265     &),int_mb(k_range+h6b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
266     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
267     &),int_mb(k_range+p10b-1),6,5,2,4,3,1,8,7,-1.0d0)
268      END IF
269      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p10b .lt. p7b) .a
270     &nd. (p7b .lt. p1b)) THEN
271      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
272     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
273     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
274     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
275      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
276     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
277     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
278     &1),int_mb(k_range+p1b-1),7,8,1,4,3,2,6,5,-1.0d0)
279      END IF
280      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p9b .lt. p7b) .an
281     &d. (p7b .le. p10b) .and. (p10b .lt. p1b)) THEN
282      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
283     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
284     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
285     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
286      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
287     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
288     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
289     &1),int_mb(k_range+p1b-1),6,8,1,4,3,2,7,5,1.0d0)
290      END IF
291      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p9b .lt. p7b) .an
292     &d. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
293      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
294     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
295     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
296     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
297      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
298     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
299     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
300     &),int_mb(k_range+p10b-1),6,7,1,4,3,2,8,5,-1.0d0)
301      END IF
302      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p7b .le. p9b) .an
303     &d. (p10b .lt. p1b)) THEN
304      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
305     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
306     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
307     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
308      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
309     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
310     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
311     &1),int_mb(k_range+p1b-1),5,8,1,4,3,2,7,6,-1.0d0)
312      END IF
313      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p7b .le. p9b) .an
314     &d. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
315      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
316     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
317     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
318     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
319      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
320     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
321     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
322     &),int_mb(k_range+p10b-1),5,7,1,4,3,2,8,6,1.0d0)
323      END IF
324      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p7b .lt. p1b) .an
325     &d. (p1b .le. p9b)) THEN
326      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
327     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
328     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
329     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
330      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
331     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
332     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
333     &),int_mb(k_range+p10b-1),5,6,1,4,3,2,8,7,-1.0d0)
334      END IF
335      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p10b .lt. p1b) .a
336     &nd. (p1b .le. p7b)) THEN
337      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
338     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
339     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
340     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
341      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
342     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
343     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
344     &1),int_mb(k_range+p7b-1),8,7,1,4,3,2,6,5,1.0d0)
345      END IF
346      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p9b .lt. p1b) .an
347     &d. (p1b .le. p10b) .and. (p10b .lt. p7b)) THEN
348      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
349     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
350     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
351     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
352      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
353     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
354     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
355     &1),int_mb(k_range+p7b-1),8,6,1,4,3,2,7,5,-1.0d0)
356      END IF
357      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p9b .lt. p1b) .an
358     &d. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
359      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
360     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
361     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
362     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
363      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
364     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
365     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
366     &),int_mb(k_range+p10b-1),7,6,1,4,3,2,8,5,1.0d0)
367      END IF
368      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p1b .le. p9b) .an
369     &d. (p10b .lt. p7b)) THEN
370      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
371     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
372     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
373     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
374      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
375     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
376     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
377     &1),int_mb(k_range+p7b-1),8,5,1,4,3,2,7,6,1.0d0)
378      END IF
379      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p1b .le. p9b) .an
380     &d. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
381      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
382     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
383     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
384     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
385      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
386     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
387     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
388     &),int_mb(k_range+p10b-1),7,5,1,4,3,2,8,6,-1.0d0)
389      END IF
390      IF ((h6b .le. h11b) .and. (h11b .lt. h3b) .and. (p1b .le. p7b) .an
391     &d. (p7b .le. p9b)) THEN
392      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
393     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
394     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h3b_2 -
395     &1 + noab * (h11b_2 - 1 + noab * (h6b_2 - 1)))))))))
396      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
397     &,int_mb(k_range+h11b-1),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1
398     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
399     &),int_mb(k_range+p10b-1),6,5,1,4,3,2,8,7,1.0d0)
400      END IF
401      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
402     &d. (p10b .lt. p7b) .and. (p7b .lt. p1b)) THEN
403      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
404     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
405     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
406     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
407      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
408     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
409     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
410     &1),int_mb(k_range+p1b-1),7,8,1,4,2,3,6,5,1.0d0)
411      END IF
412      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
413     &d. (p9b .lt. p7b) .and. (p7b .le. p10b) .and. (p10b .lt. p1b)) THE
414     &N
415      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
416     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
417     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
418     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
419      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
420     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
421     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
422     &1),int_mb(k_range+p1b-1),6,8,1,4,2,3,7,5,-1.0d0)
423      END IF
424      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
425     &d. (p9b .lt. p7b) .and. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
426      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
427     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
428     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
429     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
430      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
431     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
432     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
433     &),int_mb(k_range+p10b-1),6,7,1,4,2,3,8,5,1.0d0)
434      END IF
435      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
436     &d. (p7b .le. p9b) .and. (p10b .lt. p1b)) THEN
437      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
438     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
439     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
440     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
441      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
442     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
443     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
444     &1),int_mb(k_range+p1b-1),5,8,1,4,2,3,7,6,1.0d0)
445      END IF
446      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
447     &d. (p7b .le. p9b) .and. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
448      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
449     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
450     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
451     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
452      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
453     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
454     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
455     &),int_mb(k_range+p10b-1),5,7,1,4,2,3,8,6,-1.0d0)
456      END IF
457      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
458     &d. (p7b .lt. p1b) .and. (p1b .le. p9b)) THEN
459      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
460     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
461     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
462     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
463      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
464     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
465     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
466     &),int_mb(k_range+p10b-1),5,6,1,4,2,3,8,7,1.0d0)
467      END IF
468      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
469     &d. (p10b .lt. p1b) .and. (p1b .le. p7b)) THEN
470      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
471     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
472     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
473     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
474      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
475     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
476     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
477     &1),int_mb(k_range+p7b-1),8,7,1,4,2,3,6,5,-1.0d0)
478      END IF
479      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
480     &d. (p9b .lt. p1b) .and. (p1b .le. p10b) .and. (p10b .lt. p7b)) THE
481     &N
482      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
483     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
484     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
485     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
486      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
487     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
488     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
489     &1),int_mb(k_range+p7b-1),8,6,1,4,2,3,7,5,1.0d0)
490      END IF
491      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
492     &d. (p9b .lt. p1b) .and. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
493      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
494     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
495     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
496     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
497      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
498     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
499     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
500     &),int_mb(k_range+p10b-1),7,6,1,4,2,3,8,5,-1.0d0)
501      END IF
502      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
503     &d. (p1b .le. p9b) .and. (p10b .lt. p7b)) THEN
504      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
505     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
506     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
507     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
508      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
509     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
510     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
511     &1),int_mb(k_range+p7b-1),8,5,1,4,2,3,7,6,-1.0d0)
512      END IF
513      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
514     &d. (p1b .le. p9b) .and. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
515      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
516     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
517     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
518     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
519      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
520     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
521     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
522     &),int_mb(k_range+p10b-1),7,5,1,4,2,3,8,6,1.0d0)
523      END IF
524      IF ((h6b .lt. h3b) .and. (h3b .le. h11b) .and. (h11b .lt. h4b) .an
525     &d. (p1b .le. p7b) .and. (p7b .le. p9b)) THEN
526      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
527     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
528     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
529     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
530      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
531     &,int_mb(k_range+h3b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
532     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
533     &),int_mb(k_range+p10b-1),6,5,1,4,2,3,8,7,-1.0d0)
534      END IF
535      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p10b .lt. p7b) .an
536     &d. (p7b .lt. p1b)) THEN
537      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
538     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
539     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
540     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
541      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
542     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
543     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
544     &1),int_mb(k_range+p1b-1),7,8,1,3,2,4,6,5,-1.0d0)
545      END IF
546      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p9b .lt. p7b) .and
547     &. (p7b .le. p10b) .and. (p10b .lt. p1b)) THEN
548      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
549     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
550     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
551     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
552      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
553     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
554     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
555     &1),int_mb(k_range+p1b-1),6,8,1,3,2,4,7,5,1.0d0)
556      END IF
557      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p9b .lt. p7b) .and
558     &. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
559      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
560     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
561     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
562     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
563      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
564     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
565     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
566     &),int_mb(k_range+p10b-1),6,7,1,3,2,4,8,5,-1.0d0)
567      END IF
568      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p7b .le. p9b) .and
569     &. (p10b .lt. p1b)) THEN
570      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
571     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
572     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
573     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
574      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
575     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
576     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
577     &1),int_mb(k_range+p1b-1),5,8,1,3,2,4,7,6,-1.0d0)
578      END IF
579      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p7b .le. p9b) .and
580     &. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
581      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
582     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
583     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
584     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
585      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
586     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
587     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
588     &),int_mb(k_range+p10b-1),5,7,1,3,2,4,8,6,1.0d0)
589      END IF
590      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p7b .lt. p1b) .and
591     &. (p1b .le. p9b)) THEN
592      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
593     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
594     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
595     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
596      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
597     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
598     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
599     &),int_mb(k_range+p10b-1),5,6,1,3,2,4,8,7,-1.0d0)
600      END IF
601      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p10b .lt. p1b) .an
602     &d. (p1b .le. p7b)) THEN
603      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
604     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
605     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
606     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
607      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
608     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
609     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
610     &1),int_mb(k_range+p7b-1),8,7,1,3,2,4,6,5,1.0d0)
611      END IF
612      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p9b .lt. p1b) .and
613     &. (p1b .le. p10b) .and. (p10b .lt. p7b)) THEN
614      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
615     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
616     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
617     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
618      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
619     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
620     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
621     &1),int_mb(k_range+p7b-1),8,6,1,3,2,4,7,5,-1.0d0)
622      END IF
623      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p9b .lt. p1b) .and
624     &. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
625      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
626     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
627     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
628     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
629      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
630     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
631     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
632     &),int_mb(k_range+p10b-1),7,6,1,3,2,4,8,5,1.0d0)
633      END IF
634      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p1b .le. p9b) .and
635     &. (p10b .lt. p7b)) THEN
636      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
637     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
638     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
639     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
640      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
641     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
642     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
643     &1),int_mb(k_range+p7b-1),8,5,1,3,2,4,7,6,1.0d0)
644      END IF
645      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p1b .le. p9b) .and
646     &. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
647      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
648     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
649     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
650     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
651      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
652     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
653     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
654     &),int_mb(k_range+p10b-1),7,5,1,3,2,4,8,6,-1.0d0)
655      END IF
656      IF ((h6b .lt. h3b) .and. (h4b .le. h11b) .and. (p1b .le. p7b) .and
657     &. (p7b .le. p9b)) THEN
658      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
659     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
660     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
661     & 1 + noab * (h3b_2 - 1 + noab * (h6b_2 - 1)))))))))
662      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h6b-1)
663     &,int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
664     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
665     &),int_mb(k_range+p10b-1),6,5,1,3,2,4,8,7,1.0d0)
666      END IF
667      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
668     &. (p10b .lt. p7b) .and. (p7b .lt. p1b)) THEN
669      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
670     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
671     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
672     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
673      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
674     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
675     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
676     &1),int_mb(k_range+p1b-1),7,8,3,4,2,1,6,5,-1.0d0)
677      END IF
678      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
679     &. (p9b .lt. p7b) .and. (p7b .le. p10b) .and. (p10b .lt. p1b)) THEN
680      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
681     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
682     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
683     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
684      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
685     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
686     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
687     &1),int_mb(k_range+p1b-1),6,8,3,4,2,1,7,5,1.0d0)
688      END IF
689      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
690     &. (p9b .lt. p7b) .and. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
691      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
692     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
693     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
694     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
695      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
696     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
697     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
698     &),int_mb(k_range+p10b-1),6,7,3,4,2,1,8,5,-1.0d0)
699      END IF
700      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
701     &. (p7b .le. p9b) .and. (p10b .lt. p1b)) THEN
702      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
703     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
704     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
705     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
706      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
707     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
708     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
709     &1),int_mb(k_range+p1b-1),5,8,3,4,2,1,7,6,-1.0d0)
710      END IF
711      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
712     &. (p7b .le. p9b) .and. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
713      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
714     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
715     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
716     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
717      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
718     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
719     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
720     &),int_mb(k_range+p10b-1),5,7,3,4,2,1,8,6,1.0d0)
721      END IF
722      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
723     &. (p7b .lt. p1b) .and. (p1b .le. p9b)) THEN
724      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
725     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
726     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
727     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
728      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
729     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
730     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
731     &),int_mb(k_range+p10b-1),5,6,3,4,2,1,8,7,-1.0d0)
732      END IF
733      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
734     &. (p10b .lt. p1b) .and. (p1b .le. p7b)) THEN
735      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
736     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
737     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
738     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
739      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
740     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
741     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
742     &1),int_mb(k_range+p7b-1),8,7,3,4,2,1,6,5,1.0d0)
743      END IF
744      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
745     &. (p9b .lt. p1b) .and. (p1b .le. p10b) .and. (p10b .lt. p7b)) THEN
746      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
747     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
748     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
749     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
750      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
751     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
752     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
753     &1),int_mb(k_range+p7b-1),8,6,3,4,2,1,7,5,-1.0d0)
754      END IF
755      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
756     &. (p9b .lt. p1b) .and. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
757      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
758     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
759     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
760     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
761      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
762     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
763     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
764     &),int_mb(k_range+p10b-1),7,6,3,4,2,1,8,5,1.0d0)
765      END IF
766      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
767     &. (p1b .le. p9b) .and. (p10b .lt. p7b)) THEN
768      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
769     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
770     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
771     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
772      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
773     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
774     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
775     &1),int_mb(k_range+p7b-1),8,5,3,4,2,1,7,6,1.0d0)
776      END IF
777      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
778     &. (p1b .le. p9b) .and. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
779      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
780     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
781     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
782     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
783      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
784     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
785     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
786     &),int_mb(k_range+p10b-1),7,5,3,4,2,1,8,6,-1.0d0)
787      END IF
788      IF ((h11b .lt. h3b) .and. (h3b .le. h6b) .and. (h6b .lt. h4b) .and
789     &. (p1b .le. p7b) .and. (p7b .le. p9b)) THEN
790      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
791     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
792     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
793     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
794      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
795     &),int_mb(k_range+h3b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
796     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
797     &),int_mb(k_range+p10b-1),6,5,3,4,2,1,8,7,1.0d0)
798      END IF
799      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
800     &d. (p10b .lt. p7b) .and. (p7b .lt. p1b)) THEN
801      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
802     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
803     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
804     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
805      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
806     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
807     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
808     &1),int_mb(k_range+p1b-1),7,8,3,4,1,2,6,5,1.0d0)
809      END IF
810      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
811     &d. (p9b .lt. p7b) .and. (p7b .le. p10b) .and. (p10b .lt. p1b)) THE
812     &N
813      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
814     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
815     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
816     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
817      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
818     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
819     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
820     &1),int_mb(k_range+p1b-1),6,8,3,4,1,2,7,5,-1.0d0)
821      END IF
822      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
823     &d. (p9b .lt. p7b) .and. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
824      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
825     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
826     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
827     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
828      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
829     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
830     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
831     &),int_mb(k_range+p10b-1),6,7,3,4,1,2,8,5,1.0d0)
832      END IF
833      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
834     &d. (p7b .le. p9b) .and. (p10b .lt. p1b)) THEN
835      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
836     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
837     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
838     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
839      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
840     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
841     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
842     &1),int_mb(k_range+p1b-1),5,8,3,4,1,2,7,6,1.0d0)
843      END IF
844      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
845     &d. (p7b .le. p9b) .and. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
846      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
847     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
848     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
849     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
850      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
851     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
852     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
853     &),int_mb(k_range+p10b-1),5,7,3,4,1,2,8,6,-1.0d0)
854      END IF
855      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
856     &d. (p7b .lt. p1b) .and. (p1b .le. p9b)) THEN
857      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
858     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
859     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
860     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
861      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
862     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
863     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
864     &),int_mb(k_range+p10b-1),5,6,3,4,1,2,8,7,1.0d0)
865      END IF
866      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
867     &d. (p10b .lt. p1b) .and. (p1b .le. p7b)) THEN
868      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
869     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
870     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
871     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
872      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
873     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
874     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
875     &1),int_mb(k_range+p7b-1),8,7,3,4,1,2,6,5,-1.0d0)
876      END IF
877      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
878     &d. (p9b .lt. p1b) .and. (p1b .le. p10b) .and. (p10b .lt. p7b)) THE
879     &N
880      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
881     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
882     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
883     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
884      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
885     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
886     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
887     &1),int_mb(k_range+p7b-1),8,6,3,4,1,2,7,5,1.0d0)
888      END IF
889      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
890     &d. (p9b .lt. p1b) .and. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
891      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
892     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
893     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
894     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
895      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
896     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
897     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
898     &),int_mb(k_range+p10b-1),7,6,3,4,1,2,8,5,-1.0d0)
899      END IF
900      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
901     &d. (p1b .le. p9b) .and. (p10b .lt. p7b)) THEN
902      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
903     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
904     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
905     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
906      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
907     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
908     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
909     &1),int_mb(k_range+p7b-1),8,5,3,4,1,2,7,6,-1.0d0)
910      END IF
911      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
912     &d. (p1b .le. p9b) .and. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
913      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
914     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
915     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
916     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
917      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
918     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
919     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
920     &),int_mb(k_range+p10b-1),7,5,3,4,1,2,8,6,1.0d0)
921      END IF
922      IF ((h3b .le. h11b) .and. (h11b .lt. h6b) .and. (h6b .lt. h4b) .an
923     &d. (p1b .le. p7b) .and. (p7b .le. p9b)) THEN
924      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
925     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
926     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h6b_2 -
927     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
928      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
929     &,int_mb(k_range+h11b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1
930     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
931     &),int_mb(k_range+p10b-1),6,5,3,4,1,2,8,7,-1.0d0)
932      END IF
933      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
934     &d. (p10b .lt. p7b) .and. (p7b .lt. p1b)) THEN
935      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
936     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
937     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
938     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
939      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
940     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
941     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
942     &1),int_mb(k_range+p1b-1),7,8,2,4,1,3,6,5,-1.0d0)
943      END IF
944      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
945     &d. (p9b .lt. p7b) .and. (p7b .le. p10b) .and. (p10b .lt. p1b)) THE
946     &N
947      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
948     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
949     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
950     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
951      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
952     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
953     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
954     &1),int_mb(k_range+p1b-1),6,8,2,4,1,3,7,5,1.0d0)
955      END IF
956      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
957     &d. (p9b .lt. p7b) .and. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
958      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
959     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
960     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
961     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
962      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
963     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
964     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
965     &),int_mb(k_range+p10b-1),6,7,2,4,1,3,8,5,-1.0d0)
966      END IF
967      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
968     &d. (p7b .le. p9b) .and. (p10b .lt. p1b)) THEN
969      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
970     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
971     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
972     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
973      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
974     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
975     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
976     &1),int_mb(k_range+p1b-1),5,8,2,4,1,3,7,6,-1.0d0)
977      END IF
978      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
979     &d. (p7b .le. p9b) .and. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
980      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
981     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
982     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
983     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
984      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
985     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
986     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
987     &),int_mb(k_range+p10b-1),5,7,2,4,1,3,8,6,1.0d0)
988      END IF
989      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
990     &d. (p7b .lt. p1b) .and. (p1b .le. p9b)) THEN
991      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
992     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
993     & + nvab * (p7b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
994     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
995      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
996     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
997     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
998     &),int_mb(k_range+p10b-1),5,6,2,4,1,3,8,7,-1.0d0)
999      END IF
1000      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
1001     &d. (p10b .lt. p1b) .and. (p1b .le. p7b)) THEN
1002      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1003     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1004     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
1005     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1006      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1007     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
1008     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
1009     &1),int_mb(k_range+p7b-1),8,7,2,4,1,3,6,5,1.0d0)
1010      END IF
1011      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
1012     &d. (p9b .lt. p1b) .and. (p1b .le. p10b) .and. (p10b .lt. p7b)) THE
1013     &N
1014      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1015     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1016     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
1017     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1018      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1019     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
1020     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
1021     &1),int_mb(k_range+p7b-1),8,6,2,4,1,3,7,5,-1.0d0)
1022      END IF
1023      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
1024     &d. (p9b .lt. p1b) .and. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
1025      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1026     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1027     & + nvab * (p9b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
1028     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1029      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1030     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
1031     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
1032     &),int_mb(k_range+p10b-1),7,6,2,4,1,3,8,5,1.0d0)
1033      END IF
1034      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
1035     &d. (p1b .le. p9b) .and. (p10b .lt. p7b)) THEN
1036      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1037     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1038     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
1039     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1040      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1041     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
1042     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1043     &1),int_mb(k_range+p7b-1),8,5,2,4,1,3,7,6,1.0d0)
1044      END IF
1045      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
1046     &d. (p1b .le. p9b) .and. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
1047      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1048     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1049     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
1050     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1051      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1052     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
1053     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
1054     &),int_mb(k_range+p10b-1),7,5,2,4,1,3,8,6,-1.0d0)
1055      END IF
1056      IF ((h3b .le. h6b) .and. (h6b .le. h11b) .and. (h11b .lt. h4b) .an
1057     &d. (p1b .le. p7b) .and. (p7b .le. p9b)) THEN
1058      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1059     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1060     & + nvab * (p1b_2 - noab - 1 + nvab * (h4b_2 - 1 + noab * (h11b_2 -
1061     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1062      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1063     &,int_mb(k_range+h6b-1),int_mb(k_range+h11b-1),int_mb(k_range+h4b-1
1064     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
1065     &),int_mb(k_range+p10b-1),6,5,2,4,1,3,8,7,1.0d0)
1066      END IF
1067      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1068     &. (p10b .lt. p7b) .and. (p7b .lt. p1b)) THEN
1069      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1070     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1071     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1072     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1073      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1074     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1075     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
1076     &1),int_mb(k_range+p1b-1),7,8,2,3,1,4,6,5,1.0d0)
1077      END IF
1078      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1079     &. (p9b .lt. p7b) .and. (p7b .le. p10b) .and. (p10b .lt. p1b)) THEN
1080      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1081     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1082     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1083     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1084      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1085     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1086     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
1087     &1),int_mb(k_range+p1b-1),6,8,2,3,1,4,7,5,-1.0d0)
1088      END IF
1089      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1090     &. (p9b .lt. p7b) .and. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
1091      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1092     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1093     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1094     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1095      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1096     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1097     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
1098     &),int_mb(k_range+p10b-1),6,7,2,3,1,4,8,5,1.0d0)
1099      END IF
1100      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1101     &. (p7b .le. p9b) .and. (p10b .lt. p1b)) THEN
1102      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1103     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1104     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1105     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1106      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1107     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1108     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1109     &1),int_mb(k_range+p1b-1),5,8,2,3,1,4,7,6,1.0d0)
1110      END IF
1111      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1112     &. (p7b .le. p9b) .and. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
1113      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1114     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1115     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1116     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1117      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1118     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1119     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
1120     &),int_mb(k_range+p10b-1),5,7,2,3,1,4,8,6,-1.0d0)
1121      END IF
1122      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1123     &. (p7b .lt. p1b) .and. (p1b .le. p9b)) THEN
1124      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1125     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1126     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1127     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1128      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1129     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1130     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
1131     &),int_mb(k_range+p10b-1),5,6,2,3,1,4,8,7,1.0d0)
1132      END IF
1133      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1134     &. (p10b .lt. p1b) .and. (p1b .le. p7b)) THEN
1135      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1136     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1137     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1138     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1139      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1140     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1141     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
1142     &1),int_mb(k_range+p7b-1),8,7,2,3,1,4,6,5,-1.0d0)
1143      END IF
1144      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1145     &. (p9b .lt. p1b) .and. (p1b .le. p10b) .and. (p10b .lt. p7b)) THEN
1146      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1147     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1148     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1149     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1150      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1151     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1152     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
1153     &1),int_mb(k_range+p7b-1),8,6,2,3,1,4,7,5,1.0d0)
1154      END IF
1155      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1156     &. (p9b .lt. p1b) .and. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
1157      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1158     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1159     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1160     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1161      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1162     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1163     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
1164     &),int_mb(k_range+p10b-1),7,6,2,3,1,4,8,5,-1.0d0)
1165      END IF
1166      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1167     &. (p1b .le. p9b) .and. (p10b .lt. p7b)) THEN
1168      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1169     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1170     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1171     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1172      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1173     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1174     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1175     &1),int_mb(k_range+p7b-1),8,5,2,3,1,4,7,6,-1.0d0)
1176      END IF
1177      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1178     &. (p1b .le. p9b) .and. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
1179      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1180     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1181     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1182     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1183      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1184     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1185     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
1186     &),int_mb(k_range+p10b-1),7,5,2,3,1,4,8,6,1.0d0)
1187      END IF
1188      IF ((h3b .le. h6b) .and. (h6b .lt. h4b) .and. (h4b .le. h11b) .and
1189     &. (p1b .le. p7b) .and. (p7b .le. p9b)) THEN
1190      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1191     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1192     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h4b_2 -
1193     & 1 + noab * (h6b_2 - 1 + noab * (h3b_2 - 1)))))))))
1194      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1195     &,int_mb(k_range+h6b-1),int_mb(k_range+h4b-1),int_mb(k_range+h11b-1
1196     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
1197     &),int_mb(k_range+p10b-1),6,5,2,3,1,4,8,7,-1.0d0)
1198      END IF
1199      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p10b .lt. p7b) .an
1200     &d. (p7b .lt. p1b)) THEN
1201      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1202     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1203     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1204     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1205      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1206     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1207     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
1208     &1),int_mb(k_range+p1b-1),7,8,4,3,2,1,6,5,1.0d0)
1209      END IF
1210      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p9b .lt. p7b) .and
1211     &. (p7b .le. p10b) .and. (p10b .lt. p1b)) THEN
1212      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1213     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1214     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1215     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1216      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1217     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1218     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
1219     &1),int_mb(k_range+p1b-1),6,8,4,3,2,1,7,5,-1.0d0)
1220      END IF
1221      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p9b .lt. p7b) .and
1222     &. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
1223      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1224     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1225     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1226     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1227      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1228     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1229     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
1230     &),int_mb(k_range+p10b-1),6,7,4,3,2,1,8,5,1.0d0)
1231      END IF
1232      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p7b .le. p9b) .and
1233     &. (p10b .lt. p1b)) THEN
1234      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1235     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1236     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1237     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1238      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1239     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1240     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1241     &1),int_mb(k_range+p1b-1),5,8,4,3,2,1,7,6,1.0d0)
1242      END IF
1243      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p7b .le. p9b) .and
1244     &. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
1245      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1246     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1247     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1248     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1249      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1250     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1251     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
1252     &),int_mb(k_range+p10b-1),5,7,4,3,2,1,8,6,-1.0d0)
1253      END IF
1254      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p7b .lt. p1b) .and
1255     &. (p1b .le. p9b)) THEN
1256      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1257     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1258     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1259     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1260      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1261     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1262     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
1263     &),int_mb(k_range+p10b-1),5,6,4,3,2,1,8,7,1.0d0)
1264      END IF
1265      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p10b .lt. p1b) .an
1266     &d. (p1b .le. p7b)) THEN
1267      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1268     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1269     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1270     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1271      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1272     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1273     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
1274     &1),int_mb(k_range+p7b-1),8,7,4,3,2,1,6,5,-1.0d0)
1275      END IF
1276      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p9b .lt. p1b) .and
1277     &. (p1b .le. p10b) .and. (p10b .lt. p7b)) THEN
1278      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1279     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1280     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1281     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1282      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1283     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1284     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
1285     &1),int_mb(k_range+p7b-1),8,6,4,3,2,1,7,5,1.0d0)
1286      END IF
1287      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p9b .lt. p1b) .and
1288     &. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
1289      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1290     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1291     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1292     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1293      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1294     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1295     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
1296     &),int_mb(k_range+p10b-1),7,6,4,3,2,1,8,5,-1.0d0)
1297      END IF
1298      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p1b .le. p9b) .and
1299     &. (p10b .lt. p7b)) THEN
1300      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1301     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1302     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1303     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1304      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1305     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1306     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1307     &1),int_mb(k_range+p7b-1),8,5,4,3,2,1,7,6,-1.0d0)
1308      END IF
1309      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p1b .le. p9b) .and
1310     &. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
1311      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1312     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1313     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1314     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1315      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1316     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1317     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
1318     &),int_mb(k_range+p10b-1),7,5,4,3,2,1,8,6,1.0d0)
1319      END IF
1320      IF ((h11b .lt. h3b) .and. (h4b .le. h6b) .and. (p1b .le. p7b) .and
1321     &. (p7b .le. p9b)) THEN
1322      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1323     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1324     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1325     &1 + noab * (h3b_2 - 1 + noab * (h11b_2 - 1)))))))))
1326      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h11b-1
1327     &),int_mb(k_range+h3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1328     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
1329     &),int_mb(k_range+p10b-1),6,5,4,3,2,1,8,7,-1.0d0)
1330      END IF
1331      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1332     &d. (p10b .lt. p7b) .and. (p7b .lt. p1b)) THEN
1333      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1334     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1335     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1336     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1337      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1338     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1339     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
1340     &1),int_mb(k_range+p1b-1),7,8,4,3,1,2,6,5,-1.0d0)
1341      END IF
1342      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1343     &d. (p9b .lt. p7b) .and. (p7b .le. p10b) .and. (p10b .lt. p1b)) THE
1344     &N
1345      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1346     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1347     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1348     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1349      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1350     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1351     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
1352     &1),int_mb(k_range+p1b-1),6,8,4,3,1,2,7,5,1.0d0)
1353      END IF
1354      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1355     &d. (p9b .lt. p7b) .and. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
1356      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1357     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1358     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1359     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1360      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1361     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1362     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
1363     &),int_mb(k_range+p10b-1),6,7,4,3,1,2,8,5,-1.0d0)
1364      END IF
1365      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1366     &d. (p7b .le. p9b) .and. (p10b .lt. p1b)) THEN
1367      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1368     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1369     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1370     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1371      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1372     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1373     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1374     &1),int_mb(k_range+p1b-1),5,8,4,3,1,2,7,6,-1.0d0)
1375      END IF
1376      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1377     &d. (p7b .le. p9b) .and. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
1378      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1379     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1380     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1381     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1382      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1383     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1384     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
1385     &),int_mb(k_range+p10b-1),5,7,4,3,1,2,8,6,1.0d0)
1386      END IF
1387      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1388     &d. (p7b .lt. p1b) .and. (p1b .le. p9b)) THEN
1389      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1390     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1391     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1392     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1393      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1394     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1395     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
1396     &),int_mb(k_range+p10b-1),5,6,4,3,1,2,8,7,-1.0d0)
1397      END IF
1398      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1399     &d. (p10b .lt. p1b) .and. (p1b .le. p7b)) THEN
1400      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1401     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1402     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1403     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1404      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1405     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1406     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
1407     &1),int_mb(k_range+p7b-1),8,7,4,3,1,2,6,5,1.0d0)
1408      END IF
1409      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1410     &d. (p9b .lt. p1b) .and. (p1b .le. p10b) .and. (p10b .lt. p7b)) THE
1411     &N
1412      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1413     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1414     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1415     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1416      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1417     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1418     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
1419     &1),int_mb(k_range+p7b-1),8,6,4,3,1,2,7,5,-1.0d0)
1420      END IF
1421      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1422     &d. (p9b .lt. p1b) .and. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
1423      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1424     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1425     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1426     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1427      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1428     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1429     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
1430     &),int_mb(k_range+p10b-1),7,6,4,3,1,2,8,5,1.0d0)
1431      END IF
1432      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1433     &d. (p1b .le. p9b) .and. (p10b .lt. p7b)) THEN
1434      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1435     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1436     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1437     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1438      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1439     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1440     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1441     &1),int_mb(k_range+p7b-1),8,5,4,3,1,2,7,6,1.0d0)
1442      END IF
1443      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1444     &d. (p1b .le. p9b) .and. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
1445      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1446     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1447     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1448     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1449      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1450     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1451     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
1452     &),int_mb(k_range+p10b-1),7,5,4,3,1,2,8,6,-1.0d0)
1453      END IF
1454      IF ((h3b .le. h11b) .and. (h11b .lt. h4b) .and. (h4b .le. h6b) .an
1455     &d. (p1b .le. p7b) .and. (p7b .le. p9b)) THEN
1456      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1457     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1458     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h4b_2 -
1459     &1 + noab * (h11b_2 - 1 + noab * (h3b_2 - 1)))))))))
1460      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1461     &,int_mb(k_range+h11b-1),int_mb(k_range+h4b-1),int_mb(k_range+h6b-1
1462     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
1463     &),int_mb(k_range+p10b-1),6,5,4,3,1,2,8,7,1.0d0)
1464      END IF
1465      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p10b .lt. p7b) .a
1466     &nd. (p7b .lt. p1b)) THEN
1467      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1468     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1469     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1470     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1471      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1472     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1473     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
1474     &1),int_mb(k_range+p1b-1),7,8,4,2,1,3,6,5,1.0d0)
1475      END IF
1476      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p9b .lt. p7b) .an
1477     &d. (p7b .le. p10b) .and. (p10b .lt. p1b)) THEN
1478      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1479     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1480     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1481     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1482      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1483     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1484     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
1485     &1),int_mb(k_range+p1b-1),6,8,4,2,1,3,7,5,-1.0d0)
1486      END IF
1487      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p9b .lt. p7b) .an
1488     &d. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
1489      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1490     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1491     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1492     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1493      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1494     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1495     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
1496     &),int_mb(k_range+p10b-1),6,7,4,2,1,3,8,5,1.0d0)
1497      END IF
1498      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p7b .le. p9b) .an
1499     &d. (p10b .lt. p1b)) THEN
1500      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1501     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1502     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1503     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1504      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1505     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1506     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1507     &1),int_mb(k_range+p1b-1),5,8,4,2,1,3,7,6,1.0d0)
1508      END IF
1509      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p7b .le. p9b) .an
1510     &d. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
1511      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1512     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1513     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1514     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1515      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1516     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1517     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
1518     &),int_mb(k_range+p10b-1),5,7,4,2,1,3,8,6,-1.0d0)
1519      END IF
1520      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p7b .lt. p1b) .an
1521     &d. (p1b .le. p9b)) THEN
1522      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1523     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1524     & + nvab * (p7b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1525     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1526      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1527     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1528     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
1529     &),int_mb(k_range+p10b-1),5,6,4,2,1,3,8,7,1.0d0)
1530      END IF
1531      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p10b .lt. p1b) .a
1532     &nd. (p1b .le. p7b)) THEN
1533      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1534     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1535     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1536     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1537      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1538     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1539     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
1540     &1),int_mb(k_range+p7b-1),8,7,4,2,1,3,6,5,-1.0d0)
1541      END IF
1542      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p9b .lt. p1b) .an
1543     &d. (p1b .le. p10b) .and. (p10b .lt. p7b)) THEN
1544      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1545     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1546     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1547     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1548      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1549     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1550     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
1551     &1),int_mb(k_range+p7b-1),8,6,4,2,1,3,7,5,1.0d0)
1552      END IF
1553      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p9b .lt. p1b) .an
1554     &d. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
1555      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1556     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1557     & + nvab * (p9b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1558     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1559      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1560     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1561     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
1562     &),int_mb(k_range+p10b-1),7,6,4,2,1,3,8,5,-1.0d0)
1563      END IF
1564      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p1b .le. p9b) .an
1565     &d. (p10b .lt. p7b)) THEN
1566      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1567     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1568     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1569     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1570      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1571     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1572     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1573     &1),int_mb(k_range+p7b-1),8,5,4,2,1,3,7,6,-1.0d0)
1574      END IF
1575      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p1b .le. p9b) .an
1576     &d. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
1577      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1578     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1579     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1580     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1581      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1582     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1583     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
1584     &),int_mb(k_range+p10b-1),7,5,4,2,1,3,8,6,1.0d0)
1585      END IF
1586      IF ((h4b .le. h11b) .and. (h11b .lt. h6b) .and. (p1b .le. p7b) .an
1587     &d. (p7b .le. p9b)) THEN
1588      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1589     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1590     & + nvab * (p1b_2 - noab - 1 + nvab * (h6b_2 - 1 + noab * (h11b_2 -
1591     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1592      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1593     &,int_mb(k_range+h4b-1),int_mb(k_range+h11b-1),int_mb(k_range+h6b-1
1594     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
1595     &),int_mb(k_range+p10b-1),6,5,4,2,1,3,8,7,-1.0d0)
1596      END IF
1597      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p10b .lt. p7b) .an
1598     &d. (p7b .lt. p1b)) THEN
1599      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1600     & - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1601     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1602     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1603      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1604     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1605     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p7b-
1606     &1),int_mb(k_range+p1b-1),7,8,3,2,1,4,6,5,-1.0d0)
1607      END IF
1608      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p9b .lt. p7b) .and
1609     &. (p7b .le. p10b) .and. (p10b .lt. p1b)) THEN
1610      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1611     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1612     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1613     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1614      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1615     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1616     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p10b-
1617     &1),int_mb(k_range+p1b-1),6,8,3,2,1,4,7,5,1.0d0)
1618      END IF
1619      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p9b .lt. p7b) .and
1620     &. (p7b .lt. p1b) .and. (p1b .le. p10b)) THEN
1621      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1622     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1623     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1624     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1625      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1626     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1627     &),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1
1628     &),int_mb(k_range+p10b-1),6,7,3,2,1,4,8,5,-1.0d0)
1629      END IF
1630      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p7b .le. p9b) .and
1631     &. (p10b .lt. p1b)) THEN
1632      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p1b_2
1633     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1634     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1635     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1636      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1637     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1638     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1639     &1),int_mb(k_range+p1b-1),5,8,3,2,1,4,7,6,-1.0d0)
1640      END IF
1641      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p7b .le. p9b) .and
1642     &. (p9b .lt. p1b) .and. (p1b .le. p10b)) THEN
1643      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1644     &2 - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1645     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1646     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1647      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1648     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1649     &),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1
1650     &),int_mb(k_range+p10b-1),5,7,3,2,1,4,8,6,1.0d0)
1651      END IF
1652      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p7b .lt. p1b) .and
1653     &. (p1b .le. p9b)) THEN
1654      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1655     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1656     & + nvab * (p7b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1657     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1658      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1659     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1660     &),int_mb(k_range+p7b-1),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1
1661     &),int_mb(k_range+p10b-1),5,6,3,2,1,4,8,7,-1.0d0)
1662      END IF
1663      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p10b .lt. p1b) .an
1664     &d. (p1b .le. p7b)) THEN
1665      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1666     & - noab - 1 + nvab * (p1b_2 - noab - 1 + nvab * (p10b_2 - noab - 1
1667     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1668     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1669      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1670     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1671     &),int_mb(k_range+p9b-1),int_mb(k_range+p10b-1),int_mb(k_range+p1b-
1672     &1),int_mb(k_range+p7b-1),8,7,3,2,1,4,6,5,1.0d0)
1673      END IF
1674      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p9b .lt. p1b) .and
1675     &. (p1b .le. p10b) .and. (p10b .lt. p7b)) THEN
1676      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1677     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1678     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1679     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1680      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1681     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1682     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p10b-
1683     &1),int_mb(k_range+p7b-1),8,6,3,2,1,4,7,5,-1.0d0)
1684      END IF
1685      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p9b .lt. p1b) .and
1686     &. (p1b .le. p7b) .and. (p7b .le. p10b)) THEN
1687      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1688     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p1b_2 - noab - 1
1689     & + nvab * (p9b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1690     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1691      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1692     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1693     &),int_mb(k_range+p9b-1),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1
1694     &),int_mb(k_range+p10b-1),7,6,3,2,1,4,8,5,1.0d0)
1695      END IF
1696      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p1b .le. p9b) .and
1697     &. (p10b .lt. p7b)) THEN
1698      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
1699     & - noab - 1 + nvab * (p10b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1700     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1701     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1702      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1703     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1704     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p10b-
1705     &1),int_mb(k_range+p7b-1),8,5,3,2,1,4,7,6,1.0d0)
1706      END IF
1707      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p1b .le. p9b) .and
1708     &. (p9b .lt. p7b) .and. (p7b .le. p10b)) THEN
1709      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1710     &2 - noab - 1 + nvab * (p7b_2 - noab - 1 + nvab * (p9b_2 - noab - 1
1711     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1712     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1713      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1714     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1715     &),int_mb(k_range+p1b-1),int_mb(k_range+p9b-1),int_mb(k_range+p7b-1
1716     &),int_mb(k_range+p10b-1),7,5,3,2,1,4,8,6,-1.0d0)
1717      END IF
1718      IF ((h4b .le. h6b) .and. (h6b .le. h11b) .and. (p1b .le. p7b) .and
1719     &. (p7b .le. p9b)) THEN
1720      CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p10b_
1721     &2 - noab - 1 + nvab * (p9b_2 - noab - 1 + nvab * (p7b_2 - noab - 1
1722     & + nvab * (p1b_2 - noab - 1 + nvab * (h11b_2 - 1 + noab * (h6b_2 -
1723     & 1 + noab * (h4b_2 - 1 + noab * (h3b_2 - 1)))))))))
1724      CALL TCE_SORT_8(dbl_mb(k_b),dbl_mb(k_b_sort),int_mb(k_range+h3b-1)
1725     &,int_mb(k_range+h4b-1),int_mb(k_range+h6b-1),int_mb(k_range+h11b-1
1726     &),int_mb(k_range+p1b-1),int_mb(k_range+p7b-1),int_mb(k_range+p9b-1
1727     &),int_mb(k_range+p10b-1),6,5,3,2,1,4,8,7,1.0d0)
1728      END IF
1729      IF (.not.MA_POP_STACK(l_b)) CALL ERRQUIT('eomccsdtq_y2_29_3_1_2',6
1730     &,MA_ERR)
1731      nsuperp(1) = 1
1732      nsuperp(2) = 1
1733      isuperp = 1
1734      IF (p9b .eq. p10b) THEN
1735      nsuperp(isuperp) = nsuperp(isuperp) + 1
1736      ELSE
1737      isuperp = isuperp + 1
1738      END IF
1739      CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,2.0d0/FACTORIAL(
1740     &nsuperp(1))/FACTORIAL(nsuperp(2)),dbl_mb(k_a_sort),dim_common,dbl_
1741     &mb(k_b_sort),dim_common,1.0d0,dbl_mb(k_c_sort),dima_sort)
1742      IF (.not.MA_POP_STACK(l_b_sort)) CALL ERRQUIT('eomccsdtq_y2_29_3_1
1743     &_2',7,MA_ERR)
1744      IF (.not.MA_POP_STACK(l_a_sort)) CALL ERRQUIT('eomccsdtq_y2_29_3_1
1745     &_2',8,MA_ERR)
1746      END IF
1747      END IF
1748      END IF
1749      END DO
1750      END DO
1751      END DO
1752      IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c)) CALL ERRQUIT('
1753     &eomccsdtq_y2_29_3_1_2',9,MA_ERR)
1754      CALL TCE_SORT_6(dbl_mb(k_c_sort),dbl_mb(k_c),int_mb(k_range+p7b-1)
1755     &,int_mb(k_range+p1b-1),int_mb(k_range+h6b-1),int_mb(k_range+h4b-1)
1756     &,int_mb(k_range+h3b-1),int_mb(k_range+h14b-1),5,4,3,2,6,1,1.0d0)
1757      CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),(p7b -
1758     & noab - 1 + nvab * (h14b - 1 + noab * (p1b - noab - 1 + nvab * (h6
1759     &b - 1 + noab * (h4b - 1 + noab * (h3b - 1)))))))
1760      IF (.not.MA_POP_STACK(l_c)) CALL ERRQUIT('eomccsdtq_y2_29_3_1_2',1
1761     &0,MA_ERR)
1762      IF (.not.MA_POP_STACK(l_c_sort)) CALL ERRQUIT('eomccsdtq_y2_29_3_1
1763     &_2',11,MA_ERR)
1764      END IF
1765      END IF
1766      END IF
1767      next = NXTASK(nprocs,1)
1768      END IF
1769      count = count + 1
1770      END DO
1771      END DO
1772      END DO
1773      END DO
1774      END DO
1775      END DO
1776      next = NXTASK(-nprocs,1)
1777      call GA_SYNC()
1778      RETURN
1779      END
1780