Added script front-end for primer-design code
[htsworkflow.git] / htswanalysis / MACS / lib / gsl / gsl-1.11 / cblas / test_trmm.c
1 #include <gsl/gsl_test.h>
2 #include <gsl/gsl_ieee_utils.h>
3 #include <gsl/gsl_math.h>
4 #include <gsl/gsl_cblas.h>
5
6 #include "tests.h"
7
8 void
9 test_trmm (void) {
10 const double flteps = 1e-4, dbleps = 1e-6;
11   {
12    int order = 101;
13    int side = 141;
14    int uplo = 121;
15    int trans = 111;
16    int diag = 131;
17    int M = 2;
18    int N = 3;
19    float alpha = -0.3f;
20    float A[] = { 0.18f, 0.199f, 0.122f, -0.547f };
21    int lda = 2;
22    float B[] = { -0.874f, -0.383f, 0.458f, 0.124f, -0.221f, -0.107f };
23    int ldb = 3;
24    float B_expected[] = { 0.0397932f, 0.0338757f, -0.0183441f, 0.0203484f, -0.0362661f, -0.0175587f };
25    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
26    {
27      int i;
28      for (i = 0; i < 6; i++) {
29        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1662)");
30      }
31    };
32   };
33
34
35   {
36    int order = 101;
37    int side = 141;
38    int uplo = 121;
39    int trans = 111;
40    int diag = 132;
41    int M = 2;
42    int N = 3;
43    float alpha = -0.3f;
44    float A[] = { 0.195f, -0.453f, -0.579f, 0.697f };
45    int lda = 2;
46    float B[] = { 0.736f, 0.131f, 0.533f, 0.692f, -0.672f, -0.435f };
47    int ldb = 3;
48    float B_expected[] = { -0.126757f, -0.130625f, -0.219017f, -0.2076f, 0.2016f, 0.1305f };
49    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
50    {
51      int i;
52      for (i = 0; i < 6; i++) {
53        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1663)");
54      }
55    };
56   };
57
58
59   {
60    int order = 101;
61    int side = 141;
62    int uplo = 122;
63    int trans = 111;
64    int diag = 131;
65    int M = 2;
66    int N = 3;
67    float alpha = -0.3f;
68    float A[] = { -0.53f, 0.787f, 0.889f, -0.379f };
69    int lda = 2;
70    float B[] = { -0.355f, 0.002f, 0.266f, 0.972f, 0.712f, -0.353f };
71    int ldb = 3;
72    float B_expected[] = { -0.056445f, 3.18e-04f, 0.042294f, 0.205195f, 0.080421f, -0.111078f };
73    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
74    {
75      int i;
76      for (i = 0; i < 6; i++) {
77        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1664)");
78      }
79    };
80   };
81
82
83   {
84    int order = 101;
85    int side = 141;
86    int uplo = 122;
87    int trans = 111;
88    int diag = 132;
89    int M = 2;
90    int N = 3;
91    float alpha = -0.3f;
92    float A[] = { 0.198f, -0.673f, 0.792f, 0.781f };
93    int lda = 2;
94    float B[] = { 0.901f, 0.719f, -0.339f, -0.36f, 0.539f, 0.192f };
95    int ldb = 3;
96    float B_expected[] = { -0.2703f, -0.2157f, 0.1017f, -0.106078f, -0.332534f, 0.0229464f };
97    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
98    {
99      int i;
100      for (i = 0; i < 6; i++) {
101        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1665)");
102      }
103    };
104   };
105
106
107   {
108    int order = 102;
109    int side = 141;
110    int uplo = 121;
111    int trans = 111;
112    int diag = 131;
113    int M = 2;
114    int N = 3;
115    float alpha = -0.3f;
116    float A[] = { -0.522f, 0.851f, 0.586f, 0.196f };
117    int lda = 2;
118    float B[] = { 0.335f, 0.617f, 0.118f, -0.143f, 0.677f, 0.456f };
119    int ldb = 2;
120    float B_expected[] = { -0.0560076f, -0.0362796f, 0.0436182f, 0.0084084f, 0.0258534f, -0.0268128f };
121    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
122    {
123      int i;
124      for (i = 0; i < 6; i++) {
125        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1666)");
126      }
127    };
128   };
129
130
131   {
132    int order = 102;
133    int side = 141;
134    int uplo = 121;
135    int trans = 111;
136    int diag = 132;
137    int M = 2;
138    int N = 3;
139    float alpha = -0.3f;
140    float A[] = { -0.006f, -0.613f, -0.966f, -0.758f };
141    int lda = 2;
142    float B[] = { 0.64f, -0.723f, -0.765f, 0.801f, 0.376f, 0.91f };
143    int ldb = 2;
144    float B_expected[] = { -0.401525f, 0.2169f, 0.46163f, -0.2403f, 0.150918f, -0.273f };
145    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
146    {
147      int i;
148      for (i = 0; i < 6; i++) {
149        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1667)");
150      }
151    };
152   };
153
154
155   {
156    int order = 102;
157    int side = 141;
158    int uplo = 122;
159    int trans = 111;
160    int diag = 131;
161    int M = 2;
162    int N = 3;
163    float alpha = -0.3f;
164    float A[] = { 0.738f, 0.913f, -0.227f, 0.787f };
165    int lda = 2;
166    float B[] = { 0.194f, 0.988f, -0.274f, -0.652f, -0.281f, -0.359f };
167    int ldb = 2;
168    float B_expected[] = { -0.0429516f, -0.286403f, 0.0606636f, 0.228986f, 0.0622134f, 0.161726f };
169    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
170    {
171      int i;
172      for (i = 0; i < 6; i++) {
173        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1668)");
174      }
175    };
176   };
177
178
179   {
180    int order = 102;
181    int side = 141;
182    int uplo = 122;
183    int trans = 111;
184    int diag = 132;
185    int M = 2;
186    int N = 3;
187    float alpha = -0.3f;
188    float A[] = { 0.952f, 0.598f, 0.25f, -0.508f };
189    int lda = 2;
190    float B[] = { 0.036f, 0.745f, -0.606f, 0.215f, 0.943f, -0.933f };
191    int ldb = 2;
192    float B_expected[] = { -0.0108f, -0.229958f, 0.1818f, 0.0442164f, -0.2829f, 0.110726f };
193    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
194    {
195      int i;
196      for (i = 0; i < 6; i++) {
197        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1669)");
198      }
199    };
200   };
201
202
203   {
204    int order = 101;
205    int side = 142;
206    int uplo = 121;
207    int trans = 111;
208    int diag = 131;
209    int M = 2;
210    int N = 3;
211    float alpha = -0.3f;
212    float A[] = { -0.251f, 0.372f, -0.168f, 0.217f, -0.179f, 0.863f, -0.057f, 0.256f, 0.093f };
213    int lda = 3;
214    float B[] = { -0.727f, -0.461f, 0.162f, 0.579f, -0.305f, -0.735f };
215    int ldb = 3;
216    float B_expected[] = { -0.0547431f, 0.0563775f, 0.0781923f, 0.0435987f, -0.0809949f, 0.128653f };
217    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
218    {
219      int i;
220      for (i = 0; i < 6; i++) {
221        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1670)");
222      }
223    };
224   };
225
226
227   {
228    int order = 101;
229    int side = 142;
230    int uplo = 121;
231    int trans = 111;
232    int diag = 132;
233    int M = 2;
234    int N = 3;
235    float alpha = -0.3f;
236    float A[] = { -0.014f, 0.204f, 0.163f, 0.842f, -0.918f, -0.748f, -0.859f, -0.463f, 0.292f };
237    int lda = 3;
238    float B[] = { -0.587f, -0.625f, -0.994f, 0.681f, -0.577f, -0.434f };
239    int ldb = 3;
240    float B_expected[] = { 0.1761f, 0.223424f, 0.186654f, -0.2043f, 0.131423f, -0.0325797f };
241    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
242    {
243      int i;
244      for (i = 0; i < 6; i++) {
245        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1671)");
246      }
247    };
248   };
249
250
251   {
252    int order = 101;
253    int side = 142;
254    int uplo = 122;
255    int trans = 111;
256    int diag = 131;
257    int M = 2;
258    int N = 3;
259    float alpha = -0.3f;
260    float A[] = { -0.682f, -0.71f, 0.475f, -0.59f, -0.748f, 0.548f, 0.245f, 0.761f, -0.4f };
261    int lda = 3;
262    float B[] = { 0.565f, 0.967f, -0.969f, 0.184f, 0.349f, -0.552f };
263    int ldb = 3;
264    float B_expected[] = { 0.357979f, 0.438217f, -0.11628f, 0.139991f, 0.204337f, -0.06624f };
265    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
266    {
267      int i;
268      for (i = 0; i < 6; i++) {
269        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1672)");
270      }
271    };
272   };
273
274
275   {
276    int order = 101;
277    int side = 142;
278    int uplo = 122;
279    int trans = 111;
280    int diag = 132;
281    int M = 2;
282    int N = 3;
283    float alpha = -0.3f;
284    float A[] = { 0.617f, -0.998f, -0.97f, 0.364f, 0.09f, 0.588f, -0.263f, 0.584f, 0.463f };
285    int lda = 3;
286    float B[] = { 0.773f, 0.074f, -0.388f, 0.825f, -0.608f, 0.788f };
287    int ldb = 3;
288    float B_expected[] = { -0.270594f, 0.0457776f, 0.1164f, -0.118933f, 0.0443424f, -0.2364f };
289    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
290    {
291      int i;
292      for (i = 0; i < 6; i++) {
293        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1673)");
294      }
295    };
296   };
297
298
299   {
300    int order = 102;
301    int side = 142;
302    int uplo = 121;
303    int trans = 111;
304    int diag = 131;
305    int M = 2;
306    int N = 3;
307    float alpha = -0.3f;
308    float A[] = { 0.217f, -0.672f, -0.378f, -0.005f, -0.586f, -0.426f, 0.765f, -0.239f, -0.145f };
309    int lda = 3;
310    float B[] = { 0.01f, 0.387f, -0.953f, -0.374f, -0.673f, -0.724f };
311    int ldb = 2;
312    float B_expected[] = { -6.51e-04f, -0.0251937f, -0.167522f, -0.0651687f, -0.0999006f, -0.147126f };
313    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
314    {
315      int i;
316      for (i = 0; i < 6; i++) {
317        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1674)");
318      }
319    };
320   };
321
322
323   {
324    int order = 102;
325    int side = 142;
326    int uplo = 121;
327    int trans = 111;
328    int diag = 132;
329    int M = 2;
330    int N = 3;
331    float alpha = -0.3f;
332    float A[] = { 0.962f, 0.515f, 0.292f, 0.354f, -0.366f, 0.455f, 0.134f, -0.564f, -0.303f };
333    int lda = 3;
334    float B[] = { -0.337f, 0.718f, -0.866f, -0.454f, -0.439f, -0.668f };
335    int ldb = 2;
336    float B_expected[] = { 0.1011f, -0.2154f, 0.295589f, 0.0599484f, -0.0012798f, 0.0947196f };
337    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
338    {
339      int i;
340      for (i = 0; i < 6; i++) {
341        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1675)");
342      }
343    };
344   };
345
346
347   {
348    int order = 102;
349    int side = 142;
350    int uplo = 122;
351    int trans = 111;
352    int diag = 131;
353    int M = 2;
354    int N = 3;
355    float alpha = -0.3f;
356    float A[] = { -0.228f, -0.097f, 0.205f, 0.875f, -0.162f, 0.542f, -0.839f, -0.935f, 0.2f };
357    int lda = 3;
358    float B[] = { -0.125f, -0.676f, 0.181f, 0.741f, 0.216f, 0.766f };
359    int ldb = 2;
360    float B_expected[] = { -0.0165669f, -0.0717843f, -0.026325f, -0.088539f, -0.01296f, -0.04596f };
361    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
362    {
363      int i;
364      for (i = 0; i < 6; i++) {
365        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1676)");
366      }
367    };
368   };
369
370
371   {
372    int order = 102;
373    int side = 142;
374    int uplo = 122;
375    int trans = 111;
376    int diag = 132;
377    int M = 2;
378    int N = 3;
379    float alpha = -0.3f;
380    float A[] = { -0.854f, -0.502f, 0.591f, -0.934f, -0.729f, 0.063f, 0.352f, 0.126f, -0.905f };
381    int lda = 3;
382    float B[] = { -0.626f, -0.694f, -0.889f, -0.251f, -0.42f, -0.353f };
383    int ldb = 2;
384    float B_expected[] = { 0.128383f, 0.232986f, 0.274638f, 0.0819717f, 0.126f, 0.1059f };
385    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
386    {
387      int i;
388      for (i = 0; i < 6; i++) {
389        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1677)");
390      }
391    };
392   };
393
394
395   {
396    int order = 101;
397    int side = 141;
398    int uplo = 121;
399    int trans = 112;
400    int diag = 131;
401    int M = 2;
402    int N = 3;
403    float alpha = 0.1f;
404    float A[] = { -0.755f, 0.12f, 0.525f, 0.917f };
405    int lda = 2;
406    float B[] = { -0.927f, -0.813f, 0.624f, -0.366f, -0.864f, -0.046f };
407    int ldb = 3;
408    float B_expected[] = { 0.0699885f, 0.0613815f, -0.047112f, -0.0446862f, -0.0889848f, 0.0032698f };
409    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
410    {
411      int i;
412      for (i = 0; i < 6; i++) {
413        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1678)");
414      }
415    };
416   };
417
418
419   {
420    int order = 101;
421    int side = 141;
422    int uplo = 121;
423    int trans = 112;
424    int diag = 132;
425    int M = 2;
426    int N = 3;
427    float alpha = 0.1f;
428    float A[] = { -0.444f, 0.515f, 0.081f, -0.69f };
429    int lda = 2;
430    float B[] = { 0.571f, -0.098f, -0.226f, -0.587f, 0.788f, -0.629f };
431    int ldb = 3;
432    float B_expected[] = { 0.0571f, -0.0098f, -0.0226f, -0.0292935f, 0.073753f, -0.074539f };
433    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
434    {
435      int i;
436      for (i = 0; i < 6; i++) {
437        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1679)");
438      }
439    };
440   };
441
442
443   {
444    int order = 101;
445    int side = 141;
446    int uplo = 122;
447    int trans = 112;
448    int diag = 131;
449    int M = 2;
450    int N = 3;
451    float alpha = 0.1f;
452    float A[] = { -0.954f, 0.651f, -0.982f, 0.388f };
453    int lda = 2;
454    float B[] = { -0.927f, -0.281f, -0.918f, -0.527f, -0.652f, -0.393f };
455    int ldb = 3;
456    float B_expected[] = { 0.140187f, 0.0908338f, 0.12617f, -0.0204476f, -0.0252976f, -0.0152484f };
457    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
458    {
459      int i;
460      for (i = 0; i < 6; i++) {
461        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1680)");
462      }
463    };
464   };
465
466
467   {
468    int order = 101;
469    int side = 141;
470    int uplo = 122;
471    int trans = 112;
472    int diag = 132;
473    int M = 2;
474    int N = 3;
475    float alpha = 0.1f;
476    float A[] = { 0.811f, 0.852f, 0.224f, 0.443f };
477    int lda = 2;
478    float B[] = { -0.493f, -0.497f, -0.605f, 0.433f, -0.082f, -0.077f };
479    int ldb = 3;
480    float B_expected[] = { -0.0396008f, -0.0515368f, -0.0622248f, 0.0433f, -0.0082f, -0.0077f };
481    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
482    {
483      int i;
484      for (i = 0; i < 6; i++) {
485        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1681)");
486      }
487    };
488   };
489
490
491   {
492    int order = 102;
493    int side = 141;
494    int uplo = 121;
495    int trans = 112;
496    int diag = 131;
497    int M = 2;
498    int N = 3;
499    float alpha = 0.1f;
500    float A[] = { -0.777f, 0.812f, 0.254f, 0.97f };
501    int lda = 2;
502    float B[] = { -0.509f, 0.171f, 0.986f, -0.644f, -0.97f, 0.814f };
503    int ldb = 2;
504    float B_expected[] = { 0.0395493f, 0.0036584f, -0.0766122f, -0.0374236f, 0.075369f, 0.05432f };
505    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
506    {
507      int i;
508      for (i = 0; i < 6; i++) {
509        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1682)");
510      }
511    };
512   };
513
514
515   {
516    int order = 102;
517    int side = 141;
518    int uplo = 121;
519    int trans = 112;
520    int diag = 132;
521    int M = 2;
522    int N = 3;
523    float alpha = 0.1f;
524    float A[] = { 0.962f, 0.912f, -0.238f, -0.336f };
525    int lda = 2;
526    float B[] = { -0.666f, 0.066f, -0.176f, 0.402f, 0.286f, -0.703f };
527    int ldb = 2;
528    float B_expected[] = { -0.0666f, 0.0224508f, -0.0176f, 0.0443888f, 0.0286f, -0.0771068f };
529    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
530    {
531      int i;
532      for (i = 0; i < 6; i++) {
533        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1683)");
534      }
535    };
536   };
537
538
539   {
540    int order = 102;
541    int side = 141;
542    int uplo = 122;
543    int trans = 112;
544    int diag = 131;
545    int M = 2;
546    int N = 3;
547    float alpha = 0.1f;
548    float A[] = { 0.859f, -0.547f, 0.076f, 0.542f };
549    int lda = 2;
550    float B[] = { 0.402f, 0.945f, -0.242f, -0.062f, 0.714f, 0.468f };
551    int ldb = 2;
552    float B_expected[] = { -0.0171597f, 0.051219f, -0.0173964f, -0.0033604f, 0.035733f, 0.0253656f };
553    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
554    {
555      int i;
556      for (i = 0; i < 6; i++) {
557        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1684)");
558      }
559    };
560   };
561
562
563   {
564    int order = 102;
565    int side = 141;
566    int uplo = 122;
567    int trans = 112;
568    int diag = 132;
569    int M = 2;
570    int N = 3;
571    float alpha = 0.1f;
572    float A[] = { -0.779f, 0.435f, 0.612f, -0.723f };
573    int lda = 2;
574    float B[] = { 0.512f, -0.987f, -0.167f, 0.047f, -0.701f, -0.25f };
575    int ldb = 2;
576    float B_expected[] = { 0.0082655f, -0.0987f, -0.0146555f, 0.0047f, -0.080975f, -0.025f };
577    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
578    {
579      int i;
580      for (i = 0; i < 6; i++) {
581        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1685)");
582      }
583    };
584   };
585
586
587   {
588    int order = 101;
589    int side = 142;
590    int uplo = 121;
591    int trans = 112;
592    int diag = 131;
593    int M = 2;
594    int N = 3;
595    float alpha = 0.1f;
596    float A[] = { -0.757f, 0.396f, -0.927f, -0.558f, -0.289f, -0.66f, 0.83f, 0.363f, -0.13f };
597    int lda = 3;
598    float B[] = { 0.041f, 0.333f, -0.682f, 0.193f, 0.581f, 0.963f };
599    int ldb = 3;
600    float B_expected[] = { 0.0733045f, 0.0353883f, 0.008866f, -0.0808726f, -0.0803489f, -0.012519f };
601    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
602    {
603      int i;
604      for (i = 0; i < 6; i++) {
605        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1686)");
606      }
607    };
608   };
609
610
611   {
612    int order = 101;
613    int side = 142;
614    int uplo = 121;
615    int trans = 112;
616    int diag = 132;
617    int M = 2;
618    int N = 3;
619    float alpha = 0.1f;
620    float A[] = { -0.75f, 0.674f, -0.576f, 0.376f, -0.46f, -0.813f, 0.419f, 0.792f, 0.226f };
621    int lda = 3;
622    float B[] = { 0.511f, -0.544f, 0.938f, -0.126f, -0.873f, 0.118f };
623    int ldb = 3;
624    float B_expected[] = { -0.0395944f, -0.130659f, 0.0938f, -0.078237f, -0.0968934f, 0.0118f };
625    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
626    {
627      int i;
628      for (i = 0; i < 6; i++) {
629        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1687)");
630      }
631    };
632   };
633
634
635   {
636    int order = 101;
637    int side = 142;
638    int uplo = 122;
639    int trans = 112;
640    int diag = 131;
641    int M = 2;
642    int N = 3;
643    float alpha = 0.1f;
644    float A[] = { -0.045f, -0.809f, 0.654f, 0.611f, -0.038f, -0.105f, -0.946f, 0.474f, -0.097f };
645    int lda = 3;
646    float B[] = { -0.625f, -0.123f, -0.48f, -0.088f, -0.757f, 0.974f };
647    int ldb = 3;
648    float B_expected[] = { 0.0028125f, -0.0377201f, 0.0579508f, 3.96e-04f, -0.0025002f, -0.0370048f };
649    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
650    {
651      int i;
652      for (i = 0; i < 6; i++) {
653        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1688)");
654      }
655    };
656   };
657
658
659   {
660    int order = 101;
661    int side = 142;
662    int uplo = 122;
663    int trans = 112;
664    int diag = 132;
665    int M = 2;
666    int N = 3;
667    float alpha = 0.1f;
668    float A[] = { 0.713f, 0.781f, 0.084f, -0.498f, 0.692f, 0.125f, 0.706f, -0.118f, -0.907f };
669    int lda = 3;
670    float B[] = { 0.442f, -0.563f, 0.065f, -0.18f, 0.63f, -0.328f };
671    int ldb = 3;
672    float B_expected[] = { 0.0442f, -0.0783116f, 0.0443486f, -0.018f, 0.071964f, -0.052942f };
673    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
674    {
675      int i;
676      for (i = 0; i < 6; i++) {
677        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1689)");
678      }
679    };
680   };
681
682
683   {
684    int order = 102;
685    int side = 142;
686    int uplo = 121;
687    int trans = 112;
688    int diag = 131;
689    int M = 2;
690    int N = 3;
691    float alpha = 0.1f;
692    float A[] = { -0.442f, 0.566f, 0.064f, 0.962f, -0.669f, 0.416f, 0.761f, -0.359f, 0.863f };
693    int lda = 3;
694    float B[] = { 0.261f, -0.659f, -0.536f, 0.694f, -0.305f, -0.675f };
695    int ldb = 2;
696    float B_expected[] = { -0.0863099f, 0.0445231f, 0.0468079f, -0.0221961f, -0.0263215f, -0.0582525f };
697    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
698    {
699      int i;
700      for (i = 0; i < 6; i++) {
701        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1690)");
702      }
703    };
704   };
705
706
707   {
708    int order = 102;
709    int side = 142;
710    int uplo = 121;
711    int trans = 112;
712    int diag = 132;
713    int M = 2;
714    int N = 3;
715    float alpha = 0.1f;
716    float A[] = { 0.386f, 0.643f, -0.028f, -0.758f, -0.63f, -0.043f, 0.666f, -0.088f, 0.382f };
717    int lda = 3;
718    float B[] = { -0.241f, 0.766f, 0.656f, -0.977f, 0.274f, 0.565f };
719    int ldb = 2;
720    float B_expected[] = { -0.0555764f, 0.188286f, 0.0631888f, -0.102672f, 0.0274f, 0.0565f };
721    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
722    {
723      int i;
724      for (i = 0; i < 6; i++) {
725        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1691)");
726      }
727    };
728   };
729
730
731   {
732    int order = 102;
733    int side = 142;
734    int uplo = 122;
735    int trans = 112;
736    int diag = 131;
737    int M = 2;
738    int N = 3;
739    float alpha = 0.1f;
740    float A[] = { -0.855f, -0.587f, 0.062f, 0.372f, 0.48f, -0.63f, -0.786f, -0.437f, -0.431f };
741    int lda = 3;
742    float B[] = { 0.116f, 0.534f, 0.043f, 0.73f, 0.945f, 0.528f };
743    int ldb = 2;
744    float B_expected[] = { -0.009918f, -0.045657f, -0.0047452f, 0.0036942f, -0.0427193f, -0.065436f };
745    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
746    {
747      int i;
748      for (i = 0; i < 6; i++) {
749        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1692)");
750      }
751    };
752   };
753
754
755   {
756    int order = 102;
757    int side = 142;
758    int uplo = 122;
759    int trans = 112;
760    int diag = 132;
761    int M = 2;
762    int N = 3;
763    float alpha = 0.1f;
764    float A[] = { -0.068f, 0.119f, -0.244f, -0.05f, 0.685f, 0.752f, -0.059f, -0.935f, -0.571f };
765    int lda = 3;
766    float B[] = { -0.753f, -0.319f, 0.164f, 0.979f, 0.885f, -0.822f };
767    int ldb = 2;
768    float B_expected[] = { -0.0753f, -0.0319f, 0.0074393f, 0.0941039f, 0.119206f, -7.956e-04f };
769    cblas_strmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
770    {
771      int i;
772      for (i = 0; i < 6; i++) {
773        gsl_test_rel(B[i], B_expected[i], flteps, "strmm(case 1693)");
774      }
775    };
776   };
777
778
779   {
780    int order = 101;
781    int side = 141;
782    int uplo = 121;
783    int trans = 111;
784    int diag = 131;
785    int M = 2;
786    int N = 3;
787    double alpha = -0.3;
788    double A[] = { 0.174, -0.308, 0.997, -0.484 };
789    int lda = 2;
790    double B[] = { -0.256, -0.178, 0.098, 0.004, 0.97, -0.408 };
791    int ldb = 3;
792    double B_expected[] = { 0.0137328, 0.0989196, -0.0428148, 5.808e-04, 0.140844, -0.0592416 };
793    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
794    {
795      int i;
796      for (i = 0; i < 6; i++) {
797        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1694)");
798      }
799    };
800   };
801
802
803   {
804    int order = 101;
805    int side = 141;
806    int uplo = 121;
807    int trans = 111;
808    int diag = 132;
809    int M = 2;
810    int N = 3;
811    double alpha = -0.3;
812    double A[] = { 0.722, -0.372, 0.466, -0.831 };
813    int lda = 2;
814    double B[] = { 0.322, -0.183, 0.849, -0.051, -0.343, -0.98 };
815    int ldb = 3;
816    double B_expected[] = { -0.1022916, 0.0166212, -0.364068, 0.0153, 0.1029, 0.294 };
817    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
818    {
819      int i;
820      for (i = 0; i < 6; i++) {
821        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1695)");
822      }
823    };
824   };
825
826
827   {
828    int order = 101;
829    int side = 141;
830    int uplo = 122;
831    int trans = 111;
832    int diag = 131;
833    int M = 2;
834    int N = 3;
835    double alpha = -0.3;
836    double A[] = { -0.656, -0.066, 0.582, 0.141 };
837    int lda = 2;
838    double B[] = { 0.73, 0.407, 0.721, 0.086, -0.294, 0.941 };
839    int ldb = 3;
840    double B_expected[] = { 0.143664, 0.0800976, 0.1418928, -0.1310958, -0.058626, -0.1656909 };
841    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
842    {
843      int i;
844      for (i = 0; i < 6; i++) {
845        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1696)");
846      }
847    };
848   };
849
850
851   {
852    int order = 101;
853    int side = 141;
854    int uplo = 122;
855    int trans = 111;
856    int diag = 132;
857    int M = 2;
858    int N = 3;
859    double alpha = -0.3;
860    double A[] = { -0.341, 0.386, -0.578, 0.863 };
861    int lda = 2;
862    double B[] = { -0.306, -0.047, -0.162, -0.784, 0.472, 0.137 };
863    int ldb = 3;
864    double B_expected[] = { 0.0918, 0.0141, 0.0486, 0.1821396, -0.1497498, -0.0691908 };
865    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
866    {
867      int i;
868      for (i = 0; i < 6; i++) {
869        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1697)");
870      }
871    };
872   };
873
874
875   {
876    int order = 102;
877    int side = 141;
878    int uplo = 121;
879    int trans = 111;
880    int diag = 131;
881    int M = 2;
882    int N = 3;
883    double alpha = -0.3;
884    double A[] = { 0.844, -0.832, 0.179, -0.775 };
885    int lda = 2;
886    double B[] = { -0.415, -0.547, -0.023, 0.42, 0.917, 0.485 };
887    int ldb = 2;
888    double B_expected[] = { 0.1344519, -0.1271775, -0.0167304, 0.09765, -0.2582289, 0.1127625 };
889    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
890    {
891      int i;
892      for (i = 0; i < 6; i++) {
893        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1698)");
894      }
895    };
896   };
897
898
899   {
900    int order = 102;
901    int side = 141;
902    int uplo = 121;
903    int trans = 111;
904    int diag = 132;
905    int M = 2;
906    int N = 3;
907    double alpha = -0.3;
908    double A[] = { 0.239, 0.34, 0.964, -0.575 };
909    int lda = 2;
910    double B[] = { 0.762, -0.038, -0.8, 0.626, -0.701, 0.639 };
911    int ldb = 2;
912    double B_expected[] = { -0.2176104, 0.0114, 0.0589608, -0.1878, 0.0255012, -0.1917 };
913    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
914    {
915      int i;
916      for (i = 0; i < 6; i++) {
917        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1699)");
918      }
919    };
920   };
921
922
923   {
924    int order = 102;
925    int side = 141;
926    int uplo = 122;
927    int trans = 111;
928    int diag = 131;
929    int M = 2;
930    int N = 3;
931    double alpha = -0.3;
932    double A[] = { 0.785, -0.0, -0.592, -0.661 };
933    int lda = 2;
934    double B[] = { -0.215, 0.953, 0.527, -0.418, -0.675, 0.283 };
935    int ldb = 2;
936    double B_expected[] = { 0.0506325, 0.1889799, -0.1241085, -0.0828894, 0.1589625, 0.0561189 };
937    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
938    {
939      int i;
940      for (i = 0; i < 6; i++) {
941        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1700)");
942      }
943    };
944   };
945
946
947   {
948    int order = 102;
949    int side = 141;
950    int uplo = 122;
951    int trans = 111;
952    int diag = 132;
953    int M = 2;
954    int N = 3;
955    double alpha = -0.3;
956    double A[] = { -0.423, -0.807, -0.683, -0.225 };
957    int lda = 2;
958    double B[] = { 0.149, -0.129, 0.149, -0.234, 0.275, 0.658 };
959    int ldb = 2;
960    double B_expected[] = { -0.0447, 0.0747729, -0.0447, 0.1062729, -0.0825, -0.1308225 };
961    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
962    {
963      int i;
964      for (i = 0; i < 6; i++) {
965        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1701)");
966      }
967    };
968   };
969
970
971   {
972    int order = 101;
973    int side = 142;
974    int uplo = 121;
975    int trans = 111;
976    int diag = 131;
977    int M = 2;
978    int N = 3;
979    double alpha = -0.3;
980    double A[] = { -0.276, 0.434, 0.917, 0.682, -0.32, 0.557, -0.302, 0.989, -0.043 };
981    int lda = 3;
982    double B[] = { -0.943, 0.839, 0.759, 0.752, 0.807, 0.288 };
983    int ldb = 3;
984    double B_expected[] = { -0.0780804, 0.2033226, 0.1290135, 0.0622656, -0.0204384, -0.3380097 };
985    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
986    {
987      int i;
988      for (i = 0; i < 6; i++) {
989        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1702)");
990      }
991    };
992   };
993
994
995   {
996    int order = 101;
997    int side = 142;
998    int uplo = 121;
999    int trans = 111;
1000    int diag = 132;
1001    int M = 2;
1002    int N = 3;
1003    double alpha = -0.3;
1004    double A[] = { -0.731, -0.953, -0.666, 0.684, 0.38, 0.419, -0.361, 0.378, -0.423 };
1005    int lda = 3;
1006    double B[] = { -0.983, 0.479, -0.136, 0.048, 0.745, -0.408 };
1007    int ldb = 3;
1008    double B_expected[] = { 0.2949, -0.4247397, -0.2158137, -0.0144, -0.2097768, 0.0383439 };
1009    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1010    {
1011      int i;
1012      for (i = 0; i < 6; i++) {
1013        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1703)");
1014      }
1015    };
1016   };
1017
1018
1019   {
1020    int order = 101;
1021    int side = 142;
1022    int uplo = 122;
1023    int trans = 111;
1024    int diag = 131;
1025    int M = 2;
1026    int N = 3;
1027    double alpha = -0.3;
1028    double A[] = { -0.953, -0.983, 0.237, 0.128, -0.378, 0.607, 0.41, 0.418, -0.221 };
1029    int lda = 3;
1030    double B[] = { -0.561, -0.114, -0.148, 0.488, 0.146, -0.688 };
1031    int ldb = 3;
1032    double B_expected[] = { -0.1378083, 0.0056316, -0.0098124, 0.2185368, 0.1028316, -0.0456144 };
1033    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1034    {
1035      int i;
1036      for (i = 0; i < 6; i++) {
1037        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1704)");
1038      }
1039    };
1040   };
1041
1042
1043   {
1044    int order = 101;
1045    int side = 142;
1046    int uplo = 122;
1047    int trans = 111;
1048    int diag = 132;
1049    int M = 2;
1050    int N = 3;
1051    double alpha = -0.3;
1052    double A[] = { 0.277, -0.587, 0.885, -0.933, -0.582, 0.528, 0.268, -0.804, 0.62 };
1053    int lda = 3;
1054    double B[] = { -0.831, -0.319, -0.547, -0.577, 0.295, -0.31 };
1055    int ldb = 3;
1056    double B_expected[] = { 0.2039907, -0.0362364, 0.1641, 0.2805945, -0.163272, 0.093 };
1057    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1058    {
1059      int i;
1060      for (i = 0; i < 6; i++) {
1061        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1705)");
1062      }
1063    };
1064   };
1065
1066
1067   {
1068    int order = 102;
1069    int side = 142;
1070    int uplo = 121;
1071    int trans = 111;
1072    int diag = 131;
1073    int M = 2;
1074    int N = 3;
1075    double alpha = -0.3;
1076    double A[] = { 0.256, 0.554, 0.342, 0.318, -0.824, -0.119, -0.399, -0.653, -0.83 };
1077    int lda = 3;
1078    double B[] = { -0.577, 0.861, -0.439, -0.916, 0.452, -0.168 };
1079    int ldb = 2;
1080    double B_expected[] = { 0.0443136, -0.0661248, -0.053475, -0.3085746, -0.042519, -0.1182147 };
1081    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1082    {
1083      int i;
1084      for (i = 0; i < 6; i++) {
1085        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1706)");
1086      }
1087    };
1088   };
1089
1090
1091   {
1092    int order = 102;
1093    int side = 142;
1094    int uplo = 121;
1095    int trans = 111;
1096    int diag = 132;
1097    int M = 2;
1098    int N = 3;
1099    double alpha = -0.3;
1100    double A[] = { 0.837, -0.03, 0.552, -0.43, 0.841, 0.035, 0.7, 0.637, 0.095 };
1101    int lda = 3;
1102    double B[] = { -0.82, -0.362, -0.252, -0.062, -0.942, -0.299 };
1103    int ldb = 2;
1104    double B_expected[] = { 0.246, 0.1086, -0.03018, -0.028098, 0.5029572, 0.1775682 };
1105    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1106    {
1107      int i;
1108      for (i = 0; i < 6; i++) {
1109        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1707)");
1110      }
1111    };
1112   };
1113
1114
1115   {
1116    int order = 102;
1117    int side = 142;
1118    int uplo = 122;
1119    int trans = 111;
1120    int diag = 131;
1121    int M = 2;
1122    int N = 3;
1123    double alpha = -0.3;
1124    double A[] = { -0.074, 0.49, 0.802, -0.454, 0.626, 0.123, -0.959, 0.971, 0.75 };
1125    int lda = 3;
1126    double B[] = { -0.545, -0.107, 0.096, 0.183, 0.185, -0.218 };
1127    int ldb = 2;
1128    double B_expected[] = { -0.070722, 0.0231744, -0.0248553, -0.0263232, -0.041625, 0.04905 };
1129    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1130    {
1131      int i;
1132      for (i = 0; i < 6; i++) {
1133        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1708)");
1134      }
1135    };
1136   };
1137
1138
1139   {
1140    int order = 102;
1141    int side = 142;
1142    int uplo = 122;
1143    int trans = 111;
1144    int diag = 132;
1145    int M = 2;
1146    int N = 3;
1147    double alpha = -0.3;
1148    double A[] = { 0.048, 0.148, 0.834, -0.98, -0.009, -0.727, 0.241, 0.276, 0.518 };
1149    int lda = 3;
1150    double B[] = { -0.664, -0.136, -0.793, -0.742, 0.126, -0.131 };
1151    int ldb = 2;
1152    double B_expected[] = { 0.202884, 0.106521, 0.2653806, 0.1940289, -0.0378, 0.0393 };
1153    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1154    {
1155      int i;
1156      for (i = 0; i < 6; i++) {
1157        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1709)");
1158      }
1159    };
1160   };
1161
1162
1163   {
1164    int order = 101;
1165    int side = 141;
1166    int uplo = 121;
1167    int trans = 112;
1168    int diag = 131;
1169    int M = 2;
1170    int N = 3;
1171    double alpha = 0.1;
1172    double A[] = { 0.427, 0.495, 0.282, 0.158 };
1173    int lda = 2;
1174    double B[] = { 0.899, -0.375, 0.376, -0.831, 0.431, -0.387 };
1175    int ldb = 3;
1176    double B_expected[] = { 0.0383873, -0.0160125, 0.0160552, 0.0313707, -0.0117527, 0.0124974 };
1177    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1178    {
1179      int i;
1180      for (i = 0; i < 6; i++) {
1181        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1710)");
1182      }
1183    };
1184   };
1185
1186
1187   {
1188    int order = 101;
1189    int side = 141;
1190    int uplo = 121;
1191    int trans = 112;
1192    int diag = 132;
1193    int M = 2;
1194    int N = 3;
1195    double alpha = 0.1;
1196    double A[] = { 0.632, -0.174, 0.608, -0.669 };
1197    int lda = 2;
1198    double B[] = { -0.335, 0.535, -0.978, 0.31, 0.023, -0.853 };
1199    int ldb = 3;
1200    double B_expected[] = { -0.0335, 0.0535, -0.0978, 0.036829, -0.007009, -0.0682828 };
1201    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1202    {
1203      int i;
1204      for (i = 0; i < 6; i++) {
1205        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1711)");
1206      }
1207    };
1208   };
1209
1210
1211   {
1212    int order = 101;
1213    int side = 141;
1214    int uplo = 122;
1215    int trans = 112;
1216    int diag = 131;
1217    int M = 2;
1218    int N = 3;
1219    double alpha = 0.1;
1220    double A[] = { -0.779, -0.73, 0.343, -0.665 };
1221    int lda = 2;
1222    double B[] = { -0.976, -0.2, 0.661, -0.975, -0.965, -0.861 };
1223    int ldb = 3;
1224    double B_expected[] = { 0.0425879, -0.0175195, -0.0810242, 0.0648375, 0.0641725, 0.0572565 };
1225    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1226    {
1227      int i;
1228      for (i = 0; i < 6; i++) {
1229        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1712)");
1230      }
1231    };
1232   };
1233
1234
1235   {
1236    int order = 101;
1237    int side = 141;
1238    int uplo = 122;
1239    int trans = 112;
1240    int diag = 132;
1241    int M = 2;
1242    int N = 3;
1243    double alpha = 0.1;
1244    double A[] = { -0.127, -0.634, -0.384, -0.815 };
1245    int lda = 2;
1246    double B[] = { -0.348, 0.748, 0.893, 0.91, 0.153, -0.408 };
1247    int ldb = 3;
1248    double B_expected[] = { -0.069744, 0.0689248, 0.1049672, 0.091, 0.0153, -0.0408 };
1249    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1250    {
1251      int i;
1252      for (i = 0; i < 6; i++) {
1253        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1713)");
1254      }
1255    };
1256   };
1257
1258
1259   {
1260    int order = 102;
1261    int side = 141;
1262    int uplo = 121;
1263    int trans = 112;
1264    int diag = 131;
1265    int M = 2;
1266    int N = 3;
1267    double alpha = 0.1;
1268    double A[] = { -0.603, -0.617, 0.402, -0.918 };
1269    int lda = 2;
1270    double B[] = { 0.051, -0.096, 0.476, 0.377, 0.931, 0.291 };
1271    int ldb = 2;
1272    double B_expected[] = { -0.0030753, 0.010863, -0.0287028, -0.0154734, -0.0561393, 0.0107124 };
1273    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1274    {
1275      int i;
1276      for (i = 0; i < 6; i++) {
1277        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1714)");
1278      }
1279    };
1280   };
1281
1282
1283   {
1284    int order = 102;
1285    int side = 141;
1286    int uplo = 121;
1287    int trans = 112;
1288    int diag = 132;
1289    int M = 2;
1290    int N = 3;
1291    double alpha = 0.1;
1292    double A[] = { 0.67, -0.475, 0.032, -0.036 };
1293    int lda = 2;
1294    double B[] = { -0.19, 0.829, 0.942, 0.885, 0.087, 0.321 };
1295    int ldb = 2;
1296    double B_expected[] = { -0.019, 0.082292, 0.0942, 0.0915144, 0.0087, 0.0323784 };
1297    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1298    {
1299      int i;
1300      for (i = 0; i < 6; i++) {
1301        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1715)");
1302      }
1303    };
1304   };
1305
1306
1307   {
1308    int order = 102;
1309    int side = 141;
1310    int uplo = 122;
1311    int trans = 112;
1312    int diag = 131;
1313    int M = 2;
1314    int N = 3;
1315    double alpha = 0.1;
1316    double A[] = { -0.64, 0.595, 0.642, -0.921 };
1317    int lda = 2;
1318    double B[] = { -0.278, -0.83, 0.922, -0.701, -0.598, -0.232 };
1319    int ldb = 2;
1320    double B_expected[] = { -0.031593, 0.076443, -0.1007175, 0.0645621, 0.024468, 0.0213672 };
1321    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1322    {
1323      int i;
1324      for (i = 0; i < 6; i++) {
1325        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1716)");
1326      }
1327    };
1328   };
1329
1330
1331   {
1332    int order = 102;
1333    int side = 141;
1334    int uplo = 122;
1335    int trans = 112;
1336    int diag = 132;
1337    int M = 2;
1338    int N = 3;
1339    double alpha = 0.1;
1340    double A[] = { 0.842, 0.625, 0.967, 0.341 };
1341    int lda = 2;
1342    double B[] = { -0.679, -0.846, -0.921, 0.672, 0.292, 0.752 };
1343    int ldb = 2;
1344    double B_expected[] = { -0.120775, -0.0846, -0.0501, 0.0672, 0.0762, 0.0752 };
1345    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1346    {
1347      int i;
1348      for (i = 0; i < 6; i++) {
1349        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1717)");
1350      }
1351    };
1352   };
1353
1354
1355   {
1356    int order = 101;
1357    int side = 142;
1358    int uplo = 121;
1359    int trans = 112;
1360    int diag = 131;
1361    int M = 2;
1362    int N = 3;
1363    double alpha = 0.1;
1364    double A[] = { -0.612, 0.593, 0.113, -0.658, 0.703, -0.023, -0.384, 0.439, 0.958 };
1365    int lda = 3;
1366    double B[] = { -0.858, -0.559, 0.499, -0.114, 0.57, 0.847 };
1367    int ldb = 3;
1368    double B_expected[] = { 0.0249996, -0.0404454, 0.0478042, 0.0503489, 0.0381229, 0.0811426 };
1369    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1370    {
1371      int i;
1372      for (i = 0; i < 6; i++) {
1373        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1718)");
1374      }
1375    };
1376   };
1377
1378
1379   {
1380    int order = 101;
1381    int side = 142;
1382    int uplo = 121;
1383    int trans = 112;
1384    int diag = 132;
1385    int M = 2;
1386    int N = 3;
1387    double alpha = 0.1;
1388    double A[] = { 0.844, 0.205, -0.692, -0.401, -0.823, 0.342, -0.384, 0.344, 0.18 };
1389    int lda = 3;
1390    double B[] = { 0.823, -0.181, 0.141, 0.932, 0.097, -0.636 };
1391    int ldb = 3;
1392    double B_expected[] = { 0.0688323, -0.0132778, 0.0141, 0.1391997, -0.0120512, -0.0636 };
1393    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1394    {
1395      int i;
1396      for (i = 0; i < 6; i++) {
1397        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1719)");
1398      }
1399    };
1400   };
1401
1402
1403   {
1404    int order = 101;
1405    int side = 142;
1406    int uplo = 122;
1407    int trans = 112;
1408    int diag = 131;
1409    int M = 2;
1410    int N = 3;
1411    double alpha = 0.1;
1412    double A[] = { 0.065, 0.678, 0.044, -0.472, 0.932, -0.388, 0.432, -0.167, -0.277 };
1413    int lda = 3;
1414    double B[] = { 0.675, -0.468, -0.564, 0.71, -0.624, 0.023 };
1415    int ldb = 3;
1416    double B_expected[] = { 0.0043875, -0.0754776, 0.0525984, 0.004615, -0.0916688, 0.0404557 };
1417    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1418    {
1419      int i;
1420      for (i = 0; i < 6; i++) {
1421        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1720)");
1422      }
1423    };
1424   };
1425
1426
1427   {
1428    int order = 101;
1429    int side = 142;
1430    int uplo = 122;
1431    int trans = 112;
1432    int diag = 132;
1433    int M = 2;
1434    int N = 3;
1435    double alpha = 0.1;
1436    double A[] = { 0.649, -0.171, -0.462, 0.593, 0.131, -0.317, -0.254, -0.948, 0.002 };
1437    int lda = 3;
1438    double B[] = { -0.519, -0.501, -0.024, -0.767, -0.591, -0.738 };
1439    int ldb = 3;
1440    double B_expected[] = { -0.0519, -0.0808767, 0.0582774, -0.0767, -0.1045831, 0.0017086 };
1441    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1442    {
1443      int i;
1444      for (i = 0; i < 6; i++) {
1445        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1721)");
1446      }
1447    };
1448   };
1449
1450
1451   {
1452    int order = 102;
1453    int side = 142;
1454    int uplo = 121;
1455    int trans = 112;
1456    int diag = 131;
1457    int M = 2;
1458    int N = 3;
1459    double alpha = 0.1;
1460    double A[] = { -0.023, -0.872, -0.313, -0.698, 0.06, -0.838, -0.455, -0.715, -0.257 };
1461    int lda = 3;
1462    double B[] = { -0.17, -0.184, -0.243, 0.907, -0.423, 0.665 };
1463    int ldb = 2;
1464    double B_expected[] = { 0.0365989, -0.0931429, 0.0287865, -0.0421055, 0.0108711, -0.0170905 };
1465    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1466    {
1467      int i;
1468      for (i = 0; i < 6; i++) {
1469        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1722)");
1470      }
1471    };
1472   };
1473
1474
1475   {
1476    int order = 102;
1477    int side = 142;
1478    int uplo = 121;
1479    int trans = 112;
1480    int diag = 132;
1481    int M = 2;
1482    int N = 3;
1483    double alpha = 0.1;
1484    double A[] = { 0.792, 0.338, -0.155, 0.009, 0.485, -0.633, -0.08, -0.579, 0.223 };
1485    int lda = 3;
1486    double B[] = { -0.19, 0.201, 0.685, 0.663, 0.302, -0.506 };
1487    int ldb = 2;
1488    double B_expected[] = { -0.0207995, 0.0247447, 0.0510142, 0.0955974, 0.0302, -0.0506 };
1489    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1490    {
1491      int i;
1492      for (i = 0; i < 6; i++) {
1493        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1723)");
1494      }
1495    };
1496   };
1497
1498
1499   {
1500    int order = 102;
1501    int side = 142;
1502    int uplo = 122;
1503    int trans = 112;
1504    int diag = 131;
1505    int M = 2;
1506    int N = 3;
1507    double alpha = 0.1;
1508    double A[] = { -0.076, 0.103, -0.021, -0.866, 0.777, 0.723, 0.378, 0.98, -0.32 };
1509    int lda = 3;
1510    double B[] = { 0.739, -0.996, 0.182, 0.626, 0.291, -0.267 };
1511    int ldb = 2;
1512    double B_expected[] = { -0.0056164, 0.0075696, 0.0217531, 0.0383814, 0.0022947, 0.0558954 };
1513    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1514    {
1515      int i;
1516      for (i = 0; i < 6; i++) {
1517        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1724)");
1518      }
1519    };
1520   };
1521
1522
1523   {
1524    int order = 102;
1525    int side = 142;
1526    int uplo = 122;
1527    int trans = 112;
1528    int diag = 132;
1529    int M = 2;
1530    int N = 3;
1531    double alpha = 0.1;
1532    double A[] = { 0.469, 0.822, -0.619, 0.953, -0.706, 0.318, 0.559, -0.68, -0.208 };
1533    int lda = 3;
1534    double B[] = { 0.362, 0.719, -0.661, -0.504, 0.595, -0.771 };
1535    int ldb = 2;
1536    double B_expected[] = { 0.0362, 0.0719, -0.0363436, 0.0087018, 0.0160724, -0.1376333 };
1537    cblas_dtrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1538    {
1539      int i;
1540      for (i = 0; i < 6; i++) {
1541        gsl_test_rel(B[i], B_expected[i], dbleps, "dtrmm(case 1725)");
1542      }
1543    };
1544   };
1545
1546
1547   {
1548    int order = 101;
1549    int side = 141;
1550    int uplo = 121;
1551    int trans = 111;
1552    int diag = 131;
1553    int M = 2;
1554    int N = 3;
1555    float alpha[2] = {-1.0f, 0.0f};
1556    float A[] = { -0.023f, 0.762f, -0.687f, -0.039f, -0.459f, 0.047f, 0.189f, 0.33f };
1557    int lda = 2;
1558    float B[] = { 0.827f, -0.561f, 0.641f, -0.229f, -0.884f, -0.533f, -0.624f, -0.138f, 0.073f, 0.924f, -0.501f, -0.164f };
1559    int ldb = 3;
1560    float B_expected[] = { -0.831767f, -0.762219f, -0.14564f, 0.143926f, -0.764269f, 0.529142f, 0.072396f, 0.232002f, 0.291123f, -0.198726f, 0.040569f, 0.196326f };
1561    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1562    {
1563      int i;
1564      for (i = 0; i < 6; i++) {
1565        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1726) real");
1566        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1726) imag");
1567      };
1568    };
1569   };
1570
1571
1572   {
1573    int order = 101;
1574    int side = 141;
1575    int uplo = 121;
1576    int trans = 111;
1577    int diag = 132;
1578    int M = 2;
1579    int N = 3;
1580    float alpha[2] = {-1.0f, 0.0f};
1581    float A[] = { 0.24f, 0.581f, 0.06f, 0.064f, 0.981f, 0.792f, 0.242f, -0.529f };
1582    int lda = 2;
1583    float B[] = { -0.649f, -0.774f, -0.43f, -0.447f, -0.266f, 0.285f, 0.787f, 0.274f, 0.449f, -0.912f, 0.435f, 0.601f };
1584    int ldb = 3;
1585    float B_expected[] = { 0.619316f, 0.707192f, 0.344692f, 0.472984f, 0.278364f, -0.3489f, -0.787f, -0.274f, -0.449f, 0.912f, -0.435f, -0.601f };
1586    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1587    {
1588      int i;
1589      for (i = 0; i < 6; i++) {
1590        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1727) real");
1591        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1727) imag");
1592      };
1593    };
1594   };
1595
1596
1597   {
1598    int order = 101;
1599    int side = 141;
1600    int uplo = 122;
1601    int trans = 111;
1602    int diag = 131;
1603    int M = 2;
1604    int N = 3;
1605    float alpha[2] = {-1.0f, 0.0f};
1606    float A[] = { 0.68f, -0.728f, -0.59f, -0.434f, -0.936f, 0.915f, 0.236f, -0.118f };
1607    int lda = 2;
1608    float B[] = { 0.461f, 0.48f, 0.224f, 0.215f, -0.419f, -0.525f, 0.113f, -0.582f, 0.468f, 0.269f, 0.943f, -0.587f };
1609    int ldb = 3;
1610    float B_expected[] = { -0.66292f, 0.009208f, -0.30884f, 0.016872f, 0.66712f, 0.051968f, 0.912704f, 0.178151f, 0.264199f, -0.01198f, -1.02584f, 0.141791f };
1611    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1612    {
1613      int i;
1614      for (i = 0; i < 6; i++) {
1615        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1728) real");
1616        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1728) imag");
1617      };
1618    };
1619   };
1620
1621
1622   {
1623    int order = 101;
1624    int side = 141;
1625    int uplo = 122;
1626    int trans = 111;
1627    int diag = 132;
1628    int M = 2;
1629    int N = 3;
1630    float alpha[2] = {-1.0f, 0.0f};
1631    float A[] = { 0.699f, -0.709f, -0.775f, 0.779f, 0.5f, 0.774f, -0.399f, -0.843f };
1632    int lda = 2;
1633    float B[] = { 0.538f, 0.556f, -0.186f, -0.678f, -0.413f, -0.612f, -0.216f, -0.519f, -0.344f, -0.578f, -0.938f, -0.848f };
1634    int ldb = 3;
1635    float B_expected[] = { -0.538f, -0.556f, 0.186f, 0.678f, 0.413f, 0.612f, 0.377344f, -0.175412f, -0.087772f, 1.06096f, 0.670812f, 1.47366f };
1636    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1637    {
1638      int i;
1639      for (i = 0; i < 6; i++) {
1640        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1729) real");
1641        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1729) imag");
1642      };
1643    };
1644   };
1645
1646
1647   {
1648    int order = 102;
1649    int side = 141;
1650    int uplo = 121;
1651    int trans = 111;
1652    int diag = 131;
1653    int M = 2;
1654    int N = 3;
1655    float alpha[2] = {-1.0f, 0.0f};
1656    float A[] = { 0.527f, 0.318f, -0.224f, 0.547f, -0.765f, -0.469f, 0.233f, 0.023f };
1657    int lda = 2;
1658    float B[] = { 0.54f, -0.418f, -0.892f, -0.118f, -0.296f, 0.019f, 0.786f, -0.145f, 0.136f, 0.472f, 0.731f, 0.333f };
1659    int ldb = 2;
1660    float B_expected[] = { -1.04454f, -0.460052f, 0.205122f, 0.04801f, 0.831329f, 0.341824f, -0.186473f, 0.015707f, 0.481462f, 0.305592f, -0.162664f, -0.094402f };
1661    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1662    {
1663      int i;
1664      for (i = 0; i < 6; i++) {
1665        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1730) real");
1666        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1730) imag");
1667      };
1668    };
1669   };
1670
1671
1672   {
1673    int order = 102;
1674    int side = 141;
1675    int uplo = 121;
1676    int trans = 111;
1677    int diag = 132;
1678    int M = 2;
1679    int N = 3;
1680    float alpha[2] = {-1.0f, 0.0f};
1681    float A[] = { -0.109f, -0.852f, 0.395f, 0.871f, 0.378f, -0.493f, 0.51f, 0.973f };
1682    int lda = 2;
1683    float B[] = { -0.867f, -0.758f, 0.687f, -0.596f, -0.912f, -0.561f, -0.389f, 0.21f, -0.561f, 0.132f, 0.689f, 0.653f };
1684    int ldb = 2;
1685    float B_expected[] = { 0.901142f, 1.32198f, -0.687f, 0.596f, 0.955512f, 0.289843f, 0.389f, -0.21f, -0.021371f, -0.039157f, -0.689f, -0.653f };
1686    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1687    {
1688      int i;
1689      for (i = 0; i < 6; i++) {
1690        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1731) real");
1691        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1731) imag");
1692      };
1693    };
1694   };
1695
1696
1697   {
1698    int order = 102;
1699    int side = 141;
1700    int uplo = 122;
1701    int trans = 111;
1702    int diag = 131;
1703    int M = 2;
1704    int N = 3;
1705    float alpha[2] = {-1.0f, 0.0f};
1706    float A[] = { 0.686f, 0.349f, 0.299f, -0.462f, 0.009f, -0.693f, -0.478f, -0.617f };
1707    int lda = 2;
1708    float B[] = { -0.409f, 0.986f, -0.854f, 0.346f, 0.444f, -0.659f, 0.027f, 0.007f, 0.842f, -0.473f, 0.825f, 0.866f };
1709    int ldb = 2;
1710    float B_expected[] = { 0.624688f, -0.533655f, -0.954935f, -0.845302f, -0.534575f, 0.297118f, 0.180289f, 0.422174f, -0.742689f, 0.03062f, -0.173204f, 1.4534f };
1711    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1712    {
1713      int i;
1714      for (i = 0; i < 6; i++) {
1715        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1732) real");
1716        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1732) imag");
1717      };
1718    };
1719   };
1720
1721
1722   {
1723    int order = 102;
1724    int side = 141;
1725    int uplo = 122;
1726    int trans = 111;
1727    int diag = 132;
1728    int M = 2;
1729    int N = 3;
1730    float alpha[2] = {-1.0f, 0.0f};
1731    float A[] = { -0.286f, 0.661f, 0.372f, 0.28f, 0.482f, 0.267f, -0.436f, 0.844f };
1732    int lda = 2;
1733    float B[] = { 0.0f, -0.513f, 0.91f, 0.109f, 0.587f, -0.183f, 0.112f, 0.362f, -0.256f, -0.518f, -0.933f, 0.066f };
1734    int ldb = 2;
1735    float B_expected[] = { 0.0f, 0.513f, -1.05364f, 0.081836f, -0.587f, 0.183f, -0.381604f, -0.458284f, 0.256f, 0.518f, 0.883192f, 0.198376f };
1736    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1737    {
1738      int i;
1739      for (i = 0; i < 6; i++) {
1740        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1733) real");
1741        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1733) imag");
1742      };
1743    };
1744   };
1745
1746
1747   {
1748    int order = 101;
1749    int side = 142;
1750    int uplo = 121;
1751    int trans = 111;
1752    int diag = 131;
1753    int M = 2;
1754    int N = 3;
1755    float alpha[2] = {-1.0f, 0.0f};
1756    float A[] = { 0.678f, 0.717f, 0.228f, 0.001f, -0.16f, -0.387f, -0.281f, -0.002f, 0.623f, 0.162f, -0.594f, 0.632f, 0.566f, 0.352f, -0.411f, 0.574f, 0.314f, -0.139f };
1757    int lda = 3;
1758    float B[] = { -0.823f, -0.042f, 0.171f, -0.928f, 0.66f, 0.965f, 0.472f, 0.006f, -0.083f, 0.937f, -0.814f, 0.9f };
1759    int ldb = 3;
1760    float B_expected[] = { 0.52788f, 0.618567f, -0.069267f, 0.560841f, -0.941723f, -1.19579f, -0.315714f, -0.342492f, 0.095893f, -0.572145f, 0.746576f, 0.396912f };
1761    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1762    {
1763      int i;
1764      for (i = 0; i < 6; i++) {
1765        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1734) real");
1766        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1734) imag");
1767      };
1768    };
1769   };
1770
1771
1772   {
1773    int order = 101;
1774    int side = 142;
1775    int uplo = 121;
1776    int trans = 111;
1777    int diag = 132;
1778    int M = 2;
1779    int N = 3;
1780    float alpha[2] = {-1.0f, 0.0f};
1781    float A[] = { 0.346f, 0.915f, -0.227f, -0.066f, -0.166f, -0.921f, -0.373f, 0.312f, -0.824f, 0.699f, -0.114f, -0.152f, 0.862f, -0.077f, 0.221f, -0.757f, -0.413f, -0.494f };
1782    int lda = 3;
1783    float B[] = { -0.02f, -0.247f, -0.62f, 0.651f, -0.07f, -0.491f, 0.042f, 0.936f, 0.272f, -0.582f, 0.012f, -0.534f };
1784    int ldb = 3;
1785    float B_expected[] = { 0.02f, 0.247f, 0.631762f, -0.708389f, 0.124535f, 0.411552f, -0.042f, -0.936f, -0.324242f, 0.797244f, -0.747612f, 0.703054f };
1786    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1787    {
1788      int i;
1789      for (i = 0; i < 6; i++) {
1790        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1735) real");
1791        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1735) imag");
1792      };
1793    };
1794   };
1795
1796
1797   {
1798    int order = 101;
1799    int side = 142;
1800    int uplo = 122;
1801    int trans = 111;
1802    int diag = 131;
1803    int M = 2;
1804    int N = 3;
1805    float alpha[2] = {-1.0f, 0.0f};
1806    float A[] = { -0.493f, -0.882f, -0.82f, 0.627f, 0.301f, -0.903f, -0.092f, 0.787f, -0.426f, -0.854f, -0.993f, 0.118f, 0.615f, 0.362f, -0.238f, -0.076f, 0.817f, -0.286f };
1807    int lda = 3;
1808    float B[] = { 0.395f, 0.074f, -0.191f, -0.548f, 0.858f, 0.323f, -0.734f, 0.612f, 0.895f, 0.849f, 0.811f, 0.402f };
1809    int ldb = 3;
1810    float B_expected[] = { -0.730125f, -0.024468f, 0.566282f, -0.25448f, -0.793364f, -0.018503f, -0.504384f, -1.51274f, -0.18131f, 1.28332f, -0.777559f, -0.096488f };
1811    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1812    {
1813      int i;
1814      for (i = 0; i < 6; i++) {
1815        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1736) real");
1816        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1736) imag");
1817      };
1818    };
1819   };
1820
1821
1822   {
1823    int order = 101;
1824    int side = 142;
1825    int uplo = 122;
1826    int trans = 111;
1827    int diag = 132;
1828    int M = 2;
1829    int N = 3;
1830    float alpha[2] = {-1.0f, 0.0f};
1831    float A[] = { -0.033f, -0.383f, 0.116f, 0.797f, -0.99f, 0.765f, 0.915f, 0.002f, 0.228f, 0.077f, 0.597f, -0.454f, -0.629f, 0.424f, -0.89f, 0.339f, -0.484f, 0.169f };
1832    int lda = 3;
1833    float B[] = { -0.377f, -0.451f, -0.464f, -0.673f, 0.231f, -0.712f, -0.457f, -0.588f, 0.373f, -0.754f, -0.468f, 0.433f };
1834    int ldb = 3;
1835    float B_expected[] = { 0.643625f, 0.521931f, 0.428222f, -0.038989f, -0.231f, 0.712f, 0.003417f, 1.74795f, -0.642733f, 1.29802f, 0.468f, -0.433f };
1836    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1837    {
1838      int i;
1839      for (i = 0; i < 6; i++) {
1840        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1737) real");
1841        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1737) imag");
1842      };
1843    };
1844   };
1845
1846
1847   {
1848    int order = 102;
1849    int side = 142;
1850    int uplo = 121;
1851    int trans = 111;
1852    int diag = 131;
1853    int M = 2;
1854    int N = 3;
1855    float alpha[2] = {-1.0f, 0.0f};
1856    float A[] = { 0.946f, -0.007f, 0.677f, -0.923f, 0.651f, -0.685f, 0.591f, 0.135f, 0.171f, 0.979f, -0.029f, -0.008f, -0.049f, 0.174f, 0.578f, 0.388f, 0.187f, -0.479f };
1857    int lda = 3;
1858    float B[] = { -0.607f, -0.907f, -0.156f, -0.141f, -0.254f, 0.364f, 0.209f, 0.955f, 0.93f, 0.962f, 0.494f, 0.079f };
1859    int ldb = 2;
1860    float B_expected[] = { 0.580571f, 0.853773f, 0.148563f, 0.132294f, 0.636082f, 0.804404f, 0.972367f, -0.263525f, -0.534225f, 0.214911f, 0.087341f, -0.390994f };
1861    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1862    {
1863      int i;
1864      for (i = 0; i < 6; i++) {
1865        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1738) real");
1866        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1738) imag");
1867      };
1868    };
1869   };
1870
1871
1872   {
1873    int order = 102;
1874    int side = 142;
1875    int uplo = 121;
1876    int trans = 111;
1877    int diag = 132;
1878    int M = 2;
1879    int N = 3;
1880    float alpha[2] = {-1.0f, 0.0f};
1881    float A[] = { 0.203f, -0.791f, -0.415f, -0.56f, 0.782f, -0.691f, -0.441f, 0.545f, -0.09f, 0.595f, -0.438f, 0.952f, 0.88f, 0.944f, -0.55f, -0.762f, -0.035f, -0.949f };
1882    int lda = 3;
1883    float B[] = { -0.035f, 0.448f, 0.487f, -0.108f, -0.482f, -0.708f, -0.317f, 0.816f, -0.547f, 0.22f, -0.654f, 0.57f };
1884    int ldb = 2;
1885    float B_expected[] = { 0.035f, -0.448f, -0.487f, 0.108f, 0.710725f, 0.924643f, 0.472907f, -1.12904f, 1.27511f, -1.33788f, -0.672654f, -0.727442f };
1886    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1887    {
1888      int i;
1889      for (i = 0; i < 6; i++) {
1890        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1739) real");
1891        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1739) imag");
1892      };
1893    };
1894   };
1895
1896
1897   {
1898    int order = 102;
1899    int side = 142;
1900    int uplo = 122;
1901    int trans = 111;
1902    int diag = 131;
1903    int M = 2;
1904    int N = 3;
1905    float alpha[2] = {-1.0f, 0.0f};
1906    float A[] = { -0.09f, 0.742f, 0.081f, 0.459f, -0.54f, 0.04f, 0.574f, -0.858f, 0.704f, 0.686f, -0.9f, -0.519f, 0.538f, -0.934f, 0.467f, 0.376f, 0.149f, 0.322f };
1907    int lda = 3;
1908    float B[] = { 0.307f, 0.294f, -0.428f, -0.7f, 0.496f, 0.167f, -0.611f, 0.904f, -0.846f, -0.411f, 0.29f, 0.004f };
1909    int ldb = 2;
1910    float B_expected[] = { -0.191025f, -0.630625f, 0.063267f, 0.452361f, -0.782713f, -1.2668f, 1.30921f, -0.06316f, -0.006288f, 0.333651f, -0.041922f, -0.093976f };
1911    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1912    {
1913      int i;
1914      for (i = 0; i < 6; i++) {
1915        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1740) real");
1916        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1740) imag");
1917      };
1918    };
1919   };
1920
1921
1922   {
1923    int order = 102;
1924    int side = 142;
1925    int uplo = 122;
1926    int trans = 111;
1927    int diag = 132;
1928    int M = 2;
1929    int N = 3;
1930    float alpha[2] = {-1.0f, 0.0f};
1931    float A[] = { 0.434f, 0.691f, 0.983f, -0.481f, -0.156f, -0.117f, -0.231f, 0.526f, 0.935f, 0.417f, -0.142f, -0.541f, 0.529f, 0.014f, 0.266f, 0.086f, 0.666f, 0.033f };
1932    int lda = 3;
1933    float B[] = { 0.972f, -0.219f, -0.735f, -0.967f, 0.084f, -0.355f, -0.152f, -0.156f, 0.267f, 0.928f, 0.708f, -0.267f };
1934    int ldb = 2;
1935    float B_expected[] = { -0.950741f, 0.784376f, 1.10114f, 1.08842f, -0.548134f, 0.631223f, 0.396983f, 0.501114f, -0.267f, -0.928f, -0.708f, 0.267f };
1936    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1937    {
1938      int i;
1939      for (i = 0; i < 6; i++) {
1940        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1741) real");
1941        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1741) imag");
1942      };
1943    };
1944   };
1945
1946
1947   {
1948    int order = 101;
1949    int side = 141;
1950    int uplo = 121;
1951    int trans = 112;
1952    int diag = 131;
1953    int M = 2;
1954    int N = 3;
1955    float alpha[2] = {-0.3f, 0.1f};
1956    float A[] = { -0.25f, -0.779f, -0.138f, -0.017f, -0.319f, -0.555f, 0.674f, -0.256f };
1957    int lda = 2;
1958    float B[] = { -0.651f, -0.525f, 0.409f, -0.932f, 0.359f, 0.321f, 0.419f, 0.027f, 0.67f, 0.328f, 0.446f, -0.615f };
1959    int ldb = 3;
1960    float B_expected[] = { 0.0100296f, -0.216136f, 0.257045f, -0.0571445f, -0.0121016f, 0.124004f, -0.110514f, 0.0386878f, -0.1561f, -0.0050383f, 0.028185f, 0.183634f };
1961    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1962    {
1963      int i;
1964      for (i = 0; i < 6; i++) {
1965        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1742) real");
1966        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1742) imag");
1967      };
1968    };
1969   };
1970
1971
1972   {
1973    int order = 101;
1974    int side = 141;
1975    int uplo = 121;
1976    int trans = 112;
1977    int diag = 132;
1978    int M = 2;
1979    int N = 3;
1980    float alpha[2] = {-0.3f, 0.1f};
1981    float A[] = { 0.012f, 0.978f, 0.617f, -0.361f, -0.349f, 0.712f, 0.008f, 0.305f };
1982    int lda = 2;
1983    float B[] = { -0.771f, -0.335f, -0.565f, 0.866f, -0.516f, -0.869f, -0.097f, -0.711f, 0.308f, 0.207f, -0.459f, 0.766f };
1984    int ldb = 3;
1985    float B_expected[] = { 0.2648f, 0.0234f, 0.0829f, -0.3163f, 0.2417f, 0.2091f, 0.272029f, 0.122445f, -0.176135f, -0.256384f, 0.285714f, -0.233939f };
1986    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
1987    {
1988      int i;
1989      for (i = 0; i < 6; i++) {
1990        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1743) real");
1991        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1743) imag");
1992      };
1993    };
1994   };
1995
1996
1997   {
1998    int order = 101;
1999    int side = 141;
2000    int uplo = 122;
2001    int trans = 112;
2002    int diag = 131;
2003    int M = 2;
2004    int N = 3;
2005    float alpha[2] = {-0.3f, 0.1f};
2006    float A[] = { -0.063f, -0.605f, 0.473f, 0.763f, 0.548f, -0.167f, -0.825f, 0.011f };
2007    int lda = 2;
2008    float B[] = { -0.262f, 0.135f, -0.333f, -0.671f, 0.91f, 0.874f, 0.305f, -0.255f, 0.882f, 0.883f, 0.088f, -0.473f };
2009    int ldb = 3;
2010    float B_expected[] = { -0.0627538f, 0.0344746f, -0.131779f, -0.149516f, -0.0442507f, 0.307921f, 0.053273f, -0.089001f, 0.293086f, 0.141896f, -0.0189002f, -0.124098f };
2011    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2012    {
2013      int i;
2014      for (i = 0; i < 6; i++) {
2015        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1744) real");
2016        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1744) imag");
2017      };
2018    };
2019   };
2020
2021
2022   {
2023    int order = 101;
2024    int side = 141;
2025    int uplo = 122;
2026    int trans = 112;
2027    int diag = 132;
2028    int M = 2;
2029    int N = 3;
2030    float alpha[2] = {-0.3f, 0.1f};
2031    float A[] = { -0.493f, -0.852f, -0.567f, 0.21f, 0.168f, 0.666f, -0.328f, 0.803f };
2032    int lda = 2;
2033    float B[] = { 0.24f, -0.578f, 0.293f, -0.233f, -0.348f, -0.853f, -0.145f, 0.192f, -0.785f, -0.72f, -0.508f, 0.023f };
2034    int ldb = 3;
2035    float B_expected[] = { 0.037901f, 0.201471f, -0.104515f, 0.327095f, 0.253345f, 0.311373f, 0.0243f, -0.0721f, 0.3075f, 0.1375f, 0.1501f, -0.0577f };
2036    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2037    {
2038      int i;
2039      for (i = 0; i < 6; i++) {
2040        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1745) real");
2041        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1745) imag");
2042      };
2043    };
2044   };
2045
2046
2047   {
2048    int order = 102;
2049    int side = 141;
2050    int uplo = 121;
2051    int trans = 112;
2052    int diag = 131;
2053    int M = 2;
2054    int N = 3;
2055    float alpha[2] = {-0.3f, 0.1f};
2056    float A[] = { -0.089f, -0.135f, 0.987f, 0.936f, 0.353f, 0.638f, 0.845f, 0.343f };
2057    int lda = 2;
2058    float B[] = { 0.744f, 0.445f, 0.835f, 0.273f, 0.702f, 0.03f, -0.618f, 0.141f, -0.303f, -0.399f, 0.63f, -0.037f };
2059    int ldb = 2;
2060    float B_expected[] = { 0.0158468f, 0.0413994f, -0.292082f, -0.285588f, 0.0272724f, 0.0233892f, 0.0660084f, -0.143882f, 0.0004278f, -0.0256146f, -0.19286f, 0.114065f };
2061    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2062    {
2063      int i;
2064      for (i = 0; i < 6; i++) {
2065        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1746) real");
2066        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1746) imag");
2067      };
2068    };
2069   };
2070
2071
2072   {
2073    int order = 102;
2074    int side = 141;
2075    int uplo = 121;
2076    int trans = 112;
2077    int diag = 132;
2078    int M = 2;
2079    int N = 3;
2080    float alpha[2] = {-0.3f, 0.1f};
2081    float A[] = { 0.187f, -0.741f, 0.287f, -0.599f, -0.293f, -0.297f, 0.778f, -0.056f };
2082    int lda = 2;
2083    float B[] = { -0.335f, -0.713f, 0.081f, -0.589f, -0.256f, -0.809f, -0.473f, 0.418f, 0.646f, -0.447f, -0.147f, 0.314f };
2084    int ldb = 2;
2085    float B_expected[] = { 0.1718f, 0.1804f, 0.0378414f, 0.0809182f, 0.1577f, 0.2171f, 0.118373f, -0.283147f, -0.1491f, 0.1987f, 0.1154f, -0.122836f };
2086    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2087    {
2088      int i;
2089      for (i = 0; i < 6; i++) {
2090        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1747) real");
2091        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1747) imag");
2092      };
2093    };
2094   };
2095
2096
2097   {
2098    int order = 102;
2099    int side = 141;
2100    int uplo = 122;
2101    int trans = 112;
2102    int diag = 131;
2103    int M = 2;
2104    int N = 3;
2105    float alpha[2] = {-0.3f, 0.1f};
2106    float A[] = { -0.259f, -0.645f, -0.09f, 0.709f, 0.729f, -0.023f, -0.792f, 0.03f };
2107    int lda = 2;
2108    float B[] = { 0.904f, -0.402f, 0.753f, 0.104f, 0.38f, 0.944f, -0.715f, -0.378f, -0.16f, 0.254f, -0.68f, 0.183f };
2109    int ldb = 2;
2110    float B_expected[] = { 0.185924f, -0.0771597f, 0.185827f, -0.0420162f, -0.156592f, 0.373034f, -0.201079f, -0.0256158f, 0.0051007f, 0.152025f, -0.143387f, 0.102908f };
2111    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2112    {
2113      int i;
2114      for (i = 0; i < 6; i++) {
2115        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1748) real");
2116        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1748) imag");
2117      };
2118    };
2119   };
2120
2121
2122   {
2123    int order = 102;
2124    int side = 141;
2125    int uplo = 122;
2126    int trans = 112;
2127    int diag = 132;
2128    int M = 2;
2129    int N = 3;
2130    float alpha[2] = {-0.3f, 0.1f};
2131    float A[] = { -0.938f, 0.25f, -0.509f, 0.377f, -0.063f, 0.166f, 0.227f, -0.24f };
2132    int lda = 2;
2133    float B[] = { 0.756f, -0.08f, -0.657f, -0.837f, -0.714f, 0.781f, 0.239f, -0.953f, 0.26f, 0.696f, -0.183f, 0.668f };
2134    int ldb = 2;
2135    float B_expected[] = { -0.431623f, 0.111093f, 0.2808f, 0.1854f, 0.007293f, -0.454491f, 0.0236f, 0.3098f, -0.059093f, -0.075968f, -0.0119f, -0.2187f };
2136    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2137    {
2138      int i;
2139      for (i = 0; i < 6; i++) {
2140        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1749) real");
2141        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1749) imag");
2142      };
2143    };
2144   };
2145
2146
2147   {
2148    int order = 101;
2149    int side = 142;
2150    int uplo = 121;
2151    int trans = 112;
2152    int diag = 131;
2153    int M = 2;
2154    int N = 3;
2155    float alpha[2] = {-0.3f, 0.1f};
2156    float A[] = { 0.055f, -0.682f, 0.361f, 0.521f, -0.192f, -0.664f, -0.167f, 0.731f, -0.668f, 0.983f, 0.608f, 0.533f, -0.513f, -0.781f, 0.878f, 0.875f, 0.804f, -0.179f };
2157    int lda = 3;
2158    float B[] = { -0.038f, -0.787f, -0.209f, -0.686f, -0.073f, -0.662f, 0.938f, -0.301f, -0.871f, 0.699f, 0.561f, 0.823f };
2159    int ldb = 3;
2160    float B_expected[] = { 0.224558f, -0.0087435f, -0.317863f, 0.168822f, 0.105075f, 0.138035f, 0.256887f, 0.377119f, 0.113231f, 0.136832f, -0.235636f, -0.108546f };
2161    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2162    {
2163      int i;
2164      for (i = 0; i < 6; i++) {
2165        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1750) real");
2166        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1750) imag");
2167      };
2168    };
2169   };
2170
2171
2172   {
2173    int order = 101;
2174    int side = 142;
2175    int uplo = 121;
2176    int trans = 112;
2177    int diag = 132;
2178    int M = 2;
2179    int N = 3;
2180    float alpha[2] = {-0.3f, 0.1f};
2181    float A[] = { -0.397f, -0.154f, -0.944f, -0.137f, 0.65f, -0.49f, -0.883f, 0.273f, -0.137f, 0.655f, 0.531f, 0.676f, 0.052f, 0.03f, -0.602f, 0.002f, 0.005f, 0.984f };
2182    int lda = 3;
2183    float B[] = { -0.446f, 0.091f, 0.793f, -0.221f, 0.386f, 0.354f, -0.063f, 0.105f, -0.128f, 0.189f, -0.079f, 0.749f };
2184    int ldb = 3;
2185    float B_expected[] = { 0.216958f, -0.149634f, -0.25039f, 0.0074932f, -0.1512f, -0.0676f, -0.166784f, -0.100965f, 0.14955f, -0.227622f, -0.0512f, -0.2326f };
2186    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2187    {
2188      int i;
2189      for (i = 0; i < 6; i++) {
2190        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1751) real");
2191        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1751) imag");
2192      };
2193    };
2194   };
2195
2196
2197   {
2198    int order = 101;
2199    int side = 142;
2200    int uplo = 122;
2201    int trans = 112;
2202    int diag = 131;
2203    int M = 2;
2204    int N = 3;
2205    float alpha[2] = {-0.3f, 0.1f};
2206    float A[] = { -0.976f, -0.488f, -0.762f, -0.057f, 0.812f, 0.006f, 0.06f, -0.271f, 0.832f, -0.232f, 0.188f, -0.466f, -0.051f, -0.745f, 0.909f, -0.091f, -0.559f, 0.595f };
2207    int lda = 3;
2208    float B[] = { 0.644f, -0.584f, 0.456f, 0.443f, -0.909f, 0.43f, 0.771f, -0.075f, -0.408f, 0.303f, 0.03f, 0.529f };
2209    int ldb = 3;
2210    float B_expected[] = { 0.24849f, -0.168067f, -0.114085f, 0.0202884f, 0.0152508f, 0.284926f, 0.267034f, 0.0120048f, 0.0596364f, -0.0643158f, 0.284594f, 0.0837608f };
2211    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2212    {
2213      int i;
2214      for (i = 0; i < 6; i++) {
2215        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1752) real");
2216        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1752) imag");
2217      };
2218    };
2219   };
2220
2221
2222   {
2223    int order = 101;
2224    int side = 142;
2225    int uplo = 122;
2226    int trans = 112;
2227    int diag = 132;
2228    int M = 2;
2229    int N = 3;
2230    float alpha[2] = {-0.3f, 0.1f};
2231    float A[] = { 0.924f, -0.247f, -0.131f, 0.932f, -0.415f, 0.454f, -0.539f, 0.693f, -0.725f, -0.601f, 0.565f, 0.002f, -0.118f, 0.626f, -0.968f, 0.874f, 0.156f, -0.227f };
2232    int lda = 3;
2233    float B[] = { 0.793f, -0.15f, -0.967f, 0.821f, 0.37f, -0.572f, -0.156f, 0.106f, -0.877f, -0.297f, 0.448f, -0.576f };
2234    int ldb = 3;
2235    float B_expected[] = { -0.2229f, 0.1243f, 0.242003f, -0.564467f, -0.0068716f, 0.568213f, 0.0362f, -0.0474f, 0.306136f, 0.0520352f, -0.336053f, 0.500406f };
2236    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2237    {
2238      int i;
2239      for (i = 0; i < 6; i++) {
2240        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1753) real");
2241        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1753) imag");
2242      };
2243    };
2244   };
2245
2246
2247   {
2248    int order = 102;
2249    int side = 142;
2250    int uplo = 121;
2251    int trans = 112;
2252    int diag = 131;
2253    int M = 2;
2254    int N = 3;
2255    float alpha[2] = {-0.3f, 0.1f};
2256    float A[] = { 0.671f, 0.477f, 0.227f, 0.685f, -0.648f, 0.277f, -0.295f, -0.632f, 0.509f, -0.798f, 0.875f, 0.89f, -0.34f, -0.786f, -0.453f, 0.511f, -0.189f, 0.385f };
2257    int lda = 3;
2258    float B[] = { -0.895f, -0.148f, 0.934f, 0.229f, 0.958f, -0.55f, 0.49f, 0.586f, -0.871f, 0.618f, -0.0f, -0.543f };
2259    int ldb = 2;
2260    float B_expected[] = { 0.162976f, 0.110656f, -0.12507f, -0.0587256f, 0.138701f, 0.543589f, -0.313677f, 0.0534812f, 0.067207f, 0.12831f, -0.0729792f, -0.0098826f };
2261    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2262    {
2263      int i;
2264      for (i = 0; i < 6; i++) {
2265        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1754) real");
2266        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1754) imag");
2267      };
2268    };
2269   };
2270
2271
2272   {
2273    int order = 102;
2274    int side = 142;
2275    int uplo = 121;
2276    int trans = 112;
2277    int diag = 132;
2278    int M = 2;
2279    int N = 3;
2280    float alpha[2] = {-0.3f, 0.1f};
2281    float A[] = { -0.438f, -0.618f, 0.524f, 0.525f, -0.268f, -0.502f, -0.685f, 0.28f, 0.508f, 0.664f, -0.492f, 0.772f, -0.997f, 0.693f, 0.63f, -0.328f, -0.521f, -0.869f };
2282    int lda = 3;
2283    float B[] = { 0.527f, 0.999f, -0.078f, 0.599f, 0.004f, -0.615f, -0.281f, -0.328f, 0.456f, -0.666f, 0.309f, -0.69f };
2284    int ldb = 2;
2285    float B_expected[] = { -0.45115f, -0.650085f, -0.277633f, -0.456478f, 0.0965652f, 0.362528f, 0.1802f, 0.227951f, -0.0702f, 0.2454f, -0.0237f, 0.2379f };
2286    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2287    {
2288      int i;
2289      for (i = 0; i < 6; i++) {
2290        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1755) real");
2291        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1755) imag");
2292      };
2293    };
2294   };
2295
2296
2297   {
2298    int order = 102;
2299    int side = 142;
2300    int uplo = 122;
2301    int trans = 112;
2302    int diag = 131;
2303    int M = 2;
2304    int N = 3;
2305    float alpha[2] = {-0.3f, 0.1f};
2306    float A[] = { -0.454f, 0.517f, -0.794f, -0.181f, 0.292f, 0.954f, -0.93f, -0.128f, 0.123f, -0.997f, 0.325f, -0.317f, -0.988f, 0.732f, 0.637f, 0.457f, -0.665f, 0.529f };
2307    int lda = 3;
2308    float B[] = { -0.055f, 0.803f, -0.981f, -0.627f, 0.147f, -0.656f, -0.824f, -0.366f, -0.445f, -0.151f, 0.686f, -0.368f };
2309    int ldb = 2;
2310    float B_expected[] = { 0.156354f, 0.078881f, -0.208608f, 0.143709f, 0.219569f, 0.211768f, -0.204943f, -0.415655f, 0.191227f, 0.0071854f, 0.136999f, 0.0773624f };
2311    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2312    {
2313      int i;
2314      for (i = 0; i < 6; i++) {
2315        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1756) real");
2316        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1756) imag");
2317      };
2318    };
2319   };
2320
2321
2322   {
2323    int order = 102;
2324    int side = 142;
2325    int uplo = 122;
2326    int trans = 112;
2327    int diag = 132;
2328    int M = 2;
2329    int N = 3;
2330    float alpha[2] = {-0.3f, 0.1f};
2331    float A[] = { 0.623f, -0.129f, -0.419f, -0.006f, 0.21f, -0.165f, 0.218f, 0.915f, 0.736f, 0.07f, 0.502f, -0.809f, 0.242f, -0.015f, 0.67f, -0.956f, 0.153f, 0.365f };
2332    int lda = 3;
2333    float B[] = { -0.927f, 0.383f, -0.471f, 0.443f, -0.731f, -0.949f, -0.142f, -0.65f, 0.159f, -0.624f, -0.822f, 0.107f };
2334    int ldb = 2;
2335    float B_expected[] = { 0.2398f, -0.2076f, 0.097f, -0.18f, 0.212478f, 0.297146f, 0.065877f, 0.255638f, 0.359717f, -0.0280276f, 0.426852f, -0.164392f };
2336    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2337    {
2338      int i;
2339      for (i = 0; i < 6; i++) {
2340        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1757) real");
2341        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1757) imag");
2342      };
2343    };
2344   };
2345
2346
2347   {
2348    int order = 101;
2349    int side = 141;
2350    int uplo = 121;
2351    int trans = 113;
2352    int diag = 131;
2353    int M = 2;
2354    int N = 3;
2355    float alpha[2] = {-0.3f, 0.1f};
2356    float A[] = { -0.628f, -0.771f, 0.827f, -0.979f, 0.395f, -0.166f, 0.88f, 0.958f };
2357    int lda = 2;
2358    float B[] = { 0.297f, 0.49f, 0.425f, -0.386f, 0.672f, 0.992f, -0.077f, 0.761f, 0.393f, -0.605f, -0.273f, 0.725f };
2359    int ldb = 3;
2360    float B_expected[] = { 0.177165f, -0.0328107f, -0.0662201f, -0.167954f, 0.366541f, -0.0872256f, -0.2721f, -0.389113f, -0.0674816f, 0.293174f, -0.249446f, -0.709453f };
2361    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2362    {
2363      int i;
2364      for (i = 0; i < 6; i++) {
2365        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1758) real");
2366        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1758) imag");
2367      };
2368    };
2369   };
2370
2371
2372   {
2373    int order = 101;
2374    int side = 141;
2375    int uplo = 121;
2376    int trans = 113;
2377    int diag = 132;
2378    int M = 2;
2379    int N = 3;
2380    float alpha[2] = {-0.3f, 0.1f};
2381    float A[] = { -0.876f, 0.752f, -0.148f, 0.972f, -0.508f, -0.752f, -0.861f, 0.074f };
2382    int lda = 2;
2383    float B[] = { 0.878f, -0.987f, -0.896f, 0.519f, -0.355f, -0.117f, 0.329f, 0.068f, -0.644f, 0.344f, -0.187f, -0.343f };
2384    int ldb = 3;
2385    float B_expected[] = { -0.1647f, 0.3839f, 0.2169f, -0.2453f, 0.1182f, -0.0004f, 0.292026f, 0.115771f, -0.111733f, -0.342122f, 0.0725176f, -0.0306312f };
2386    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2387    {
2388      int i;
2389      for (i = 0; i < 6; i++) {
2390        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1759) real");
2391        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1759) imag");
2392      };
2393    };
2394   };
2395
2396
2397   {
2398    int order = 101;
2399    int side = 141;
2400    int uplo = 122;
2401    int trans = 113;
2402    int diag = 131;
2403    int M = 2;
2404    int N = 3;
2405    float alpha[2] = {-0.3f, 0.1f};
2406    float A[] = { 0.072f, -0.966f, 0.648f, 0.43f, -0.623f, -0.221f, -0.622f, 0.977f };
2407    int lda = 2;
2408    float B[] = { 0.0f, 0.028f, 0.857f, -0.171f, -0.933f, 0.159f, 0.315f, -0.297f, -0.864f, 0.519f, -0.601f, -0.119f };
2409    int ldb = 3;
2410    float B_expected[] = { 0.0216306f, -0.0927642f, -0.225266f, -0.0253344f, 0.0408658f, 0.302549f, 0.158132f, -0.0117036f, -0.365472f, -0.0519459f, -0.143387f, -0.172603f };
2411    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2412    {
2413      int i;
2414      for (i = 0; i < 6; i++) {
2415        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1760) real");
2416        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1760) imag");
2417      };
2418    };
2419   };
2420
2421
2422   {
2423    int order = 101;
2424    int side = 141;
2425    int uplo = 122;
2426    int trans = 113;
2427    int diag = 132;
2428    int M = 2;
2429    int N = 3;
2430    float alpha[2] = {-0.3f, 0.1f};
2431    float A[] = { -0.903f, -0.972f, -0.812f, 0.605f, 0.085f, -0.025f, -0.443f, 0.518f };
2432    int lda = 2;
2433    float B[] = { -0.725f, -0.451f, 0.779f, 0.969f, 0.25f, 0.021f, 0.029f, -0.382f, 0.022f, 0.957f, 0.704f, 0.832f };
2434    int ldb = 3;
2435    float B_expected[] = { 0.26217f, 0.073525f, -0.332173f, -0.239574f, -0.097644f, -0.003892f, 0.0295f, 0.1175f, -0.1023f, -0.2849f, -0.2944f, -0.1792f };
2436    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2437    {
2438      int i;
2439      for (i = 0; i < 6; i++) {
2440        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1761) real");
2441        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1761) imag");
2442      };
2443    };
2444   };
2445
2446
2447   {
2448    int order = 102;
2449    int side = 141;
2450    int uplo = 121;
2451    int trans = 113;
2452    int diag = 131;
2453    int M = 2;
2454    int N = 3;
2455    float alpha[2] = {-0.3f, 0.1f};
2456    float A[] = { -0.322f, -0.981f, 0.193f, -0.604f, 0.87f, -0.384f, 0.463f, -0.502f };
2457    int lda = 2;
2458    float B[] = { -0.447f, 0.21f, 0.928f, -0.496f, 0.889f, -0.354f, -0.258f, -0.149f, 0.98f, -0.958f, 0.106f, -0.579f };
2459    int ldb = 2;
2460    float B_expected[] = { 0.0692355f, 0.14563f, -0.0874638f, -0.0532654f, -0.116915f, -0.289728f, -0.242902f, 0.136003f, -0.314257f, -0.318533f, -0.400862f, 0.357622f };
2461    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2462    {
2463      int i;
2464      for (i = 0; i < 6; i++) {
2465        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1762) real");
2466        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1762) imag");
2467      };
2468    };
2469   };
2470
2471
2472   {
2473    int order = 102;
2474    int side = 141;
2475    int uplo = 121;
2476    int trans = 113;
2477    int diag = 132;
2478    int M = 2;
2479    int N = 3;
2480    float alpha[2] = {-0.3f, 0.1f};
2481    float A[] = { -0.924f, -0.553f, 0.985f, -0.793f, 0.406f, 0.741f, -0.956f, 0.945f };
2482    int lda = 2;
2483    float B[] = { 0.736f, -0.81f, 0.028f, 0.474f, 0.14f, -0.03f, -0.756f, 0.923f, -0.515f, 0.532f, -0.321f, 0.326f };
2484    int ldb = 2;
2485    float B_expected[] = { -0.1398f, 0.3166f, 0.122042f, 0.0927314f, -0.039f, 0.023f, 0.135709f, -0.314263f, 0.1013f, -0.2111f, -0.0515973f, -0.29067f };
2486    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2487    {
2488      int i;
2489      for (i = 0; i < 6; i++) {
2490        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1763) real");
2491        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1763) imag");
2492      };
2493    };
2494   };
2495
2496
2497   {
2498    int order = 102;
2499    int side = 141;
2500    int uplo = 122;
2501    int trans = 113;
2502    int diag = 131;
2503    int M = 2;
2504    int N = 3;
2505    float alpha[2] = {-0.3f, 0.1f};
2506    float A[] = { 0.04f, -0.41f, -0.643f, 0.988f, 0.86f, -0.281f, -0.017f, 0.389f };
2507    int lda = 2;
2508    float B[] = { 0.204f, 0.524f, -0.558f, -0.736f, 0.26f, -0.202f, -0.757f, 0.346f, 0.917f, 0.541f, -0.108f, -0.965f };
2509    int ldb = 2;
2510    float B_expected[] = { 0.059601f, -0.396251f, 0.060088f, -0.096554f, -0.338942f, -0.0950055f, -0.073098f, -0.071831f, 0.208251f, -0.444353f, 0.106223f, -0.05488f };
2511    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2512    {
2513      int i;
2514      for (i = 0; i < 6; i++) {
2515        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1764) real");
2516        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1764) imag");
2517      };
2518    };
2519   };
2520
2521
2522   {
2523    int order = 102;
2524    int side = 141;
2525    int uplo = 122;
2526    int trans = 113;
2527    int diag = 132;
2528    int M = 2;
2529    int N = 3;
2530    float alpha[2] = {-0.3f, 0.1f};
2531    float A[] = { 0.375f, 0.153f, -0.343f, -0.742f, 0.563f, 0.473f, 0.451f, -0.433f };
2532    int lda = 2;
2533    float B[] = { -0.804f, -0.016f, -0.715f, -0.902f, -0.89f, 0.155f, -0.408f, 0.419f, 0.078f, -0.691f, -0.717f, -0.637f };
2534    int ldb = 2;
2535    float B_expected[] = { -0.0094443f, 0.0821961f, 0.3047f, 0.1991f, 0.347432f, -0.0186595f, 0.0805f, -0.1665f, -0.138523f, 0.381015f, 0.2788f, 0.1194f };
2536    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2537    {
2538      int i;
2539      for (i = 0; i < 6; i++) {
2540        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1765) real");
2541        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1765) imag");
2542      };
2543    };
2544   };
2545
2546
2547   {
2548    int order = 101;
2549    int side = 142;
2550    int uplo = 121;
2551    int trans = 113;
2552    int diag = 131;
2553    int M = 2;
2554    int N = 3;
2555    float alpha[2] = {-0.3f, 0.1f};
2556    float A[] = { -0.867f, -0.597f, -0.577f, 0.735f, 0.827f, -0.104f, -0.861f, -0.802f, -0.288f, 0.293f, 0.593f, 0.228f, -0.469f, 0.942f, 0.193f, 0.591f, 0.241f, 0.382f };
2557    int lda = 3;
2558    float B[] = { -0.812f, -0.874f, -0.18f, -0.81f, 0.023f, 0.352f, 0.559f, 0.237f, -0.835f, 0.037f, -0.762f, 0.782f };
2559    int ldb = 3;
2560    float B_expected[] = { -0.331628f, -0.278177f, -0.0214727f, -0.156013f, -0.0496067f, -0.0088131f, 0.119788f, -0.469291f, -0.0804714f, -0.263663f, -0.0824792f, -0.132356f };
2561    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2562    {
2563      int i;
2564      for (i = 0; i < 6; i++) {
2565        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1766) real");
2566        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1766) imag");
2567      };
2568    };
2569   };
2570
2571
2572   {
2573    int order = 101;
2574    int side = 142;
2575    int uplo = 121;
2576    int trans = 113;
2577    int diag = 132;
2578    int M = 2;
2579    int N = 3;
2580    float alpha[2] = {-0.3f, 0.1f};
2581    float A[] = { -0.258f, -0.812f, -0.858f, -0.107f, -0.151f, 0.785f, 0.717f, 0.992f, -0.649f, -0.242f, -0.454f, 0.916f, 0.86f, 0.834f, -0.244f, 0.391f, 0.818f, -0.714f };
2582    int lda = 3;
2583    float B[] = { 0.163f, 0.441f, 0.54f, 0.679f, 0.071f, -0.76f, 0.345f, -0.956f, 0.654f, -0.217f, -0.892f, 0.106f };
2584    int ldb = 3;
2585    float B_expected[] = { 0.296566f, -0.0905963f, -0.0393822f, -0.306541f, 0.0547f, 0.2351f, -0.0059345f, 0.0071855f, -0.402014f, -0.049978f, 0.257f, -0.121f };
2586    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2587    {
2588      int i;
2589      for (i = 0; i < 6; i++) {
2590        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1767) real");
2591        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1767) imag");
2592      };
2593    };
2594   };
2595
2596
2597   {
2598    int order = 101;
2599    int side = 142;
2600    int uplo = 122;
2601    int trans = 113;
2602    int diag = 131;
2603    int M = 2;
2604    int N = 3;
2605    float alpha[2] = {-0.3f, 0.1f};
2606    float A[] = { 0.525f, 0.182f, 0.851f, -0.348f, -0.046f, 0.839f, -0.045f, -0.149f, -0.992f, 0.588f, -0.01f, -0.409f, 0.527f, 0.263f, -0.509f, -0.026f, 0.284f, 0.507f };
2607    int lda = 3;
2608    float B[] = { 0.909f, 0.216f, 0.38f, 0.198f, -0.412f, -0.102f, -0.456f, 0.079f, 0.504f, -0.782f, -0.88f, 0.079f };
2609    int ldb = 3;
2610    float B_expected[] = { -0.149757f, 0.0672651f, 0.129501f, 0.054878f, -0.0469462f, 0.0277224f, 0.0550599f, -0.0598423f, 0.244521f, -0.217471f, 0.0955519f, -0.37895f };
2611    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2612    {
2613      int i;
2614      for (i = 0; i < 6; i++) {
2615        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1768) real");
2616        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1768) imag");
2617      };
2618    };
2619   };
2620
2621
2622   {
2623    int order = 101;
2624    int side = 142;
2625    int uplo = 122;
2626    int trans = 113;
2627    int diag = 132;
2628    int M = 2;
2629    int N = 3;
2630    float alpha[2] = {-0.3f, 0.1f};
2631    float A[] = { 0.893f, -0.758f, 0.145f, 0.623f, -0.018f, -0.733f, -0.144f, -0.192f, 0.53f, 0.773f, -0.771f, 0.36f, 0.932f, -0.771f, 0.997f, -0.671f, 0.574f, -0.771f };
2632    int lda = 3;
2633    float B[] = { 0.592f, 0.985f, -0.62f, -0.095f, -0.344f, -0.607f, 0.759f, 0.085f, -0.609f, 0.068f, -0.084f, -0.575f };
2634    int ldb = 3;
2635    float B_expected[] = { -0.2761f, -0.2363f, 0.280628f, -0.052484f, 0.306154f, -0.187624f, -0.2362f, 0.0504f, 0.200236f, -0.133908f, 0.0536278f, 0.0659354f };
2636    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2637    {
2638      int i;
2639      for (i = 0; i < 6; i++) {
2640        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1769) real");
2641        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1769) imag");
2642      };
2643    };
2644   };
2645
2646
2647   {
2648    int order = 102;
2649    int side = 142;
2650    int uplo = 121;
2651    int trans = 113;
2652    int diag = 131;
2653    int M = 2;
2654    int N = 3;
2655    float alpha[2] = {-0.3f, 0.1f};
2656    float A[] = { 0.503f, -0.057f, -0.581f, -0.77f, -0.907f, -0.843f, 0.56f, -0.554f, 0.054f, 0.988f, 0.868f, -0.627f, 0.645f, -0.246f, -0.958f, 0.66f, 0.956f, 0.99f };
2657    int lda = 3;
2658    float B[] = { 0.282f, -0.442f, 0.564f, -0.691f, -0.743f, 0.113f, -0.395f, 0.312f, -0.167f, -0.568f, 0.508f, 0.912f };
2659    int ldb = 2;
2660    float B_expected[] = { 0.180092f, 0.260648f, -0.045069f, -0.102868f, -0.0964434f, -0.432702f, -0.0404678f, 0.280779f, 0.254359f, 0.0411062f, -0.453454f, 0.0281672f };
2661    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2662    {
2663      int i;
2664      for (i = 0; i < 6; i++) {
2665        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1770) real");
2666        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1770) imag");
2667      };
2668    };
2669   };
2670
2671
2672   {
2673    int order = 102;
2674    int side = 142;
2675    int uplo = 121;
2676    int trans = 113;
2677    int diag = 132;
2678    int M = 2;
2679    int N = 3;
2680    float alpha[2] = {-0.3f, 0.1f};
2681    float A[] = { -0.851f, 0.296f, -0.683f, -0.53f, 0.38f, -0.837f, 0.977f, 0.189f, -0.624f, -0.664f, 0.73f, -0.882f, 0.105f, -0.868f, 0.362f, -0.006f, -0.435f, 0.757f };
2682    int lda = 3;
2683    float B[] = { -0.259f, -0.091f, 0.606f, -0.983f, -0.238f, 0.057f, 0.358f, 0.18f, -0.71f, 0.058f, 0.511f, 0.717f };
2684    int ldb = 2;
2685    float B_expected[] = { 0.241746f, 0.119591f, -0.0907286f, 0.148899f, 0.141237f, -0.0716576f, -0.205866f, -0.078918f, 0.2072f, -0.0884f, -0.225f, -0.164f };
2686    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2687    {
2688      int i;
2689      for (i = 0; i < 6; i++) {
2690        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1771) real");
2691        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1771) imag");
2692      };
2693    };
2694   };
2695
2696
2697   {
2698    int order = 102;
2699    int side = 142;
2700    int uplo = 122;
2701    int trans = 113;
2702    int diag = 131;
2703    int M = 2;
2704    int N = 3;
2705    float alpha[2] = {-0.3f, 0.1f};
2706    float A[] = { 0.956f, 0.972f, 0.771f, 0.187f, 0.948f, 0.303f, -0.854f, 0.123f, 0.704f, 0.152f, 0.347f, 0.595f, -0.865f, 0.75f, -0.041f, -0.572f, 0.749f, 0.216f };
2707    int lda = 3;
2708    float B[] = { -0.821f, -0.098f, 0.347f, -0.639f, 0.314f, -0.009f, -0.725f, 0.45f, 0.536f, 0.801f, 0.431f, 0.936f };
2709    int ldb = 2;
2710    float B_expected[] = { 0.193607f, -0.29931f, 0.18163f, 0.255513f, 0.127098f, -0.0503344f, 0.101243f, 0.0097718f, -0.0060322f, -0.148016f, -0.251411f, -0.0777231f };
2711    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2712    {
2713      int i;
2714      for (i = 0; i < 6; i++) {
2715        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1772) real");
2716        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1772) imag");
2717      };
2718    };
2719   };
2720
2721
2722   {
2723    int order = 102;
2724    int side = 142;
2725    int uplo = 122;
2726    int trans = 113;
2727    int diag = 132;
2728    int M = 2;
2729    int N = 3;
2730    float alpha[2] = {-0.3f, 0.1f};
2731    float A[] = { 0.78f, -0.205f, 0.073f, -0.859f, 0.568f, -0.599f, -0.947f, -0.514f, 0.835f, 0.176f, 0.27f, -0.617f, 0.171f, -0.074f, 0.939f, -0.469f, -0.471f, 0.25f };
2732    int lda = 3;
2733    float B[] = { -0.279f, 0.16f, -0.495f, 0.658f, 0.071f, 0.557f, -0.116f, 0.095f, -0.104f, 0.503f, -0.775f, -0.03f };
2734    int ldb = 2;
2735    float B_expected[] = { 0.0677f, -0.0759f, 0.0827f, -0.2469f, -0.0068598f, -0.107386f, 0.243424f, 0.0129156f, 0.142748f, -0.254568f, 0.461939f, -0.154419f };
2736    cblas_ctrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2737    {
2738      int i;
2739      for (i = 0; i < 6; i++) {
2740        gsl_test_rel(B[2*i], B_expected[2*i], flteps, "ctrmm(case 1773) real");
2741        gsl_test_rel(B[2*i+1], B_expected[2*i+1], flteps, "ctrmm(case 1773) imag");
2742      };
2743    };
2744   };
2745
2746
2747   {
2748    int order = 101;
2749    int side = 141;
2750    int uplo = 121;
2751    int trans = 111;
2752    int diag = 131;
2753    int M = 2;
2754    int N = 3;
2755    double alpha[2] = {0, 0};
2756    double A[] = { 0.463, 0.033, -0.929, 0.949, 0.864, 0.986, 0.393, 0.885 };
2757    int lda = 2;
2758    double B[] = { -0.321, -0.852, -0.337, -0.175, 0.607, -0.613, 0.688, 0.973, -0.331, -0.35, 0.719, -0.553 };
2759    int ldb = 3;
2760    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2761    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2762    {
2763      int i;
2764      for (i = 0; i < 6; i++) {
2765        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1774) real");
2766        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1774) imag");
2767      };
2768    };
2769   };
2770
2771
2772   {
2773    int order = 101;
2774    int side = 141;
2775    int uplo = 121;
2776    int trans = 111;
2777    int diag = 132;
2778    int M = 2;
2779    int N = 3;
2780    double alpha[2] = {0, 0};
2781    double A[] = { 0.608, -0.393, 0.921, 0.282, -0.857, -0.286, -0.31, -0.057 };
2782    int lda = 2;
2783    double B[] = { -0.548, 0.728, 0.391, -0.506, 0.186, 0.97, -0.435, 0.375, -0.995, -0.496, 0.99, 0.186 };
2784    int ldb = 3;
2785    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2786    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2787    {
2788      int i;
2789      for (i = 0; i < 6; i++) {
2790        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1775) real");
2791        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1775) imag");
2792      };
2793    };
2794   };
2795
2796
2797   {
2798    int order = 101;
2799    int side = 141;
2800    int uplo = 122;
2801    int trans = 111;
2802    int diag = 131;
2803    int M = 2;
2804    int N = 3;
2805    double alpha[2] = {0, 0};
2806    double A[] = { 0.253, 0.969, 0.654, -0.016, -0.774, -0.11, -0.101, -0.287 };
2807    int lda = 2;
2808    double B[] = { -0.34, -0.268, -0.52, 0.021, -0.875, 0.98, 0.255, 0.564, -0.478, -0.818, -0.043, 0.224 };
2809    int ldb = 3;
2810    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2811    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2812    {
2813      int i;
2814      for (i = 0; i < 6; i++) {
2815        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1776) real");
2816        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1776) imag");
2817      };
2818    };
2819   };
2820
2821
2822   {
2823    int order = 101;
2824    int side = 141;
2825    int uplo = 122;
2826    int trans = 111;
2827    int diag = 132;
2828    int M = 2;
2829    int N = 3;
2830    double alpha[2] = {0, 0};
2831    double A[] = { -0.64, -0.222, 0.922, 0.417, -0.724, 0.012, 0.418, 0.39 };
2832    int lda = 2;
2833    double B[] = { 0.619, -0.024, -0.068, 0.219, 0.374, -0.937, 0.79, 0.166, -0.92, 0.753, -0.017, 0.076 };
2834    int ldb = 3;
2835    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2836    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2837    {
2838      int i;
2839      for (i = 0; i < 6; i++) {
2840        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1777) real");
2841        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1777) imag");
2842      };
2843    };
2844   };
2845
2846
2847   {
2848    int order = 102;
2849    int side = 141;
2850    int uplo = 121;
2851    int trans = 111;
2852    int diag = 131;
2853    int M = 2;
2854    int N = 3;
2855    double alpha[2] = {0, 0};
2856    double A[] = { 0.57, 0.987, 0.116, -0.691, -0.603, -0.778, 0.14, -0.073 };
2857    int lda = 2;
2858    double B[] = { 0.421, -0.055, 0.92, 0.664, 0.835, 0.861, -0.392, -0.897, -0.346, 0.516, -0.068, -0.156 };
2859    int ldb = 2;
2860    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2861    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2862    {
2863      int i;
2864      for (i = 0; i < 6; i++) {
2865        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1778) real");
2866        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1778) imag");
2867      };
2868    };
2869   };
2870
2871
2872   {
2873    int order = 102;
2874    int side = 141;
2875    int uplo = 121;
2876    int trans = 111;
2877    int diag = 132;
2878    int M = 2;
2879    int N = 3;
2880    double alpha[2] = {0, 0};
2881    double A[] = { -0.754, 0.904, 0.089, 0.206, 0.974, -0.946, -0.55, -0.675 };
2882    int lda = 2;
2883    double B[] = { -0.42, -0.372, 0.628, 0.148, 0.344, -0.924, -0.802, -0.307, 0.427, 0.116, 0.916, -0.384 };
2884    int ldb = 2;
2885    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2886    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2887    {
2888      int i;
2889      for (i = 0; i < 6; i++) {
2890        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1779) real");
2891        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1779) imag");
2892      };
2893    };
2894   };
2895
2896
2897   {
2898    int order = 102;
2899    int side = 141;
2900    int uplo = 122;
2901    int trans = 111;
2902    int diag = 131;
2903    int M = 2;
2904    int N = 3;
2905    double alpha[2] = {0, 0};
2906    double A[] = { 0.152, -0.898, -0.024, 0.719, 0.992, -0.841, 0.901, 0.202 };
2907    int lda = 2;
2908    double B[] = { 0.243, -0.811, 0.68, 0.118, 0.946, -0.632, 0.729, -0.942, 0.308, 0.507, -0.838, 0.594 };
2909    int ldb = 2;
2910    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2911    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2912    {
2913      int i;
2914      for (i = 0; i < 6; i++) {
2915        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1780) real");
2916        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1780) imag");
2917      };
2918    };
2919   };
2920
2921
2922   {
2923    int order = 102;
2924    int side = 141;
2925    int uplo = 122;
2926    int trans = 111;
2927    int diag = 132;
2928    int M = 2;
2929    int N = 3;
2930    double alpha[2] = {0, 0};
2931    double A[] = { 0.119, -0.849, 0.425, -0.273, -0.918, 0.196, -0.871, -0.39 };
2932    int lda = 2;
2933    double B[] = { 0.709, 0.33, -0.207, 0.012, -0.017, 0.787, -0.385, 0.739, -0.874, 0.188, -0.039, 0.692 };
2934    int ldb = 2;
2935    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2936    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2937    {
2938      int i;
2939      for (i = 0; i < 6; i++) {
2940        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1781) real");
2941        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1781) imag");
2942      };
2943    };
2944   };
2945
2946
2947   {
2948    int order = 101;
2949    int side = 142;
2950    int uplo = 121;
2951    int trans = 111;
2952    int diag = 131;
2953    int M = 2;
2954    int N = 3;
2955    double alpha[2] = {0, 0};
2956    double A[] = { 0.837, -0.603, 0.755, -0.92, 0.892, -0.009, -0.741, 0.271, -0.325, -0.861, 0.902, -0.088, 0.091, 0.256, 0.209, -0.724, 0.28, -0.604 };
2957    int lda = 3;
2958    double B[] = { 0.455, -0.215, -0.668, 0.917, -0.985, 0.477, 0.564, -0.524, -0.202, -0.53, -0.88, -0.688 };
2959    int ldb = 3;
2960    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2961    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2962    {
2963      int i;
2964      for (i = 0; i < 6; i++) {
2965        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1782) real");
2966        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1782) imag");
2967      };
2968    };
2969   };
2970
2971
2972   {
2973    int order = 101;
2974    int side = 142;
2975    int uplo = 121;
2976    int trans = 111;
2977    int diag = 132;
2978    int M = 2;
2979    int N = 3;
2980    double alpha[2] = {0, 0};
2981    double A[] = { -0.991, 0.253, 0.813, 0.497, -0.268, 0.623, 0.82, -0.946, -0.883, 0.333, -0.265, -0.371, 0.131, -0.812, -0.365, 0.45, 0.929, -0.704 };
2982    int lda = 3;
2983    double B[] = { 0.783, -0.756, 0.635, 0.56, 0.434, -0.831, -0.34, -0.531, -0.277, 0.874, 0.986, 0.157 };
2984    int ldb = 3;
2985    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
2986    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
2987    {
2988      int i;
2989      for (i = 0; i < 6; i++) {
2990        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1783) real");
2991        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1783) imag");
2992      };
2993    };
2994   };
2995
2996
2997   {
2998    int order = 101;
2999    int side = 142;
3000    int uplo = 122;
3001    int trans = 111;
3002    int diag = 131;
3003    int M = 2;
3004    int N = 3;
3005    double alpha[2] = {0, 0};
3006    double A[] = { 0.265, -0.592, -0.721, -0.838, -0.952, 0.115, -0.34, -0.789, -0.265, -0.779, -0.676, 0.048, 0.78, -0.272, -0.651, 0.272, 0.8, -0.693 };
3007    int lda = 3;
3008    double B[] = { -0.609, 0.028, -0.818, 0.289, -0.41, -0.25, -0.917, 0.463, 0.942, 0.692, -0.516, 0.378 };
3009    int ldb = 3;
3010    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
3011    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3012    {
3013      int i;
3014      for (i = 0; i < 6; i++) {
3015        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1784) real");
3016        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1784) imag");
3017      };
3018    };
3019   };
3020
3021
3022   {
3023    int order = 101;
3024    int side = 142;
3025    int uplo = 122;
3026    int trans = 111;
3027    int diag = 132;
3028    int M = 2;
3029    int N = 3;
3030    double alpha[2] = {0, 0};
3031    double A[] = { 0.962, 0.945, -0.58, -0.358, -0.769, 0.751, -0.068, -0.321, 0.938, 0.183, -0.17, 0.251, -0.248, -0.092, -0.818, 0.928, -0.059, -0.222 };
3032    int lda = 3;
3033    double B[] = { 0.015, -0.852, -0.565, 0.16, -0.095, 0.073, 0.405, 0.509, 0.082, -0.478, -0.365, 0.824 };
3034    int ldb = 3;
3035    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
3036    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3037    {
3038      int i;
3039      for (i = 0; i < 6; i++) {
3040        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1785) real");
3041        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1785) imag");
3042      };
3043    };
3044   };
3045
3046
3047   {
3048    int order = 102;
3049    int side = 142;
3050    int uplo = 121;
3051    int trans = 111;
3052    int diag = 131;
3053    int M = 2;
3054    int N = 3;
3055    double alpha[2] = {0, 0};
3056    double A[] = { 0.616, 0.669, 0.323, -0.238, 0.153, 0.891, -0.4, 0.996, 0.689, -0.736, -0.259, -0.707, 0.993, 0.13, -0.829, -0.564, -0.09, 0.118 };
3057    int lda = 3;
3058    double B[] = { 0.113, 0.724, 0.148, -0.309, -0.833, -0.791, 0.354, -0.528, 0.313, 0.421, 0.28, 0.371 };
3059    int ldb = 2;
3060    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
3061    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3062    {
3063      int i;
3064      for (i = 0; i < 6; i++) {
3065        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1786) real");
3066        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1786) imag");
3067      };
3068    };
3069   };
3070
3071
3072   {
3073    int order = 102;
3074    int side = 142;
3075    int uplo = 121;
3076    int trans = 111;
3077    int diag = 132;
3078    int M = 2;
3079    int N = 3;
3080    double alpha[2] = {0, 0};
3081    double A[] = { 0.957, -0.713, 0.976, 0.183, -0.145, -0.858, -0.497, -0.605, -0.742, 0.686, 0.272, 0.83, -0.606, -0.099, -0.807, 0.767, 0.254, 0.244 };
3082    int lda = 3;
3083    double B[] = { -0.124, -0.19, 0.665, -0.74, 0.505, -0.194, 0.588, -0.421, -0.727, 0.308, -0.802, -0.278 };
3084    int ldb = 2;
3085    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
3086    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3087    {
3088      int i;
3089      for (i = 0; i < 6; i++) {
3090        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1787) real");
3091        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1787) imag");
3092      };
3093    };
3094   };
3095
3096
3097   {
3098    int order = 102;
3099    int side = 142;
3100    int uplo = 122;
3101    int trans = 111;
3102    int diag = 131;
3103    int M = 2;
3104    int N = 3;
3105    double alpha[2] = {0, 0};
3106    double A[] = { -0.649, 0.856, 0.969, 0.382, 0.963, 0.567, 0.599, 0.018, -0.924, 0.578, -0.531, -0.091, -0.454, -0.834, 0.97, -0.126, -0.859, 0.879 };
3107    int lda = 3;
3108    double B[] = { 0.35, 0.824, -0.084, 0.662, -0.752, 0.872, 0.129, 0.969, -0.539, 0.907, 0.316, -0.675 };
3109    int ldb = 2;
3110    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
3111    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3112    {
3113      int i;
3114      for (i = 0; i < 6; i++) {
3115        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1788) real");
3116        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1788) imag");
3117      };
3118    };
3119   };
3120
3121
3122   {
3123    int order = 102;
3124    int side = 142;
3125    int uplo = 122;
3126    int trans = 111;
3127    int diag = 132;
3128    int M = 2;
3129    int N = 3;
3130    double alpha[2] = {0, 0};
3131    double A[] = { -0.315, -0.459, 0.327, -0.132, -0.283, 0.173, -0.356, -0.427, 0.508, 0.347, -0.804, -0.849, 0.779, 0.673, 0.019, -0.869, 0.999, -0.338 };
3132    int lda = 3;
3133    double B[] = { 0.678, -0.171, 0.136, -0.268, -0.578, -0.431, 0.978, -0.749, 0.333, -0.757, 0.658, 0.456 };
3134    int ldb = 2;
3135    double B_expected[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
3136    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3137    {
3138      int i;
3139      for (i = 0; i < 6; i++) {
3140        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1789) real");
3141        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1789) imag");
3142      };
3143    };
3144   };
3145
3146
3147   {
3148    int order = 101;
3149    int side = 141;
3150    int uplo = 121;
3151    int trans = 112;
3152    int diag = 131;
3153    int M = 2;
3154    int N = 3;
3155    double alpha[2] = {0, 0.1};
3156    double A[] = { -0.532, -0.877, 0.308, -0.807, 0.013, 0.891, 0.077, -0.004 };
3157    int lda = 2;
3158    double B[] = { 0.634, -0.969, 0.228, -0.097, 0.419, 0.903, 0.21, 0.313, -0.819, -0.028, 0.574, -0.762 };
3159    int ldb = 3;
3160    double B_expected[] = { 0.004051, -0.1187101, 0.0148352, -0.0206365, 0.0847859, 0.0569023, 0.0786829, -0.0569289, 0.0212752, -0.007123, 0.0120979, 0.0898923 };
3161    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3162    {
3163      int i;
3164      for (i = 0; i < 6; i++) {
3165        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1790) real");
3166        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1790) imag");
3167      };
3168    };
3169   };
3170
3171
3172   {
3173    int order = 101;
3174    int side = 141;
3175    int uplo = 121;
3176    int trans = 112;
3177    int diag = 132;
3178    int M = 2;
3179    int N = 3;
3180    double alpha[2] = {0, 0.1};
3181    double A[] = { -0.77, -0.037, -0.021, -0.831, -0.663, -0.241, -0.273, -0.023 };
3182    int lda = 2;
3183    double B[] = { 0.354, -0.95, -0.944, -0.497, 0.741, 0.084, -0.3, 0.023, -0.056, 0.063, -0.117, -0.498 };
3184    int ldb = 3;
3185    double B_expected[] = { 0.095, 0.0354, 0.0497, -0.0944, -0.0084, 0.0741, 0.0251224, -0.1096884, -0.0857901, -0.0449183, 0.1115535, -0.0062757 };
3186    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3187    {
3188      int i;
3189      for (i = 0; i < 6; i++) {
3190        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1791) real");
3191        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1791) imag");
3192      };
3193    };
3194   };
3195
3196
3197   {
3198    int order = 101;
3199    int side = 141;
3200    int uplo = 122;
3201    int trans = 112;
3202    int diag = 131;
3203    int M = 2;
3204    int N = 3;
3205    double alpha[2] = {0, 0.1};
3206    double A[] = { -0.623, 0.379, 0.903, -0.378, -0.088, 0.24, -0.964, 0.558 };
3207    int lda = 2;
3208    double B[] = { -0.137, 0.706, 0.457, 0.399, -0.69, -0.7, 0.34, 0.479, 0.539, -0.133, 0.876, -0.347 };
3209    int ldb = 3;
3210    double B_expected[] = { 0.0452313, -0.0327103, -0.006569, -0.0451444, -0.0415366, 0.0701362, 0.0272036, -0.0595042, -0.0428974, -0.0445382, -0.0823316, -0.0650838 };
3211    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3212    {
3213      int i;
3214      for (i = 0; i < 6; i++) {
3215        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1792) real");
3216        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1792) imag");
3217      };
3218    };
3219   };
3220
3221
3222   {
3223    int order = 101;
3224    int side = 141;
3225    int uplo = 122;
3226    int trans = 112;
3227    int diag = 132;
3228    int M = 2;
3229    int N = 3;
3230    double alpha[2] = {0, 0.1};
3231    double A[] = { 0.253, 0.657, 0.636, 0.827, -0.107, 0.353, 0.425, -0.365 };
3232    int lda = 2;
3233    double B[] = { -0.402, -0.409, 0.421, -0.333, -0.771, -0.099, 0.697, -0.812, -0.653, 0.823, 0.994, 0.998 };
3234    int ldb = 3;
3235    double B_expected[] = { 0.0076075, -0.0189943, 0.065157, 0.0200352, -0.0145096, -0.1229652, 0.0812, 0.0697, -0.0823, -0.0653, -0.0998, 0.0994 };
3236    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3237    {
3238      int i;
3239      for (i = 0; i < 6; i++) {
3240        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1793) real");
3241        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1793) imag");
3242      };
3243    };
3244   };
3245
3246
3247   {
3248    int order = 102;
3249    int side = 141;
3250    int uplo = 121;
3251    int trans = 112;
3252    int diag = 131;
3253    int M = 2;
3254    int N = 3;
3255    double alpha[2] = {0, 0.1};
3256    double A[] = { -0.57, -0.805, -0.66, -0.421, 0.643, -0.534, -0.988, -0.581 };
3257    int lda = 2;
3258    double B[] = { -0.279, -0.253, 0.976, -0.051, 0.294, 0.451, 0.187, -0.177, 0.31, -0.714, -0.104, -0.177 };
3259    int ldb = 2;
3260    double B_expected[] = { -0.0368805, -0.0044635, 0.0530361, -0.1308418, 0.049374, 0.0195475, -0.0199226, 0.0142283, -0.015743, -0.075147, 0.0389342, -0.0182031 };
3261    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3262    {
3263      int i;
3264      for (i = 0; i < 6; i++) {
3265        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1794) real");
3266        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1794) imag");
3267      };
3268    };
3269   };
3270
3271
3272   {
3273    int order = 102;
3274    int side = 141;
3275    int uplo = 121;
3276    int trans = 112;
3277    int diag = 132;
3278    int M = 2;
3279    int N = 3;
3280    double alpha[2] = {0, 0.1};
3281    double A[] = { -0.594, 0.273, 0.457, 0.295, 0.434, -0.227, -0.662, 0.623 };
3282    int lda = 2;
3283    double B[] = { -0.582, -0.581, 0.259, -0.833, -0.864, -0.284, 0.965, -0.459, -0.539, -0.551, -0.969, 0.09 };
3284    int ldb = 2;
3285    double B_expected[] = { 0.0581, -0.0582, 0.095304, -0.0125475, 0.0284, -0.0864, 0.0386128, 0.0525556, 0.0551, -0.0539, 0.0026781, -0.1328003 };
3286    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3287    {
3288      int i;
3289      for (i = 0; i < 6; i++) {
3290        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1795) real");
3291        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1795) imag");
3292      };
3293    };
3294   };
3295
3296
3297   {
3298    int order = 102;
3299    int side = 141;
3300    int uplo = 122;
3301    int trans = 112;
3302    int diag = 131;
3303    int M = 2;
3304    int N = 3;
3305    double alpha[2] = {0, 0.1};
3306    double A[] = { 0.398, 0.323, 0.31, 0.718, 0.181, 0.665, 0.402, 0.317 };
3307    int lda = 2;
3308    double B[] = { 0.812, -0.244, -0.415, 0.602, 0.901, -0.017, 0.786, -0.119, 0.448, -0.75, 0.851, 0.172 };
3309    int ldb = 2;
3310    double B_expected[] = { -0.0053814, -0.0158898, -0.0110449, -0.0357664, -0.0811715, 0.0693191, -0.0201324, 0.0353695, -0.0510542, 0.0560868, -0.0338911, 0.0287578 };
3311    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3312    {
3313      int i;
3314      for (i = 0; i < 6; i++) {
3315        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1796) real");
3316        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1796) imag");
3317      };
3318    };
3319   };
3320
3321
3322   {
3323    int order = 102;
3324    int side = 141;
3325    int uplo = 122;
3326    int trans = 112;
3327    int diag = 132;
3328    int M = 2;
3329    int N = 3;
3330    double alpha[2] = {0, 0.1};
3331    double A[] = { 0.265, -0.578, 0.218, -0.093, -0.172, 0.414, 0.448, 0.696 };
3332    int lda = 2;
3333    double B[] = { 0.02, -0.254, 0.152, 0.304, 0.289, 0.247, 0.705, 0.419, -0.735, 0.788, -0.942, -0.71 };
3334    int ldb = 2;
3335    double B_expected[] = { 0.0201864, 0.0081408, -0.0304, 0.0152, -0.0272777, 0.0481657, -0.0419, 0.0705, -0.0720826, -0.1006386, 0.071, -0.0942 };
3336    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3337    {
3338      int i;
3339      for (i = 0; i < 6; i++) {
3340        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1797) real");
3341        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1797) imag");
3342      };
3343    };
3344   };
3345
3346
3347   {
3348    int order = 101;
3349    int side = 142;
3350    int uplo = 121;
3351    int trans = 112;
3352    int diag = 131;
3353    int M = 2;
3354    int N = 3;
3355    double alpha[2] = {0, 0.1};
3356    double A[] = { 0.971, 0.532, 0.175, 0.455, 0.191, 0.493, 0.882, -0.944, 0.358, 0.142, -0.065, 0.632, -0.319, -0.101, 0.578, 0.476, -0.773, 0.912 };
3357    int lda = 3;
3358    double B[] = { 0.018, -0.131, 0.964, -0.467, -0.729, -0.794, 0.874, 0.361, 0.744, -0.958, 0.162, 0.555 };
3359    int ldb = 3;
3360    double B_expected[] = { 0.0271781, 0.0720558, 0.0439416, 0.0960619, 0.0051086, 0.1287645, -0.117224, 0.0980019, 0.0171007, 0.0041098, 0.0281271, -0.0631386 };
3361    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3362    {
3363      int i;
3364      for (i = 0; i < 6; i++) {
3365        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1798) real");
3366        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1798) imag");
3367      };
3368    };
3369   };
3370
3371
3372   {
3373    int order = 101;
3374    int side = 142;
3375    int uplo = 121;
3376    int trans = 112;
3377    int diag = 132;
3378    int M = 2;
3379    int N = 3;
3380    double alpha[2] = {0, 0.1};
3381    double A[] = { -0.506, -0.263, -0.994, 0.681, 0.889, -0.5, -0.912, 0.741, -0.329, -0.912, 0.332, -0.001, -0.484, 0.942, -0.728, -0.104, -0.216, 0.679 };
3382    int lda = 3;
3383    double B[] = { 0.562, -0.354, 0.742, -0.177, -0.627, -0.762, 0.476, 0.758, 0.675, -0.504, -0.33, 0.186 };
3384    int ldb = 3;
3385    double B_expected[] = { 0.0036678, -0.0993414, 0.0429357, 0.0533074, 0.0762, -0.0627, -0.2049005, -0.0052096, 0.0441918, 0.0565626, -0.0186, -0.033 };
3386    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3387    {
3388      int i;
3389      for (i = 0; i < 6; i++) {
3390        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1799) real");
3391        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1799) imag");
3392      };
3393    };
3394   };
3395
3396
3397   {
3398    int order = 101;
3399    int side = 142;
3400    int uplo = 122;
3401    int trans = 112;
3402    int diag = 131;
3403    int M = 2;
3404    int N = 3;
3405    double alpha[2] = {0, 0.1};
3406    double A[] = { -0.341, -0.27, 0.001, 0.939, 0.714, 0.803, -0.508, -0.331, -0.563, -0.725, -0.902, -0.793, 0.461, 0.127, -0.597, -0.498, 0.394, -0.019 };
3407    int lda = 3;
3408    double B[] = { 0.015, 0.803, 0.497, 0.667, 0.803, 0.775, 0.026, 0.908, 0.535, -0.111, 0.379, -0.036 };
3409    int ldb = 3;
3410    double B_expected[] = { 0.0277873, 0.0211695, 0.1148735, 0.0461937, -0.0016476, 0.0271498, 0.0316648, 0.0236294, 0.0795252, -0.009434, -0.0200342, -0.0329361 };
3411    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3412    {
3413      int i;
3414      for (i = 0; i < 6; i++) {
3415        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1800) real");
3416        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1800) imag");
3417      };
3418    };
3419   };
3420
3421
3422   {
3423    int order = 101;
3424    int side = 142;
3425    int uplo = 122;
3426    int trans = 112;
3427    int diag = 132;
3428    int M = 2;
3429    int N = 3;
3430    double alpha[2] = {0, 0.1};
3431    double A[] = { 0.132, 0.903, -0.235, -0.294, -0.09, 0.74, -0.707, -0.855, 0.632, 0.543, -0.558, -0.416, -0.99, -0.088, -0.189, -0.371, -0.844, -0.737 };
3432    int lda = 3;
3433    double B[] = { -0.257, 0.159, 0.689, 0.785, 0.398, -0.128, -0.098, -0.735, -0.307, 0.032, 0.517, 0.049 };
3434    int ldb = 3;
3435    double B_expected[] = { -0.0159, -0.0257, -0.0892322, 0.1006644, 0.0666778, 0.0827436, 0.0735, -0.0098, -0.0635435, -0.0866139, -0.0893123, 0.0619235 };
3436    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3437    {
3438      int i;
3439      for (i = 0; i < 6; i++) {
3440        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1801) real");
3441        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1801) imag");
3442      };
3443    };
3444   };
3445
3446
3447   {
3448    int order = 102;
3449    int side = 142;
3450    int uplo = 121;
3451    int trans = 112;
3452    int diag = 131;
3453    int M = 2;
3454    int N = 3;
3455    double alpha[2] = {0, 0.1};
3456    double A[] = { 0.993, 0.709, 0.225, -0.704, -0.396, 0.656, -0.588, -0.085, -0.024, 0.264, -0.988, -0.67, 0.665, -0.165, -0.778, -0.43, 0.71, -0.35 };
3457    int lda = 3;
3458    double B[] = { 0.321, 0.614, 0.058, 0.983, 0.153, -0.647, 0.342, -0.518, -0.071, -0.533, -0.424, 0.283 };
3459    int ldb = 2;
3460    double B_expected[] = { -0.0861992, -0.0396692, -0.155091, -0.1119744, -0.0501124, -0.0006816, -0.0064866, 0.0580106, 0.035358, -0.023696, -0.034933, -0.020199 };
3461    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3462    {
3463      int i;
3464      for (i = 0; i < 6; i++) {
3465        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1802) real");
3466        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1802) imag");
3467      };
3468    };
3469   };
3470
3471
3472   {
3473    int order = 102;
3474    int side = 142;
3475    int uplo = 121;
3476    int trans = 112;
3477    int diag = 132;
3478    int M = 2;
3479    int N = 3;
3480    double alpha[2] = {0, 0.1};
3481    double A[] = { 0.034, -0.02, -0.401, -0.892, 0.329, -0.799, -0.018, 0.564, 0.095, 0.965, -0.105, 0.756, -0.583, -0.706, -0.436, -0.145, 0.921, 0.416 };
3482    int lda = 3;
3483    double B[] = { 0.972, 0.157, -0.029, 0.674, 0.914, 0.434, 0.132, -0.116, -0.907, 0.316, -0.423, 0.321 };
3484    int ldb = 2;
3485    double B_expected[] = { -0.1120798, 0.1462649, -0.0862031, 0.0507283, -0.0427739, 0.1355272, 0.0194621, 0.0362973, -0.0316, -0.0907, -0.0321, -0.0423 };
3486    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3487    {
3488      int i;
3489      for (i = 0; i < 6; i++) {
3490        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1803) real");
3491        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1803) imag");
3492      };
3493    };
3494   };
3495
3496
3497   {
3498    int order = 102;
3499    int side = 142;
3500    int uplo = 122;
3501    int trans = 112;
3502    int diag = 131;
3503    int M = 2;
3504    int N = 3;
3505    double alpha[2] = {0, 0.1};
3506    double A[] = { -0.195, -0.36, 0.834, -0.505, -0.87, -0.787, 0.997, 0.965, -0.046, -0.591, 0.082, 0.552, 0.414, -0.013, -0.048, -0.766, 0.728, 0.088 };
3507    int lda = 3;
3508    double B[] = { -0.916, -0.162, -0.863, 0.67, -0.079, -0.27, -0.191, 0.995, 0.981, -0.25, -0.149, 0.248 };
3509    int ldb = 2;
3510    double B_expected[] = { -0.036135, 0.01203, -0.018003, 0.0409485, -0.0386581, -0.100169, -0.1061706, 0.0215439, -0.0700412, 0.1548156, -0.0239871, 0.0582902 };
3511    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3512    {
3513      int i;
3514      for (i = 0; i < 6; i++) {
3515        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1804) real");
3516        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1804) imag");
3517      };
3518    };
3519   };
3520
3521
3522   {
3523    int order = 102;
3524    int side = 142;
3525    int uplo = 122;
3526    int trans = 112;
3527    int diag = 132;
3528    int M = 2;
3529    int N = 3;
3530    double alpha[2] = {0, 0.1};
3531    double A[] = { 0.553, -0.63, -0.079, 0.351, 0.865, -0.062, 0.165, -0.634, -0.513, 0.216, -0.521, 0.349, 0.54, 0.545, -0.719, -0.306, 0.501, 0.757 };
3532    int lda = 3;
3533    double B[] = { -0.311, 0.088, -0.328, 0.977, 0.659, -0.06, -0.276, 0.872, -0.734, -0.01, -0.668, -0.327 };
3534    int ldb = 2;
3535    double B_expected[] = { -0.0088, -0.0311, -0.0977, -0.0328, 0.0176113, 0.0652681, -0.0679689, -0.0593015, -0.0346653, -0.1319958, 0.0012195, -0.1051678 };
3536    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3537    {
3538      int i;
3539      for (i = 0; i < 6; i++) {
3540        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1805) real");
3541        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1805) imag");
3542      };
3543    };
3544   };
3545
3546
3547   {
3548    int order = 101;
3549    int side = 141;
3550    int uplo = 121;
3551    int trans = 113;
3552    int diag = 131;
3553    int M = 2;
3554    int N = 3;
3555    double alpha[2] = {0, 1};
3556    double A[] = { 0.993, -0.018, 0.162, -0.222, 0.188, 0.672, -0.675, -0.345 };
3557    int lda = 2;
3558    double B[] = { 0.476, -0.009, 0.725, -0.925, -0.245, 0.308, 0.515, 0.1, -0.072, -0.757, 0.212, 0.571 };
3559    int ldb = 3;
3560    double B_expected[] = { 0.000369, 0.47283, 0.905475, 0.736575, -0.301434, -0.248829, -0.214389, -0.303015, -0.497235, 0.632565, 0.316779, -0.448161 };
3561    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3562    {
3563      int i;
3564      for (i = 0; i < 6; i++) {
3565        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1806) real");
3566        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1806) imag");
3567      };
3568    };
3569   };
3570
3571
3572   {
3573    int order = 101;
3574    int side = 141;
3575    int uplo = 121;
3576    int trans = 113;
3577    int diag = 132;
3578    int M = 2;
3579    int N = 3;
3580    double alpha[2] = {0, 1};
3581    double A[] = { -0.78, 0.346, -0.663, -0.86, -0.496, -0.154, 0.356, 0.228 };
3582    int lda = 2;
3583    double B[] = { 0.578, 0.492, 0.775, 0.353, 0.198, -0.519, -0.52, -0.677, -0.438, 0.313, 0.941, -0.56 };
3584    int ldb = 3;
3585    double B_expected[] = { -0.492, 0.578, -0.353, 0.775, 0.519, 0.198, 0.506116, -1.326334, -0.745461, -1.255405, 0.045623, 1.256066 };
3586    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3587    {
3588      int i;
3589      for (i = 0; i < 6; i++) {
3590        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1807) real");
3591        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1807) imag");
3592      };
3593    };
3594   };
3595
3596
3597   {
3598    int order = 101;
3599    int side = 141;
3600    int uplo = 122;
3601    int trans = 113;
3602    int diag = 131;
3603    int M = 2;
3604    int N = 3;
3605    double alpha[2] = {0, 1};
3606    double A[] = { 0.455, 0.442, 0.062, 0.815, 0.03, 0.55, 0.592, -0.487 };
3607    int lda = 2;
3608    double B[] = { -0.451, 0.01, 0.174, -0.775, 0.22, -0.644, 0.858, -0.004, 0.59, -0.395, -0.943, 0.824 };
3609    int ldb = 3;
3610    double B_expected[] = { 0.268128, -0.177245, 0.765883, -0.46293, -0.15311, 0.240362, -0.415478, 0.509884, -0.05349, 0.541645, -0.028567, -0.959544 };
3611    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3612    {
3613      int i;
3614      for (i = 0; i < 6; i++) {
3615        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1808) real");
3616        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1808) imag");
3617      };
3618    };
3619   };
3620
3621
3622   {
3623    int order = 101;
3624    int side = 141;
3625    int uplo = 122;
3626    int trans = 113;
3627    int diag = 132;
3628    int M = 2;
3629    int N = 3;
3630    double alpha[2] = {0, 1};
3631    double A[] = { -0.268, -0.886, -0.805, 0.875, 0.481, 0.095, -0.057, 0.605 };
3632    int lda = 2;
3633    double B[] = { 0.708, -0.638, 0.408, -0.512, 0.175, 0.181, -0.919, -0.126, 0.708, -0.51, 0.212, 0.114 };
3634    int ldb = 3;
3635    double B_expected[] = { 0.611301, 0.253991, 0.82457, 0.700098, -0.215694, 0.287802, 0.126, -0.919, 0.51, 0.708, -0.114, 0.212 };
3636    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3637    {
3638      int i;
3639      for (i = 0; i < 6; i++) {
3640        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1809) real");
3641        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1809) imag");
3642      };
3643    };
3644   };
3645
3646
3647   {
3648    int order = 102;
3649    int side = 141;
3650    int uplo = 121;
3651    int trans = 113;
3652    int diag = 131;
3653    int M = 2;
3654    int N = 3;
3655    double alpha[2] = {0, 1};
3656    double A[] = { 0.881, 0.555, 0.774, 0.148, -0.915, 0.336, 0.103, 0.381 };
3657    int lda = 2;
3658    double B[] = { 0.163, 0.963, -0.017, 0.921, 0.809, 0.846, 0.905, -0.43, 0.894, -0.371, -0.988, -0.487 };
3659    int ldb = 2;
3660    double B_expected[] = { -0.757938, 0.678068, 0.834573, 0.523573, -0.296331, 1.182259, 1.435009, -0.526594, 0.823021, 0.581709, -0.365348, -1.229977 };
3661    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3662    {
3663      int i;
3664      for (i = 0; i < 6; i++) {
3665        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1810) real");
3666        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1810) imag");
3667      };
3668    };
3669   };
3670
3671
3672   {
3673    int order = 102;
3674    int side = 141;
3675    int uplo = 121;
3676    int trans = 113;
3677    int diag = 132;
3678    int M = 2;
3679    int N = 3;
3680    double alpha[2] = {0, 1};
3681    double A[] = { 0.719, -0.513, 0.169, -0.524, 0.352, 0.823, -0.741, -0.355 };
3682    int lda = 2;
3683    double B[] = { 0.717, 0.052, -0.777, 0.277, -0.962, 0.894, 0.905, -0.216, -0.707, 0.016, 0.481, 0.935 };
3684    int ldb = 2;
3685    double B_expected[] = { -0.052, 0.717, 0.294787, -0.48182, -0.894, -0.962, -0.890414, 1.302138, -0.016, -0.707, -1.522493, 0.245304 };
3686    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3687    {
3688      int i;
3689      for (i = 0; i < 6; i++) {
3690        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1811) real");
3691        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1811) imag");
3692      };
3693    };
3694   };
3695
3696
3697   {
3698    int order = 102;
3699    int side = 141;
3700    int uplo = 122;
3701    int trans = 113;
3702    int diag = 131;
3703    int M = 2;
3704    int N = 3;
3705    double alpha[2] = {0, 1};
3706    double A[] = { 0.501, -0.136, -0.502, 0.669, -0.498, -0.4, -0.518, 0.833 };
3707    int lda = 2;
3708    double B[] = { -0.385, 0.88, 0.726, 0.911, 0.839, 0.573, -0.881, -0.517, -0.861, -0.278, 0.941, 0.822 };
3709    int ldb = 2;
3710    double B_expected[] = { 0.554496, -0.067558, 1.076656, 0.382795, -1.2501, 0.4388, -1.001679, 0.025697, 1.298547, -0.316017, 1.209649, 0.197288 };
3711    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3712    {
3713      int i;
3714      for (i = 0; i < 6; i++) {
3715        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1812) real");
3716        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1812) imag");
3717      };
3718    };
3719   };
3720
3721
3722   {
3723    int order = 102;
3724    int side = 141;
3725    int uplo = 122;
3726    int trans = 113;
3727    int diag = 132;
3728    int M = 2;
3729    int N = 3;
3730    double alpha[2] = {0, 1};
3731    double A[] = { 0.049, 0.641, -0.9, 0.246, -0.734, -0.686, 0.76, -0.869 };
3732    int lda = 2;
3733    double B[] = { -0.37, 0.206, -0.731, -0.573, 0.638, -0.417, -0.29, -0.719, 0.107, -0.333, 0.556, 0.124 };
3734    int ldb = 2;
3735    double B_expected[] = { -0.901526, 0.146942, 0.573, -0.731, -0.30144, 0.722126, 0.719, -0.29, 0.581376, -0.362896, -0.124, 0.556 };
3736    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3737    {
3738      int i;
3739      for (i = 0; i < 6; i++) {
3740        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1813) real");
3741        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1813) imag");
3742      };
3743    };
3744   };
3745
3746
3747   {
3748    int order = 101;
3749    int side = 142;
3750    int uplo = 121;
3751    int trans = 113;
3752    int diag = 131;
3753    int M = 2;
3754    int N = 3;
3755    double alpha[2] = {0, 1};
3756    double A[] = { 0.553, 0.338, 0.229, -0.828, -0.594, -0.036, -0.335, -0.249, 0.083, -0.197, 0.995, 0.85, -0.988, 0.596, -0.254, 0.179, 0.441, -0.859 };
3757    int lda = 3;
3758    double B[] = { -0.058, -0.225, 0.884, 0.348, 0.123, -0.151, 0.891, 0.711, -0.792, 0.552, 0.033, -0.178 };
3759    int ldb = 3;
3760    double B_expected[] = { -0.800945, -0.261458, 0.051763, -0.001149, -0.039066, 0.183952, 0.330423, 0.081423, 0.315368, -0.292945, 0.050151, 0.167455 };
3761    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3762    {
3763      int i;
3764      for (i = 0; i < 6; i++) {
3765        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1814) real");
3766        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1814) imag");
3767      };
3768    };
3769   };
3770
3771
3772   {
3773    int order = 101;
3774    int side = 142;
3775    int uplo = 121;
3776    int trans = 113;
3777    int diag = 132;
3778    int M = 2;
3779    int N = 3;
3780    double alpha[2] = {0, 1};
3781    double A[] = { -0.257, -0.565, -0.123, 0.129, 0.817, -0.516, -0.613, -0.42, -0.494, 0.122, -0.593, -0.972, -0.695, -0.968, 0.848, -0.2, -0.17, 0.436 };
3782    int lda = 3;
3783    double B[] = { -0.274, 0.105, -0.899, -0.33, -0.318, -0.096, -0.237, 0.327, 0.046, 0.584, -0.459, -0.182 };
3784    int ldb = 3;
3785    double B_expected[] = { -0.019041, -0.416263, 0.582168, -0.617114, 0.096, -0.318, 0.136304, -0.448413, -0.245778, 0.495091, 0.182, -0.459 };
3786    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3787    {
3788      int i;
3789      for (i = 0; i < 6; i++) {
3790        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1815) real");
3791        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1815) imag");
3792      };
3793    };
3794   };
3795
3796
3797   {
3798    int order = 101;
3799    int side = 142;
3800    int uplo = 122;
3801    int trans = 113;
3802    int diag = 131;
3803    int M = 2;
3804    int N = 3;
3805    double alpha[2] = {0, 1};
3806    double A[] = { -0.127, 0.025, 0.036, 0.612, 0.773, 0.953, 0.074, -0.006, 0.373, 0.292, -0.052, -0.319, -0.878, -0.401, 0.486, -0.493, -0.316, 0.003 };
3807    int lda = 3;
3808    double B[] = { 0.794, -0.666, -0.406, 0.622, -0.512, -0.761, 0.161, -0.137, -0.626, 0.408, 0.536, 0.66 };
3809    int ldb = 3;
3810    double B_expected[] = { -0.064732, -0.117488, -0.306038, 0.092938, -1.247288, -0.774519, -0.013374, -0.023872, -0.325804, -0.101626, 0.135651, -0.759197 };
3811    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3812    {
3813      int i;
3814      for (i = 0; i < 6; i++) {
3815        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1816) real");
3816        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1816) imag");
3817      };
3818    };
3819   };
3820
3821
3822   {
3823    int order = 101;
3824    int side = 142;
3825    int uplo = 122;
3826    int trans = 113;
3827    int diag = 132;
3828    int M = 2;
3829    int N = 3;
3830    double alpha[2] = {0, 1};
3831    double A[] = { -0.724, -0.423, 0.028, 0.043, 0.812, -0.568, 0.294, -0.375, -0.85, -0.119, -0.338, -0.415, 0.976, 0.507, 0.913, 0.697, 0.323, 0.206 };
3832    int lda = 3;
3833    double B[] = { 0.427, 0.621, -0.212, -0.942, -0.08, 0.416, 0.465, -0.972, -0.529, -0.252, -0.19, 0.073 };
3834    int ldb = 3;
3835    double B_expected[] = { -0.621, 0.427, 0.599301, -0.319337, -0.093325, -0.198531, 0.972, 0.465, 0.363393, -0.02779, 0.97279, -0.887585 };
3836    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3837    {
3838      int i;
3839      for (i = 0; i < 6; i++) {
3840        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1817) real");
3841        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1817) imag");
3842      };
3843    };
3844   };
3845
3846
3847   {
3848    int order = 102;
3849    int side = 142;
3850    int uplo = 121;
3851    int trans = 113;
3852    int diag = 131;
3853    int M = 2;
3854    int N = 3;
3855    double alpha[2] = {0, 1};
3856    double A[] = { 0.501, -0.632, 0.663, 0.151, -0.523, -0.71, -0.811, 0.8, -0.06, 0.994, -0.962, 0.827, -0.543, 0.719, -0.264, -0.942, 0.365, 0.051 };
3857    int lda = 3;
3858    double B[] = { -0.974, 0.094, -0.533, 0.633, -0.982, -0.383, -0.297, 0.734, -0.092, -0.15, 0.215, -0.232 };
3859    int ldb = 2;
3860    double B_expected[] = { -0.675337, -0.115274, 0.406006, -0.122575, -0.952024, -0.156194, -0.514956, 0.9092, 0.050058, -0.04123, 0.095645, 0.066643 };
3861    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3862    {
3863      int i;
3864      for (i = 0; i < 6; i++) {
3865        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1818) real");
3866        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1818) imag");
3867      };
3868    };
3869   };
3870
3871
3872   {
3873    int order = 102;
3874    int side = 142;
3875    int uplo = 121;
3876    int trans = 113;
3877    int diag = 132;
3878    int M = 2;
3879    int N = 3;
3880    double alpha[2] = {0, 1};
3881    double A[] = { 0.669, 0.332, -0.661, 0.611, 0.279, -0.133, -0.033, 0.06, 0.788, -0.407, -0.644, 0.958, 0.247, -0.161, 0.125, -0.184, 0.041, -0.045 };
3882    int lda = 3;
3883    double B[] = { -0.603, 0.88, 0.668, -0.152, 0.082, 0.033, 0.733, -0.557, 0.722, 0.024, -0.754, 0.458 };
3884    int ldb = 2;
3885    double B_expected[] = { -0.996161, -0.429256, 0.185867, 0.350415, -0.168848, 0.167834, 0.638486, 0.554478, -0.024, 0.722, -0.458, -0.754 };
3886    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3887    {
3888      int i;
3889      for (i = 0; i < 6; i++) {
3890        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1819) real");
3891        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1819) imag");
3892      };
3893    };
3894   };
3895
3896
3897   {
3898    int order = 102;
3899    int side = 142;
3900    int uplo = 122;
3901    int trans = 113;
3902    int diag = 131;
3903    int M = 2;
3904    int N = 3;
3905    double alpha[2] = {0, 1};
3906    double A[] = { -0.91, 0.05, -0.944, 0.748, -0.712, 0.619, -0.28, -0.906, 0.314, 0.943, -0.719, -0.983, 0.474, -0.115, -0.859, 0.837, 0.364, -0.164 };
3907    int lda = 3;
3908    double B[] = { -0.278, -0.34, 0.584, 0.43, -0.794, -0.465, -0.65, 0.461, 0.24, 0.003, 0.948, -0.778 };
3909    int ldb = 2;
3910    double B_expected[] = { -0.3233, 0.23598, 0.4205, -0.50994, -1.131636, -0.679699, 0.085048, 0.000967, -0.008447, 1.102325, 1.765785, 0.337213 };
3911    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3912    {
3913      int i;
3914      for (i = 0; i < 6; i++) {
3915        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1820) real");
3916        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1820) imag");
3917      };
3918    };
3919   };
3920
3921
3922   {
3923    int order = 102;
3924    int side = 142;
3925    int uplo = 122;
3926    int trans = 113;
3927    int diag = 132;
3928    int M = 2;
3929    int N = 3;
3930    double alpha[2] = {0, 1};
3931    double A[] = { -0.39, -0.916, 0.257, -0.082, -0.802, 0.215, -0.155, 0.911, -0.099, 0.41, 0.057, 0.105, 0.94, -0.17, -0.714, -0.861, 0.292, -0.231 };
3932    int lda = 3;
3933    double B[] = { -0.453, -0.542, 0.135, 0.518, -0.199, 0.776, 0.784, -0.28, -0.499, -0.377, -0.795, -0.965 };
3934    int ldb = 2;
3935    double B_expected[] = { 0.542, -0.453, -0.518, 0.135, -0.59956, -0.270977, 0.135804, 0.776219, -0.220206, -0.182087, 1.507741, -0.776612 };
3936    cblas_ztrmm(order, side, uplo, trans, diag, M, N, alpha, A, lda, B, ldb);
3937    {
3938      int i;
3939      for (i = 0; i < 6; i++) {
3940        gsl_test_rel(B[2*i], B_expected[2*i], dbleps, "ztrmm(case 1821) real");
3941        gsl_test_rel(B[2*i+1], B_expected[2*i+1], dbleps, "ztrmm(case 1821) imag");
3942      };
3943    };
3944   };
3945
3946
3947 }