51    integer ch_dim1, ch_dim2, ch_dim3, ch_offset, cc_dim1, cc_dim2, cc_dim3, 
 
   52        cc_offset, c1_dim1, c1_dim2, c1_dim3, c1_offset, c2_dim1, c2_dim2,
 
   53         c2_offset, ch2_dim1, ch2_dim2, ch2_offset, i__1, i__2, i__3, 
 
   60    integer i__, j, k, l, j2, m1, m2, ic, jc, lc, ik, is;
 
   73    c2_offset = 1 + c2_dim1 * (1 + c2_dim2);
 
   78    c1_offset = 1 + c1_dim1 * (1 + c1_dim2 * (1 + c1_dim3));
 
   83    cc_offset = 1 + cc_dim1 * (1 + cc_dim2 * (1 + cc_dim3));
 
   87    ch2_offset = 1 + ch2_dim1 * (1 + ch2_dim2);
 
   92    ch_offset = 1 + ch_dim1 * (1 + ch_dim2 * (1 + ch_dim3));
 
   96    m1d = (*m - 1) * *im1 + 1;
 
  102    ipph = (*ip + 1) / 2;
 
  105    nbd = (*ido - 1) / 2;
 
  110    for (ik = 1; ik <= i__1; ++ik) {
 
  114    for (m1 = 1; i__3 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__3) {
 
  116        ch2[m2 + (ik + ch2_dim2) * ch2_dim1] = c2[m1 + (ik + c2_dim2) * 
 
  123    for (j = 2; j <= i__1; ++j) {
 
  125    for (k = 1; k <= i__3; ++k) {
 
  129        for (m1 = 1; i__4 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__4) {
 
  131        ch[m2 + ((k + j * ch_dim3) * ch_dim2 + 1) * ch_dim1] = c1[m1 
 
  132            + ((k + j * c1_dim3) * c1_dim2 + 1) * c1_dim1];
 
  144    for (j = 2; j <= i__1; ++j) {
 
  148    for (i__ = 3; i__ <= i__3; i__ += 2) {
 
  151        for (k = 1; k <= i__4; ++k) {
 
  155        for (m1 = 1; i__5 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__5) {
 
  157            ch[m2 + (i__ - 1 + (k + j * ch_dim3) * ch_dim2) * ch_dim1]
 
  158                 = wa[idij - 1] * c1[m1 + (i__ - 1 + (k + j * 
 
  159                c1_dim3) * c1_dim2) * c1_dim1] + wa[idij] * c1[m1 
 
  160                + (i__ + (k + j * c1_dim3) * c1_dim2) * c1_dim1];
 
  161            ch[m2 + (i__ + (k + j * ch_dim3) * ch_dim2) * ch_dim1] = 
 
  162                wa[idij - 1] * c1[m1 + (i__ + (k + j * c1_dim3) * 
 
  163                c1_dim2) * c1_dim1] - wa[idij] * c1[m1 + (i__ - 1 
 
  164                + (k + j * c1_dim3) * c1_dim2) * c1_dim1];
 
  177    for (j = 2; j <= i__1; ++j) {
 
  180    for (k = 1; k <= i__3; ++k) {
 
  183        for (i__ = 3; i__ <= i__4; i__ += 2) {
 
  188        for (m1 = 1; i__2 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__2) {
 
  190            ch[m2 + (i__ - 1 + (k + j * ch_dim3) * ch_dim2) * ch_dim1]
 
  191                 = wa[idij - 1] * c1[m1 + (i__ - 1 + (k + j * 
 
  192                c1_dim3) * c1_dim2) * c1_dim1] + wa[idij] * c1[m1 
 
  193                + (i__ + (k + j * c1_dim3) * c1_dim2) * c1_dim1];
 
  194            ch[m2 + (i__ + (k + j * ch_dim3) * ch_dim2) * ch_dim1] = 
 
  195                wa[idij - 1] * c1[m1 + (i__ + (k + j * c1_dim3) * 
 
  196                c1_dim2) * c1_dim1] - wa[idij] * c1[m1 + (i__ - 1 
 
  197                + (k + j * c1_dim3) * c1_dim2) * c1_dim1];
 
  211    for (j = 2; j <= i__1; ++j) {
 
  214    for (k = 1; k <= i__3; ++k) {
 
  216        for (i__ = 3; i__ <= i__4; i__ += 2) {
 
  220        for (m1 = 1; i__5 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__5) {
 
  222            c1[m1 + (i__ - 1 + (k + j * c1_dim3) * c1_dim2) * c1_dim1]
 
  223                 = ch[m2 + (i__ - 1 + (k + j * ch_dim3) * ch_dim2)
 
  224                 * ch_dim1] + ch[m2 + (i__ - 1 + (k + jc * 
 
  225                ch_dim3) * ch_dim2) * ch_dim1];
 
  226            c1[m1 + (i__ - 1 + (k + jc * c1_dim3) * c1_dim2) * 
 
  227                c1_dim1] = ch[m2 + (i__ + (k + j * ch_dim3) * 
 
  228                ch_dim2) * ch_dim1] - ch[m2 + (i__ + (k + jc * 
 
  229                ch_dim3) * ch_dim2) * ch_dim1];
 
  230            c1[m1 + (i__ + (k + j * c1_dim3) * c1_dim2) * c1_dim1] = 
 
  231                ch[m2 + (i__ + (k + j * ch_dim3) * ch_dim2) * 
 
  232                ch_dim1] + ch[m2 + (i__ + (k + jc * ch_dim3) * 
 
  234            c1[m1 + (i__ + (k + jc * c1_dim3) * c1_dim2) * c1_dim1] = 
 
  235                ch[m2 + (i__ - 1 + (k + jc * ch_dim3) * ch_dim2) *
 
  236                 ch_dim1] - ch[m2 + (i__ - 1 + (k + j * ch_dim3) *
 
  249    for (j = 2; j <= i__1; ++j) {
 
  252    for (i__ = 3; i__ <= i__3; i__ += 2) {
 
  254        for (k = 1; k <= i__4; ++k) {
 
  258        for (m1 = 1; i__2 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__2) {
 
  260            c1[m1 + (i__ - 1 + (k + j * c1_dim3) * c1_dim2) * c1_dim1]
 
  261                 = ch[m2 + (i__ - 1 + (k + j * ch_dim3) * ch_dim2)
 
  262                 * ch_dim1] + ch[m2 + (i__ - 1 + (k + jc * 
 
  263                ch_dim3) * ch_dim2) * ch_dim1];
 
  264            c1[m1 + (i__ - 1 + (k + jc * c1_dim3) * c1_dim2) * 
 
  265                c1_dim1] = ch[m2 + (i__ + (k + j * ch_dim3) * 
 
  266                ch_dim2) * ch_dim1] - ch[m2 + (i__ + (k + jc * 
 
  267                ch_dim3) * ch_dim2) * ch_dim1];
 
  268            c1[m1 + (i__ + (k + j * c1_dim3) * c1_dim2) * c1_dim1] = 
 
  269                ch[m2 + (i__ + (k + j * ch_dim3) * ch_dim2) * 
 
  270                ch_dim1] + ch[m2 + (i__ + (k + jc * ch_dim3) * 
 
  272            c1[m1 + (i__ + (k + jc * c1_dim3) * c1_dim2) * c1_dim1] = 
 
  273                ch[m2 + (i__ - 1 + (k + jc * ch_dim3) * ch_dim2) *
 
  274                 ch_dim1] - ch[m2 + (i__ - 1 + (k + j * ch_dim3) *
 
  287    for (ik = 1; ik <= i__1; ++ik) {
 
  291    for (m1 = 1; i__4 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__4) {
 
  293        c2[m1 + (ik + c2_dim2) * c2_dim1] = ch2[m2 + (ik + ch2_dim2) * 
 
  301    for (j = 2; j <= i__1; ++j) {
 
  304    for (k = 1; k <= i__4; ++k) {
 
  308        for (m1 = 1; i__2 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__2) {
 
  310        c1[m1 + ((k + j * c1_dim3) * c1_dim2 + 1) * c1_dim1] = ch[m2 
 
  311            + ((k + j * ch_dim3) * ch_dim2 + 1) * ch_dim1] + ch[
 
  312            m2 + ((k + jc * ch_dim3) * ch_dim2 + 1) * ch_dim1];
 
  313        c1[m1 + ((k + jc * c1_dim3) * c1_dim2 + 1) * c1_dim1] = ch[m2 
 
  314            + ((k + jc * ch_dim3) * ch_dim2 + 1) * ch_dim1] - ch[
 
  315            m2 + ((k + j * ch_dim3) * ch_dim2 + 1) * ch_dim1];
 
  326    for (l = 2; l <= i__1; ++l) {
 
  328    ar1h = dcp * ar1 - dsp * ai1;
 
  329    ai1 = dcp * ai1 + dsp * ar1;
 
  332    for (ik = 1; ik <= i__4; ++ik) {
 
  336        for (m1 = 1; i__3 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__3) {
 
  338        ch2[m2 + (ik + l * ch2_dim2) * ch2_dim1] = c2[m1 + (ik + 
 
  339            c2_dim2) * c2_dim1] + ar1 * c2[m1 + (ik + (c2_dim2 << 
 
  341        ch2[m2 + (ik + lc * ch2_dim2) * ch2_dim1] = ai1 * c2[m1 + (ik 
 
  342            + *ip * c2_dim2) * c2_dim1];
 
  352    for (j = 3; j <= i__4; ++j) {
 
  354        ar2h = dc2 * ar2 - ds2 * ai2;
 
  355        ai2 = dc2 * ai2 + ds2 * ar2;
 
  358        for (ik = 1; ik <= i__3; ++ik) {
 
  362        for (m1 = 1; i__5 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__5) {
 
  364            ch2[m2 + (ik + l * ch2_dim2) * ch2_dim1] += ar2 * c2[m1 + 
 
  365                (ik + j * c2_dim2) * c2_dim1];
 
  366            ch2[m2 + (ik + lc * ch2_dim2) * ch2_dim1] += ai2 * c2[m1 
 
  367                + (ik + jc * c2_dim2) * c2_dim1];
 
  377    for (j = 2; j <= i__1; ++j) {
 
  379    for (ik = 1; ik <= i__4; ++ik) {
 
  383        for (m1 = 1; i__5 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__5) {
 
  385        ch2[m2 + (ik + ch2_dim2) * ch2_dim1] += c2[m1 + (ik + j * 
 
  398    for (k = 1; k <= i__1; ++k) {
 
  400    for (i__ = 1; i__ <= i__4; ++i__) {
 
  404        for (m1 = 1; i__3 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__3) {
 
  406        cc[m1 + (i__ + (k * cc_dim3 + 1) * cc_dim2) * cc_dim1] = ch[
 
  407            m2 + (i__ + (k + ch_dim3) * ch_dim2) * ch_dim1];
 
  417    for (i__ = 1; i__ <= i__1; ++i__) {
 
  419    for (k = 1; k <= i__4; ++k) {
 
  423        for (m1 = 1; i__5 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__5) {
 
  425        cc[m1 + (i__ + (k * cc_dim3 + 1) * cc_dim2) * cc_dim1] = ch[
 
  426            m2 + (i__ + (k + ch_dim3) * ch_dim2) * ch_dim1];
 
  435    for (j = 2; j <= i__1; ++j) {
 
  439    for (k = 1; k <= i__4; ++k) {
 
  443        for (m1 = 1; i__3 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__3) {
 
  445        cc[m1 + (*ido + (j2 - 2 + k * cc_dim3) * cc_dim2) * cc_dim1] =
 
  446             ch[m2 + ((k + j * ch_dim3) * ch_dim2 + 1) * ch_dim1];
 
  447        cc[m1 + ((j2 - 1 + k * cc_dim3) * cc_dim2 + 1) * cc_dim1] = 
 
  448            ch[m2 + ((k + jc * ch_dim3) * ch_dim2 + 1) * ch_dim1];
 
  462    for (j = 2; j <= i__1; ++j) {
 
  466    for (k = 1; k <= i__4; ++k) {
 
  468        for (i__ = 3; i__ <= i__3; i__ += 2) {
 
  473        for (m1 = 1; i__2 < 0 ? m1 >= i__5 : m1 <= i__5; m1 += i__2) {
 
  475            cc[m1 + (i__ - 1 + (j2 - 1 + k * cc_dim3) * cc_dim2) * 
 
  476                cc_dim1] = ch[m2 + (i__ - 1 + (k + j * ch_dim3) * 
 
  477                ch_dim2) * ch_dim1] + ch[m2 + (i__ - 1 + (k + jc *
 
  478                 ch_dim3) * ch_dim2) * ch_dim1];
 
  479            cc[m1 + (ic - 1 + (j2 - 2 + k * cc_dim3) * cc_dim2) * 
 
  480                cc_dim1] = ch[m2 + (i__ - 1 + (k + j * ch_dim3) * 
 
  481                ch_dim2) * ch_dim1] - ch[m2 + (i__ - 1 + (k + jc *
 
  482                 ch_dim3) * ch_dim2) * ch_dim1];
 
  483            cc[m1 + (i__ + (j2 - 1 + k * cc_dim3) * cc_dim2) * 
 
  484                cc_dim1] = ch[m2 + (i__ + (k + j * ch_dim3) * 
 
  485                ch_dim2) * ch_dim1] + ch[m2 + (i__ + (k + jc * 
 
  486                ch_dim3) * ch_dim2) * ch_dim1];
 
  487            cc[m1 + (ic + (j2 - 2 + k * cc_dim3) * cc_dim2) * cc_dim1]
 
  488                 = ch[m2 + (i__ + (k + jc * ch_dim3) * ch_dim2) * 
 
  489                ch_dim1] - ch[m2 + (i__ + (k + j * ch_dim3) * 
 
  502    for (j = 2; j <= i__1; ++j) {
 
  506    for (i__ = 3; i__ <= i__4; i__ += 2) {
 
  509        for (k = 1; k <= i__3; ++k) {
 
  513        for (m1 = 1; i__5 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__5) {
 
  515            cc[m1 + (i__ - 1 + (j2 - 1 + k * cc_dim3) * cc_dim2) * 
 
  516                cc_dim1] = ch[m2 + (i__ - 1 + (k + j * ch_dim3) * 
 
  517                ch_dim2) * ch_dim1] + ch[m2 + (i__ - 1 + (k + jc *
 
  518                 ch_dim3) * ch_dim2) * ch_dim1];
 
  519            cc[m1 + (ic - 1 + (j2 - 2 + k * cc_dim3) * cc_dim2) * 
 
  520                cc_dim1] = ch[m2 + (i__ - 1 + (k + j * ch_dim3) * 
 
  521                ch_dim2) * ch_dim1] - ch[m2 + (i__ - 1 + (k + jc *
 
  522                 ch_dim3) * ch_dim2) * ch_dim1];
 
  523            cc[m1 + (i__ + (j2 - 1 + k * cc_dim3) * cc_dim2) * 
 
  524                cc_dim1] = ch[m2 + (i__ + (k + j * ch_dim3) * 
 
  525                ch_dim2) * ch_dim1] + ch[m2 + (i__ + (k + jc * 
 
  526                ch_dim3) * ch_dim2) * ch_dim1];
 
  527            cc[m1 + (ic + (j2 - 2 + k * cc_dim3) * cc_dim2) * cc_dim1]
 
  528                 = ch[m2 + (i__ + (k + jc * ch_dim3) * ch_dim2) * 
 
  529                ch_dim1] - ch[m2 + (i__ + (k + j * ch_dim3) *