This file is indexed.

/usr/include/atlas/atlas_zher2_L2.h is in libatlas-dev 3.10.1-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
/*
 * This file generated on line 445 of /build/buildd/atlas-3.10.1/build/atlas-base/../..//tune/blas/ger/r2hgen.c
 */
#ifndef ATLAS_ZSYR2_L2_H
   #define ATLAS_ZSYR2_L2_H

#include "atlas_zr2_L2.h"

#define ATL_s2U_NU 12

#define ATL_s2L_NU 12
#define ATL_MIN_RESTRICTED_M 2
#define ATL_URGERK ATL_zger2k__900002
static void ATL_GENGERK(ATL_CINT M, ATL_CINT N, const TYPE *X,
                        const TYPE *Y, const TYPE *W, const TYPE *Z,
                        TYPE *A, ATL_CINT lda)
{
   int nu, minM, minN, i, FNU, aX, aX2A, aY, aW, aZ;
   ATL_INT CEL;
   ATL_r2kern_t gerk;
   const TYPE one[2] = {ATL_rone, ATL_rzero};
   gerk = ATL_GetR2Kern(M, N, A, lda, &i, &nu, &minM, &minN,
                        &aX, &aX2A, &aY, &FNU, &CEL);
   if (aX2A)
   {
      aX = ((size_t)A) % ATL_Cachelen == ((size_t)X) % ATL_Cachelen;
      aW = ((size_t)A) % ATL_Cachelen == ((size_t)W) % ATL_Cachelen;
   }   else
   {
      aW = (aX) ? (((size_t)W)/aX)*aX == (size_t)W : 1;
      aX = (aX) ? (((size_t)X)/aX)*aX == (size_t)X : 1;
   }
   aZ = (aY) ? (((size_t)Z)/aY)*aY == (size_t)Z : 1;
   aY = (aY) ? (((size_t)Y)/aY)*aY == (size_t)Y : 1;
   if (M >= minM && N >= minN && aX && aY && aW && aZ)
   {
      if (FNU)
      {
          ATL_CINT n = (N/nu)*nu, nr=N-n;
          gerk(M, n, X, Y, W, Z, A, lda);
          if (nr)
             ATL_zger2k_Nlt8(M, nr, one, X, 1, Y+(n+n), 1, one, W, 1, Z+(n+n), 1, A+(n+n)*lda, lda);
      } /* end if (FNU) */
      else
         gerk(M, N, X, Y, W, Z, A, lda);
   } /* end if can call optimized kernel */
   else
      ATL_zger2k_Mlt16(M, N, one, X, 1, Y, 1, one, W, 1, Z, 1, A, lda);
}

#define ATL_HER2U_nu(A_, lda_, x_, y_, xt_, yt_) \
{ \
   TYPE *aa=(A_); \
   ATL_CINT lda0_ = 0, lda1_ = lda0_+(lda_)+(lda_), lda2_ = lda1_+(lda_)+(lda_), lda3_ = lda2_+(lda_)+(lda_), lda4_ = lda3_+(lda_)+(lda_), lda5_ = lda4_+(lda_)+(lda_), lda6_ = lda5_+(lda_)+(lda_), lda7_ = lda6_+(lda_)+(lda_), lda8_ = lda7_+(lda_)+(lda_), lda9_ = lda8_+(lda_)+(lda_), lda10_ = lda9_+(lda_)+(lda_), lda11_ = lda10_+(lda_)+(lda_); \
   const TYPE x0r=*(x_), x0i=(x_)[1], x1r=(x_)[2], x1i=(x_)[3], x2r=(x_)[4], x2i=(x_)[5], x3r=(x_)[6], x3i=(x_)[7], x4r=(x_)[8], x4i=(x_)[9], x5r=(x_)[10], x5i=(x_)[11], x6r=(x_)[12], x6i=(x_)[13], x7r=(x_)[14], x7i=(x_)[15], x8r=(x_)[16], x8i=(x_)[17], x9r=(x_)[18], x9i=(x_)[19], x10r=(x_)[20], x10i=(x_)[21], x11r=(x_)[22], x11i=(x_)[23]; \
   const TYPE xt0r=*(xt_), xt0i=(xt_)[1], xt1r=(xt_)[2], xt1i=(xt_)[3], xt2r=(xt_)[4], xt2i=(xt_)[5], xt3r=(xt_)[6], xt3i=(xt_)[7], xt4r=(xt_)[8], xt4i=(xt_)[9], xt5r=(xt_)[10], xt5i=(xt_)[11], xt6r=(xt_)[12], xt6i=(xt_)[13], xt7r=(xt_)[14], xt7i=(xt_)[15], xt8r=(xt_)[16], xt8i=(xt_)[17], xt9r=(xt_)[18], xt9i=(xt_)[19], xt10r=(xt_)[20], xt10i=(xt_)[21], xt11r=(xt_)[22], xt11i=(xt_)[23]; \
   const TYPE y0r=*(y_), y0i=(y_)[1], y1r=(y_)[2], y1i=(y_)[3], y2r=(y_)[4], y2i=(y_)[5], y3r=(y_)[6], y3i=(y_)[7], y4r=(y_)[8], y4i=(y_)[9], y5r=(y_)[10], y5i=(y_)[11], y6r=(y_)[12], y6i=(y_)[13], y7r=(y_)[14], y7i=(y_)[15], y8r=(y_)[16], y8i=(y_)[17], y9r=(y_)[18], y9i=(y_)[19], y10r=(y_)[20], y10i=(y_)[21], y11r=(y_)[22], y11i=(y_)[23]; \
   const TYPE yt0r=*(yt_), yt0i=(yt_)[1], yt1r=(yt_)[2], yt1i=(yt_)[3], yt2r=(yt_)[4], yt2i=(yt_)[5], yt3r=(yt_)[6], yt3i=(yt_)[7], yt4r=(yt_)[8], yt4i=(yt_)[9], yt5r=(yt_)[10], yt5i=(yt_)[11], yt6r=(yt_)[12], yt6i=(yt_)[13], yt7r=(yt_)[14], yt7i=(yt_)[15], yt8r=(yt_)[16], yt8i=(yt_)[17], yt9r=(yt_)[18], yt9i=(yt_)[19], yt10r=(yt_)[20], yt10i=(yt_)[21], yt11r=(yt_)[22], yt11i=(yt_)[23]; \
   aa[lda0_+0] += x0r*yt0r-x0i*yt0i + y0r*xt0r-y0i*xt0i; \
   aa[lda0_+1] = 0.0; \
   aa[lda1_+0] += x0r*yt1r-x0i*yt1i + y0r*xt1r-y0i*xt1i; \
   aa[lda1_+1] += x0r*yt1i+x0i*yt1r + y0r*xt1i+y0i*xt1r; \
   aa[lda1_+2] += x1r*yt1r-x1i*yt1i + y1r*xt1r-y1i*xt1i; \
   aa[lda1_+3] = 0.0; \
   aa[lda2_+0] += x0r*yt2r-x0i*yt2i + y0r*xt2r-y0i*xt2i; \
   aa[lda2_+1] += x0r*yt2i+x0i*yt2r + y0r*xt2i+y0i*xt2r; \
   aa[lda2_+2] += x1r*yt2r-x1i*yt2i + y1r*xt2r-y1i*xt2i; \
   aa[lda2_+3] += x1r*yt2i+x1i*yt2r + y1r*xt2i+y1i*xt2r; \
   aa[lda2_+4] += x2r*yt2r-x2i*yt2i + y2r*xt2r-y2i*xt2i; \
   aa[lda2_+5] = 0.0; \
   aa[lda3_+0] += x0r*yt3r-x0i*yt3i + y0r*xt3r-y0i*xt3i; \
   aa[lda3_+1] += x0r*yt3i+x0i*yt3r + y0r*xt3i+y0i*xt3r; \
   aa[lda3_+2] += x1r*yt3r-x1i*yt3i + y1r*xt3r-y1i*xt3i; \
   aa[lda3_+3] += x1r*yt3i+x1i*yt3r + y1r*xt3i+y1i*xt3r; \
   aa[lda3_+4] += x2r*yt3r-x2i*yt3i + y2r*xt3r-y2i*xt3i; \
   aa[lda3_+5] += x2r*yt3i+x2i*yt3r + y2r*xt3i+y2i*xt3r; \
   aa[lda3_+6] += x3r*yt3r-x3i*yt3i + y3r*xt3r-y3i*xt3i; \
   aa[lda3_+7] = 0.0; \
   aa[lda4_+0] += x0r*yt4r-x0i*yt4i + y0r*xt4r-y0i*xt4i; \
   aa[lda4_+1] += x0r*yt4i+x0i*yt4r + y0r*xt4i+y0i*xt4r; \
   aa[lda4_+2] += x1r*yt4r-x1i*yt4i + y1r*xt4r-y1i*xt4i; \
   aa[lda4_+3] += x1r*yt4i+x1i*yt4r + y1r*xt4i+y1i*xt4r; \
   aa[lda4_+4] += x2r*yt4r-x2i*yt4i + y2r*xt4r-y2i*xt4i; \
   aa[lda4_+5] += x2r*yt4i+x2i*yt4r + y2r*xt4i+y2i*xt4r; \
   aa[lda4_+6] += x3r*yt4r-x3i*yt4i + y3r*xt4r-y3i*xt4i; \
   aa[lda4_+7] += x3r*yt4i+x3i*yt4r + y3r*xt4i+y3i*xt4r; \
   aa[lda4_+8] += x4r*yt4r-x4i*yt4i + y4r*xt4r-y4i*xt4i; \
   aa[lda4_+9] = 0.0; \
   aa[lda5_+0] += x0r*yt5r-x0i*yt5i + y0r*xt5r-y0i*xt5i; \
   aa[lda5_+1] += x0r*yt5i+x0i*yt5r + y0r*xt5i+y0i*xt5r; \
   aa[lda5_+2] += x1r*yt5r-x1i*yt5i + y1r*xt5r-y1i*xt5i; \
   aa[lda5_+3] += x1r*yt5i+x1i*yt5r + y1r*xt5i+y1i*xt5r; \
   aa[lda5_+4] += x2r*yt5r-x2i*yt5i + y2r*xt5r-y2i*xt5i; \
   aa[lda5_+5] += x2r*yt5i+x2i*yt5r + y2r*xt5i+y2i*xt5r; \
   aa[lda5_+6] += x3r*yt5r-x3i*yt5i + y3r*xt5r-y3i*xt5i; \
   aa[lda5_+7] += x3r*yt5i+x3i*yt5r + y3r*xt5i+y3i*xt5r; \
   aa[lda5_+8] += x4r*yt5r-x4i*yt5i + y4r*xt5r-y4i*xt5i; \
   aa[lda5_+9] += x4r*yt5i+x4i*yt5r + y4r*xt5i+y4i*xt5r; \
   aa[lda5_+10] += x5r*yt5r-x5i*yt5i + y5r*xt5r-y5i*xt5i; \
   aa[lda5_+11] = 0.0; \
   aa[lda6_+0] += x0r*yt6r-x0i*yt6i + y0r*xt6r-y0i*xt6i; \
   aa[lda6_+1] += x0r*yt6i+x0i*yt6r + y0r*xt6i+y0i*xt6r; \
   aa[lda6_+2] += x1r*yt6r-x1i*yt6i + y1r*xt6r-y1i*xt6i; \
   aa[lda6_+3] += x1r*yt6i+x1i*yt6r + y1r*xt6i+y1i*xt6r; \
   aa[lda6_+4] += x2r*yt6r-x2i*yt6i + y2r*xt6r-y2i*xt6i; \
   aa[lda6_+5] += x2r*yt6i+x2i*yt6r + y2r*xt6i+y2i*xt6r; \
   aa[lda6_+6] += x3r*yt6r-x3i*yt6i + y3r*xt6r-y3i*xt6i; \
   aa[lda6_+7] += x3r*yt6i+x3i*yt6r + y3r*xt6i+y3i*xt6r; \
   aa[lda6_+8] += x4r*yt6r-x4i*yt6i + y4r*xt6r-y4i*xt6i; \
   aa[lda6_+9] += x4r*yt6i+x4i*yt6r + y4r*xt6i+y4i*xt6r; \
   aa[lda6_+10] += x5r*yt6r-x5i*yt6i + y5r*xt6r-y5i*xt6i; \
   aa[lda6_+11] += x5r*yt6i+x5i*yt6r + y5r*xt6i+y5i*xt6r; \
   aa[lda6_+12] += x6r*yt6r-x6i*yt6i + y6r*xt6r-y6i*xt6i; \
   aa[lda6_+13] = 0.0; \
   aa[lda7_+0] += x0r*yt7r-x0i*yt7i + y0r*xt7r-y0i*xt7i; \
   aa[lda7_+1] += x0r*yt7i+x0i*yt7r + y0r*xt7i+y0i*xt7r; \
   aa[lda7_+2] += x1r*yt7r-x1i*yt7i + y1r*xt7r-y1i*xt7i; \
   aa[lda7_+3] += x1r*yt7i+x1i*yt7r + y1r*xt7i+y1i*xt7r; \
   aa[lda7_+4] += x2r*yt7r-x2i*yt7i + y2r*xt7r-y2i*xt7i; \
   aa[lda7_+5] += x2r*yt7i+x2i*yt7r + y2r*xt7i+y2i*xt7r; \
   aa[lda7_+6] += x3r*yt7r-x3i*yt7i + y3r*xt7r-y3i*xt7i; \
   aa[lda7_+7] += x3r*yt7i+x3i*yt7r + y3r*xt7i+y3i*xt7r; \
   aa[lda7_+8] += x4r*yt7r-x4i*yt7i + y4r*xt7r-y4i*xt7i; \
   aa[lda7_+9] += x4r*yt7i+x4i*yt7r + y4r*xt7i+y4i*xt7r; \
   aa[lda7_+10] += x5r*yt7r-x5i*yt7i + y5r*xt7r-y5i*xt7i; \
   aa[lda7_+11] += x5r*yt7i+x5i*yt7r + y5r*xt7i+y5i*xt7r; \
   aa[lda7_+12] += x6r*yt7r-x6i*yt7i + y6r*xt7r-y6i*xt7i; \
   aa[lda7_+13] += x6r*yt7i+x6i*yt7r + y6r*xt7i+y6i*xt7r; \
   aa[lda7_+14] += x7r*yt7r-x7i*yt7i + y7r*xt7r-y7i*xt7i; \
   aa[lda7_+15] = 0.0; \
   aa[lda8_+0] += x0r*yt8r-x0i*yt8i + y0r*xt8r-y0i*xt8i; \
   aa[lda8_+1] += x0r*yt8i+x0i*yt8r + y0r*xt8i+y0i*xt8r; \
   aa[lda8_+2] += x1r*yt8r-x1i*yt8i + y1r*xt8r-y1i*xt8i; \
   aa[lda8_+3] += x1r*yt8i+x1i*yt8r + y1r*xt8i+y1i*xt8r; \
   aa[lda8_+4] += x2r*yt8r-x2i*yt8i + y2r*xt8r-y2i*xt8i; \
   aa[lda8_+5] += x2r*yt8i+x2i*yt8r + y2r*xt8i+y2i*xt8r; \
   aa[lda8_+6] += x3r*yt8r-x3i*yt8i + y3r*xt8r-y3i*xt8i; \
   aa[lda8_+7] += x3r*yt8i+x3i*yt8r + y3r*xt8i+y3i*xt8r; \
   aa[lda8_+8] += x4r*yt8r-x4i*yt8i + y4r*xt8r-y4i*xt8i; \
   aa[lda8_+9] += x4r*yt8i+x4i*yt8r + y4r*xt8i+y4i*xt8r; \
   aa[lda8_+10] += x5r*yt8r-x5i*yt8i + y5r*xt8r-y5i*xt8i; \
   aa[lda8_+11] += x5r*yt8i+x5i*yt8r + y5r*xt8i+y5i*xt8r; \
   aa[lda8_+12] += x6r*yt8r-x6i*yt8i + y6r*xt8r-y6i*xt8i; \
   aa[lda8_+13] += x6r*yt8i+x6i*yt8r + y6r*xt8i+y6i*xt8r; \
   aa[lda8_+14] += x7r*yt8r-x7i*yt8i + y7r*xt8r-y7i*xt8i; \
   aa[lda8_+15] += x7r*yt8i+x7i*yt8r + y7r*xt8i+y7i*xt8r; \
   aa[lda8_+16] += x8r*yt8r-x8i*yt8i + y8r*xt8r-y8i*xt8i; \
   aa[lda8_+17] = 0.0; \
   aa[lda9_+0] += x0r*yt9r-x0i*yt9i + y0r*xt9r-y0i*xt9i; \
   aa[lda9_+1] += x0r*yt9i+x0i*yt9r + y0r*xt9i+y0i*xt9r; \
   aa[lda9_+2] += x1r*yt9r-x1i*yt9i + y1r*xt9r-y1i*xt9i; \
   aa[lda9_+3] += x1r*yt9i+x1i*yt9r + y1r*xt9i+y1i*xt9r; \
   aa[lda9_+4] += x2r*yt9r-x2i*yt9i + y2r*xt9r-y2i*xt9i; \
   aa[lda9_+5] += x2r*yt9i+x2i*yt9r + y2r*xt9i+y2i*xt9r; \
   aa[lda9_+6] += x3r*yt9r-x3i*yt9i + y3r*xt9r-y3i*xt9i; \
   aa[lda9_+7] += x3r*yt9i+x3i*yt9r + y3r*xt9i+y3i*xt9r; \
   aa[lda9_+8] += x4r*yt9r-x4i*yt9i + y4r*xt9r-y4i*xt9i; \
   aa[lda9_+9] += x4r*yt9i+x4i*yt9r + y4r*xt9i+y4i*xt9r; \
   aa[lda9_+10] += x5r*yt9r-x5i*yt9i + y5r*xt9r-y5i*xt9i; \
   aa[lda9_+11] += x5r*yt9i+x5i*yt9r + y5r*xt9i+y5i*xt9r; \
   aa[lda9_+12] += x6r*yt9r-x6i*yt9i + y6r*xt9r-y6i*xt9i; \
   aa[lda9_+13] += x6r*yt9i+x6i*yt9r + y6r*xt9i+y6i*xt9r; \
   aa[lda9_+14] += x7r*yt9r-x7i*yt9i + y7r*xt9r-y7i*xt9i; \
   aa[lda9_+15] += x7r*yt9i+x7i*yt9r + y7r*xt9i+y7i*xt9r; \
   aa[lda9_+16] += x8r*yt9r-x8i*yt9i + y8r*xt9r-y8i*xt9i; \
   aa[lda9_+17] += x8r*yt9i+x8i*yt9r + y8r*xt9i+y8i*xt9r; \
   aa[lda9_+18] += x9r*yt9r-x9i*yt9i + y9r*xt9r-y9i*xt9i; \
   aa[lda9_+19] = 0.0; \
   aa[lda10_+0] += x0r*yt10r-x0i*yt10i + y0r*xt10r-y0i*xt10i; \
   aa[lda10_+1] += x0r*yt10i+x0i*yt10r + y0r*xt10i+y0i*xt10r; \
   aa[lda10_+2] += x1r*yt10r-x1i*yt10i + y1r*xt10r-y1i*xt10i; \
   aa[lda10_+3] += x1r*yt10i+x1i*yt10r + y1r*xt10i+y1i*xt10r; \
   aa[lda10_+4] += x2r*yt10r-x2i*yt10i + y2r*xt10r-y2i*xt10i; \
   aa[lda10_+5] += x2r*yt10i+x2i*yt10r + y2r*xt10i+y2i*xt10r; \
   aa[lda10_+6] += x3r*yt10r-x3i*yt10i + y3r*xt10r-y3i*xt10i; \
   aa[lda10_+7] += x3r*yt10i+x3i*yt10r + y3r*xt10i+y3i*xt10r; \
   aa[lda10_+8] += x4r*yt10r-x4i*yt10i + y4r*xt10r-y4i*xt10i; \
   aa[lda10_+9] += x4r*yt10i+x4i*yt10r + y4r*xt10i+y4i*xt10r; \
   aa[lda10_+10] += x5r*yt10r-x5i*yt10i + y5r*xt10r-y5i*xt10i; \
   aa[lda10_+11] += x5r*yt10i+x5i*yt10r + y5r*xt10i+y5i*xt10r; \
   aa[lda10_+12] += x6r*yt10r-x6i*yt10i + y6r*xt10r-y6i*xt10i; \
   aa[lda10_+13] += x6r*yt10i+x6i*yt10r + y6r*xt10i+y6i*xt10r; \
   aa[lda10_+14] += x7r*yt10r-x7i*yt10i + y7r*xt10r-y7i*xt10i; \
   aa[lda10_+15] += x7r*yt10i+x7i*yt10r + y7r*xt10i+y7i*xt10r; \
   aa[lda10_+16] += x8r*yt10r-x8i*yt10i + y8r*xt10r-y8i*xt10i; \
   aa[lda10_+17] += x8r*yt10i+x8i*yt10r + y8r*xt10i+y8i*xt10r; \
   aa[lda10_+18] += x9r*yt10r-x9i*yt10i + y9r*xt10r-y9i*xt10i; \
   aa[lda10_+19] += x9r*yt10i+x9i*yt10r + y9r*xt10i+y9i*xt10r; \
   aa[lda10_+20] += x10r*yt10r-x10i*yt10i + y10r*xt10r-y10i*xt10i; \
   aa[lda10_+21] = 0.0; \
   aa[lda11_+0] += x0r*yt11r-x0i*yt11i + y0r*xt11r-y0i*xt11i; \
   aa[lda11_+1] += x0r*yt11i+x0i*yt11r + y0r*xt11i+y0i*xt11r; \
   aa[lda11_+2] += x1r*yt11r-x1i*yt11i + y1r*xt11r-y1i*xt11i; \
   aa[lda11_+3] += x1r*yt11i+x1i*yt11r + y1r*xt11i+y1i*xt11r; \
   aa[lda11_+4] += x2r*yt11r-x2i*yt11i + y2r*xt11r-y2i*xt11i; \
   aa[lda11_+5] += x2r*yt11i+x2i*yt11r + y2r*xt11i+y2i*xt11r; \
   aa[lda11_+6] += x3r*yt11r-x3i*yt11i + y3r*xt11r-y3i*xt11i; \
   aa[lda11_+7] += x3r*yt11i+x3i*yt11r + y3r*xt11i+y3i*xt11r; \
   aa[lda11_+8] += x4r*yt11r-x4i*yt11i + y4r*xt11r-y4i*xt11i; \
   aa[lda11_+9] += x4r*yt11i+x4i*yt11r + y4r*xt11i+y4i*xt11r; \
   aa[lda11_+10] += x5r*yt11r-x5i*yt11i + y5r*xt11r-y5i*xt11i; \
   aa[lda11_+11] += x5r*yt11i+x5i*yt11r + y5r*xt11i+y5i*xt11r; \
   aa[lda11_+12] += x6r*yt11r-x6i*yt11i + y6r*xt11r-y6i*xt11i; \
   aa[lda11_+13] += x6r*yt11i+x6i*yt11r + y6r*xt11i+y6i*xt11r; \
   aa[lda11_+14] += x7r*yt11r-x7i*yt11i + y7r*xt11r-y7i*xt11i; \
   aa[lda11_+15] += x7r*yt11i+x7i*yt11r + y7r*xt11i+y7i*xt11r; \
   aa[lda11_+16] += x8r*yt11r-x8i*yt11i + y8r*xt11r-y8i*xt11i; \
   aa[lda11_+17] += x8r*yt11i+x8i*yt11r + y8r*xt11i+y8i*xt11r; \
   aa[lda11_+18] += x9r*yt11r-x9i*yt11i + y9r*xt11r-y9i*xt11i; \
   aa[lda11_+19] += x9r*yt11i+x9i*yt11r + y9r*xt11i+y9i*xt11r; \
   aa[lda11_+20] += x10r*yt11r-x10i*yt11i + y10r*xt11r-y10i*xt11i; \
   aa[lda11_+21] += x10r*yt11i+x10i*yt11r + y10r*xt11i+y10i*xt11r; \
   aa[lda11_+22] += x11r*yt11r-x11i*yt11i + y11r*xt11r-y11i*xt11i; \
   aa[lda11_+23] = 0.0; \
}
#define ATL_HER2L_nu(A_, lda_, x_, y_, xt_, yt_) \
{ \
   TYPE *aa=(A_); \
   ATL_CINT lda0_ = 0, lda1_ = lda0_+(lda_)+(lda_), lda2_ = lda1_+(lda_)+(lda_), lda3_ = lda2_+(lda_)+(lda_), lda4_ = lda3_+(lda_)+(lda_), lda5_ = lda4_+(lda_)+(lda_), lda6_ = lda5_+(lda_)+(lda_), lda7_ = lda6_+(lda_)+(lda_), lda8_ = lda7_+(lda_)+(lda_), lda9_ = lda8_+(lda_)+(lda_), lda10_ = lda9_+(lda_)+(lda_), lda11_ = lda10_+(lda_)+(lda_); \
   const TYPE x0r=*(x_), x0i=(x_)[1], x1r=(x_)[2], x1i=(x_)[3], x2r=(x_)[4], x2i=(x_)[5], x3r=(x_)[6], x3i=(x_)[7], x4r=(x_)[8], x4i=(x_)[9], x5r=(x_)[10], x5i=(x_)[11], x6r=(x_)[12], x6i=(x_)[13], x7r=(x_)[14], x7i=(x_)[15], x8r=(x_)[16], x8i=(x_)[17], x9r=(x_)[18], x9i=(x_)[19], x10r=(x_)[20], x10i=(x_)[21], x11r=(x_)[22], x11i=(x_)[23]; \
   const TYPE xt0r=*(xt_), xt0i=(xt_)[1], xt1r=(xt_)[2], xt1i=(xt_)[3], xt2r=(xt_)[4], xt2i=(xt_)[5], xt3r=(xt_)[6], xt3i=(xt_)[7], xt4r=(xt_)[8], xt4i=(xt_)[9], xt5r=(xt_)[10], xt5i=(xt_)[11], xt6r=(xt_)[12], xt6i=(xt_)[13], xt7r=(xt_)[14], xt7i=(xt_)[15], xt8r=(xt_)[16], xt8i=(xt_)[17], xt9r=(xt_)[18], xt9i=(xt_)[19], xt10r=(xt_)[20], xt10i=(xt_)[21], xt11r=(xt_)[22], xt11i=(xt_)[23]; \
   const TYPE y0r=*(y_), y0i=(y_)[1], y1r=(y_)[2], y1i=(y_)[3], y2r=(y_)[4], y2i=(y_)[5], y3r=(y_)[6], y3i=(y_)[7], y4r=(y_)[8], y4i=(y_)[9], y5r=(y_)[10], y5i=(y_)[11], y6r=(y_)[12], y6i=(y_)[13], y7r=(y_)[14], y7i=(y_)[15], y8r=(y_)[16], y8i=(y_)[17], y9r=(y_)[18], y9i=(y_)[19], y10r=(y_)[20], y10i=(y_)[21], y11r=(y_)[22], y11i=(y_)[23]; \
   const TYPE yt0r=*(yt_), yt0i=(yt_)[1], yt1r=(yt_)[2], yt1i=(yt_)[3], yt2r=(yt_)[4], yt2i=(yt_)[5], yt3r=(yt_)[6], yt3i=(yt_)[7], yt4r=(yt_)[8], yt4i=(yt_)[9], yt5r=(yt_)[10], yt5i=(yt_)[11], yt6r=(yt_)[12], yt6i=(yt_)[13], yt7r=(yt_)[14], yt7i=(yt_)[15], yt8r=(yt_)[16], yt8i=(yt_)[17], yt9r=(yt_)[18], yt9i=(yt_)[19], yt10r=(yt_)[20], yt10i=(yt_)[21], yt11r=(yt_)[22], yt11i=(yt_)[23]; \
   aa[lda0_+0] += x0r*yt0r-x0i*yt0i + y0r*xt0r-y0i*xt0i; \
   aa[lda0_+1] = 0.0; \
   aa[lda0_+2] += x1r*yt0r-x1i*yt0i + y1r*xt0r-y1i*xt0i; \
   aa[lda0_+3] += x1r*yt0i+x1i*yt0r + y1r*xt0i+y1i*xt0r; \
   aa[lda0_+4] += x2r*yt0r-x2i*yt0i + y2r*xt0r-y2i*xt0i; \
   aa[lda0_+5] += x2r*yt0i+x2i*yt0r + y2r*xt0i+y2i*xt0r; \
   aa[lda0_+6] += x3r*yt0r-x3i*yt0i + y3r*xt0r-y3i*xt0i; \
   aa[lda0_+7] += x3r*yt0i+x3i*yt0r + y3r*xt0i+y3i*xt0r; \
   aa[lda0_+8] += x4r*yt0r-x4i*yt0i + y4r*xt0r-y4i*xt0i; \
   aa[lda0_+9] += x4r*yt0i+x4i*yt0r + y4r*xt0i+y4i*xt0r; \
   aa[lda0_+10] += x5r*yt0r-x5i*yt0i + y5r*xt0r-y5i*xt0i; \
   aa[lda0_+11] += x5r*yt0i+x5i*yt0r + y5r*xt0i+y5i*xt0r; \
   aa[lda0_+12] += x6r*yt0r-x6i*yt0i + y6r*xt0r-y6i*xt0i; \
   aa[lda0_+13] += x6r*yt0i+x6i*yt0r + y6r*xt0i+y6i*xt0r; \
   aa[lda0_+14] += x7r*yt0r-x7i*yt0i + y7r*xt0r-y7i*xt0i; \
   aa[lda0_+15] += x7r*yt0i+x7i*yt0r + y7r*xt0i+y7i*xt0r; \
   aa[lda0_+16] += x8r*yt0r-x8i*yt0i + y8r*xt0r-y8i*xt0i; \
   aa[lda0_+17] += x8r*yt0i+x8i*yt0r + y8r*xt0i+y8i*xt0r; \
   aa[lda0_+18] += x9r*yt0r-x9i*yt0i + y9r*xt0r-y9i*xt0i; \
   aa[lda0_+19] += x9r*yt0i+x9i*yt0r + y9r*xt0i+y9i*xt0r; \
   aa[lda0_+20] += x10r*yt0r-x10i*yt0i + y10r*xt0r-y10i*xt0i; \
   aa[lda0_+21] += x10r*yt0i+x10i*yt0r + y10r*xt0i+y10i*xt0r; \
   aa[lda0_+22] += x11r*yt0r-x11i*yt0i + y11r*xt0r-y11i*xt0i; \
   aa[lda0_+23] += x11r*yt0i+x11i*yt0r + y11r*xt0i+y11i*xt0r; \
   aa[lda1_+2] += x1r*yt1r-x1i*yt1i + y1r*xt1r-y1i*xt1i; \
   aa[lda1_+3] = 0.0; \
   aa[lda1_+4] += x2r*yt1r-x2i*yt1i + y2r*xt1r-y2i*xt1i; \
   aa[lda1_+5] += x2r*yt1i+x2i*yt1r + y2r*xt1i+y2i*xt1r; \
   aa[lda1_+6] += x3r*yt1r-x3i*yt1i + y3r*xt1r-y3i*xt1i; \
   aa[lda1_+7] += x3r*yt1i+x3i*yt1r + y3r*xt1i+y3i*xt1r; \
   aa[lda1_+8] += x4r*yt1r-x4i*yt1i + y4r*xt1r-y4i*xt1i; \
   aa[lda1_+9] += x4r*yt1i+x4i*yt1r + y4r*xt1i+y4i*xt1r; \
   aa[lda1_+10] += x5r*yt1r-x5i*yt1i + y5r*xt1r-y5i*xt1i; \
   aa[lda1_+11] += x5r*yt1i+x5i*yt1r + y5r*xt1i+y5i*xt1r; \
   aa[lda1_+12] += x6r*yt1r-x6i*yt1i + y6r*xt1r-y6i*xt1i; \
   aa[lda1_+13] += x6r*yt1i+x6i*yt1r + y6r*xt1i+y6i*xt1r; \
   aa[lda1_+14] += x7r*yt1r-x7i*yt1i + y7r*xt1r-y7i*xt1i; \
   aa[lda1_+15] += x7r*yt1i+x7i*yt1r + y7r*xt1i+y7i*xt1r; \
   aa[lda1_+16] += x8r*yt1r-x8i*yt1i + y8r*xt1r-y8i*xt1i; \
   aa[lda1_+17] += x8r*yt1i+x8i*yt1r + y8r*xt1i+y8i*xt1r; \
   aa[lda1_+18] += x9r*yt1r-x9i*yt1i + y9r*xt1r-y9i*xt1i; \
   aa[lda1_+19] += x9r*yt1i+x9i*yt1r + y9r*xt1i+y9i*xt1r; \
   aa[lda1_+20] += x10r*yt1r-x10i*yt1i + y10r*xt1r-y10i*xt1i; \
   aa[lda1_+21] += x10r*yt1i+x10i*yt1r + y10r*xt1i+y10i*xt1r; \
   aa[lda1_+22] += x11r*yt1r-x11i*yt1i + y11r*xt1r-y11i*xt1i; \
   aa[lda1_+23] += x11r*yt1i+x11i*yt1r + y11r*xt1i+y11i*xt1r; \
   aa[lda2_+4] += x2r*yt2r-x2i*yt2i + y2r*xt2r-y2i*xt2i; \
   aa[lda2_+5] = 0.0; \
   aa[lda2_+6] += x3r*yt2r-x3i*yt2i + y3r*xt2r-y3i*xt2i; \
   aa[lda2_+7] += x3r*yt2i+x3i*yt2r + y3r*xt2i+y3i*xt2r; \
   aa[lda2_+8] += x4r*yt2r-x4i*yt2i + y4r*xt2r-y4i*xt2i; \
   aa[lda2_+9] += x4r*yt2i+x4i*yt2r + y4r*xt2i+y4i*xt2r; \
   aa[lda2_+10] += x5r*yt2r-x5i*yt2i + y5r*xt2r-y5i*xt2i; \
   aa[lda2_+11] += x5r*yt2i+x5i*yt2r + y5r*xt2i+y5i*xt2r; \
   aa[lda2_+12] += x6r*yt2r-x6i*yt2i + y6r*xt2r-y6i*xt2i; \
   aa[lda2_+13] += x6r*yt2i+x6i*yt2r + y6r*xt2i+y6i*xt2r; \
   aa[lda2_+14] += x7r*yt2r-x7i*yt2i + y7r*xt2r-y7i*xt2i; \
   aa[lda2_+15] += x7r*yt2i+x7i*yt2r + y7r*xt2i+y7i*xt2r; \
   aa[lda2_+16] += x8r*yt2r-x8i*yt2i + y8r*xt2r-y8i*xt2i; \
   aa[lda2_+17] += x8r*yt2i+x8i*yt2r + y8r*xt2i+y8i*xt2r; \
   aa[lda2_+18] += x9r*yt2r-x9i*yt2i + y9r*xt2r-y9i*xt2i; \
   aa[lda2_+19] += x9r*yt2i+x9i*yt2r + y9r*xt2i+y9i*xt2r; \
   aa[lda2_+20] += x10r*yt2r-x10i*yt2i + y10r*xt2r-y10i*xt2i; \
   aa[lda2_+21] += x10r*yt2i+x10i*yt2r + y10r*xt2i+y10i*xt2r; \
   aa[lda2_+22] += x11r*yt2r-x11i*yt2i + y11r*xt2r-y11i*xt2i; \
   aa[lda2_+23] += x11r*yt2i+x11i*yt2r + y11r*xt2i+y11i*xt2r; \
   aa[lda3_+6] += x3r*yt3r-x3i*yt3i + y3r*xt3r-y3i*xt3i; \
   aa[lda3_+7] = 0.0; \
   aa[lda3_+8] += x4r*yt3r-x4i*yt3i + y4r*xt3r-y4i*xt3i; \
   aa[lda3_+9] += x4r*yt3i+x4i*yt3r + y4r*xt3i+y4i*xt3r; \
   aa[lda3_+10] += x5r*yt3r-x5i*yt3i + y5r*xt3r-y5i*xt3i; \
   aa[lda3_+11] += x5r*yt3i+x5i*yt3r + y5r*xt3i+y5i*xt3r; \
   aa[lda3_+12] += x6r*yt3r-x6i*yt3i + y6r*xt3r-y6i*xt3i; \
   aa[lda3_+13] += x6r*yt3i+x6i*yt3r + y6r*xt3i+y6i*xt3r; \
   aa[lda3_+14] += x7r*yt3r-x7i*yt3i + y7r*xt3r-y7i*xt3i; \
   aa[lda3_+15] += x7r*yt3i+x7i*yt3r + y7r*xt3i+y7i*xt3r; \
   aa[lda3_+16] += x8r*yt3r-x8i*yt3i + y8r*xt3r-y8i*xt3i; \
   aa[lda3_+17] += x8r*yt3i+x8i*yt3r + y8r*xt3i+y8i*xt3r; \
   aa[lda3_+18] += x9r*yt3r-x9i*yt3i + y9r*xt3r-y9i*xt3i; \
   aa[lda3_+19] += x9r*yt3i+x9i*yt3r + y9r*xt3i+y9i*xt3r; \
   aa[lda3_+20] += x10r*yt3r-x10i*yt3i + y10r*xt3r-y10i*xt3i; \
   aa[lda3_+21] += x10r*yt3i+x10i*yt3r + y10r*xt3i+y10i*xt3r; \
   aa[lda3_+22] += x11r*yt3r-x11i*yt3i + y11r*xt3r-y11i*xt3i; \
   aa[lda3_+23] += x11r*yt3i+x11i*yt3r + y11r*xt3i+y11i*xt3r; \
   aa[lda4_+8] += x4r*yt4r-x4i*yt4i + y4r*xt4r-y4i*xt4i; \
   aa[lda4_+9] = 0.0; \
   aa[lda4_+10] += x5r*yt4r-x5i*yt4i + y5r*xt4r-y5i*xt4i; \
   aa[lda4_+11] += x5r*yt4i+x5i*yt4r + y5r*xt4i+y5i*xt4r; \
   aa[lda4_+12] += x6r*yt4r-x6i*yt4i + y6r*xt4r-y6i*xt4i; \
   aa[lda4_+13] += x6r*yt4i+x6i*yt4r + y6r*xt4i+y6i*xt4r; \
   aa[lda4_+14] += x7r*yt4r-x7i*yt4i + y7r*xt4r-y7i*xt4i; \
   aa[lda4_+15] += x7r*yt4i+x7i*yt4r + y7r*xt4i+y7i*xt4r; \
   aa[lda4_+16] += x8r*yt4r-x8i*yt4i + y8r*xt4r-y8i*xt4i; \
   aa[lda4_+17] += x8r*yt4i+x8i*yt4r + y8r*xt4i+y8i*xt4r; \
   aa[lda4_+18] += x9r*yt4r-x9i*yt4i + y9r*xt4r-y9i*xt4i; \
   aa[lda4_+19] += x9r*yt4i+x9i*yt4r + y9r*xt4i+y9i*xt4r; \
   aa[lda4_+20] += x10r*yt4r-x10i*yt4i + y10r*xt4r-y10i*xt4i; \
   aa[lda4_+21] += x10r*yt4i+x10i*yt4r + y10r*xt4i+y10i*xt4r; \
   aa[lda4_+22] += x11r*yt4r-x11i*yt4i + y11r*xt4r-y11i*xt4i; \
   aa[lda4_+23] += x11r*yt4i+x11i*yt4r + y11r*xt4i+y11i*xt4r; \
   aa[lda5_+10] += x5r*yt5r-x5i*yt5i + y5r*xt5r-y5i*xt5i; \
   aa[lda5_+11] = 0.0; \
   aa[lda5_+12] += x6r*yt5r-x6i*yt5i + y6r*xt5r-y6i*xt5i; \
   aa[lda5_+13] += x6r*yt5i+x6i*yt5r + y6r*xt5i+y6i*xt5r; \
   aa[lda5_+14] += x7r*yt5r-x7i*yt5i + y7r*xt5r-y7i*xt5i; \
   aa[lda5_+15] += x7r*yt5i+x7i*yt5r + y7r*xt5i+y7i*xt5r; \
   aa[lda5_+16] += x8r*yt5r-x8i*yt5i + y8r*xt5r-y8i*xt5i; \
   aa[lda5_+17] += x8r*yt5i+x8i*yt5r + y8r*xt5i+y8i*xt5r; \
   aa[lda5_+18] += x9r*yt5r-x9i*yt5i + y9r*xt5r-y9i*xt5i; \
   aa[lda5_+19] += x9r*yt5i+x9i*yt5r + y9r*xt5i+y9i*xt5r; \
   aa[lda5_+20] += x10r*yt5r-x10i*yt5i + y10r*xt5r-y10i*xt5i; \
   aa[lda5_+21] += x10r*yt5i+x10i*yt5r + y10r*xt5i+y10i*xt5r; \
   aa[lda5_+22] += x11r*yt5r-x11i*yt5i + y11r*xt5r-y11i*xt5i; \
   aa[lda5_+23] += x11r*yt5i+x11i*yt5r + y11r*xt5i+y11i*xt5r; \
   aa[lda6_+12] += x6r*yt6r-x6i*yt6i + y6r*xt6r-y6i*xt6i; \
   aa[lda6_+13] = 0.0; \
   aa[lda6_+14] += x7r*yt6r-x7i*yt6i + y7r*xt6r-y7i*xt6i; \
   aa[lda6_+15] += x7r*yt6i+x7i*yt6r + y7r*xt6i+y7i*xt6r; \
   aa[lda6_+16] += x8r*yt6r-x8i*yt6i + y8r*xt6r-y8i*xt6i; \
   aa[lda6_+17] += x8r*yt6i+x8i*yt6r + y8r*xt6i+y8i*xt6r; \
   aa[lda6_+18] += x9r*yt6r-x9i*yt6i + y9r*xt6r-y9i*xt6i; \
   aa[lda6_+19] += x9r*yt6i+x9i*yt6r + y9r*xt6i+y9i*xt6r; \
   aa[lda6_+20] += x10r*yt6r-x10i*yt6i + y10r*xt6r-y10i*xt6i; \
   aa[lda6_+21] += x10r*yt6i+x10i*yt6r + y10r*xt6i+y10i*xt6r; \
   aa[lda6_+22] += x11r*yt6r-x11i*yt6i + y11r*xt6r-y11i*xt6i; \
   aa[lda6_+23] += x11r*yt6i+x11i*yt6r + y11r*xt6i+y11i*xt6r; \
   aa[lda7_+14] += x7r*yt7r-x7i*yt7i + y7r*xt7r-y7i*xt7i; \
   aa[lda7_+15] = 0.0; \
   aa[lda7_+16] += x8r*yt7r-x8i*yt7i + y8r*xt7r-y8i*xt7i; \
   aa[lda7_+17] += x8r*yt7i+x8i*yt7r + y8r*xt7i+y8i*xt7r; \
   aa[lda7_+18] += x9r*yt7r-x9i*yt7i + y9r*xt7r-y9i*xt7i; \
   aa[lda7_+19] += x9r*yt7i+x9i*yt7r + y9r*xt7i+y9i*xt7r; \
   aa[lda7_+20] += x10r*yt7r-x10i*yt7i + y10r*xt7r-y10i*xt7i; \
   aa[lda7_+21] += x10r*yt7i+x10i*yt7r + y10r*xt7i+y10i*xt7r; \
   aa[lda7_+22] += x11r*yt7r-x11i*yt7i + y11r*xt7r-y11i*xt7i; \
   aa[lda7_+23] += x11r*yt7i+x11i*yt7r + y11r*xt7i+y11i*xt7r; \
   aa[lda8_+16] += x8r*yt8r-x8i*yt8i + y8r*xt8r-y8i*xt8i; \
   aa[lda8_+17] = 0.0; \
   aa[lda8_+18] += x9r*yt8r-x9i*yt8i + y9r*xt8r-y9i*xt8i; \
   aa[lda8_+19] += x9r*yt8i+x9i*yt8r + y9r*xt8i+y9i*xt8r; \
   aa[lda8_+20] += x10r*yt8r-x10i*yt8i + y10r*xt8r-y10i*xt8i; \
   aa[lda8_+21] += x10r*yt8i+x10i*yt8r + y10r*xt8i+y10i*xt8r; \
   aa[lda8_+22] += x11r*yt8r-x11i*yt8i + y11r*xt8r-y11i*xt8i; \
   aa[lda8_+23] += x11r*yt8i+x11i*yt8r + y11r*xt8i+y11i*xt8r; \
   aa[lda9_+18] += x9r*yt9r-x9i*yt9i + y9r*xt9r-y9i*xt9i; \
   aa[lda9_+19] = 0.0; \
   aa[lda9_+20] += x10r*yt9r-x10i*yt9i + y10r*xt9r-y10i*xt9i; \
   aa[lda9_+21] += x10r*yt9i+x10i*yt9r + y10r*xt9i+y10i*xt9r; \
   aa[lda9_+22] += x11r*yt9r-x11i*yt9i + y11r*xt9r-y11i*xt9i; \
   aa[lda9_+23] += x11r*yt9i+x11i*yt9r + y11r*xt9i+y11i*xt9r; \
   aa[lda10_+20] += x10r*yt10r-x10i*yt10i + y10r*xt10r-y10i*xt10i; \
   aa[lda10_+21] = 0.0; \
   aa[lda10_+22] += x11r*yt10r-x11i*yt10i + y11r*xt10r-y11i*xt10i; \
   aa[lda10_+23] += x11r*yt10i+x11i*yt10r + y11r*xt10i+y11i*xt10r; \
   aa[lda11_+22] += x11r*yt11r-x11i*yt11i + y11r*xt11r-y11i*xt11i; \
   aa[lda11_+23] = 0.0; \
}

#endif