50    integer ch_dim1, ch_dim2, ch_offset, cc_dim1, cc_dim2, cc_dim3, cc_offset,
 
   51         i__1, i__2, i__3, i__4;
 
   54    integer i__, k, m1, m2, ic, m1d, m2s, idp2;
 
   62    cc_offset = 1 + cc_dim1 * (1 + cc_dim2 * (1 + cc_dim3));
 
   66    ch_offset = 1 + ch_dim1 * (1 + ch_dim2 * 3);
 
   70    m1d = (*m - 1) * *im1 + 1;
 
   73    for (k = 1; k <= i__1; ++k) {
 
   77    for (m1 = 1; i__3 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__3) {
 
   79        ch[m2 + (((k << 1) + 1) * ch_dim2 + 1) * ch_dim1] = cc[m1 + ((k + 
 
   80            cc_dim3) * cc_dim2 + 1) * cc_dim1] + cc[m1 + ((k + (
 
   81            cc_dim3 << 1)) * cc_dim2 + 1) * cc_dim1];
 
   82        ch[m2 + (*ido + ((k << 1) + 2) * ch_dim2) * ch_dim1] = cc[m1 + ((
 
   83            k + cc_dim3) * cc_dim2 + 1) * cc_dim1] - cc[m1 + ((k + (
 
   84            cc_dim3 << 1)) * cc_dim2 + 1) * cc_dim1];
 
   89    if ((i__1 = *ido - 2) < 0) {
 
   91    } 
else if (i__1 == 0) {
 
   99    for (k = 1; k <= i__1; ++k) {
 
  101    for (i__ = 3; i__ <= i__3; i__ += 2) {
 
  106        for (m1 = 1; i__4 < 0 ? m1 >= i__2 : m1 <= i__2; m1 += i__4) {
 
  108        ch[m2 + (i__ + ((k << 1) + 1) * ch_dim2) * ch_dim1] = cc[m1 + 
 
  109            (i__ + (k + cc_dim3) * cc_dim2) * cc_dim1] + (wa1[i__ 
 
  110            - 2] * cc[m1 + (i__ + (k + (cc_dim3 << 1)) * cc_dim2) 
 
  111            * cc_dim1] - wa1[i__ - 1] * cc[m1 + (i__ - 1 + (k + (
 
  112            cc_dim3 << 1)) * cc_dim2) * cc_dim1]);
 
  113        ch[m2 + (ic + ((k << 1) + 2) * ch_dim2) * ch_dim1] = wa1[i__ 
 
  114            - 2] * cc[m1 + (i__ + (k + (cc_dim3 << 1)) * cc_dim2) 
 
  115            * cc_dim1] - wa1[i__ - 1] * cc[m1 + (i__ - 1 + (k + (
 
  116            cc_dim3 << 1)) * cc_dim2) * cc_dim1] - cc[m1 + (i__ + 
 
  117            (k + cc_dim3) * cc_dim2) * cc_dim1];
 
  118        ch[m2 + (i__ - 1 + ((k << 1) + 1) * ch_dim2) * ch_dim1] = cc[
 
  119            m1 + (i__ - 1 + (k + cc_dim3) * cc_dim2) * cc_dim1] + 
 
  120            (wa1[i__ - 2] * cc[m1 + (i__ - 1 + (k + (cc_dim3 << 1)
 
  121            ) * cc_dim2) * cc_dim1] + wa1[i__ - 1] * cc[m1 + (i__ 
 
  122            + (k + (cc_dim3 << 1)) * cc_dim2) * cc_dim1]);
 
  123        ch[m2 + (ic - 1 + ((k << 1) + 2) * ch_dim2) * ch_dim1] = cc[
 
  124            m1 + (i__ - 1 + (k + cc_dim3) * cc_dim2) * cc_dim1] - 
 
  125            (wa1[i__ - 2] * cc[m1 + (i__ - 1 + (k + (cc_dim3 << 1)
 
  126            ) * cc_dim2) * cc_dim1] + wa1[i__ - 1] * cc[m1 + (i__ 
 
  127            + (k + (cc_dim3 << 1)) * cc_dim2) * cc_dim1]);
 
  139    for (k = 1; k <= i__1; ++k) {
 
  143    for (m1 = 1; i__4 < 0 ? m1 >= i__3 : m1 <= i__3; m1 += i__4) {
 
  145        ch[m2 + (((k << 1) + 2) * ch_dim2 + 1) * ch_dim1] = -cc[m1 + (*
 
  146            ido + (k + (cc_dim3 << 1)) * cc_dim2) * cc_dim1];
 
  147        ch[m2 + (*ido + ((k << 1) + 1) * ch_dim2) * ch_dim1] = cc[m1 + (*
 
  148            ido + (k + cc_dim3) * cc_dim2) * cc_dim1];