50    integer cc_dim1, cc_dim2, cc_dim3, cc_offset, ch_dim1, ch_dim2, ch_offset,
 
   51         wa_dim1, wa_offset, i__1, i__2;
 
   60    wa_offset = 1 + (wa_dim1 << 1);
 
   65    cc_offset = 1 + cc_dim1 * (1 + cc_dim2 * (1 + cc_dim3));
 
   69    ch_offset = 1 + ch_dim1 * (1 + ch_dim2 * 3);
 
   81    for (k = 1; k <= i__1; ++k) {
 
   82    chold1 = sn * (cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] + cc[(
 
   83        k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1]);
 
   84    cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 1] = sn * (cc[(k 
 
   85        + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] - cc[(k + ((cc_dim3 
 
   86        << 1) + 1) * cc_dim2) * cc_dim1 + 1]);
 
   87    cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 1] = chold1;
 
   88    chold2 = sn * (cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] + cc[(
 
   89        k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2]);
 
   90    cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * cc_dim1 + 2] = sn * (cc[(k 
 
   91        + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] - cc[(k + ((cc_dim3 
 
   92        << 1) + 1) * cc_dim2) * cc_dim1 + 2]);
 
   93    cc[(k + (cc_dim3 + 1) * cc_dim2) * cc_dim1 + 2] = chold2;
 
   99    for (k = 1; k <= i__1; ++k) {
 
  100    ch[(k + ch_dim2 * 3) * ch_dim1 + 1] = sn * (cc[(k + (cc_dim3 + 1) * 
 
  101        cc_dim2) * cc_dim1 + 1] + cc[(k + ((cc_dim3 << 1) + 1) * 
 
  102        cc_dim2) * cc_dim1 + 1]);
 
  103    ch[(k + (ch_dim2 << 2)) * ch_dim1 + 1] = sn * (cc[(k + (cc_dim3 + 1) *
 
  104         cc_dim2) * cc_dim1 + 1] - cc[(k + ((cc_dim3 << 1) + 1) * 
 
  105        cc_dim2) * cc_dim1 + 1]);
 
  106    ch[(k + ch_dim2 * 3) * ch_dim1 + 2] = sn * (cc[(k + (cc_dim3 + 1) * 
 
  107        cc_dim2) * cc_dim1 + 2] + cc[(k + ((cc_dim3 << 1) + 1) * 
 
  108        cc_dim2) * cc_dim1 + 2]);
 
  109    ch[(k + (ch_dim2 << 2)) * ch_dim1 + 2] = sn * (cc[(k + (cc_dim3 + 1) *
 
  110         cc_dim2) * cc_dim1 + 2] - cc[(k + ((cc_dim3 << 1) + 1) * 
 
  111        cc_dim2) * cc_dim1 + 2]);
 
  117    for (k = 1; k <= i__1; ++k) {
 
  118    ch[(k + ch_dim2 * 3) * ch_dim1 + 1] = cc[(k + (cc_dim3 + 1) * cc_dim2)
 
  119         * cc_dim1 + 1] + cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * 
 
  121    ch[(k + (ch_dim2 << 2)) * ch_dim1 + 1] = cc[(k + (cc_dim3 + 1) * 
 
  122        cc_dim2) * cc_dim1 + 1] - cc[(k + ((cc_dim3 << 1) + 1) * 
 
  123        cc_dim2) * cc_dim1 + 1];
 
  124    ch[(k + ch_dim2 * 3) * ch_dim1 + 2] = cc[(k + (cc_dim3 + 1) * cc_dim2)
 
  125         * cc_dim1 + 2] + cc[(k + ((cc_dim3 << 1) + 1) * cc_dim2) * 
 
  127    ch[(k + (ch_dim2 << 2)) * ch_dim1 + 2] = cc[(k + (cc_dim3 + 1) * 
 
  128        cc_dim2) * cc_dim1 + 2] - cc[(k + ((cc_dim3 << 1) + 1) * 
 
  129        cc_dim2) * cc_dim1 + 2];
 
  133    for (i__ = 2; i__ <= i__1; ++i__) {
 
  135    for (k = 1; k <= i__2; ++k) {
 
  136        ch[(k + ((i__ << 1) + 1) * ch_dim2) * ch_dim1 + 1] = cc[(k + (i__ 
 
  137            + cc_dim3) * cc_dim2) * cc_dim1 + 1] + cc[(k + (i__ + (
 
  138            cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 1];
 
  139        tr2 = cc[(k + (i__ + cc_dim3) * cc_dim2) * cc_dim1 + 1] - cc[(k + 
 
  140            (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 1];
 
  141        ch[(k + ((i__ << 1) + 1) * ch_dim2) * ch_dim1 + 2] = cc[(k + (i__ 
 
  142            + cc_dim3) * cc_dim2) * cc_dim1 + 2] + cc[(k + (i__ + (
 
  143            cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 2];
 
  144        ti2 = cc[(k + (i__ + cc_dim3) * cc_dim2) * cc_dim1 + 2] - cc[(k + 
 
  145            (i__ + (cc_dim3 << 1)) * cc_dim2) * cc_dim1 + 2];
 
  146        ch[(k + ((i__ << 1) + 2) * ch_dim2) * ch_dim1 + 2] = wa[i__ + (
 
  147            wa_dim1 << 1)] * ti2 - wa[i__ + wa_dim1 * 3] * tr2;
 
  148        ch[(k + ((i__ << 1) + 2) * ch_dim2) * ch_dim1 + 1] = wa[i__ + (
 
  149            wa_dim1 << 1)] * tr2 + wa[i__ + wa_dim1 * 3] * ti2;