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