50 integer ch_dim1, ch_dim2, ch_dim3, ch_offset, cc_dim1, cc_dim2, cc_dim3,
51 cc_offset, cc1_dim1, cc1_dim2, cc1_offset, ch1_dim1, ch1_dim2,
52 ch1_offset, wa_dim1, wa_dim2, wa_offset, i__1, i__2, i__3;
55 integer i__, j, k, l, jc, lc, ki;
66 wa_offset = 1 + wa_dim1 * (1 + wa_dim2);
70 cc1_offset = 1 + cc1_dim1 * (1 + cc1_dim2);
75 cc_offset = 1 + cc_dim1 * (1 + cc_dim2 * (1 + cc_dim3));
79 ch1_offset = 1 + ch1_dim1 * (1 + ch1_dim2);
84 ch_offset = 1 + ch_dim1 * (1 + ch_dim2 * (1 + ch_dim3));
91 for (ki = 1; ki <= i__1; ++ki) {
92 ch1[(ki + ch1_dim2) * ch1_dim1 + 1] = cc1[(ki + cc1_dim2) * cc1_dim1
94 ch1[(ki + ch1_dim2) * ch1_dim1 + 2] = cc1[(ki + cc1_dim2) * cc1_dim1
99 for (j = 2; j <= i__1; ++j) {
102 for (ki = 1; ki <= i__2; ++ki) {
103 ch1[(ki + j * ch1_dim2) * ch1_dim1 + 1] = cc1[(ki + j * cc1_dim2)
104 * cc1_dim1 + 1] + cc1[(ki + jc * cc1_dim2) * cc1_dim1 + 1]
106 ch1[(ki + jc * ch1_dim2) * ch1_dim1 + 1] = cc1[(ki + j * cc1_dim2)
107 * cc1_dim1 + 1] - cc1[(ki + jc * cc1_dim2) * cc1_dim1 +
109 ch1[(ki + j * ch1_dim2) * ch1_dim1 + 2] = cc1[(ki + j * cc1_dim2)
110 * cc1_dim1 + 2] + cc1[(ki + jc * cc1_dim2) * cc1_dim1 + 2]
112 ch1[(ki + jc * ch1_dim2) * ch1_dim1 + 2] = cc1[(ki + j * cc1_dim2)
113 * cc1_dim1 + 2] - cc1[(ki + jc * cc1_dim2) * cc1_dim1 +
120 for (j = 2; j <= i__1; ++j) {
122 for (ki = 1; ki <= i__2; ++ki) {
123 cc1[(ki + cc1_dim2) * cc1_dim1 + 1] += ch1[(ki + j * ch1_dim2) *
125 cc1[(ki + cc1_dim2) * cc1_dim1 + 2] += ch1[(ki + j * ch1_dim2) *
132 for (l = 2; l <= i__1; ++l) {
135 for (ki = 1; ki <= i__2; ++ki) {
136 cc1[(ki + l * cc1_dim2) * cc1_dim1 + 1] = ch1[(ki + ch1_dim2) *
137 ch1_dim1 + 1] + wa[(l - 1 + wa_dim2) * wa_dim1 + 1] * ch1[
138 (ki + (ch1_dim2 << 1)) * ch1_dim1 + 1];
139 cc1[(ki + lc * cc1_dim2) * cc1_dim1 + 1] = wa[(l - 1 + (wa_dim2 <<
140 1)) * wa_dim1 + 1] * ch1[(ki + *ip * ch1_dim2) *
142 cc1[(ki + l * cc1_dim2) * cc1_dim1 + 2] = ch1[(ki + ch1_dim2) *
143 ch1_dim1 + 2] + wa[(l - 1 + wa_dim2) * wa_dim1 + 1] * ch1[
144 (ki + (ch1_dim2 << 1)) * ch1_dim1 + 2];
145 cc1[(ki + lc * cc1_dim2) * cc1_dim1 + 2] = wa[(l - 1 + (wa_dim2 <<
146 1)) * wa_dim1 + 1] * ch1[(ki + *ip * ch1_dim2) *
151 for (j = 3; j <= i__2; ++j) {
153 idlj = (l - 1) * (j - 1) % *ip;
154 war = wa[(idlj + wa_dim2) * wa_dim1 + 1];
155 wai = wa[(idlj + (wa_dim2 << 1)) * wa_dim1 + 1];
157 for (ki = 1; ki <= i__3; ++ki) {
158 cc1[(ki + l * cc1_dim2) * cc1_dim1 + 1] += war * ch1[(ki + j *
159 ch1_dim2) * ch1_dim1 + 1];
160 cc1[(ki + lc * cc1_dim2) * cc1_dim1 + 1] += wai * ch1[(ki +
161 jc * ch1_dim2) * ch1_dim1 + 1];
162 cc1[(ki + l * cc1_dim2) * cc1_dim1 + 2] += war * ch1[(ki + j *
163 ch1_dim2) * ch1_dim1 + 2];
164 cc1[(ki + lc * cc1_dim2) * cc1_dim1 + 2] += wai * ch1[(ki +
165 jc * ch1_dim2) * ch1_dim1 + 2];
172 if (*ido > 1 || *na == 1) {
176 for (j = 2; j <= i__1; ++j) {
179 for (ki = 1; ki <= i__2; ++ki) {
180 chold1 = cc1[(ki + j * cc1_dim2) * cc1_dim1 + 1] - cc1[(ki + jc *
181 cc1_dim2) * cc1_dim1 + 2];
182 chold2 = cc1[(ki + j * cc1_dim2) * cc1_dim1 + 1] + cc1[(ki + jc *
183 cc1_dim2) * cc1_dim1 + 2];
184 cc1[(ki + j * cc1_dim2) * cc1_dim1 + 1] = chold1;
185 cc1[(ki + jc * cc1_dim2) * cc1_dim1 + 2] = cc1[(ki + j * cc1_dim2)
186 * cc1_dim1 + 2] - cc1[(ki + jc * cc1_dim2) * cc1_dim1 +
188 cc1[(ki + j * cc1_dim2) * cc1_dim1 + 2] += cc1[(ki + jc *
189 cc1_dim2) * cc1_dim1 + 1];
190 cc1[(ki + jc * cc1_dim2) * cc1_dim1 + 1] = chold2;
198 for (ki = 1; ki <= i__1; ++ki) {
199 ch1[(ki + ch1_dim2) * ch1_dim1 + 1] = cc1[(ki + cc1_dim2) * cc1_dim1
201 ch1[(ki + ch1_dim2) * ch1_dim1 + 2] = cc1[(ki + cc1_dim2) * cc1_dim1
206 for (j = 2; j <= i__1; ++j) {
209 for (ki = 1; ki <= i__2; ++ki) {
210 ch1[(ki + j * ch1_dim2) * ch1_dim1 + 1] = cc1[(ki + j * cc1_dim2)
211 * cc1_dim1 + 1] - cc1[(ki + jc * cc1_dim2) * cc1_dim1 + 2]
213 ch1[(ki + jc * ch1_dim2) * ch1_dim1 + 1] = cc1[(ki + j * cc1_dim2)
214 * cc1_dim1 + 1] + cc1[(ki + jc * cc1_dim2) * cc1_dim1 +
216 ch1[(ki + jc * ch1_dim2) * ch1_dim1 + 2] = cc1[(ki + j * cc1_dim2)
217 * cc1_dim1 + 2] - cc1[(ki + jc * cc1_dim2) * cc1_dim1 +
219 ch1[(ki + j * ch1_dim2) * ch1_dim1 + 2] = cc1[(ki + j * cc1_dim2)
220 * cc1_dim1 + 2] + cc1[(ki + jc * cc1_dim2) * cc1_dim1 + 1]
230 for (i__ = 1; i__ <= i__1; ++i__) {
232 for (k = 1; k <= i__2; ++k) {
233 cc[(k + (i__ * cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] = ch[(k + (
234 i__ + ch_dim3) * ch_dim2) * ch_dim1 + 1];
235 cc[(k + (i__ * cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] = ch[(k + (
236 i__ + ch_dim3) * ch_dim2) * ch_dim1 + 2];
242 for (j = 2; j <= i__1; ++j) {
244 for (k = 1; k <= i__2; ++k) {
245 cc[(k + (j + cc_dim3) * cc_dim2) * cc_dim1 + 1] = ch[(k + (j *
246 ch_dim3 + 1) * ch_dim2) * ch_dim1 + 1];
247 cc[(k + (j + cc_dim3) * cc_dim2) * cc_dim1 + 2] = ch[(k + (j *
248 ch_dim3 + 1) * ch_dim2) * ch_dim1 + 2];
254 for (j = 2; j <= i__1; ++j) {
256 for (i__ = 2; i__ <= i__2; ++i__) {
258 for (k = 1; k <= i__3; ++k) {
259 cc[(k + (j + i__ * cc_dim3) * cc_dim2) * cc_dim1 + 1] = wa[
260 i__ + (j - 1 + wa_dim2) * wa_dim1] * ch[(k + (i__ + j
261 * ch_dim3) * ch_dim2) * ch_dim1 + 1] - wa[i__ + (j -
262 1 + (wa_dim2 << 1)) * wa_dim1] * ch[(k + (i__ + j *
263 ch_dim3) * ch_dim2) * ch_dim1 + 2];
264 cc[(k + (j + i__ * cc_dim3) * cc_dim2) * cc_dim1 + 2] = wa[
265 i__ + (j - 1 + wa_dim2) * wa_dim1] * ch[(k + (i__ + j
266 * ch_dim3) * ch_dim2) * ch_dim1 + 2] + wa[i__ + (j -
267 1 + (wa_dim2 << 1)) * wa_dim1] * ch[(k + (i__ + j *
268 ch_dim3) * ch_dim2) * ch_dim1 + 1];