51 integer ch_dim2, ch_dim3, ch_dim4, ch_offset, cc_dim2, cc_dim3, cc_dim4,
52 cc_offset, cc1_dim2, cc1_dim3, cc1_offset, ch1_dim2, ch1_dim3,
53 ch1_offset, wa_dim1, wa_dim2, wa_offset, i__1, i__2, i__3, i__4,
57 integer i__, j, k, l, m1, m2, jc, lc, ki;
70 wa_offset = 1 + wa_dim1 * (1 + wa_dim2);
74 cc1_offset = 1 + 2 * (1 + cc1_dim2 * (1 + cc1_dim3));
79 cc_offset = 1 + 2 * (1 + cc_dim2 * (1 + cc_dim3 * (1 + cc_dim4)));
83 ch1_offset = 1 + 2 * (1 + ch1_dim2 * (1 + ch1_dim3));
88 ch_offset = 1 + 2 * (1 + ch_dim2 * (1 + ch_dim3 * (1 + ch_dim4)));
92 m1d = (*lot - 1) * *im1 + 1;
97 for (ki = 1; ki <= i__1; ++ki) {
101 for (m1 = 1; i__3 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__3) {
103 ch1[(m2 + (ki + ch1_dim3) * ch1_dim2 << 1) + 1] = cc1[(m1 + (ki +
104 cc1_dim3) * cc1_dim2 << 1) + 1];
105 ch1[(m2 + (ki + ch1_dim3) * ch1_dim2 << 1) + 2] = cc1[(m1 + (ki +
106 cc1_dim3) * cc1_dim2 << 1) + 2];
111 for (j = 2; j <= i__3; ++j) {
114 for (ki = 1; ki <= i__2; ++ki) {
118 for (m1 = 1; i__4 < 0 ? m1 >= i__1 : m1 <= i__1; m1 += i__4) {
120 ch1[(m2 + (ki + j * ch1_dim3) * ch1_dim2 << 1) + 1] = cc1[(m1
121 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 1] + cc1[(m1
122 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1];
123 ch1[(m2 + (ki + jc * ch1_dim3) * ch1_dim2 << 1) + 1] = cc1[(
124 m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 1] - cc1[(
125 m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1];
126 ch1[(m2 + (ki + j * ch1_dim3) * ch1_dim2 << 1) + 2] = cc1[(m1
127 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] + cc1[(m1
128 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 2];
129 ch1[(m2 + (ki + jc * ch1_dim3) * ch1_dim2 << 1) + 2] = cc1[(
130 m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] - cc1[(
131 m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 2];
138 for (j = 2; j <= i__3; ++j) {
140 for (ki = 1; ki <= i__4; ++ki) {
144 for (m1 = 1; i__2 < 0 ? m1 >= i__1 : m1 <= i__1; m1 += i__2) {
146 cc1[(m1 + (ki + cc1_dim3) * cc1_dim2 << 1) + 1] += ch1[(m2 + (
147 ki + j * ch1_dim3) * ch1_dim2 << 1) + 1];
148 cc1[(m1 + (ki + cc1_dim3) * cc1_dim2 << 1) + 2] += ch1[(m2 + (
149 ki + j * ch1_dim3) * ch1_dim2 << 1) + 2];
156 for (l = 2; l <= i__3; ++l) {
159 for (ki = 1; ki <= i__2; ++ki) {
163 for (m1 = 1; i__4 < 0 ? m1 >= i__1 : m1 <= i__1; m1 += i__4) {
165 cc1[(m1 + (ki + l * cc1_dim3) * cc1_dim2 << 1) + 1] = ch1[(m2
166 + (ki + ch1_dim3) * ch1_dim2 << 1) + 1] + wa[(l - 1 +
167 wa_dim2) * wa_dim1 + 1] * ch1[(m2 + (ki + (ch1_dim3 <<
168 1)) * ch1_dim2 << 1) + 1];
169 cc1[(m1 + (ki + lc * cc1_dim3) * cc1_dim2 << 1) + 1] = -wa[(l
170 - 1 + (wa_dim2 << 1)) * wa_dim1 + 1] * ch1[(m2 + (ki
171 + *ip * ch1_dim3) * ch1_dim2 << 1) + 1];
172 cc1[(m1 + (ki + l * cc1_dim3) * cc1_dim2 << 1) + 2] = ch1[(m2
173 + (ki + ch1_dim3) * ch1_dim2 << 1) + 2] + wa[(l - 1 +
174 wa_dim2) * wa_dim1 + 1] * ch1[(m2 + (ki + (ch1_dim3 <<
175 1)) * ch1_dim2 << 1) + 2];
176 cc1[(m1 + (ki + lc * cc1_dim3) * cc1_dim2 << 1) + 2] = -wa[(l
177 - 1 + (wa_dim2 << 1)) * wa_dim1 + 1] * ch1[(m2 + (ki
178 + *ip * ch1_dim3) * ch1_dim2 << 1) + 2];
183 for (j = 3; j <= i__4; ++j) {
185 idlj = (l - 1) * (j - 1) % *ip;
186 war = wa[(idlj + wa_dim2) * wa_dim1 + 1];
187 wai = -wa[(idlj + (wa_dim2 << 1)) * wa_dim1 + 1];
189 for (ki = 1; ki <= i__1; ++ki) {
193 for (m1 = 1; i__5 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__5) {
195 cc1[(m1 + (ki + l * cc1_dim3) * cc1_dim2 << 1) + 1] +=
196 war * ch1[(m2 + (ki + j * ch1_dim3) * ch1_dim2 <<
198 cc1[(m1 + (ki + lc * cc1_dim3) * cc1_dim2 << 1) + 1] +=
199 wai * ch1[(m2 + (ki + jc * ch1_dim3) * ch1_dim2 <<
201 cc1[(m1 + (ki + l * cc1_dim3) * cc1_dim2 << 1) + 2] +=
202 war * ch1[(m2 + (ki + j * ch1_dim3) * ch1_dim2 <<
204 cc1[(m1 + (ki + lc * cc1_dim3) * cc1_dim2 << 1) + 2] +=
205 wai * ch1[(m2 + (ki + jc * ch1_dim3) * ch1_dim2 <<
222 for (ki = 1; ki <= i__3; ++ki) {
226 for (m1 = 1; i__5 < 0 ? m1 >= i__4 : m1 <= i__4; m1 += i__5) {
228 cc1[(m1 + (ki + cc1_dim3) * cc1_dim2 << 1) + 1] = sn * cc1[(m1 + (
229 ki + cc1_dim3) * cc1_dim2 << 1) + 1];
230 cc1[(m1 + (ki + cc1_dim3) * cc1_dim2 << 1) + 2] = sn * cc1[(m1 + (
231 ki + cc1_dim3) * cc1_dim2 << 1) + 2];
236 for (j = 2; j <= i__5; ++j) {
239 for (ki = 1; ki <= i__4; ++ki) {
242 for (m1 = 1; i__2 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__2) {
243 chold1 = sn * (cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1)
244 + 1] - cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1)
246 chold2 = sn * (cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1)
247 + 1] + cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1)
249 cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 1] = chold1;
250 cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 2] = sn * (
251 cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] -
252 cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1]);
253 cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] = sn * (
254 cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] +
255 cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1]);
256 cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1] = chold2;
265 for (ki = 1; ki <= i__5; ++ki) {
269 for (m1 = 1; i__3 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__3) {
271 ch1[(m2 + (ki + ch1_dim3) * ch1_dim2 << 1) + 1] = sn * cc1[(m1 + (
272 ki + cc1_dim3) * cc1_dim2 << 1) + 1];
273 ch1[(m2 + (ki + ch1_dim3) * ch1_dim2 << 1) + 2] = sn * cc1[(m1 + (
274 ki + cc1_dim3) * cc1_dim2 << 1) + 2];
279 for (j = 2; j <= i__3; ++j) {
282 for (ki = 1; ki <= i__2; ++ki) {
286 for (m1 = 1; i__4 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__4) {
288 ch1[(m2 + (ki + j * ch1_dim3) * ch1_dim2 << 1) + 1] = sn * (
289 cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 1] -
290 cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 2]);
291 ch1[(m2 + (ki + j * ch1_dim3) * ch1_dim2 << 1) + 2] = sn * (
292 cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] +
293 cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1]);
294 ch1[(m2 + (ki + jc * ch1_dim3) * ch1_dim2 << 1) + 1] = sn * (
295 cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 1] +
296 cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 2]);
297 ch1[(m2 + (ki + jc * ch1_dim3) * ch1_dim2 << 1) + 2] = sn * (
298 cc1[(m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] -
299 cc1[(m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1]);
308 for (ki = 1; ki <= i__3; ++ki) {
312 for (m1 = 1; i__5 < 0 ? m1 >= i__4 : m1 <= i__4; m1 += i__5) {
314 ch1[(m2 + (ki + ch1_dim3) * ch1_dim2 << 1) + 1] = cc1[(m1 + (ki +
315 cc1_dim3) * cc1_dim2 << 1) + 1];
316 ch1[(m2 + (ki + ch1_dim3) * ch1_dim2 << 1) + 2] = cc1[(m1 + (ki +
317 cc1_dim3) * cc1_dim2 << 1) + 2];
322 for (j = 2; j <= i__5; ++j) {
325 for (ki = 1; ki <= i__4; ++ki) {
329 for (m1 = 1; i__2 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__2) {
331 ch1[(m2 + (ki + j * ch1_dim3) * ch1_dim2 << 1) + 1] = cc1[(m1
332 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 1] - cc1[(m1
333 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 2];
334 ch1[(m2 + (ki + j * ch1_dim3) * ch1_dim2 << 1) + 2] = cc1[(m1
335 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] + cc1[(m1
336 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1];
337 ch1[(m2 + (ki + jc * ch1_dim3) * ch1_dim2 << 1) + 1] = cc1[(
338 m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 1] + cc1[(
339 m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 2];
340 ch1[(m2 + (ki + jc * ch1_dim3) * ch1_dim2 << 1) + 2] = cc1[(
341 m1 + (ki + j * cc1_dim3) * cc1_dim2 << 1) + 2] - cc1[(
342 m1 + (ki + jc * cc1_dim3) * cc1_dim2 << 1) + 1];
349 for (i__ = 1; i__ <= i__5; ++i__) {
351 for (k = 1; k <= i__2; ++k) {
355 for (m1 = 1; i__4 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__4) {
357 cc[(m1 + (k + (i__ * cc_dim4 + 1) * cc_dim3) * cc_dim2 << 1)
358 + 1] = ch[(m2 + (k + (i__ + ch_dim4) * ch_dim3) *
360 cc[(m1 + (k + (i__ * cc_dim4 + 1) * cc_dim3) * cc_dim2 << 1)
361 + 2] = ch[(m2 + (k + (i__ + ch_dim4) * ch_dim3) *
369 for (j = 2; j <= i__5; ++j) {
371 for (k = 1; k <= i__4; ++k) {
375 for (m1 = 1; i__2 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__2) {
377 cc[(m1 + (k + (j + cc_dim4) * cc_dim3) * cc_dim2 << 1) + 1] =
378 ch[(m2 + (k + (j * ch_dim4 + 1) * ch_dim3) * ch_dim2
380 cc[(m1 + (k + (j + cc_dim4) * cc_dim3) * cc_dim2 << 1) + 2] =
381 ch[(m2 + (k + (j * ch_dim4 + 1) * ch_dim3) * ch_dim2
389 for (j = 2; j <= i__5; ++j) {
391 for (i__ = 2; i__ <= i__2; ++i__) {
393 for (k = 1; k <= i__3; ++k) {
397 for (m1 = 1; i__1 < 0 ? m1 >= i__4 : m1 <= i__4; m1 += i__1) {
399 cc[(m1 + (k + (j + i__ * cc_dim4) * cc_dim3) * cc_dim2 <<
400 1) + 1] = wa[i__ + (j - 1 + wa_dim2) * wa_dim1] *
401 ch[(m2 + (k + (i__ + j * ch_dim4) * ch_dim3) *
402 ch_dim2 << 1) + 1] + wa[i__ + (j - 1 + (wa_dim2 <<
403 1)) * wa_dim1] * ch[(m2 + (k + (i__ + j *
404 ch_dim4) * ch_dim3) * ch_dim2 << 1) + 2];
405 cc[(m1 + (k + (j + i__ * cc_dim4) * cc_dim3) * cc_dim2 <<
406 1) + 2] = wa[i__ + (j - 1 + wa_dim2) * wa_dim1] *
407 ch[(m2 + (k + (i__ + j * ch_dim4) * ch_dim3) *
408 ch_dim2 << 1) + 2] - wa[i__ + (j - 1 + (wa_dim2 <<
409 1)) * wa_dim1] * ch[(m2 + (k + (i__ + j *
410 ch_dim4) * ch_dim3) * ch_dim2 << 1) + 1];