55    integer cc_dim1, cc_dim2, cc_dim3, cc_offset, ch_dim1, ch_dim2, ch_offset,
 
   56         wa_dim1, wa_offset, i__1, i__2;
 
   60    doublereal sn, ci2, ci3, di2, di3, cr2, cr3, dr2, dr3, ti2, tr2;
 
   64    wa_offset = 1 + wa_dim1 * 3;
 
   69    cc_offset = 1 + cc_dim1 * (1 + cc_dim2 * (1 + cc_dim3));
 
   73    ch_offset = 1 + ch_dim1 * (1 + (ch_dim2 << 2));
 
   86    for (k = 1; k <= i__1; ++k) {
 
   87    tr2 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k 
 
   88        + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
 
   89    cr2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] + taur * tr2;
 
   90    cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] = sn * (cc[(k + (
 
   91        cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] + tr2);
 
   92    ti2 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k 
 
   93        + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
 
   94    ci2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] + taur * ti2;
 
   95    cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] = sn * (cc[(k + (
 
   96        cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] + ti2);
 
   97    cr3 = taui * (cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] 
 
   98        - cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1]);
 
   99    ci3 = taui * (cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] 
 
  100        - cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2]);
 
  101    cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] = sn * (cr2 - 
 
  103    cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1] = sn * (cr2 + ci3)
 
  105    cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] = sn * (ci2 + 
 
  107    cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2] = sn * (ci2 - cr3)
 
  114    for (k = 1; k <= i__1; ++k) {
 
  115    tr2 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k 
 
  116        + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
 
  117    cr2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] + taur * tr2;
 
  118    ch[(k + (ch_dim2 << 2)) * ch_dim1 + 1] = sn * (cc[(k + (cc_dim3 + 1) *
 
  119         cc_dim2) * cc_dim1 + 1] + tr2);
 
  120    ti2 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k 
 
  121        + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
 
  122    ci2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] + taur * ti2;
 
  123    ch[(k + (ch_dim2 << 2)) * ch_dim1 + 2] = sn * (cc[(k + (cc_dim3 + 1) *
 
  124         cc_dim2) * cc_dim1 + 2] + ti2);
 
  125    cr3 = taui * (cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] 
 
  126        - cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1]);
 
  127    ci3 = taui * (cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] 
 
  128        - cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2]);
 
  129    ch[(k + ch_dim2 * 5) * ch_dim1 + 1] = sn * (cr2 - ci3);
 
  130    ch[(k + ch_dim2 * 6) * ch_dim1 + 1] = sn * (cr2 + ci3);
 
  131    ch[(k + ch_dim2 * 5) * ch_dim1 + 2] = sn * (ci2 + cr3);
 
  132    ch[(k + ch_dim2 * 6) * ch_dim1 + 2] = sn * (ci2 - cr3);
 
  138    for (k = 1; k <= i__1; ++k) {
 
  139    tr2 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] + cc[(k 
 
  140        + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1];
 
  141    cr2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] + taur * tr2;
 
  142    ch[(k + (ch_dim2 << 2)) * ch_dim1 + 1] = cc[(k + (cc_dim3 + 1) * 
 
  143        cc_dim2) * cc_dim1 + 1] + tr2;
 
  144    ti2 = cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] + cc[(k 
 
  145        + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2];
 
  146    ci2 = cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] + taur * ti2;
 
  147    ch[(k + (ch_dim2 << 2)) * ch_dim1 + 2] = cc[(k + (cc_dim3 + 1) * 
 
  148        cc_dim2) * cc_dim1 + 2] + ti2;
 
  149    cr3 = taui * (cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] 
 
  150        - cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 1]);
 
  151    ci3 = taui * (cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] 
 
  152        - cc[(k + (cc_dim3 * 3 + 1) * cc_dim2) * cc_dim1 + 2]);
 
  153    ch[(k + ch_dim2 * 5) * ch_dim1 + 1] = cr2 - ci3;
 
  154    ch[(k + ch_dim2 * 6) * ch_dim1 + 1] = cr2 + ci3;
 
  155    ch[(k + ch_dim2 * 5) * ch_dim1 + 2] = ci2 + cr3;
 
  156    ch[(k + ch_dim2 * 6) * ch_dim1 + 2] = ci2 - cr3;
 
  160    for (i__ = 2; i__ <= i__1; ++i__) {
 
  162    for (k = 1; k <= i__2; ++k) {
 
  163        tr2 = cc[(k + (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 1] + 
 
  164            cc[(k + (i__ + cc_dim3 * 3) * cc_dim2) * cc_dim1 + 1];
 
  165        cr2 = cc[(k + (i__ + cc_dim3) * cc_dim2) * cc_dim1 + 1] + taur * 
 
  167        ch[(k + (i__ * 3 + 1) * ch_dim2) * ch_dim1 + 1] = cc[(k + (i__ + 
 
  168            cc_dim3) * cc_dim2) * cc_dim1 + 1] + tr2;
 
  169        ti2 = cc[(k + (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 2] + 
 
  170            cc[(k + (i__ + cc_dim3 * 3) * cc_dim2) * cc_dim1 + 2];
 
  171        ci2 = cc[(k + (i__ + cc_dim3) * cc_dim2) * cc_dim1 + 2] + taur * 
 
  173        ch[(k + (i__ * 3 + 1) * ch_dim2) * ch_dim1 + 2] = cc[(k + (i__ + 
 
  174            cc_dim3) * cc_dim2) * cc_dim1 + 2] + ti2;
 
  175        cr3 = taui * (cc[(k + (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 
 
  176            + 1] - cc[(k + (i__ + cc_dim3 * 3) * cc_dim2) * cc_dim1 + 
 
  178        ci3 = taui * (cc[(k + (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 
 
  179            + 2] - cc[(k + (i__ + cc_dim3 * 3) * cc_dim2) * cc_dim1 + 
 
  185        ch[(k + (i__ * 3 + 2) * ch_dim2) * ch_dim1 + 2] = wa[i__ + 
 
  186            wa_dim1 * 3] * di2 - wa[i__ + wa_dim1 * 5] * dr2;
 
  187        ch[(k + (i__ * 3 + 2) * ch_dim2) * ch_dim1 + 1] = wa[i__ + 
 
  188            wa_dim1 * 3] * dr2 + wa[i__ + wa_dim1 * 5] * di2;
 
  189        ch[(k + (i__ * 3 + 3) * ch_dim2) * ch_dim1 + 2] = wa[i__ + (
 
  190            wa_dim1 << 2)] * di3 - wa[i__ + wa_dim1 * 6] * dr3;
 
  191        ch[(k + (i__ * 3 + 3) * ch_dim2) * ch_dim1 + 1] = wa[i__ + (
 
  192            wa_dim1 << 2)] * dr3 + wa[i__ + wa_dim1 * 6] * di3;