File: gensymbol

package info (click to toggle)
openblas 0.3.29%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, trixie
  • size: 62,984 kB
  • sloc: asm: 1,264,442; ansic: 412,266; fortran: 74,453; makefile: 13,665; sh: 4,892; perl: 4,468; python: 1,555; cpp: 244
file content (4097 lines) | stat: -rwxr-xr-x 99,907 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
#!/bin/sh

# Changelog
# 2017/09/03 staticfloat
# Added zsymv and csymv into @lapackobjs2 so they are properly renamed
#
# 2017/07/01 Saar
# removed zsymv_ and csymv_ from @blasobs, because these functions
# are now in lapack-3.7.0
# added blas_thread_shutdown_
# added Cblas_cgemm3m and Cblas_zgemm3m
# added somatcopy_, simatcopy_ ...
# added new functions from lapack-3.7.0
# added LAPACKE deprecated objs from lapack-3.7.0
#
# 2017/08/01 Saar
# removed blas_thread_shutdown_
#
blasobjsc="
    caxpy caxpby ccopy cdotc cdotu cgbmv cgemm cgemv cgerc cgeru
    chbmv chemm chemv cher2 cher2k cher cherk scabs1 scamax
    chpmv chpr2 chpr crotg cscal csrot csscal cswap scamin scasum scnrm2
    csymm csyr2k csyrk ctbmv ctbsv ctpmv ctpsv ctrmm ctrmv ctrsm
    ctrsv icamax icamin cimatcopy comatcopy cgeadd scsum cgemmt cgemmtr"

blasobjsd="
    damax damin dasum daxpy daxpby dcabs1 dcopy ddot dgbmv dgemm
    dgemv dger dmax dmin dnrm2 drot drotg drotm drotmg dsbmv
    dscal dsdot dspmv dspr2 dimatcopy domatcopy
    dspr dswap dsymm dsymv dsyr2 dsyr2k dsyr dsyrk dtbmv dtbsv
    dtpmv dtpsv dtrmm dtrmv dtrsm dtrsv
        idamax idamin idmax idmin dgeadd dsum dgemmt dgemmtr"

blasobjss="
    isamax isamin ismax ismin
    samax samin sasum saxpy  saxpby
    scopy sdot sdsdot sgbmv sgemm sgemv sger
    smax smin snrm2 simatcopy somatcopy
    srot srotg srotm srotmg ssbmv sscal sspmv sspr2 sspr sswap
    ssymm ssymv ssyr2 ssyr2k ssyr ssyrk stbmv stbsv stpmv stpsv
    strmm strmv strsm strsv  sgeadd ssum sgemmt sgemmtr"

blasobjsz="
    izamax izamin
    zaxpy zaxpby zcopy zdotc zdotu zdrot
    zdscal zgbmv zgemm zgemv zgerc zgeru
    zhbmv zhemm zhemv zher2 zher2k zher zherk zhpmv zhpr2
    zhpr zrotg zscal zswap zsymm zsyr2k zsyrk ztbmv
    ztbsv ztpmv ztpsv ztrmm ztrmv ztrsm ztrsv
    zomatcopy  zimatcopy dzamax dzamin dzasum dznrm2
    zgeadd  dzsum zgemmt zgemmtr"

blasobjs="lsame xerbla"
bfblasobjs="sbgemm sbgemmt sbgemmtr sbgemv sbdot sbstobf16 sbdtobf16 sbf16tos dbf16tod"
cblasobjsc="
    cblas_caxpy cblas_ccopy cblas_cdotc cblas_cdotu cblas_cgbmv cblas_cgemm cblas_cgemv
    cblas_cgerc cblas_cgeru cblas_chbmv cblas_chemm cblas_chemv cblas_cher2 cblas_cher2k
    cblas_cher cblas_cherk  cblas_chpmv cblas_chpr2 cblas_chpr cblas_cscal cblas_caxpby
    cblas_csscal cblas_cswap cblas_csymm cblas_csyr2k cblas_csyrk cblas_ctbmv cblas_cgeadd
    cblas_ctbsv cblas_ctpmv cblas_ctpsv cblas_ctrmm cblas_ctrmv cblas_ctrsm cblas_ctrsv
    cblas_scnrm2 cblas_scasum cblas_cgemmt cblas_cgemmtr
    cblas_icamax cblas_icamin cblas_icmin cblas_icmax cblas_scsum cblas_cimatcopy cblas_comatcopy
    cblas_caxpyc cblas_crotg cblas_csrot cblas_scamax cblas_scamin cblas_cgemm_batch
    "
cblasobjsd="
    cblas_dasum cblas_daxpy cblas_dcopy cblas_ddot
    cblas_dgbmv cblas_dgemm cblas_dgemv cblas_dger cblas_dnrm2
    cblas_drot cblas_drotg cblas_drotm cblas_drotmg cblas_dsbmv cblas_dscal cblas_dsdot
    cblas_dspmv cblas_dspr2 cblas_dspr cblas_dswap cblas_dsymm cblas_dsymv cblas_dsyr2
    cblas_dsyr2k cblas_dsyr cblas_dsyrk cblas_dtbmv cblas_dtbsv cblas_dtpmv cblas_dtpsv
    cblas_dtrmm cblas_dtrmv cblas_dtrsm cblas_dtrsv cblas_daxpby cblas_dgeadd cblas_dgemmt cblas_dgemmtr
    cblas_idamax cblas_idamin cblas_idmin cblas_idmax cblas_dsum cblas_dimatcopy cblas_domatcopy
    cblas_damax  cblas_damin cblas_dgemm_batch
    "

cblasobjss="
    cblas_sasum cblas_saxpy cblas_saxpby
    cblas_scopy cblas_sdot cblas_sdsdot cblas_sgbmv cblas_sgemm
    cblas_sgemv cblas_sger cblas_snrm2 cblas_srot cblas_srotg
    cblas_srotm cblas_srotmg cblas_ssbmv cblas_sscal cblas_sspmv cblas_sspr2 cblas_sspr
    cblas_sswap cblas_ssymm cblas_ssymv cblas_ssyr2 cblas_ssyr2k cblas_ssyr cblas_ssyrk
    cblas_stbmv cblas_stbsv cblas_stpmv cblas_stpsv cblas_strmm cblas_strmv cblas_strsm
    cblas_strsv cblas_sgeadd cblas_sgemmt cblas_sgemmtr
    cblas_isamax cblas_isamin cblas_ismin cblas_ismax cblas_ssum cblas_simatcopy cblas_somatcopy
    cblas_samax cblas_samin cblas_sgemm_batch
    "

cblasobjsz="
    cblas_dzasum cblas_dznrm2 cblas_zaxpy cblas_zcopy cblas_zdotc cblas_zdotu cblas_zdscal
    cblas_zgbmv cblas_zgemm cblas_zgemv cblas_zgerc cblas_zgeru cblas_zhbmv cblas_zhemm
    cblas_zhemv cblas_zher2 cblas_zher2k cblas_zher cblas_zherk cblas_zhpmv cblas_zhpr2
    cblas_zhpr cblas_zscal cblas_zswap cblas_zsymm cblas_zsyr2k cblas_zsyrk
    cblas_ztbmv cblas_ztbsv cblas_ztpmv cblas_ztpsv cblas_ztrmm cblas_ztrmv cblas_ztrsm
    cblas_ztrsv cblas_cdotc_sub cblas_cdotu_sub cblas_zdotc_sub cblas_zdotu_sub
    cblas_zaxpby cblas_zgeadd cblas_zgemmt cblas_zgemmtr
    cblas_izamax cblas_izamin cblas_izmin cblas_izmax cblas_dzsum cblas_zimatcopy cblas_zomatcopy
    cblas_zaxpyc cblas_zdrot cblas_zrotg cblas_dzamax cblas_dzamin cblas_zgemm_batch
"

cblasobjs="cblas_xerbla"

bfcblasobjs="cblas_sbgemm cblas_sbgemv cblas_sbdot cblas_sbstobf16 cblas_sbdtobf16 cblas_sbf16tos cblas_dbf16tod cblas_sbgemm_batch"

exblasobjs="
    qamax qamin qasum qaxpy qcabs1 qcopy qdot qgbmv qgemm
    qgemv qger qmax qmin
    qnrm2
    qsbmv qscal qspmv qspr2
    qspr qswap qsymm qsymv qsyr2 qsyr2k qsyr qsyrk qtbmv qtbsv
    qtpmv qtpsv qtrmm qtrmv qtrsm qtrsv
    qxamax qxamin qxasum qxnrm2
    xaxpy xcopy xdotc xdotu
    xqscal xgbmv xgemm xgemv xgerc xgeru
    xhbmv xhemm xhemv xher2 xher2k xher xherk xhpmv xhpr2
    xhpr xscal xswap xsymm xsyr2k xsyrk xtbmv
    xtbsv xtpmv xtpsv xtrmm xtrmv xtrsm xtrsv
"
#   qrot,qrotg,qrotm,qrotmg,
#   xdrot,xrotg,

gemm3mobj=""

cblasgemm3mobj=""

gemm3mobjsc="
    cgemm3m
"
gemm3mobjsz="
    zgemm3m
"

cblasgemm3mobjsc="
    cblas_cgemm3m
"
cblasgemm3mobjsz="
    cblas_zgemm3m
"




#both underscore and no underscore
misc_common_objs="
    openblas_get_parallel
    openblas_get_num_procs
    openblas_set_num_threads
    openblas_get_num_threads
"

misc_no_underscore_objs="
    goto_set_num_threads
    openblas_get_config
    openblas_get_corename
"

misc_underscore_objs=""

# These routines are provided by OpenBLAS.
lapackobjss="
    sgesv
    sgetf2
    sgetrf
    slaswp
    sgetrs
    slauu2
    slauum
    spotf2
    spotrf
    strti2
    strtri
    spotri
"

lapackobjsd="
 dgesv
 dgetf2
 dgetrf
 dlaswp
 dgetrs
 dlauu2
 dlauum
 dpotf2
 dpotrf
 dtrti2
 dtrtri
 dpotri
"

lapackobjsc="
cgesv
cgetf2
cgetrf
claswp
cgetrs
clauu2
clauum
cpotf2
cpotrf
ctrti2
ctrtri
cpotri
"

lapackobjsz="
zgesv
zgetf2
zgetrf
zlaswp
zgetrs
zlauu2
zlauum
zpotf2
zpotrf
ztrti2
ztrtri
zpotri
"


# These routines are provided by LAPACK (reference implementation).
#
# This list is prepared by copying all routines listed in
# `lapack-3.4.1/SRC/Makefile` and replacing the '.o' suffix with a comma.
# Thereafter the following routines should be removed:
# - those provided by OpenBLAS (see @lapackobjs)
# - extra precision routines (see @lapack_extendedprecision_objs)
# Each of these have been marked individually with "already provided" or "excluded".

# ALLAUX  -- Auxiliary routines called from all precisions
# already provided by b"asobjs: xerbla lsame
lapackobjs2="
    ilaenv ieeeck lsamen  iparmq
    ilaprec ilatrans ilauplo iladiag
    ilaver slamch slamc3
"

# SCLAUX  -- Auxiliary routines called from both REAL and COMPLEX.
# excluded: second_$(TIMER)
lapackobjs2sc="
    sbdsdc
    sbdsqr sdisna slabad slacpy sladiv slae2  slaebz
    slaed0 slaed1 slaed2 slaed3 slaed4 slaed5 slaed6
    slaed7 slaed8 slaed9 slaeda slaev2 slagtf
    slagts slamrg slanst
    slapy2 slapy3 slarnv
    slarra slarrb slarrc slarrd slarre slarrf slarrj
    slarrk slarrr slaneg
    slartg slaruv slas2  slascl
    slasd0 slasd1 slasd2 slasd3 slasd4 slasd5 slasd6
    slasd7 slasd8 slasda slasdq slasdt
    slaset slasq1 slasq2 slasq3 slasq4 slasq5 slasq6
    slasr  slasrt slassq slasv2 spttrf sstebz sstedc
    ssteqr ssterf slaisnan sisnan
    slartgp slartgs
"

# DZLAUX  -- Auxiliary routines called from both DOUBLE and COMPLEX*16.
# excluded: dsecnd_$(TIMER)
lapackobjs2dz="
    dbdsdc
    dbdsqr ddisna dlabad dlacpy dladiv dlae2  dlaebz
    dlaed0 dlaed1 dlaed2 dlaed3 dlaed4 dlaed5 dlaed6
    dlaed7 dlaed8 dlaed9 dlaeda dlaev2 dlagtf
    dlagts dlamrg dlanst
    dlapy2 dlapy3 dlarnv
    dlarra dlarrb dlarrc dlarrd dlarre dlarrf dlarrj
    dlarrk dlarrr dlaneg
    dlartg dlaruv dlas2  dlascl
    dlasd0 dlasd1 dlasd2 dlasd3 dlasd4 dlasd5 dlasd6
    dlasd7 dlasd8 dlasda dlasdq dlasdt
    dlaset dlasq1 dlasq2 dlasq3 dlasq4 dlasq5 dlasq6
    dlasr  dlasrt dlassq dlasv2 dpttrf dstebz dstedc
    dsteqr dsterf dlaisnan disnan
    dlartgp dlartgs
    dlamch dlamc3
"

# SLASRC  -- Single precision real LAPACK routines
# already provided by l"packobjs:
#     sgesv sgetf2 slaswp slauu2 slauum spotf2 spotri strti2 strtri
lapackobjs2s="
    sgbbrd sgbcon sgbequ sgbrfs sgbsv
    sgbsvx sgbtf2 sgbtrf sgbtrs sgebak sgebal sgebd2
    sgebrd sgecon sgeequ sgees  sgeesx sgeev  sgeevx
    sgehd2 sgehrd sgelq2 sgelqf
    sgels  sgelsd sgelss sgelsy sgeql2 sgeqlf
    sgeqp3 sgeqr2 sgeqr2p sgeqrf sgeqrfp sgerfs
    sgerq2 sgerqf sgesc2 sgesdd sgesvd sgesvx
    sgetc2 sgetri
    sggbak sggbal sgges  sggesx sggev  sggevx
    sggglm sgghrd sgglse sggqrf
    sggrqf sgtcon sgtrfs sgtsv
    sgtsvx sgttrf sgttrs sgtts2 shgeqz
    shsein shseqr slabrd slacon slacn2
    slaein slaexc slag2  slags2 slagtm slagv2 slahqr
    slahr2 slaic1 slaln2 slals0 slalsa slalsd
    slangb slange slangt slanhs slansb slansp
    slansy slantb slantp slantr slanv2
    slapll slapmt
    slaqgb slaqge slaqp2 slaqps slaqsb slaqsp slaqsy
    slaqr0 slaqr1 slaqr2 slaqr3 slaqr4 slaqr5
    slaqtr slar1v slar2v ilaslr ilaslc
    slarf  slarfb slarfg slarfgp slarft slarfx slargv
    slarrv slartv
    slarz  slarzb slarzt slasy2 slasyf
    slatbs slatdf slatps slatrd slatrs slatrz
    sopgtr sopmtr sorg2l sorg2r
    sorgbr sorghr sorgl2 sorglq sorgql sorgqr sorgr2
    sorgrq sorgtr sorm2l sorm2r
    sormbr sormhr sorml2 sormlq sormql sormqr sormr2
    sormr3 sormrq sormrz sormtr spbcon spbequ spbrfs
    spbstf spbsv  spbsvx
    spbtf2 spbtrf spbtrs spocon spoequ sporfs sposv
    sposvx spstrf spstf2
    sppcon sppequ
    spprfs sppsv  sppsvx spptrf spptri spptrs sptcon
    spteqr sptrfs sptsv  sptsvx spttrs sptts2 srscl
    ssbev  ssbevd ssbevx ssbgst ssbgv  ssbgvd ssbgvx
    ssbtrd sspcon sspev  sspevd sspevx sspgst
    sspgv  sspgvd sspgvx ssprfs sspsv  sspsvx ssptrd
    ssptrf ssptri ssptrs sstegr sstein sstev  sstevd sstevr
    sstevx
    ssycon ssyev  ssyevd ssyevr ssyevx ssygs2
    ssygst ssygv  ssygvd ssygvx ssyrfs ssysv  ssysvx
    ssytd2 ssytf2 ssytrd ssytrf ssytri ssytri2 ssytri2x
    ssyswapr ssytrs ssytrs2 ssyconv
    stbcon
    stbrfs stbtrs stgevc stgex2 stgexc stgsen
    stgsja stgsna stgsy2 stgsyl stpcon stprfs stptri
    stptrs
    strcon strevc strexc strrfs strsen strsna strsyl
    strtrs stzrzf sstemr
    slansf spftrf spftri spftrs ssfrk stfsm stftri stfttp
    stfttr stpttf stpttr strttf strttp
    sgejsv  sgesvj  sgsvj0  sgsvj1
    sgeequb ssyequb spoequb sgbequb
    sbbcsd slapmr sorbdb sorbdb1 sorbdb2 sorbdb3 sorbdb4
    sorbdb5 sorbdb6 sorcsd sorcsd2by1
    sgeqrt sgeqrt2 sgeqrt3 sgemqrt
    stpqrt stpqrt2 stpmqrt stprfb
"

# DSLASRC -- Double-single mixed precision real routines called from
# single, single-extra and double precision real LAPACK
# routines (i.e. from SLASRC, SXLASRC, DLASRC).
#
# already provided by @lapackobjs:
#     sgetrs, spotrf, sgetrf
lapackobjs2ds="
    spotrs
"

# CLASRC  -- Single precision complex LAPACK routines
# already provided by @blasobjs:
# already provided by @lapackobjs:
#     cgesv, cgetf2, claswp, clauu2, clauum, cpotf2, cpotri, ctrti2, ctrtri
lapackobjs2c="
    cbdsqr cgbbrd cgbcon cgbequ cgbrfs cgbsv  cgbsvx
    cgbtf2 cgbtrf cgbtrs cgebak cgebal cgebd2 cgebrd
    cgecon cgeequ cgees  cgeesx cgeev  cgeevx
    cgehd2 cgehrd cgelq2 cgelqf
    cgels  cgelsd cgelss cgelsy cgeql2 cgeqlf cgeqp3
    cgeqr2 cgeqr2p cgeqrf cgeqrfp cgerfs
    cgerq2 cgerqf cgesc2 cgesdd cgesvd
    cgesvx cgetc2 cgetri
    cggbak cggbal cgges  cggesx cggev  cggevx cggglm
    cgghrd cgglse cggqrf cggrqf
    cgtcon cgtrfs cgtsv  cgtsvx cgttrf cgttrs cgtts2 chbev
    chbevd chbevx chbgst chbgv  chbgvd chbgvx chbtrd
    checon cheev  cheevd cheevr cheevx chegs2 chegst
    chegv  chegvd chegvx cherfs chesv  chesvx chetd2
    chetf2 chetrd
    chetrf chetri chetri2 chetri2x cheswapr
    chetrs chetrs2 chgeqz chpcon chpev  chpevd
    chpevx chpgst chpgv  chpgvd chpgvx chprfs chpsv
    chpsvx
    chptrd chptrf chptri chptrs chsein chseqr clabrd
    clacgv clacon clacn2 clacp2 clacpy clacrm clacrt cladiv
    claed0 claed7 claed8
    claein claesy claev2 clags2 clagtm
    clahef clahqr
    clahr2 claic1 clals0 clalsa clalsd clangb clange clangt
    clanhb clanhe
    clanhp clanhs clanht clansb clansp clansy clantb
    clantp clantr clapll clapmt clarcm claqgb claqge
    claqhb claqhe claqhp claqp2 claqps claqsb
    claqr0 claqr1 claqr2 claqr3 claqr4 claqr5
    claqsp claqsy clar1v clar2v ilaclr ilaclc
    clarf  clarfb clarfg clarft clarfgp
    clarfx clargv clarnv clarrv clartg clartv
    clarz  clarzb clarzt clascl claset clasr  classq
    clasyf clatbs clatdf clatps clatrd clatrs clatrz
    cpbcon cpbequ cpbrfs cpbstf cpbsv
    cpbsvx cpbtf2 cpbtrf cpbtrs cpocon cpoequ cporfs
    cposv  cposvx cpstrf cpstf2
    cppcon cppequ cpprfs cppsv  cppsvx cpptrf cpptri cpptrs
    cptcon cpteqr cptrfs cptsv  cptsvx cpttrf cpttrs cptts2
    crot   cspcon cspmv  cspr   csprfs cspsv
    cspsvx csptrf csptri csptrs csrscl cstedc
    cstegr cstein csteqr
    csycon
    csymv
    csyr csyrfs csysv  csysvx csytf2 csytrf csytri csytri2 csytri2x
    csyswapr csytrs csytrs2 csyconv
    ctbcon ctbrfs ctbtrs ctgevc ctgex2
    ctgexc ctgsen ctgsja ctgsna ctgsy2 ctgsyl ctpcon
    ctprfs ctptri
    ctptrs ctrcon ctrevc ctrexc ctrrfs ctrsen ctrsna
    ctrsyl ctrtrs ctzrzf cung2l cung2r
    cungbr cunghr cungl2 cunglq cungql cungqr cungr2
    cungrq cungtr cunm2l cunm2r cunmbr cunmhr cunml2
    cunmlq cunmql cunmqr cunmr2 cunmr3 cunmrq cunmrz
    cunmtr cupgtr cupmtr icmax1 scsum1 cstemr
    chfrk ctfttp clanhf cpftrf cpftri cpftrs ctfsm ctftri
    ctfttr ctpttf ctpttr ctrttf ctrttp
    cgeequb cgbequb csyequb cpoequb cheequb
    cbbcsd clapmr cunbdb cunbdb1 cunbdb2 cunbdb3 cunbdb4
    cunbdb5 cunbdb6 cuncsd cuncsd2by1
    cgeqrt cgeqrt2 cgeqrt3 cgemqrt
    ctpqrt ctpqrt2 ctpmqrt ctprfb
"

# ZCLASRC -- Double-single mixed precision complex routines called from
# single, single-extra and double precision complex LAPACK
# routines (i.e. from CLASRC, CXLASRC, ZLASRC).
#
# already provided by @lapackobjs:
#     cgetrs, cpotrf, cgetrf
lapackobjs2zc="
    cpotrs
"

# DLASRC  -- Double precision real LAPACK routines
# already provided by @lapackobjs:
#     dgesv, dgetf2, dgetrs, dlaswp, dlauu2, dlauum, dpotf2, dpotrf, dpotri,
#     dtrti2, dtrtri
lapackobjs2d="
    dgbbrd dgbcon dgbequ dgbrfs dgbsv
    dgbsvx dgbtf2 dgbtrf dgbtrs dgebak dgebal dgebd2
    dgebrd dgecon dgeequ dgees  dgeesx dgeev  dgeevx
    dgehd2 dgehrd dgelq2 dgelqf
    dgels  dgelsd dgelss dgelsy dgeql2 dgeqlf
    dgeqp3 dgeqr2 dgeqr2p dgeqrf dgeqrfp dgerfs
    dgerq2 dgerqf dgesc2 dgesdd dgesvd dgesvx
    dgetc2 dgetri
    dggbak dggbal dgges  dggesx dggev  dggevx
    dggglm dgghrd dgglse dggqrf
    dggrqf dgtcon dgtrfs dgtsv
    dgtsvx dgttrf dgttrs dgtts2 dhgeqz
    dhsein dhseqr dlabrd dlacon dlacn2
    dlaein dlaexc dlag2  dlags2 dlagtm dlagv2 dlahqr
    dlahr2 dlaic1 dlaln2 dlals0 dlalsa dlalsd
    dlangb dlange dlangt dlanhs dlansb dlansp
    dlansy dlantb dlantp dlantr dlanv2
    dlapll dlapmt
    dlaqgb dlaqge dlaqp2 dlaqps dlaqsb dlaqsp dlaqsy
    dlaqr0 dlaqr1 dlaqr2 dlaqr3 dlaqr4 dlaqr5
    dlaqtr dlar1v dlar2v iladlr iladlc
    dlarf  dlarfb dlarfg dlarfgp dlarft dlarfx
    dlargv dlarrv dlartv
    dlarz  dlarzb dlarzt dlasy2 dlasyf
    dlatbs dlatdf dlatps dlatrd dlatrs dlatrz
    dopgtr dopmtr dorg2l dorg2r
    dorgbr dorghr dorgl2 dorglq dorgql dorgqr dorgr2
    dorgrq dorgtr dorm2l dorm2r
    dormbr dormhr dorml2 dormlq dormql dormqr dormr2
    dormr3 dormrq dormrz dormtr dpbcon dpbequ dpbrfs
    dpbstf dpbsv  dpbsvx
    dpbtf2 dpbtrf dpbtrs dpocon dpoequ dporfs dposv
    dposvx dpotrs dpstrf dpstf2
    dppcon dppequ
    dpprfs dppsv  dppsvx dpptrf dpptri dpptrs dptcon
    dpteqr dptrfs dptsv  dptsvx dpttrs dptts2 drscl
    dsbev  dsbevd dsbevx dsbgst dsbgv  dsbgvd dsbgvx
    dsbtrd  dspcon dspev  dspevd dspevx dspgst
    dspgv  dspgvd dspgvx dsprfs dspsv  dspsvx dsptrd
    dsptrf dsptri dsptrs dstegr dstein dstev  dstevd dstevr
    dstevx
    dsycon dsyev  dsyevd dsyevr
    dsyevx dsygs2 dsygst dsygv  dsygvd dsygvx dsyrfs
    dsysv  dsysvx
    dsytd2 dsytf2 dsytrd dsytrf dsytri dsytri2 dsytri2x
    dsyswapr dsytrs dsytrs2 dsyconv
    dtbcon dtbrfs dtbtrs dtgevc dtgex2 dtgexc dtgsen
    dtgsja dtgsna dtgsy2 dtgsyl dtpcon dtprfs dtptri
    dtptrs
    dtrcon dtrevc dtrexc dtrrfs dtrsen dtrsna dtrsyl
    dtrtrs dtzrzf dstemr
    dsgesv dsposv dlag2s slag2d dlat2s
    dlansf dpftrf dpftri dpftrs dsfrk dtfsm dtftri dtfttp
    dtfttr dtpttf dtpttr dtrttf dtrttp
    dgejsv  dgesvj  dgsvj0  dgsvj1
    dgeequb dsyequb dpoequb dgbequb
    dbbcsd dlapmr dorbdb dorbdb1 dorbdb2 dorbdb3 dorbdb4
    dorbdb5 dorbdb6 dorcsd dorcsd2by1
    dgeqrt dgeqrt2 dgeqrt3 dgemqrt
    dtpqrt dtpqrt2 dtpmqrt dtprfb
"

# ZLASRC  -- Double precision complex LAPACK routines
# already provided by b"asobjs:
# already provided by @lapackobjs:
#     zgesv zgetrs zgetf2 zlaswp zlauu2 zlauum zpotf2 zpotrf zpotri
#     ztrti2 ztrtri
lapackobjs2z="
    zbdsqr zgbbrd zgbcon zgbequ zgbrfs zgbsv  zgbsvx
    zgbtf2 zgbtrf zgbtrs zgebak zgebal zgebd2 zgebrd
    zgecon zgeequ zgees  zgeesx zgeev  zgeevx
    zgehd2 zgehrd zgelq2 zgelqf
    zgels  zgelsd zgelss zgelsy zgeql2 zgeqlf zgeqp3
    zgeqr2 zgeqr2p zgeqrf zgeqrfp zgerfs zgerq2 zgerqf
    zgesc2 zgesdd zgesvd zgesvx zgetc2
    zgetri
    zggbak zggbal zgges  zggesx zggev  zggevx zggglm
    zgghrd zgglse zggqrf zggrqf
    zgtcon zgtrfs zgtsv  zgtsvx zgttrf zgttrs zgtts2 zhbev
    zhbevd zhbevx zhbgst zhbgv  zhbgvd zhbgvx zhbtrd
    zhecon zheev  zheevd zheevr zheevx zhegs2 zhegst
    zhegv  zhegvd zhegvx zherfs zhesv  zhesvx zhetd2
    zhetf2 zhetrd
    zhetrf zhetri zhetri2 zhetri2x zheswapr
    zhetrs zhetrs2 zhgeqz zhpcon zhpev  zhpevd
    zhpevx zhpgst zhpgv  zhpgvd zhpgvx zhprfs zhpsv
    zhpsvx
    zhptrd zhptrf zhptri zhptrs zhsein zhseqr zlabrd
    zlacgv zlacon zlacn2 zlacp2 zlacpy zlacrm zlacrt zladiv
    zlaed0 zlaed7 zlaed8
    zlaein zlaesy zlaev2 zlags2 zlagtm
    zlahef zlahqr
    zlahr2 zlaic1 zlals0 zlalsa zlalsd zlangb zlange
    zlangt zlanhb
    zlanhe
    zlanhp zlanhs zlanht zlansb zlansp zlansy zlantb
    zlantp zlantr zlapll zlapmt zlaqgb zlaqge
    zlaqhb zlaqhe zlaqhp zlaqp2 zlaqps zlaqsb
    zlaqr0 zlaqr1 zlaqr2 zlaqr3 zlaqr4 zlaqr5
    zlaqsp zlaqsy zlar1v zlar2v ilazlr ilazlc
    zlarcm zlarf  zlarfb
    zlarfg zlarft zlarfgp
    zlarfx zlargv zlarnv zlarrv zlartg zlartv
    zlarz  zlarzb zlarzt zlascl zlaset zlasr
    zlassq zlasyf
    zlatbs zlatdf zlatps zlatrd zlatrs zlatrz
    zpbcon zpbequ zpbrfs zpbstf zpbsv
    zpbsvx zpbtf2 zpbtrf zpbtrs zpocon zpoequ zporfs
    zposv  zposvx zpotrs zpstrf zpstf2
    zppcon zppequ zpprfs zppsv  zppsvx zpptrf zpptri zpptrs
    zptcon zpteqr zptrfs zptsv  zptsvx zpttrf zpttrs zptts2
    zrot   zspcon zspmv  zspr   zsprfs zspsv
    zspsvx zsptrf zsptri zsptrs zdrscl zstedc
    zstegr zstein zsteqr
    zsycon
    zsymv
    zsyr zsyrfs zsysv  zsysvx zsytf2 zsytrf zsytri zsytri2 zsytri2x
    zsyswapr zsytrs zsytrs2 zsyconv
    ztbcon ztbrfs ztbtrs ztgevc ztgex2
    ztgexc ztgsen ztgsja ztgsna ztgsy2 ztgsyl ztpcon
    ztprfs ztptri
    ztptrs ztrcon ztrevc ztrexc ztrrfs ztrsen ztrsna
    ztrsyl ztrtrs ztzrzf zung2l
    zung2r zungbr zunghr zungl2 zunglq zungql zungqr zungr2
    zungrq zungtr zunm2l zunm2r zunmbr zunmhr zunml2
    zunmlq zunmql zunmqr zunmr2 zunmr3 zunmrq zunmrz
    zunmtr zupgtr
    zupmtr izmax1 dzsum1 zstemr
    zcgesv zcposv zlag2c clag2z zlat2c
    zhfrk ztfttp zlanhf zpftrf zpftri zpftrs ztfsm ztftri
    ztfttr ztpttf ztpttr ztrttf ztrttp
    zgeequb zgbequb zsyequb zpoequb zheequb
    zbbcsd zlapmr zunbdb zunbdb1 zunbdb2 zunbdb3 zunbdb4
    zunbdb5 zunbdb6 zuncsd zuncsd2by1
    zgeqrt zgeqrt2 zgeqrt3 zgemqrt
    ztpqrt ztpqrt2 ztpmqrt ztprfb
"

# functions added for lapack-3.6.0

lapackobjs2c="$lapackobjs2c
    cgejsv
    cgesvdx
    cgesvj
    cgetrf2
    cgges3
    cggev3
    cgghd3
    cggsvd3
    cggsvp3
    cgsvj0
    cgsvj1
    cpotrf2
    csbmv
    cspr2
    csyr2
    cunm22
"

lapackobjs2d="$lapackobjs2d
    dbdsvdx
    dgesvdx
    dgetrf2
    dgges3
    dggev3
    dgghd3
    dggsvd3
    dggsvp3
    dladiv2
    dorm22
    dpotrf2
    dsecnd
"

lapackobjs2s="$lapackobjs2s
    sbdsvdx
    second
    sgesvdx
    sgetrf2
    sgges3
    sggev3
    sgghd3
    sggsvd3
    sggsvp3
    sladiv2
    sorm22
    spotrf2
"

lapackobjs2z="$lapackobjs2z
    zgejsv
    zgesvdx
    zgesvj
    zgetrf2
    zgges3
    zggev3
    zgghd3
    zggsvd3
    zggsvp3
    zgsvj0
    zgsvj1
    zpotrf2
    zsbmv
    zspr2
    zsyr2
    zunm22
"

# functions added for lapack-3.7.0
lapackobjs2s="$lapackobjs2s
    slarfy
    ssyconvf
    strevc3
    sgelqt
    sgelqt3
    sgemlqt
    sgetsls
    sgeqr
    slatsqr
    slamtsqr
    sgemqr
    sgelq
    slaswlq
    slamswlq
    sgemlq
    stplqt
    stplqt2
    stpmlqt
"

lapackobjs2d="$lapackobjs2d
    dlarfy
    dsyconvf
    dtrevc3
    dgelqt
    dgelqt3
    dgemlqt
    dgetsls
    dgeqr
    dlatsqr
    dlamtsqr
    dgemqr
    dgelq
    dlaswlq
    dlamswlq
    dgemlq
    dtplqt
    dtplqt2
    dtpmlqt
    "
lapackobjs2c="$lapackobjs2c
    clarfy
    csyconvf
    ctrevc3
    cgelqt
    cgelqt3
    cgemlqt
    cgetsls
    cgeqr
    clatsqr
    clamtsqr
    cgemqr
    cgelq
    claswlq
    clamswlq
    cgemlq
    ctplqt
    ctplqt2
    ctpmlqt
"
lapackobjs2z="$lapackobjs2z
    zlarfy
    zsyconvf
    ztrevc3
    ztplqt
    ztplqt2
    ztpmlqt
    zgelqt
    zgelqt3
    zgemlqt
    zgetsls
    zgeqr
    zlatsqr
    zlamtsqr
    zgemqr
    zgelq
    zlaswlq
    zlamswlq
    zgemlq
"

lapackobjs2s="$lapackobjs2s
sladiv1"

lapackobjs2d="$lapackobjs2d
dladiv1"

lapackobjs="$lapackobjs
iparam2stage
ilaenv2stage
"

# functions added for lapack-3.9.0
lapackobjs2c="$lapackobjs2c
    cgesvdq
    cungtsqr
    "
lapackobjs2d="$lapackobjs2d
    dgesvdq
    dorgtsqr
    "
lapackobjs2s="$lapackobjs2s
    sgesvdq
    sorgtsqr
    "
lapackobjs2z="$lapackobjs2z
    zgesvdq
    zungtsqr
    "
#functions added for lapack-3.10
lapackobjs2c="$lapackobjs2c
    cgetsqrhrt
    cungtsqr_row
    "
lapackobjs2d="$lapackobjs2d
    dgetsqrhrt
    dorgtsqr_row
    "
lapackobjs2s="$lapackobjs2s
    sgetsqrhrt
    sorgtsqr_row
    "
lapackobjs2z="$lapackobjs2z
    zgetsqrhrt
    zungtsqr_row
    "

#functions added for lapack-3.11
lapackobjs2c="$lapackobjs2c
    cgedmd
    cgedmdq
    "
lapackobjs2d="$lapackobjs2d
    dgedmd
    dgedmdq
    "
lapackobjs2s="$lapackobjs2s
    sgedmd
    sgedmdq
    "
lapackobjs2z="$lapackobjs2z
    zgedmd
    zgedmdq
    "

#functions added post 3.11

lapackobjs2c="$lapackobjs2c
    cgelst
    cgeqp3rk
    claqp2rk
    claqp3rk
    clatrs3
    crscl
    ctrsyl3
    "
#    claqz0
#    claqz1
#    claqz2
#    claqz3
#    clatrs3

lapackobjs2d="$lapackobjs2d
    dgelst
    dgeqp3rk
    dlaqp2rk
    dlaqp3rk
    dlarmm
    dlatrs3
    dtrsyl3
    "
#    dlaqz0
#    dlaqz1
#    dlaqz2
#    dlaqz3
#    dlaqz4

lapackobjs2s="$lapackobjs2s
    sgelst
    sgeqp3rk
    slaqp2rk
    slaqp3rk
    slarmm
    slatrs3
    strsyl3
    "

lapackobjs2z="$lapackobjs2z
    zgelst
    zgeqp3rk
    zlaqp2rk
    zlaqp3rk
    zlatrs3
    zrscl
    ztrsyl3
    "
#    zlaqz0
#    zlaqz1
#    zlaqz2
#    zlaqz3

lapack_extendedprecision_objs="
    zposvxx clagge clatms chesvxx cposvxx cgesvxx ssyrfssx csyrfsx
    dlagsy dsysvxx sporfsx slatms zlatms zherfsx csysvxx
"

lapack_deprecated_objsc="
    cgelqs  cgeqrs
    cgegs   cggsvd
    cgegv   cggsvp
    cgelsx  clahrd
    cgeqpf  clatzm
    ctzrqf
    "

lapack_deprecated_objsd="
    dgelqs  dgeqrs
    dgegs   dgeqpf
    dgegv   dggsvd
    dgelsx  dggsvp
             dlahrd
  dlatzm  dtzrqf"

lapack_deprecated_objss="
  sgelqs
  sgeqrs
  sgelsx
  sgegs
  sgegv
  sgeqpf
  sggsvd
  sggsvp
  slahrd
  slatzm
  stzrqf
  "

lapack_deprecated_objsz="
  zgelqs
  zgeqrs
  zgegs
  zgegv
  zgelsx
  zgeqpf
  zggsvd
  zggsvp
  zlahrd
  zlatzm
  ztzrqf
  "

lapacke_deprecated_objsc="
    LAPACKE_cggsvp
    LAPACKE_cggsvp_work
    LAPACKE_cggsvd
    LAPACKE_cggsvd_work
    LAPACKE_cgeqpf
    LAPACKE_cgeqpf_work
"

lapacke_deprecated_objsd="
    LAPACKE_dggsvp
    LAPACKE_dggsvp_work
    LAPACKE_dggsvd
    LAPACKE_dggsvd_work
    LAPACKE_dgeqpf
    LAPACKE_dgeqpf_work
"

lapacke_deprecated_objss="
    LAPACKE_sggsvp
    LAPACKE_sggsvp_work
    LAPACKE_sggsvd
    LAPACKE_sggsvd_work
    LAPACKE_sgeqpf
    LAPACKE_sgeqpf_work
"

lapacke_deprecated_objsz="
    LAPACKE_zggsvp
    LAPACKE_zggsvp_work
    LAPACKE_zggsvd
    LAPACKE_zggsvd_work
    LAPACKE_zgeqpf
    LAPACKE_zgeqpf_work
"

# LAPACK C interface routines.
#
# This list is prepared in a similar manner to @lapackobjs2, however the
# functions all begin with an uppercase prefix (with the exception of the
# make_complex_* routines).
#
# The functions corresponding to @(MATGEN_OBJ) and @(SRCX_OBJ) are not
# exported since the respective LAPACK routines are not built by default.

# @(OBJ) from `lapack-3.4.1/lapacke/utils/Makefile`
lapackeobjs="
    LAPACKE_lsame
    LAPACKE_ilaver
    LAPACKE_xerbla
    lapack_make_complex_float
    lapack_make_complex_double
    LAPACKE_get_nancheck
    LAPACKE_set_nancheck
"

lapackeobjsc="
    LAPACKE_cgb_nancheck
    LAPACKE_cgb_trans
    LAPACKE_cge_nancheck
    LAPACKE_cge_trans
    LAPACKE_cgg_nancheck
    LAPACKE_cgg_trans
    LAPACKE_cgt_nancheck
    LAPACKE_chb_nancheck
    LAPACKE_chb_trans
    LAPACKE_che_nancheck
    LAPACKE_che_trans
    LAPACKE_chp_nancheck
    LAPACKE_chp_trans
    LAPACKE_chs_nancheck
    LAPACKE_chs_trans
    LAPACKE_c_nancheck
    LAPACKE_cpb_nancheck
    LAPACKE_cpb_trans
    LAPACKE_cpf_nancheck
    LAPACKE_cpf_trans
    LAPACKE_cpo_nancheck
    LAPACKE_cpo_trans
    LAPACKE_cpp_nancheck
    LAPACKE_cpp_trans
    LAPACKE_cpt_nancheck
    LAPACKE_csp_nancheck
    LAPACKE_csp_trans
    LAPACKE_cst_nancheck
    LAPACKE_csy_nancheck
    LAPACKE_csy_trans
    LAPACKE_ctb_nancheck
    LAPACKE_ctb_trans
    LAPACKE_ctf_nancheck
    LAPACKE_ctf_trans
    LAPACKE_ctp_nancheck
    LAPACKE_ctp_trans
    LAPACKE_ctr_nancheck
    LAPACKE_ctr_trans
    LAPACKE_cbbcsd
    LAPACKE_cbbcsd_work
    LAPACKE_cbdsqr
    LAPACKE_cbdsqr_work
    LAPACKE_cgbbrd
    LAPACKE_cgbbrd_work
    LAPACKE_cgbcon
    LAPACKE_cgbcon_work
    LAPACKE_cgbequ
    LAPACKE_cgbequ_work
    LAPACKE_cgbequb
    LAPACKE_cgbequb_work
    LAPACKE_cgbrfs
    LAPACKE_cgbrfs_work
    LAPACKE_cgbsv
    LAPACKE_cgbsv_work
    LAPACKE_cgbsvx
    LAPACKE_cgbsvx_work
    LAPACKE_cgbtrf
    LAPACKE_cgbtrf_work
    LAPACKE_cgbtrs
    LAPACKE_cgbtrs_work
    LAPACKE_cgebak
    LAPACKE_cgebak_work
    LAPACKE_cgebal
    LAPACKE_cgebal_work
    LAPACKE_cgebrd
    LAPACKE_cgebrd_work
    LAPACKE_cgecon
    LAPACKE_cgecon_work
    LAPACKE_cgedmd
    LAPACKE_cgedmd_work
    LAPACKE_cgedmdq
    LAPACKE_cgedmdq_work
    LAPACKE_cgeequ
    LAPACKE_cgeequ_work
    LAPACKE_cgeequb
    LAPACKE_cgeequb_work
    LAPACKE_cgees
    LAPACKE_cgees_work
    LAPACKE_cgeesx
    LAPACKE_cgeesx_work
    LAPACKE_cgeev
    LAPACKE_cgeev_work
    LAPACKE_cgeevx
    LAPACKE_cgeevx_work
    LAPACKE_cgehrd
    LAPACKE_cgehrd_work
    LAPACKE_cgelq2
    LAPACKE_cgelq2_work
    LAPACKE_cgelqf
    LAPACKE_cgelqf_work
    LAPACKE_cgels
    LAPACKE_cgels_work
    LAPACKE_cgelsd
    LAPACKE_cgelsd_work
    LAPACKE_cgelss
    LAPACKE_cgelss_work
    LAPACKE_cgelsy
    LAPACKE_cgelsy_work
    LAPACKE_cgemqrt
    LAPACKE_cgemqrt_work
    LAPACKE_cgeqlf
    LAPACKE_cgeqlf_work
    LAPACKE_cgeqp3
    LAPACKE_cgeqp3_work
    LAPACKE_cgeqr2
    LAPACKE_cgeqr2_work
    LAPACKE_cgeqrf
    LAPACKE_cgeqrf_work
    LAPACKE_cgeqrfp
    LAPACKE_cgeqrfp_work
    LAPACKE_cgeqrt
    LAPACKE_cgeqrt2
    LAPACKE_cgeqrt2_work
    LAPACKE_cgeqrt3
    LAPACKE_cgeqrt3_work
    LAPACKE_cgeqrt_work
    LAPACKE_cgerfs
    LAPACKE_cgerfs_work
    LAPACKE_cgerqf
    LAPACKE_cgerqf_work
    LAPACKE_cgesdd
    LAPACKE_cgesdd_work
    LAPACKE_cgesv
    LAPACKE_cgesv_work
    LAPACKE_cgesvd
    LAPACKE_cgesvd_work
    LAPACKE_cgesvx
    LAPACKE_cgesvx_work
    LAPACKE_cgetf2
    LAPACKE_cgetf2_work
    LAPACKE_cgetrf
    LAPACKE_cgetrf_work
    LAPACKE_cgetri
    LAPACKE_cgetri_work
    LAPACKE_cgetrs
    LAPACKE_cgetrs_work
    LAPACKE_cggbak
    LAPACKE_cggbak_work
    LAPACKE_cggbal
    LAPACKE_cggbal_work
    LAPACKE_cgges
    LAPACKE_cgges_work
    LAPACKE_cggesx
    LAPACKE_cggesx_work
    LAPACKE_cggev
    LAPACKE_cggev_work
    LAPACKE_cggevx
    LAPACKE_cggevx_work
    LAPACKE_cggglm
    LAPACKE_cggglm_work
    LAPACKE_cgghrd
    LAPACKE_cgghrd_work
    LAPACKE_cgglse
    LAPACKE_cgglse_work
    LAPACKE_cggqrf
    LAPACKE_cggqrf_work
    LAPACKE_cggrqf
    LAPACKE_cggrqf_work
    LAPACKE_cgtcon
    LAPACKE_cgtcon_work
    LAPACKE_cgtrfs
    LAPACKE_cgtrfs_work
    LAPACKE_cgtsv
    LAPACKE_cgtsv_work
    LAPACKE_cgtsvx
    LAPACKE_cgtsvx_work
    LAPACKE_cgttrf
    LAPACKE_cgttrf_work
    LAPACKE_cgttrs
    LAPACKE_cgttrs_work
    LAPACKE_chbev
    LAPACKE_chbev_work
    LAPACKE_chbevd
    LAPACKE_chbevd_work
    LAPACKE_chbevx
    LAPACKE_chbevx_work
    LAPACKE_chbgst
    LAPACKE_chbgst_work
    LAPACKE_chbgv
    LAPACKE_chbgv_work
    LAPACKE_chbgvd
    LAPACKE_chbgvd_work
    LAPACKE_chbgvx
    LAPACKE_chbgvx_work
    LAPACKE_chbtrd
    LAPACKE_chbtrd_work
    LAPACKE_checon
    LAPACKE_checon_work
    LAPACKE_cheequb
    LAPACKE_cheequb_work
    LAPACKE_cheev
    LAPACKE_cheev_work
    LAPACKE_cheevd
    LAPACKE_cheevd_work
    LAPACKE_cheevr
    LAPACKE_cheevr_work
    LAPACKE_cheevx
    LAPACKE_cheevx_work
    LAPACKE_chegst
    LAPACKE_chegst_work
    LAPACKE_chegv
    LAPACKE_chegv_work
    LAPACKE_chegvd
    LAPACKE_chegvd_work
    LAPACKE_chegvx
    LAPACKE_chegvx_work
    LAPACKE_cherfs
    LAPACKE_cherfs_work
    LAPACKE_chesv
    LAPACKE_chesv_work
    LAPACKE_chesvx
    LAPACKE_chesvx_work
    LAPACKE_cheswapr
    LAPACKE_cheswapr_work
    LAPACKE_chetrd
    LAPACKE_chetrd_work
    LAPACKE_chetrf
    LAPACKE_chetrf_work
    LAPACKE_chetri
    LAPACKE_chetri2
    LAPACKE_chetri2_work
    LAPACKE_chetri2x
    LAPACKE_chetri2x_work
    LAPACKE_chetri_work
    LAPACKE_chetrs
    LAPACKE_chetrs2
    LAPACKE_chetrs2_work
    LAPACKE_chetrs_work
    LAPACKE_chfrk
    LAPACKE_chfrk_work
    LAPACKE_chgeqz
    LAPACKE_chgeqz_work
    LAPACKE_chpcon
    LAPACKE_chpcon_work
    LAPACKE_chpev
    LAPACKE_chpev_work
    LAPACKE_chpevd
    LAPACKE_chpevd_work
    LAPACKE_chpevx
    LAPACKE_chpevx_work
    LAPACKE_chpgst
    LAPACKE_chpgst_work
    LAPACKE_chpgv
    LAPACKE_chpgv_work
    LAPACKE_chpgvd
    LAPACKE_chpgvd_work
    LAPACKE_chpgvx
    LAPACKE_chpgvx_work
    LAPACKE_chprfs
    LAPACKE_chprfs_work
    LAPACKE_chpsv
    LAPACKE_chpsv_work
    LAPACKE_chpsvx
    LAPACKE_chpsvx_work
    LAPACKE_chptrd
    LAPACKE_chptrd_work
    LAPACKE_chptrf
    LAPACKE_chptrf_work
    LAPACKE_chptri
    LAPACKE_chptri_work
    LAPACKE_chptrs
    LAPACKE_chptrs_work
    LAPACKE_chsein
    LAPACKE_chsein_work
    LAPACKE_chseqr
    LAPACKE_chseqr_work
    LAPACKE_clacgv
    LAPACKE_clacgv_work
    LAPACKE_clacn2
    LAPACKE_clacn2_work
    LAPACKE_clacp2
    LAPACKE_clacp2_work
    LAPACKE_clacpy
    LAPACKE_clacpy_work
    LAPACKE_clag2z
    LAPACKE_clag2z_work
    LAPACKE_clange
    LAPACKE_clange_work
    LAPACKE_clanhe
    LAPACKE_clanhe_work
    LAPACKE_clansy
    LAPACKE_clansy_work
    LAPACKE_clantr
    LAPACKE_clantr_work
    LAPACKE_clapmr
    LAPACKE_clapmr_work
    LAPACKE_clarfb
    LAPACKE_clarfb_work
    LAPACKE_clarfg
    LAPACKE_clarfg_work
    LAPACKE_clarft
    LAPACKE_clarft_work
    LAPACKE_clarfx
    LAPACKE_clarfx_work
    LAPACKE_clarnv
    LAPACKE_clarnv_work
    LAPACKE_claset
    LAPACKE_claset_work
    LAPACKE_claswp
    LAPACKE_claswp_work
    LAPACKE_clauum
    LAPACKE_clauum_work
    LAPACKE_cpbcon
    LAPACKE_cpbcon_work
    LAPACKE_cpbequ
    LAPACKE_cpbequ_work
    LAPACKE_cpbrfs
    LAPACKE_cpbrfs_work
    LAPACKE_cpbstf
    LAPACKE_cpbstf_work
    LAPACKE_cpbsv
    LAPACKE_cpbsv_work
    LAPACKE_cpbsvx
    LAPACKE_cpbsvx_work
    LAPACKE_cpbtrf
    LAPACKE_cpbtrf_work
    LAPACKE_cpbtrs
    LAPACKE_cpbtrs_work
    LAPACKE_cpftrf
    LAPACKE_cpftrf_work
    LAPACKE_cpftri
    LAPACKE_cpftri_work
    LAPACKE_cpftrs
    LAPACKE_cpftrs_work
    LAPACKE_cpocon
    LAPACKE_cpocon_work
    LAPACKE_cpoequ
    LAPACKE_cpoequ_work
    LAPACKE_cpoequb
    LAPACKE_cpoequb_work
    LAPACKE_cporfs
    LAPACKE_cporfs_work
    LAPACKE_cposv
    LAPACKE_cposv_work
    LAPACKE_cposvx
    LAPACKE_cposvx_work
    LAPACKE_cpotrf
    LAPACKE_cpotrf_work
    LAPACKE_cpotri
    LAPACKE_cpotri_work
    LAPACKE_cpotrs
    LAPACKE_cpotrs_work
    LAPACKE_cppcon
    LAPACKE_cppcon_work
    LAPACKE_cppequ
    LAPACKE_cppequ_work
    LAPACKE_cpprfs
    LAPACKE_cpprfs_work
    LAPACKE_cppsv
    LAPACKE_cppsv_work
    LAPACKE_cppsvx
    LAPACKE_cppsvx_work
    LAPACKE_cpptrf
    LAPACKE_cpptrf_work
    LAPACKE_cpptri
    LAPACKE_cpptri_work
    LAPACKE_cpptrs
    LAPACKE_cpptrs_work
    LAPACKE_cpstrf
    LAPACKE_cpstrf_work
    LAPACKE_cptcon
    LAPACKE_cptcon_work
    LAPACKE_cpteqr
    LAPACKE_cpteqr_work
    LAPACKE_cptrfs
    LAPACKE_cptrfs_work
    LAPACKE_cptsv
    LAPACKE_cptsv_work
    LAPACKE_cptsvx
    LAPACKE_cptsvx_work
    LAPACKE_cpttrf
    LAPACKE_cpttrf_work
    LAPACKE_cpttrs
    LAPACKE_cpttrs_work
    LAPACKE_cspcon
    LAPACKE_cspcon_work
    LAPACKE_csprfs
    LAPACKE_csprfs_work
    LAPACKE_cspsv
    LAPACKE_cspsv_work
    LAPACKE_cspsvx
    LAPACKE_cspsvx_work
    LAPACKE_csptrf
    LAPACKE_csptrf_work
    LAPACKE_csptri
    LAPACKE_csptri_work
    LAPACKE_csptrs
    LAPACKE_csptrs_work
    LAPACKE_cstedc
    LAPACKE_cstedc_work
    LAPACKE_cstegr
    LAPACKE_cstegr_work
    LAPACKE_cstein
    LAPACKE_cstein_work
    LAPACKE_cstemr
    LAPACKE_cstemr_work
    LAPACKE_csteqr
    LAPACKE_csteqr_work
    LAPACKE_csycon
    LAPACKE_csycon_work
    LAPACKE_csyconv
    LAPACKE_csyconv_work
    LAPACKE_csyequb
    LAPACKE_csyequb_work
    LAPACKE_csyrfs
    LAPACKE_csyrfs_work
    LAPACKE_csysv
    LAPACKE_csysv_rook
    LAPACKE_csysv_rook_work
    LAPACKE_csysv_work
    LAPACKE_csysvx
    LAPACKE_csysvx_work
    LAPACKE_csyswapr
    LAPACKE_csyswapr_work
    LAPACKE_csytrf
    LAPACKE_csytrf_work
    LAPACKE_csytri
    LAPACKE_csytri2
    LAPACKE_csytri2_work
    LAPACKE_csytri2x
    LAPACKE_csytri2x_work
    LAPACKE_csytri_work
    LAPACKE_csytrs
    LAPACKE_csytrs2
    LAPACKE_csytrs2_work
    LAPACKE_csytrs_work
    LAPACKE_ctbcon
    LAPACKE_ctbcon_work
    LAPACKE_ctbrfs
    LAPACKE_ctbrfs_work
    LAPACKE_ctbtrs
    LAPACKE_ctbtrs_work
    LAPACKE_ctfsm
    LAPACKE_ctfsm_work
    LAPACKE_ctftri
    LAPACKE_ctftri_work
    LAPACKE_ctfttp
    LAPACKE_ctfttp_work
    LAPACKE_ctfttr
    LAPACKE_ctfttr_work
    LAPACKE_ctgevc
    LAPACKE_ctgevc_work
    LAPACKE_ctgexc
    LAPACKE_ctgexc_work
    LAPACKE_ctgsen
    LAPACKE_ctgsen_work
    LAPACKE_ctgsja
    LAPACKE_ctgsja_work
    LAPACKE_ctgsna
    LAPACKE_ctgsna_work
    LAPACKE_ctgsyl
    LAPACKE_ctgsyl_work
    LAPACKE_ctpcon
    LAPACKE_ctpcon_work
    LAPACKE_ctpmqrt
    LAPACKE_ctpmqrt_work
    LAPACKE_ctpqrt
    LAPACKE_ctpqrt2
    LAPACKE_ctpqrt2_work
    LAPACKE_ctpqrt_work
    LAPACKE_ctprfb
    LAPACKE_ctprfb_work
    LAPACKE_ctprfs
    LAPACKE_ctprfs_work
    LAPACKE_ctptri
    LAPACKE_ctptri_work
    LAPACKE_ctptrs
    LAPACKE_ctptrs_work
    LAPACKE_ctpttf
    LAPACKE_ctpttf_work
    LAPACKE_ctpttr
    LAPACKE_ctpttr_work
    LAPACKE_ctrcon
    LAPACKE_ctrcon_work
    LAPACKE_ctrevc
    LAPACKE_ctrevc_work
    LAPACKE_ctrexc
    LAPACKE_ctrexc_work
    LAPACKE_ctrrfs
    LAPACKE_ctrrfs_work
    LAPACKE_ctrsen
    LAPACKE_ctrsen_work
    LAPACKE_ctrsna
    LAPACKE_ctrsna_work
    LAPACKE_ctrsyl
    LAPACKE_ctrsyl_work
    LAPACKE_ctrtri
    LAPACKE_ctrtri_work
    LAPACKE_ctrtrs
    LAPACKE_ctrtrs_work
    LAPACKE_ctrttf
    LAPACKE_ctrttf_work
    LAPACKE_ctrttp
    LAPACKE_ctrttp_work
    LAPACKE_ctzrzf
    LAPACKE_ctzrzf_work
    LAPACKE_cunbdb
    LAPACKE_cunbdb_work
    LAPACKE_cuncsd
    LAPACKE_cuncsd_work
    LAPACKE_cungbr
    LAPACKE_cungbr_work
    LAPACKE_cunghr
    LAPACKE_cunghr_work
    LAPACKE_cunglq
    LAPACKE_cunglq_work
    LAPACKE_cungql
    LAPACKE_cungql_work
    LAPACKE_cungqr
    LAPACKE_cungqr_work
    LAPACKE_cungrq
    LAPACKE_cungrq_work
    LAPACKE_cungtr
    LAPACKE_cungtr_work
    LAPACKE_cunmbr
    LAPACKE_cunmbr_work
    LAPACKE_cunmhr
    LAPACKE_cunmhr_work
    LAPACKE_cunmlq
    LAPACKE_cunmlq_work
    LAPACKE_cunmql
    LAPACKE_cunmql_work
    LAPACKE_cunmqr
    LAPACKE_cunmqr_work
    LAPACKE_cunmrq
    LAPACKE_cunmrq_work
    LAPACKE_cunmrz
    LAPACKE_cunmrz_work
    LAPACKE_cunmtr
    LAPACKE_cunmtr_work
    LAPACKE_cupgtr
    LAPACKE_cupgtr_work
    LAPACKE_cupmtr
    LAPACKE_cupmtr_work
    LAPACKE_csyr
    LAPACKE_csyr_work
    LAPACKE_clatms
    LAPACKE_clatms_work
    LAPACKE_clagge
    LAPACKE_clagge_work
    LAPACKE_claghe
    LAPACKE_claghe_work
    LAPACKE_clagsy
    LAPACKE_clagsy_work
    LAPACKE_cgejsv
    LAPACKE_cgejsv_work
    LAPACKE_cgesvdx
    LAPACKE_cgesvdx_work
    LAPACKE_cgesvj
    LAPACKE_cgesvj_work
    LAPACKE_cgetrf2
    LAPACKE_cgetrf2_work
    LAPACKE_cgges3
    LAPACKE_cgges3_work
    LAPACKE_cggev3
    LAPACKE_cggev3_work
    LAPACKE_cgghd3
    LAPACKE_cgghd3_work
    LAPACKE_cggsvd3
    LAPACKE_cggsvd3_work
    LAPACKE_cggsvp3
    LAPACKE_cggsvp3_work
    LAPACKE_chetrf_rook
    LAPACKE_chetrf_rook_work
    LAPACKE_chetrs_rook
    LAPACKE_chetrs_rook_work
    LAPACKE_clapmt
    LAPACKE_clapmt_work
    LAPACKE_clascl
    LAPACKE_clascl_work
    LAPACKE_cpotrf2
    LAPACKE_cpotrf2_work
    LAPACKE_csytrf_rook
    LAPACKE_csytrf_rook_work
    LAPACKE_csytrs_rook
    LAPACKE_csytrs_rook_work
    LAPACKE_cuncsd2by1
    LAPACKE_cuncsd2by1_work
    LAPACKE_cgelq
    LAPACKE_cgelq_work
    LAPACKE_cgemlq
    LAPACKE_cgemlq_work
    LAPACKE_cgemqr
    LAPACKE_cgemqr_work
    LAPACKE_cgeqr
    LAPACKE_cgeqr_work
    LAPACKE_cgetsls
    LAPACKE_cgetsls_work
    LAPACKE_chbev_2stage
    LAPACKE_chbev_2stage_work
    LAPACKE_chbevd_2stage
    LAPACKE_chbevd_2stage_work
    LAPACKE_chbevx_2stage
    LAPACKE_chbevx_2stage_work
    LAPACKE_checon_3
    LAPACKE_checon_3_work
    LAPACKE_cheev_2stage
    LAPACKE_cheev_2stage_work
    LAPACKE_cheevd_2stage
    LAPACKE_cheevd_2stage_work
    LAPACKE_cheevr_2stage
    LAPACKE_cheevr_2stage_work
    LAPACKE_cheevx_2stage
    LAPACKE_cheevx_2stage_work
    LAPACKE_chegv_2stage
    LAPACKE_chegv_2stage_work
    LAPACKE_chesv_aa
    LAPACKE_chesv_aa_work
    LAPACKE_chesv_rk
    LAPACKE_chesv_rk_work
    LAPACKE_chetrf_aa
    LAPACKE_chetrf_aa_work
    LAPACKE_chetrf_rk
    LAPACKE_chetrf_rk_work
    LAPACKE_chetri_3
    LAPACKE_chetri_3_work
    LAPACKE_chetrs_aa
    LAPACKE_chetrs_aa_work
    LAPACKE_chetrs_3
    LAPACKE_chetrs_3_work
    LAPACKE_csycon_3
    LAPACKE_csycon_3_work
    LAPACKE_csysv_aa
    LAPACKE_csysv_aa_work
    LAPACKE_csysv_rk
    LAPACKE_csysv_rk_work
    LAPACKE_csytrf_aa
    LAPACKE_csytrf_aa_work
    LAPACKE_csytrf_rk
    LAPACKE_csytrf_rk_work
    LAPACKE_csytri_3
    LAPACKE_csytri_3_work
    LAPACKE_csytrs_aa
    LAPACKE_csytrs_aa_work
    LAPACKE_csytrs_3
    LAPACKE_csytrs_3_work
    LAPACKE_chesv_aa_2stage
    LAPACKE_chesv_aa_2stage_work
    LAPACKE_chetrf_aa_2stage
    LAPACKE_chetrf_aa_2stage_work
    LAPACKE_chetrs_aa_2stage
    LAPACKE_chetrs_aa_2stage_work
    LAPACKE_clacrm
    LAPACKE_clacrm_work
    LAPACKE_clarcm
    LAPACKE_clarcm_work
    LAPACKE_classq
    LAPACKE_classq_work
    LAPACKE_csysv_aa_2stage
    LAPACKE_csysv_aa_2stage_work
    LAPACKE_csytrf_aa_2stage
    LAPACKE_csytrf_aa_2stage_work
    LAPACKE_csytrs_aa_2stage
    LAPACKE_csytrs_aa_2stage_work
    LAPACKE_cgesvdq
    LAPACKE_cgesvdq_work
    LAPACKE_cgetsqrhrt
    LAPACKE_cgetsqrhrt_work
    LAPACKE_cungtsqr_row
    LAPACKE_cungtsqr_row_work
    LAPACKE_clangb
    LAPACKE_clangb_work
    LAPACKE_ctrsyl3
    LAPACKE_ctrsyl3_work
    LAPACKE_ctz_nancheck
    LAPACKE_ctz_trans
    LAPACKE_cunhr_col
    LAPACKE_cunhr_col_work
"

lapackeobjsd="
    LAPACKE_dgb_nancheck
    LAPACKE_dgb_trans
    LAPACKE_dge_nancheck
    LAPACKE_dge_trans
    LAPACKE_dgg_nancheck
    LAPACKE_dgg_trans
    LAPACKE_dgt_nancheck
    LAPACKE_dhs_nancheck
    LAPACKE_dhs_trans
    LAPACKE_d_nancheck
    LAPACKE_dpb_nancheck
    LAPACKE_dpb_trans
    LAPACKE_dpf_nancheck
    LAPACKE_dpf_trans
    LAPACKE_dpo_nancheck
    LAPACKE_dpo_trans
    LAPACKE_dpp_nancheck
    LAPACKE_dpp_trans
    LAPACKE_dpt_nancheck
    LAPACKE_dsb_nancheck
    LAPACKE_dsb_trans
    LAPACKE_dsp_nancheck
    LAPACKE_dsp_trans
    LAPACKE_dst_nancheck
    LAPACKE_dsy_nancheck
    LAPACKE_dsy_trans
    LAPACKE_dtb_nancheck
    LAPACKE_dtb_trans
    LAPACKE_dtf_nancheck
    LAPACKE_dtf_trans
    LAPACKE_dtp_nancheck
    LAPACKE_dtp_trans
    LAPACKE_dtr_nancheck
    LAPACKE_dtr_trans
    LAPACKE_dbbcsd
    LAPACKE_dbbcsd_work
    LAPACKE_dbdsdc
    LAPACKE_dbdsdc_work
    LAPACKE_dbdsqr
    LAPACKE_dbdsqr_work
    LAPACKE_ddisna
    LAPACKE_ddisna_work
    LAPACKE_dgbbrd
    LAPACKE_dgbbrd_work
    LAPACKE_dgbcon
    LAPACKE_dgbcon_work
    LAPACKE_dgbequ
    LAPACKE_dgbequ_work
    LAPACKE_dgbequb
    LAPACKE_dgbequb_work
    LAPACKE_dgbrfs
    LAPACKE_dgbrfs_work
    LAPACKE_dgbsv
    LAPACKE_dgbsv_work
    LAPACKE_dgbsvx
    LAPACKE_dgbsvx_work
    LAPACKE_dgbtrf
    LAPACKE_dgbtrf_work
    LAPACKE_dgbtrs
    LAPACKE_dgbtrs_work
    LAPACKE_dgebak
    LAPACKE_dgebak_work
    LAPACKE_dgebal
    LAPACKE_dgebal_work
    LAPACKE_dgebrd
    LAPACKE_dgebrd_work
    LAPACKE_dgecon
    LAPACKE_dgecon_work
    LAPACKE_dgedmd
    LAPACKE_dgedmd_work
    LAPACKE_dgedmdq
    LAPACKE_dgedmdq_work
    LAPACKE_dgeequ
    LAPACKE_dgeequ_work
    LAPACKE_dgeequb
    LAPACKE_dgeequb_work
    LAPACKE_dgees
    LAPACKE_dgees_work
    LAPACKE_dgeesx
    LAPACKE_dgeesx_work
    LAPACKE_dgeev
    LAPACKE_dgeev_work
    LAPACKE_dgeevx
    LAPACKE_dgeevx_work
    LAPACKE_dgehrd
    LAPACKE_dgehrd_work
    LAPACKE_dgejsv
    LAPACKE_dgejsv_work
    LAPACKE_dgelq2
    LAPACKE_dgelq2_work
    LAPACKE_dgelqf
    LAPACKE_dgelqf_work
    LAPACKE_dgels
    LAPACKE_dgels_work
    LAPACKE_dgelsd
    LAPACKE_dgelsd_work
    LAPACKE_dgelss
    LAPACKE_dgelss_work
    LAPACKE_dgelsy
    LAPACKE_dgelsy_work
    LAPACKE_dgemqrt
    LAPACKE_dgemqrt_work
    LAPACKE_dgeqlf
    LAPACKE_dgeqlf_work
    LAPACKE_dgeqp3
    LAPACKE_dgeqp3_work
    LAPACKE_dgeqr2
    LAPACKE_dgeqr2_work
    LAPACKE_dgeqrf
    LAPACKE_dgeqrf_work
    LAPACKE_dgeqrfp
    LAPACKE_dgeqrfp_work
    LAPACKE_dgeqrt
    LAPACKE_dgeqrt2
    LAPACKE_dgeqrt2_work
    LAPACKE_dgeqrt3
    LAPACKE_dgeqrt3_work
    LAPACKE_dgeqrt_work
    LAPACKE_dgerfs
    LAPACKE_dgerfs_work
    LAPACKE_dgerqf
    LAPACKE_dgerqf_work
    LAPACKE_dgesdd
    LAPACKE_dgesdd_work
    LAPACKE_dgesv
    LAPACKE_dgesv_work
    LAPACKE_dgesvd
    LAPACKE_dgesvd_work
    LAPACKE_dgesvj
    LAPACKE_dgesvj_work
    LAPACKE_dgesvx
    LAPACKE_dgesvx_work
    LAPACKE_dgetf2
    LAPACKE_dgetf2_work
    LAPACKE_dgetrf
    LAPACKE_dgetrf_work
    LAPACKE_dgetri
    LAPACKE_dgetri_work
    LAPACKE_dgetrs
    LAPACKE_dgetrs_work
    LAPACKE_dggbak
    LAPACKE_dggbak_work
    LAPACKE_dggbal
    LAPACKE_dggbal_work
    LAPACKE_dgges
    LAPACKE_dgges_work
    LAPACKE_dggesx
    LAPACKE_dggesx_work
    LAPACKE_dggev
    LAPACKE_dggev_work
    LAPACKE_dggevx
    LAPACKE_dggevx_work
    LAPACKE_dggglm
    LAPACKE_dggglm_work
    LAPACKE_dgghrd
    LAPACKE_dgghrd_work
    LAPACKE_dgglse
    LAPACKE_dgglse_work
    LAPACKE_dggqrf
    LAPACKE_dggqrf_work
    LAPACKE_dggrqf
    LAPACKE_dggrqf_work
    LAPACKE_dgtcon
    LAPACKE_dgtcon_work
    LAPACKE_dgtrfs
    LAPACKE_dgtrfs_work
    LAPACKE_dgtsv
    LAPACKE_dgtsv_work
    LAPACKE_dgtsvx
    LAPACKE_dgtsvx_work
    LAPACKE_dgttrf
    LAPACKE_dgttrf_work
    LAPACKE_dgttrs
    LAPACKE_dgttrs_work
    LAPACKE_dhgeqz
    LAPACKE_dhgeqz_work
    LAPACKE_dhsein
    LAPACKE_dhsein_work
    LAPACKE_dhseqr
    LAPACKE_dhseqr_work
    LAPACKE_dlacn2
    LAPACKE_dlacn2_work
    LAPACKE_dlacpy
    LAPACKE_dlacpy_work
    LAPACKE_dlag2s
    LAPACKE_dlag2s_work
    LAPACKE_dlamch
    LAPACKE_dlamch_work
    LAPACKE_dlange
    LAPACKE_dlange_work
    LAPACKE_dlansy
    LAPACKE_dlansy_work
    LAPACKE_dlantr
    LAPACKE_dlantr_work
    LAPACKE_dlapmr
    LAPACKE_dlapmr_work
    LAPACKE_dlapy2
    LAPACKE_dlapy2_work
    LAPACKE_dlapy3
    LAPACKE_dlapy3_work
    LAPACKE_dlarfb
    LAPACKE_dlarfb_work
    LAPACKE_dlarfg
    LAPACKE_dlarfg_work
    LAPACKE_dlarft
    LAPACKE_dlarft_work
    LAPACKE_dlarfx
    LAPACKE_dlarfx_work
    LAPACKE_dlarnv
    LAPACKE_dlarnv_work
    LAPACKE_dlartgp
    LAPACKE_dlartgp_work
    LAPACKE_dlartgs
    LAPACKE_dlartgs_work
    LAPACKE_dlaset
    LAPACKE_dlaset_work
    LAPACKE_dlasrt
    LAPACKE_dlasrt_work
    LAPACKE_dlaswp
    LAPACKE_dlaswp_work
    LAPACKE_dlauum
    LAPACKE_dlauum_work
    LAPACKE_dopgtr
    LAPACKE_dopgtr_work
    LAPACKE_dopmtr
    LAPACKE_dopmtr_work
    LAPACKE_dorbdb
    LAPACKE_dorbdb_work
    LAPACKE_dorcsd
    LAPACKE_dorcsd_work
    LAPACKE_dorgbr
    LAPACKE_dorgbr_work
    LAPACKE_dorghr
    LAPACKE_dorghr_work
    LAPACKE_dorglq
    LAPACKE_dorglq_work
    LAPACKE_dorgql
    LAPACKE_dorgql_work
    LAPACKE_dorgqr
    LAPACKE_dorgqr_work
    LAPACKE_dorgrq
    LAPACKE_dorgrq_work
    LAPACKE_dorgtr
    LAPACKE_dorgtr_work
    LAPACKE_dormbr
    LAPACKE_dormbr_work
    LAPACKE_dormhr
    LAPACKE_dormhr_work
    LAPACKE_dormlq
    LAPACKE_dormlq_work
    LAPACKE_dormql
    LAPACKE_dormql_work
    LAPACKE_dormqr
    LAPACKE_dormqr_work
    LAPACKE_dormrq
    LAPACKE_dormrq_work
    LAPACKE_dormrz
    LAPACKE_dormrz_work
    LAPACKE_dormtr
    LAPACKE_dormtr_work
    LAPACKE_dpbcon
    LAPACKE_dpbcon_work
    LAPACKE_dpbequ
    LAPACKE_dpbequ_work
    LAPACKE_dpbrfs
    LAPACKE_dpbrfs_work
    LAPACKE_dpbstf
    LAPACKE_dpbstf_work
    LAPACKE_dpbsv
    LAPACKE_dpbsv_work
    LAPACKE_dpbsvx
    LAPACKE_dpbsvx_work
    LAPACKE_dpbtrf
    LAPACKE_dpbtrf_work
    LAPACKE_dpbtrs
    LAPACKE_dpbtrs_work
    LAPACKE_dpftrf
    LAPACKE_dpftrf_work
    LAPACKE_dpftri
    LAPACKE_dpftri_work
    LAPACKE_dpftrs
    LAPACKE_dpftrs_work
    LAPACKE_dpocon
    LAPACKE_dpocon_work
    LAPACKE_dpoequ
    LAPACKE_dpoequ_work
    LAPACKE_dpoequb
    LAPACKE_dpoequb_work
    LAPACKE_dporfs
    LAPACKE_dporfs_work
    LAPACKE_dposv
    LAPACKE_dposv_work
    LAPACKE_dposvx
    LAPACKE_dposvx_work
    LAPACKE_dpotrf
    LAPACKE_dpotrf_work
    LAPACKE_dpotri
    LAPACKE_dpotri_work
    LAPACKE_dpotrs
    LAPACKE_dpotrs_work
    LAPACKE_dppcon
    LAPACKE_dppcon_work
    LAPACKE_dppequ
    LAPACKE_dppequ_work
    LAPACKE_dpprfs
    LAPACKE_dpprfs_work
    LAPACKE_dppsv
    LAPACKE_dppsv_work
    LAPACKE_dppsvx
    LAPACKE_dppsvx_work
    LAPACKE_dpptrf
    LAPACKE_dpptrf_work
    LAPACKE_dpptri
    LAPACKE_dpptri_work
    LAPACKE_dpptrs
    LAPACKE_dpptrs_work
    LAPACKE_dpstrf
    LAPACKE_dpstrf_work
    LAPACKE_dptcon
    LAPACKE_dptcon_work
    LAPACKE_dpteqr
    LAPACKE_dpteqr_work
    LAPACKE_dptrfs
    LAPACKE_dptrfs_work
    LAPACKE_dptsv
    LAPACKE_dptsv_work
    LAPACKE_dptsvx
    LAPACKE_dptsvx_work
    LAPACKE_dpttrf
    LAPACKE_dpttrf_work
    LAPACKE_dpttrs
    LAPACKE_dpttrs_work
    LAPACKE_dsbev
    LAPACKE_dsbev_work
    LAPACKE_dsbevd
    LAPACKE_dsbevd_work
    LAPACKE_dsbevx
    LAPACKE_dsbevx_work
    LAPACKE_dsbgst
    LAPACKE_dsbgst_work
    LAPACKE_dsbgv
    LAPACKE_dsbgv_work
    LAPACKE_dsbgvd
    LAPACKE_dsbgvd_work
    LAPACKE_dsbgvx
    LAPACKE_dsbgvx_work
    LAPACKE_dsbtrd
    LAPACKE_dsbtrd_work
    LAPACKE_dsfrk
    LAPACKE_dsfrk_work
    LAPACKE_dsgesv
    LAPACKE_dsgesv_work
    LAPACKE_dspcon
    LAPACKE_dspcon_work
    LAPACKE_dspev
    LAPACKE_dspev_work
    LAPACKE_dspevd
    LAPACKE_dspevd_work
    LAPACKE_dspevx
    LAPACKE_dspevx_work
    LAPACKE_dspgst
    LAPACKE_dspgst_work
    LAPACKE_dspgv
    LAPACKE_dspgv_work
    LAPACKE_dspgvd
    LAPACKE_dspgvd_work
    LAPACKE_dspgvx
    LAPACKE_dspgvx_work
    LAPACKE_dsposv
    LAPACKE_dsposv_work
    LAPACKE_dsprfs
    LAPACKE_dsprfs_work
    LAPACKE_dspsv
    LAPACKE_dspsv_work
    LAPACKE_dspsvx
    LAPACKE_dspsvx_work
    LAPACKE_dsptrd
    LAPACKE_dsptrd_work
    LAPACKE_dsptrf
    LAPACKE_dsptrf_work
    LAPACKE_dsptri
    LAPACKE_dsptri_work
    LAPACKE_dsptrs
    LAPACKE_dsptrs_work
    LAPACKE_dstebz
    LAPACKE_dstebz_work
    LAPACKE_dstedc
    LAPACKE_dstedc_work
    LAPACKE_dstegr
    LAPACKE_dstegr_work
    LAPACKE_dstein
    LAPACKE_dstein_work
    LAPACKE_dstemr
    LAPACKE_dstemr_work
    LAPACKE_dsteqr
    LAPACKE_dsteqr_work
    LAPACKE_dsterf
    LAPACKE_dsterf_work
    LAPACKE_dstev
    LAPACKE_dstev_work
    LAPACKE_dstevd
    LAPACKE_dstevd_work
    LAPACKE_dstevr
    LAPACKE_dstevr_work
    LAPACKE_dstevx
    LAPACKE_dstevx_work
    LAPACKE_dsycon
    LAPACKE_dsycon_work
    LAPACKE_dsyconv
    LAPACKE_dsyconv_work
    LAPACKE_dsyequb
    LAPACKE_dsyequb_work
    LAPACKE_dsyev
    LAPACKE_dsyev_work
    LAPACKE_dsyevd
    LAPACKE_dsyevd_work
    LAPACKE_dsyevr
    LAPACKE_dsyevr_work
    LAPACKE_dsyevx
    LAPACKE_dsyevx_work
    LAPACKE_dsygst
    LAPACKE_dsygst_work
    LAPACKE_dsygv
    LAPACKE_dsygv_work
    LAPACKE_dsygvd
    LAPACKE_dsygvd_work
    LAPACKE_dsygvx
    LAPACKE_dsygvx_work
    LAPACKE_dsyrfs
    LAPACKE_dsyrfs_work
    LAPACKE_dsysv
    LAPACKE_dsysv_rook
    LAPACKE_dsysv_rook_work
    LAPACKE_dsysv_work
    LAPACKE_dsysvx
    LAPACKE_dsysvx_work
    LAPACKE_dsyswapr
    LAPACKE_dsyswapr_work
    LAPACKE_dsytrd
    LAPACKE_dsytrd_work
    LAPACKE_dsytrf
    LAPACKE_dsytrf_work
    LAPACKE_dsytri
    LAPACKE_dsytri2
    LAPACKE_dsytri2_work
    LAPACKE_dsytri2x
    LAPACKE_dsytri2x_work
    LAPACKE_dsytri_work
    LAPACKE_dsytrs
    LAPACKE_dsytrs2
    LAPACKE_dsytrs2_work
    LAPACKE_dsytrs_work
    LAPACKE_dtbcon
    LAPACKE_dtbcon_work
    LAPACKE_dtbrfs
    LAPACKE_dtbrfs_work
    LAPACKE_dtbtrs
    LAPACKE_dtbtrs_work
    LAPACKE_dtfsm
    LAPACKE_dtfsm_work
    LAPACKE_dtftri
    LAPACKE_dtftri_work
    LAPACKE_dtfttp
    LAPACKE_dtfttp_work
    LAPACKE_dtfttr
    LAPACKE_dtfttr_work
    LAPACKE_dtgevc
    LAPACKE_dtgevc_work
    LAPACKE_dtgexc
    LAPACKE_dtgexc_work
    LAPACKE_dtgsen
    LAPACKE_dtgsen_work
    LAPACKE_dtgsja
    LAPACKE_dtgsja_work
    LAPACKE_dtgsna
    LAPACKE_dtgsna_work
    LAPACKE_dtgsyl
    LAPACKE_dtgsyl_work
    LAPACKE_dtpcon
    LAPACKE_dtpcon_work
    LAPACKE_dtpmqrt
    LAPACKE_dtpmqrt_work
    LAPACKE_dtpqrt
    LAPACKE_dtpqrt2
    LAPACKE_dtpqrt2_work
    LAPACKE_dtpqrt_work
    LAPACKE_dtprfb
    LAPACKE_dtprfb_work
    LAPACKE_dtprfs
    LAPACKE_dtprfs_work
    LAPACKE_dtptri
    LAPACKE_dtptri_work
    LAPACKE_dtptrs
    LAPACKE_dtptrs_work
    LAPACKE_dtpttf
    LAPACKE_dtpttf_work
    LAPACKE_dtpttr
    LAPACKE_dtpttr_work
    LAPACKE_dtrcon
    LAPACKE_dtrcon_work
    LAPACKE_dtrevc
    LAPACKE_dtrevc_work
    LAPACKE_dtrexc
    LAPACKE_dtrexc_work
    LAPACKE_dtrrfs
    LAPACKE_dtrrfs_work
    LAPACKE_dtrsen
    LAPACKE_dtrsen_work
    LAPACKE_dtrsna
    LAPACKE_dtrsna_work
    LAPACKE_dtrsyl
    LAPACKE_dtrsyl_work
    LAPACKE_dtrtri
    LAPACKE_dtrtri_work
    LAPACKE_dtrtrs
    LAPACKE_dtrtrs_work
    LAPACKE_dtrttf
    LAPACKE_dtrttf_work
    LAPACKE_dtrttp
    LAPACKE_dtrttp_work
    LAPACKE_dtzrzf
    LAPACKE_dtzrzf_work
    LAPACKE_dlatms
    LAPACKE_dlatms_work
    LAPACKE_dlagge
    LAPACKE_dlagge_work
    LAPACKE_dlagsy
    LAPACKE_dlagsy_work
    LAPACKE_dbdsvdx
    LAPACKE_dbdsvdx_work
    LAPACKE_dgesvdx
    LAPACKE_dgesvdx_work
    LAPACKE_dgetrf2
    LAPACKE_dgetrf2_work
    LAPACKE_dgges3
    LAPACKE_dgges3_work
    LAPACKE_dggev3
    LAPACKE_dggev3_work
    LAPACKE_dgghd3
    LAPACKE_dgghd3_work
    LAPACKE_dggsvd3
    LAPACKE_dggsvd3_work
    LAPACKE_dggsvp3
    LAPACKE_dggsvp3_work
    LAPACKE_dlapmt
    LAPACKE_dlapmt_work
    LAPACKE_dlascl
    LAPACKE_dlascl_work
    LAPACKE_dorcsd2by1
    LAPACKE_dorcsd2by1_work
    LAPACKE_dpotrf2
    LAPACKE_dpotrf2_work
    LAPACKE_dsytrf_rook
    LAPACKE_dsytrf_rook_work
    LAPACKE_dsytrs_rook
    LAPACKE_dsytrs_rook_work
    LAPACKE_dgelq
    LAPACKE_dgelq_work
    LAPACKE_dgemlq
    LAPACKE_dgemlq_work
    LAPACKE_dgemqr
    LAPACKE_dgemqr_work
    LAPACKE_dgeqr
    LAPACKE_dgeqr_work
    LAPACKE_dgetsls
    LAPACKE_dgetsls_work
    LAPACKE_dsbev_2stage
    LAPACKE_dsbev_2stage_work
    LAPACKE_dsbevd_2stage
    LAPACKE_dsbevd_2stage_work
    LAPACKE_dsbevx_2stage
    LAPACKE_dsbevx_2stage_work
    LAPACKE_dsycon_3
    LAPACKE_dsycon_3_work
    LAPACKE_dsyev_2stage
    LAPACKE_dsyev_2stage_work
    LAPACKE_dsyevd_2stage
    LAPACKE_dsyevd_2stage_work
    LAPACKE_dsyevr_2stage
    LAPACKE_dsyevr_2stage_work
    LAPACKE_dsyevx_2stage
    LAPACKE_dsyevx_2stage_work
    LAPACKE_dsygv_2stage
    LAPACKE_dsygv_2stage_work
    LAPACKE_dsysv_aa
    LAPACKE_dsysv_aa_work
    LAPACKE_dsysv_rk
    LAPACKE_dsysv_rk_work
    LAPACKE_dsytrf_aa
    LAPACKE_dsytrf_aa_work
    LAPACKE_dsytrf_rk
    LAPACKE_dsytrf_rk_work
    LAPACKE_dsytri_3
    LAPACKE_dsytri_3_work
    LAPACKE_dsytrs_aa
    LAPACKE_dsytrs_aa_work
    LAPACKE_dsytrs_3
    LAPACKE_dsytrs_3_work
    LAPACKE_dlassq
    LAPACKE_dlassq_work
    LAPACKE_dsysv_aa_2stage
    LAPACKE_dsysv_aa_2stage_work
    LAPACKE_dsytrf_aa_2stage
    LAPACKE_dsytrf_aa_2stage_work
    LAPACKE_dsytrs_aa_2stage
    LAPACKE_dsytrs_aa_2stage_work
    LAPACKE_dgesvdq
    LAPACKE_dgesvdq_work
    LAPACKE_slag2d
    LAPACKE_slag2d_work
    LAPACKE_dgetsqrhrt
    LAPACKE_dgetsqrhrt_work
    LAPACKE_dorgtsqr_row
    LAPACKE_dorgtsqr_row_work
    LAPACKE_dlangb
    LAPACKE_dlangb_work
    LAPACKE_dorhr_col
    LAPACKE_dorhr_col_work
    LAPACKE_dtrsyl3
    LAPACKE_dtrsyl3_work
    LAPACKE_dtz_nancheck
    LAPACKE_dtz_trans
"

lapackeobjss="
    LAPACKE_sgb_nancheck
    LAPACKE_sgb_trans
    LAPACKE_sge_nancheck
    LAPACKE_sge_trans
    LAPACKE_sgg_nancheck
    LAPACKE_sgg_trans
    LAPACKE_sgt_nancheck
    LAPACKE_shs_nancheck
    LAPACKE_shs_trans
    LAPACKE_s_nancheck
    LAPACKE_spb_nancheck
    LAPACKE_spb_trans
    LAPACKE_spf_nancheck
    LAPACKE_spf_trans
    LAPACKE_spo_nancheck
    LAPACKE_spo_trans
    LAPACKE_spp_nancheck
    LAPACKE_spp_trans
    LAPACKE_spt_nancheck
    LAPACKE_ssb_nancheck
    LAPACKE_ssb_trans
    LAPACKE_ssp_nancheck
    LAPACKE_ssp_trans
    LAPACKE_sst_nancheck
    LAPACKE_ssy_nancheck
    LAPACKE_ssy_trans
    LAPACKE_stb_nancheck
    LAPACKE_stb_trans
    LAPACKE_stf_nancheck
    LAPACKE_stf_trans
    LAPACKE_stp_nancheck
    LAPACKE_stp_trans
    LAPACKE_str_nancheck
    LAPACKE_str_trans
    LAPACKE_sbbcsd
    LAPACKE_sbbcsd_work
    LAPACKE_sbdsdc
    LAPACKE_sbdsdc_work
    LAPACKE_sbdsqr
    LAPACKE_sbdsqr_work
    LAPACKE_sdisna
    LAPACKE_sdisna_work
    LAPACKE_sgbbrd
    LAPACKE_sgbbrd_work
    LAPACKE_sgbcon
    LAPACKE_sgbcon_work
    LAPACKE_sgbequ
    LAPACKE_sgbequ_work
    LAPACKE_sgbequb
    LAPACKE_sgbequb_work
    LAPACKE_sgbrfs
    LAPACKE_sgbrfs_work
    LAPACKE_sgbsv
    LAPACKE_sgbsv_work
    LAPACKE_sgbsvx
    LAPACKE_sgbsvx_work
    LAPACKE_sgbtrf
    LAPACKE_sgbtrf_work
    LAPACKE_sgbtrs
    LAPACKE_sgbtrs_work
    LAPACKE_sgebak
    LAPACKE_sgebak_work
    LAPACKE_sgebal
    LAPACKE_sgebal_work
    LAPACKE_sgebrd
    LAPACKE_sgebrd_work
    LAPACKE_sgecon
    LAPACKE_sgecon_work
    LAPACKE_sgedmd
    LAPACKE_sgedmd_work
    LAPACKE_sgedmdq
    LAPACKE_sgedmdq_work
    LAPACKE_sgeequ
    LAPACKE_sgeequ_work
    LAPACKE_sgeequb
    LAPACKE_sgeequb_work
    LAPACKE_sgees
    LAPACKE_sgees_work
    LAPACKE_sgeesx
    LAPACKE_sgeesx_work
    LAPACKE_sgeev
    LAPACKE_sgeev_work
    LAPACKE_sgeevx
    LAPACKE_sgeevx_work
    LAPACKE_sgehrd
    LAPACKE_sgehrd_work
    LAPACKE_sgejsv
    LAPACKE_sgejsv_work
    LAPACKE_sgelq2
    LAPACKE_sgelq2_work
    LAPACKE_sgelqf
    LAPACKE_sgelqf_work
    LAPACKE_sgels
    LAPACKE_sgels_work
    LAPACKE_sgelsd
    LAPACKE_sgelsd_work
    LAPACKE_sgelss
    LAPACKE_sgelss_work
    LAPACKE_sgelsy
    LAPACKE_sgelsy_work
    LAPACKE_sgemqrt
    LAPACKE_sgemqrt_work
    LAPACKE_sgeqlf
    LAPACKE_sgeqlf_work
    LAPACKE_sgeqp3
    LAPACKE_sgeqp3_work
    LAPACKE_sgeqr2
    LAPACKE_sgeqr2_work
    LAPACKE_sgeqrf
    LAPACKE_sgeqrf_work
    LAPACKE_sgeqrfp
    LAPACKE_sgeqrfp_work
    LAPACKE_sgeqrt
    LAPACKE_sgeqrt2
    LAPACKE_sgeqrt2_work
    LAPACKE_sgeqrt3
    LAPACKE_sgeqrt3_work
    LAPACKE_sgeqrt_work
    LAPACKE_sgerfs
    LAPACKE_sgerfs_work
    LAPACKE_sgerqf
    LAPACKE_sgerqf_work
    LAPACKE_sgesdd
    LAPACKE_sgesdd_work
    LAPACKE_sgesv
    LAPACKE_sgesv_work
    LAPACKE_sgesvd
    LAPACKE_sgesvd_work
    LAPACKE_sgesvj
    LAPACKE_sgesvj_work
    LAPACKE_sgesvx
    LAPACKE_sgesvx_work
    LAPACKE_sgetf2
    LAPACKE_sgetf2_work
    LAPACKE_sgetrf
    LAPACKE_sgetrf_work
    LAPACKE_sgetri
    LAPACKE_sgetri_work
    LAPACKE_sgetrs
    LAPACKE_sgetrs_work
    LAPACKE_sggbak
    LAPACKE_sggbak_work
    LAPACKE_sggbal
    LAPACKE_sggbal_work
    LAPACKE_sgges
    LAPACKE_sgges_work
    LAPACKE_sggesx
    LAPACKE_sggesx_work
    LAPACKE_sggev
    LAPACKE_sggev_work
    LAPACKE_sggevx
    LAPACKE_sggevx_work
    LAPACKE_sggglm
    LAPACKE_sggglm_work
    LAPACKE_sgghrd
    LAPACKE_sgghrd_work
    LAPACKE_sgglse
    LAPACKE_sgglse_work
    LAPACKE_sggqrf
    LAPACKE_sggqrf_work
    LAPACKE_sggrqf
    LAPACKE_sggrqf_work
    LAPACKE_sgtcon
    LAPACKE_sgtcon_work
    LAPACKE_sgtrfs
    LAPACKE_sgtrfs_work
    LAPACKE_sgtsv
    LAPACKE_sgtsv_work
    LAPACKE_sgtsvx
    LAPACKE_sgtsvx_work
    LAPACKE_sgttrf
    LAPACKE_sgttrf_work
    LAPACKE_sgttrs
    LAPACKE_sgttrs_work
    LAPACKE_shgeqz
    LAPACKE_shgeqz_work
    LAPACKE_shsein
    LAPACKE_shsein_work
    LAPACKE_shseqr
    LAPACKE_shseqr_work
    LAPACKE_slacn2
    LAPACKE_slacn2_work
    LAPACKE_slacpy
    LAPACKE_slacpy_work
    LAPACKE_slamch
    LAPACKE_slamch_work
    LAPACKE_slange
    LAPACKE_slange_work
    LAPACKE_slansy
    LAPACKE_slansy_work
    LAPACKE_slantr
    LAPACKE_slantr_work
    LAPACKE_slapmr
    LAPACKE_slapmr_work
    LAPACKE_slapy2
    LAPACKE_slapy2_work
    LAPACKE_slapy3
    LAPACKE_slapy3_work
    LAPACKE_slarfb
    LAPACKE_slarfb_work
    LAPACKE_slarfg
    LAPACKE_slarfg_work
    LAPACKE_slarft
    LAPACKE_slarft_work
    LAPACKE_slarfx
    LAPACKE_slarfx_work
    LAPACKE_slarnv
    LAPACKE_slarnv_work
    LAPACKE_slartgp
    LAPACKE_slartgp_work
    LAPACKE_slartgs
    LAPACKE_slartgs_work
    LAPACKE_slaset
    LAPACKE_slaset_work
    LAPACKE_slasrt
    LAPACKE_slasrt_work
    LAPACKE_slaswp
    LAPACKE_slaswp_work
    LAPACKE_slauum
    LAPACKE_slauum_work
    LAPACKE_sopgtr
    LAPACKE_sopgtr_work
    LAPACKE_sopmtr
    LAPACKE_sopmtr_work
    LAPACKE_sorbdb
    LAPACKE_sorbdb_work
    LAPACKE_sorcsd
    LAPACKE_sorcsd_work
    LAPACKE_sorgbr
    LAPACKE_sorgbr_work
    LAPACKE_sorghr
    LAPACKE_sorghr_work
    LAPACKE_sorglq
    LAPACKE_sorglq_work
    LAPACKE_sorgql
    LAPACKE_sorgql_work
    LAPACKE_sorgqr
    LAPACKE_sorgqr_work
    LAPACKE_sorgrq
    LAPACKE_sorgrq_work
    LAPACKE_sorgtr
    LAPACKE_sorgtr_work
    LAPACKE_sormbr
    LAPACKE_sormbr_work
    LAPACKE_sormhr
    LAPACKE_sormhr_work
    LAPACKE_sormlq
    LAPACKE_sormlq_work
    LAPACKE_sormql
    LAPACKE_sormql_work
    LAPACKE_sormqr
    LAPACKE_sormqr_work
    LAPACKE_sormrq
    LAPACKE_sormrq_work
    LAPACKE_sormrz
    LAPACKE_sormrz_work
    LAPACKE_sormtr
    LAPACKE_sormtr_work
    LAPACKE_spbcon
    LAPACKE_spbcon_work
    LAPACKE_spbequ
    LAPACKE_spbequ_work
    LAPACKE_spbrfs
    LAPACKE_spbrfs_work
    LAPACKE_spbstf
    LAPACKE_spbstf_work
    LAPACKE_spbsv
    LAPACKE_spbsv_work
    LAPACKE_spbsvx
    LAPACKE_spbsvx_work
    LAPACKE_spbtrf
    LAPACKE_spbtrf_work
    LAPACKE_spbtrs
    LAPACKE_spbtrs_work
    LAPACKE_spftrf
    LAPACKE_spftrf_work
    LAPACKE_spftri
    LAPACKE_spftri_work
    LAPACKE_spftrs
    LAPACKE_spftrs_work
    LAPACKE_spocon
    LAPACKE_spocon_work
    LAPACKE_spoequ
    LAPACKE_spoequ_work
    LAPACKE_spoequb
    LAPACKE_spoequb_work
    LAPACKE_sporfs
    LAPACKE_sporfs_work
    LAPACKE_sposv
    LAPACKE_sposv_work
    LAPACKE_sposvx
    LAPACKE_sposvx_work
    LAPACKE_spotrf
    LAPACKE_spotrf_work
    LAPACKE_spotri
    LAPACKE_spotri_work
    LAPACKE_spotrs
    LAPACKE_spotrs_work
    LAPACKE_sppcon
    LAPACKE_sppcon_work
    LAPACKE_sppequ
    LAPACKE_sppequ_work
    LAPACKE_spprfs
    LAPACKE_spprfs_work
    LAPACKE_sppsv
    LAPACKE_sppsv_work
    LAPACKE_sppsvx
    LAPACKE_sppsvx_work
    LAPACKE_spptrf
    LAPACKE_spptrf_work
    LAPACKE_spptri
    LAPACKE_spptri_work
    LAPACKE_spptrs
    LAPACKE_spptrs_work
    LAPACKE_spstrf
    LAPACKE_spstrf_work
    LAPACKE_sptcon
    LAPACKE_sptcon_work
    LAPACKE_spteqr
    LAPACKE_spteqr_work
    LAPACKE_sptrfs
    LAPACKE_sptrfs_work
    LAPACKE_sptsv
    LAPACKE_sptsv_work
    LAPACKE_sptsvx
    LAPACKE_sptsvx_work
    LAPACKE_spttrf
    LAPACKE_spttrf_work
    LAPACKE_spttrs
    LAPACKE_spttrs_work
    LAPACKE_ssbev
    LAPACKE_ssbev_work
    LAPACKE_ssbevd
    LAPACKE_ssbevd_work
    LAPACKE_ssbevx
    LAPACKE_ssbevx_work
    LAPACKE_ssbgst
    LAPACKE_ssbgst_work
    LAPACKE_ssbgv
    LAPACKE_ssbgv_work
    LAPACKE_ssbgvd
    LAPACKE_ssbgvd_work
    LAPACKE_ssbgvx
    LAPACKE_ssbgvx_work
    LAPACKE_ssbtrd
    LAPACKE_ssbtrd_work
    LAPACKE_ssfrk
    LAPACKE_ssfrk_work
    LAPACKE_sspcon
    LAPACKE_sspcon_work
    LAPACKE_sspev
    LAPACKE_sspev_work
    LAPACKE_sspevd
    LAPACKE_sspevd_work
    LAPACKE_sspevx
    LAPACKE_sspevx_work
    LAPACKE_sspgst
    LAPACKE_sspgst_work
    LAPACKE_sspgv
    LAPACKE_sspgv_work
    LAPACKE_sspgvd
    LAPACKE_sspgvd_work
    LAPACKE_sspgvx
    LAPACKE_sspgvx_work
    LAPACKE_ssprfs
    LAPACKE_ssprfs_work
    LAPACKE_sspsv
    LAPACKE_sspsv_work
    LAPACKE_sspsvx
    LAPACKE_sspsvx_work
    LAPACKE_ssptrd
    LAPACKE_ssptrd_work
    LAPACKE_ssptrf
    LAPACKE_ssptrf_work
    LAPACKE_ssptri
    LAPACKE_ssptri_work
    LAPACKE_ssptrs
    LAPACKE_ssptrs_work
    LAPACKE_sstebz
    LAPACKE_sstebz_work
    LAPACKE_sstedc
    LAPACKE_sstedc_work
    LAPACKE_sstegr
    LAPACKE_sstegr_work
    LAPACKE_sstein
    LAPACKE_sstein_work
    LAPACKE_sstemr
    LAPACKE_sstemr_work
    LAPACKE_ssteqr
    LAPACKE_ssteqr_work
    LAPACKE_ssterf
    LAPACKE_ssterf_work
    LAPACKE_sstev
    LAPACKE_sstev_work
    LAPACKE_sstevd
    LAPACKE_sstevd_work
    LAPACKE_sstevr
    LAPACKE_sstevr_work
    LAPACKE_sstevx
    LAPACKE_sstevx_work
    LAPACKE_ssycon
    LAPACKE_ssycon_work
    LAPACKE_ssyconv
    LAPACKE_ssyconv_work
    LAPACKE_ssyequb
    LAPACKE_ssyequb_work
    LAPACKE_ssyev
    LAPACKE_ssyev_work
    LAPACKE_ssyevd
    LAPACKE_ssyevd_work
    LAPACKE_ssyevr
    LAPACKE_ssyevr_work
    LAPACKE_ssyevx
    LAPACKE_ssyevx_work
    LAPACKE_ssygst
    LAPACKE_ssygst_work
    LAPACKE_ssygv
    LAPACKE_ssygv_work
    LAPACKE_ssygvd
    LAPACKE_ssygvd_work
    LAPACKE_ssygvx
    LAPACKE_ssygvx_work
    LAPACKE_ssyrfs
    LAPACKE_ssyrfs_work
    LAPACKE_ssysv
    LAPACKE_ssysv_rook
    LAPACKE_ssysv_rook_work
    LAPACKE_ssysv_work
    LAPACKE_ssysvx
    LAPACKE_ssysvx_work
    LAPACKE_ssyswapr
    LAPACKE_ssyswapr_work
    LAPACKE_ssytrd
    LAPACKE_ssytrd_work
    LAPACKE_ssytrf
    LAPACKE_ssytrf_work
    LAPACKE_ssytri
    LAPACKE_ssytri2
    LAPACKE_ssytri2_work
    LAPACKE_ssytri2x
    LAPACKE_ssytri2x_work
    LAPACKE_ssytri_work
    LAPACKE_ssytrs
    LAPACKE_ssytrs2
    LAPACKE_ssytrs2_work
    LAPACKE_ssytrs_work
    LAPACKE_stbcon
    LAPACKE_stbcon_work
    LAPACKE_stbrfs
    LAPACKE_stbrfs_work
    LAPACKE_stbtrs
    LAPACKE_stbtrs_work
    LAPACKE_stfsm
    LAPACKE_stfsm_work
    LAPACKE_stftri
    LAPACKE_stftri_work
    LAPACKE_stfttp
    LAPACKE_stfttp_work
    LAPACKE_stfttr
    LAPACKE_stfttr_work
    LAPACKE_stgevc
    LAPACKE_stgevc_work
    LAPACKE_stgexc
    LAPACKE_stgexc_work
    LAPACKE_stgsen
    LAPACKE_stgsen_work
    LAPACKE_stgsja
    LAPACKE_stgsja_work
    LAPACKE_stgsna
    LAPACKE_stgsna_work
    LAPACKE_stgsyl
    LAPACKE_stgsyl_work
    LAPACKE_stpcon
    LAPACKE_stpcon_work
    LAPACKE_stpmqrt
    LAPACKE_stpmqrt_work
    LAPACKE_stpqrt2
    LAPACKE_stpqrt2_work
    LAPACKE_stprfb
    LAPACKE_stprfb_work
    LAPACKE_stprfs
    LAPACKE_stprfs_work
    LAPACKE_stptri
    LAPACKE_stptri_work
    LAPACKE_stptrs
    LAPACKE_stptrs_work
    LAPACKE_stpttf
    LAPACKE_stpttf_work
    LAPACKE_stpttr
    LAPACKE_stpttr_work
    LAPACKE_strcon
    LAPACKE_strcon_work
    LAPACKE_strevc
    LAPACKE_strevc_work
    LAPACKE_strexc
    LAPACKE_strexc_work
    LAPACKE_strrfs
    LAPACKE_strrfs_work
    LAPACKE_strsen
    LAPACKE_strsen_work
    LAPACKE_strsna
    LAPACKE_strsna_work
    LAPACKE_strsyl
    LAPACKE_strsyl_work
    LAPACKE_strtri
    LAPACKE_strtri_work
    LAPACKE_strtrs
    LAPACKE_strtrs_work
    LAPACKE_strttf
    LAPACKE_strttf_work
    LAPACKE_strttp
    LAPACKE_strttp_work
    LAPACKE_stzrzf
    LAPACKE_stzrzf_work
    LAPACKE_slatms
    LAPACKE_slatms_work
    LAPACKE_slagge
    LAPACKE_slagge_work
    LAPACKE_slagsy
    LAPACKE_slagsy_work
    LAPACKE_sbdsvdx
    LAPACKE_sbdsvdx_work
    LAPACKE_sgesvdx
    LAPACKE_sgesvdx_work
    LAPACKE_sgetrf2
    LAPACKE_sgetrf2_work
    LAPACKE_sgges3
    LAPACKE_sgges3_work
    LAPACKE_sggev3
    LAPACKE_sggev3_work
    LAPACKE_sgghd3
    LAPACKE_sgghd3_work
    LAPACKE_sggsvd3
    LAPACKE_sggsvd3_work
    LAPACKE_sggsvp3
    LAPACKE_sggsvp3_work
    LAPACKE_slapmt
    LAPACKE_slapmt_work
    LAPACKE_slascl
    LAPACKE_slascl_work
    LAPACKE_sorcsd2by1
    LAPACKE_sorcsd2by1_work
    LAPACKE_spotrf2
    LAPACKE_spotrf2_work
    LAPACKE_ssytrf_rook
    LAPACKE_ssytrf_rook_work
    LAPACKE_ssytrs_rook
    LAPACKE_ssytrs_rook_work
    LAPACKE_stpqrt
    LAPACKE_stpqrt_work
    LAPACKE_sgelq
    LAPACKE_sgelq_work
    LAPACKE_sgemlq
    LAPACKE_sgemlq_work
    LAPACKE_sgemqr
    LAPACKE_sgemqr_work
    LAPACKE_sgeqr
    LAPACKE_sgeqr_work
    LAPACKE_sgetsls
    LAPACKE_sgetsls_work
    LAPACKE_ssbev_2stage
    LAPACKE_ssbev_2stage_work
    LAPACKE_ssbevd_2stage
    LAPACKE_ssbevd_2stage_work
    LAPACKE_ssbevx_2stage
    LAPACKE_ssbevx_2stage_work
    LAPACKE_ssycon_3
    LAPACKE_ssycon_3_work
    LAPACKE_ssyev_2stage
    LAPACKE_ssyev_2stage_work
    LAPACKE_ssyevd_2stage
    LAPACKE_ssyevd_2stage_work
    LAPACKE_ssyevr_2stage
    LAPACKE_ssyevr_2stage_work
    LAPACKE_ssyevx_2stage
    LAPACKE_ssyevx_2stage_work
    LAPACKE_ssygv_2stage
    LAPACKE_ssygv_2stage_work
    LAPACKE_ssysv_aa
    LAPACKE_ssysv_aa_work
    LAPACKE_ssysv_rk
    LAPACKE_ssysv_rk_work
    LAPACKE_ssytrf_aa
    LAPACKE_ssytrf_aa_work
    LAPACKE_ssytrf_rk
    LAPACKE_ssytrf_rk_work
    LAPACKE_ssytri_3
    LAPACKE_ssytri_3_work
    LAPACKE_ssytrs_aa
    LAPACKE_ssytrs_aa_work
    LAPACKE_ssytrs_3
    LAPACKE_ssytrs_3_work
    LAPACKE_slassq
    LAPACKE_slassq_work
    LAPACKE_ssysv_aa_2stage
    LAPACKE_ssysv_aa_2stage_work
    LAPACKE_ssytrf_aa_2stage
    LAPACKE_ssytrf_aa_2stage_work
    LAPACKE_ssytrs_aa_2stage
    LAPACKE_ssytrs_aa_2stage_work
    LAPACKE_sgesvdq
    LAPACKE_sgesvdq_work
    LAPACKE_sgetsqrhrt
    LAPACKE_sgetsqrhrt_work
    LAPACKE_sorgtsqr_row
    LAPACKE_sorgtsqr_row_work
    LAPACKE_slangb
    LAPACKE_slangb_work
    LAPACKE_sorhr_col
    LAPACKE_sorhr_col_work
    LAPACKE_strsyl3
    LAPACKE_strsyl3_work
    LAPACKE_stz_nancheck
    LAPACKE_stz_trans
"

lapackeobjsz="
    LAPACKE_zgb_nancheck
    LAPACKE_zgb_trans
    LAPACKE_zge_nancheck
    LAPACKE_zge_trans
    LAPACKE_zgg_nancheck
    LAPACKE_zgg_trans
    LAPACKE_zgt_nancheck
    LAPACKE_zhb_nancheck
    LAPACKE_zhb_trans
    LAPACKE_zhe_nancheck
    LAPACKE_zhe_trans
    LAPACKE_zhp_nancheck
    LAPACKE_zhp_trans
    LAPACKE_zhs_nancheck
    LAPACKE_zhs_trans
    LAPACKE_z_nancheck
    LAPACKE_zpb_nancheck
    LAPACKE_zpb_trans
    LAPACKE_zpf_nancheck
    LAPACKE_zpf_trans
    LAPACKE_zpo_nancheck
    LAPACKE_zpo_trans
    LAPACKE_zpp_nancheck
    LAPACKE_zpp_trans
    LAPACKE_zpt_nancheck
    LAPACKE_zsp_nancheck
    LAPACKE_zsp_trans
    LAPACKE_zst_nancheck
    LAPACKE_zsy_nancheck
    LAPACKE_zsy_trans
    LAPACKE_ztb_nancheck
    LAPACKE_ztb_trans
    LAPACKE_ztf_nancheck
    LAPACKE_ztf_trans
    LAPACKE_ztp_nancheck
    LAPACKE_ztp_trans
    LAPACKE_ztr_nancheck
    LAPACKE_ztr_trans
    LAPACKE_zbbcsd
    LAPACKE_zbbcsd_work
    LAPACKE_zbdsqr
    LAPACKE_zbdsqr_work
    LAPACKE_zcgesv
    LAPACKE_zcgesv_work
    LAPACKE_zcposv
    LAPACKE_zcposv_work
    LAPACKE_zgbbrd
    LAPACKE_zgbbrd_work
    LAPACKE_zgbcon
    LAPACKE_zgbcon_work
    LAPACKE_zgbequ
    LAPACKE_zgbequ_work
    LAPACKE_zgbequb
    LAPACKE_zgbequb_work
    LAPACKE_zgbrfs
    LAPACKE_zgbrfs_work
    LAPACKE_zgbsv
    LAPACKE_zgbsv_work
    LAPACKE_zgbsvx
    LAPACKE_zgbsvx_work
    LAPACKE_zgbtrf
    LAPACKE_zgbtrf_work
    LAPACKE_zgbtrs
    LAPACKE_zgbtrs_work
    LAPACKE_zgebak
    LAPACKE_zgebak_work
    LAPACKE_zgebal
    LAPACKE_zgebal_work
    LAPACKE_zgebrd
    LAPACKE_zgebrd_work
    LAPACKE_zgecon
    LAPACKE_zgecon_work
    LAPACKE_zgedmd
    LAPACKE_zgedmd_work
    LAPACKE_zgedmdq
    LAPACKE_zgedmdq_work
    LAPACKE_zgeequ
    LAPACKE_zgeequ_work
    LAPACKE_zgeequb
    LAPACKE_zgeequb_work
    LAPACKE_zgees
    LAPACKE_zgees_work
    LAPACKE_zgeesx
    LAPACKE_zgeesx_work
    LAPACKE_zgeev
    LAPACKE_zgeev_work
    LAPACKE_zgeevx
    LAPACKE_zgeevx_work
    LAPACKE_zgehrd
    LAPACKE_zgehrd_work
    LAPACKE_zgelq2
    LAPACKE_zgelq2_work
    LAPACKE_zgelqf
    LAPACKE_zgelqf_work
    LAPACKE_zgels
    LAPACKE_zgels_work
    LAPACKE_zgelsd
    LAPACKE_zgelsd_work
    LAPACKE_zgelss
    LAPACKE_zgelss_work
    LAPACKE_zgelsy
    LAPACKE_zgelsy_work
    LAPACKE_zgemqrt
    LAPACKE_zgemqrt_work
    LAPACKE_zgeqlf
    LAPACKE_zgeqlf_work
    LAPACKE_zgeqp3
    LAPACKE_zgeqp3_work
    LAPACKE_zgeqr2
    LAPACKE_zgeqr2_work
    LAPACKE_zgeqrf
    LAPACKE_zgeqrf_work
    LAPACKE_zgeqrfp
    LAPACKE_zgeqrfp_work
    LAPACKE_zgeqrt
    LAPACKE_zgeqrt2
    LAPACKE_zgeqrt2_work
    LAPACKE_zgeqrt3
    LAPACKE_zgeqrt3_work
    LAPACKE_zgeqrt_work
    LAPACKE_zgerfs
    LAPACKE_zgerfs_work
    LAPACKE_zgerqf
    LAPACKE_zgerqf_work
    LAPACKE_zgesdd
    LAPACKE_zgesdd_work
    LAPACKE_zgesv
    LAPACKE_zgesv_work
    LAPACKE_zgesvd
    LAPACKE_zgesvd_work
    LAPACKE_zgesvx
    LAPACKE_zgesvx_work
    LAPACKE_zgetf2
    LAPACKE_zgetf2_work
    LAPACKE_zgetrf
    LAPACKE_zgetrf_work
    LAPACKE_zgetri
    LAPACKE_zgetri_work
    LAPACKE_zgetrs
    LAPACKE_zgetrs_work
    LAPACKE_zggbak
    LAPACKE_zggbak_work
    LAPACKE_zggbal
    LAPACKE_zggbal_work
    LAPACKE_zgges
    LAPACKE_zgges_work
    LAPACKE_zggesx
    LAPACKE_zggesx_work
    LAPACKE_zggev
    LAPACKE_zggev_work
    LAPACKE_zggevx
    LAPACKE_zggevx_work
    LAPACKE_zggglm
    LAPACKE_zggglm_work
    LAPACKE_zgghrd
    LAPACKE_zgghrd_work
    LAPACKE_zgglse
    LAPACKE_zgglse_work
    LAPACKE_zggqrf
    LAPACKE_zggqrf_work
    LAPACKE_zggrqf
    LAPACKE_zggrqf_work
    LAPACKE_zgtcon
    LAPACKE_zgtcon_work
    LAPACKE_zgtrfs
    LAPACKE_zgtrfs_work
    LAPACKE_zgtsv
    LAPACKE_zgtsv_work
    LAPACKE_zgtsvx
    LAPACKE_zgtsvx_work
    LAPACKE_zgttrf
    LAPACKE_zgttrf_work
    LAPACKE_zgttrs
    LAPACKE_zgttrs_work
    LAPACKE_zhbev
    LAPACKE_zhbev_work
    LAPACKE_zhbevd
    LAPACKE_zhbevd_work
    LAPACKE_zhbevx
    LAPACKE_zhbevx_work
    LAPACKE_zhbgst
    LAPACKE_zhbgst_work
    LAPACKE_zhbgv
    LAPACKE_zhbgv_work
    LAPACKE_zhbgvd
    LAPACKE_zhbgvd_work
    LAPACKE_zhbgvx
    LAPACKE_zhbgvx_work
    LAPACKE_zhbtrd
    LAPACKE_zhbtrd_work
    LAPACKE_zhecon
    LAPACKE_zhecon_work
    LAPACKE_zheequb
    LAPACKE_zheequb_work
    LAPACKE_zheev
    LAPACKE_zheev_work
    LAPACKE_zheevd
    LAPACKE_zheevd_work
    LAPACKE_zheevr
    LAPACKE_zheevr_work
    LAPACKE_zheevx
    LAPACKE_zheevx_work
    LAPACKE_zhegst
    LAPACKE_zhegst_work
    LAPACKE_zhegv
    LAPACKE_zhegv_work
    LAPACKE_zhegvd
    LAPACKE_zhegvd_work
    LAPACKE_zhegvx
    LAPACKE_zhegvx_work
    LAPACKE_zherfs
    LAPACKE_zherfs_work
    LAPACKE_zhesv
    LAPACKE_zhesv_work
    LAPACKE_zhesvx
    LAPACKE_zhesvx_work
    LAPACKE_zheswapr
    LAPACKE_zheswapr_work
    LAPACKE_zhetrd
    LAPACKE_zhetrd_work
    LAPACKE_zhetrf
    LAPACKE_zhetrf_work
    LAPACKE_zhetri
    LAPACKE_zhetri2
    LAPACKE_zhetri2_work
    LAPACKE_zhetri2x
    LAPACKE_zhetri2x_work
    LAPACKE_zhetri_work
    LAPACKE_zhetrs
    LAPACKE_zhetrs2
    LAPACKE_zhetrs2_work
    LAPACKE_zhetrs_work
    LAPACKE_zhfrk
    LAPACKE_zhfrk_work
    LAPACKE_zhgeqz
    LAPACKE_zhgeqz_work
    LAPACKE_zhpcon
    LAPACKE_zhpcon_work
    LAPACKE_zhpev
    LAPACKE_zhpev_work
    LAPACKE_zhpevd
    LAPACKE_zhpevd_work
    LAPACKE_zhpevx
    LAPACKE_zhpevx_work
    LAPACKE_zhpgst
    LAPACKE_zhpgst_work
    LAPACKE_zhpgv
    LAPACKE_zhpgv_work
    LAPACKE_zhpgvd
    LAPACKE_zhpgvd_work
    LAPACKE_zhpgvx
    LAPACKE_zhpgvx_work
    LAPACKE_zhprfs
    LAPACKE_zhprfs_work
    LAPACKE_zhpsv
    LAPACKE_zhpsv_work
    LAPACKE_zhpsvx
    LAPACKE_zhpsvx_work
    LAPACKE_zhptrd
    LAPACKE_zhptrd_work
    LAPACKE_zhptrf
    LAPACKE_zhptrf_work
    LAPACKE_zhptri
    LAPACKE_zhptri_work
    LAPACKE_zhptrs
    LAPACKE_zhptrs_work
    LAPACKE_zhsein
    LAPACKE_zhsein_work
    LAPACKE_zhseqr
    LAPACKE_zhseqr_work
    LAPACKE_zlacgv
    LAPACKE_zlacgv_work
    LAPACKE_zlacn2
    LAPACKE_zlacn2_work
    LAPACKE_zlacp2
    LAPACKE_zlacp2_work
    LAPACKE_zlacpy
    LAPACKE_zlacpy_work
    LAPACKE_zlag2c
    LAPACKE_zlag2c_work
    LAPACKE_zlange
    LAPACKE_zlange_work
    LAPACKE_zlanhe
    LAPACKE_zlanhe_work
    LAPACKE_zlansy
    LAPACKE_zlansy_work
    LAPACKE_zlantr
    LAPACKE_zlantr_work
    LAPACKE_zlapmr
    LAPACKE_zlapmr_work
    LAPACKE_zlarfb
    LAPACKE_zlarfb_work
    LAPACKE_zlarfg
    LAPACKE_zlarfg_work
    LAPACKE_zlarft
    LAPACKE_zlarft_work
    LAPACKE_zlarfx
    LAPACKE_zlarfx_work
    LAPACKE_zlarnv
    LAPACKE_zlarnv_work
    LAPACKE_zlaset
    LAPACKE_zlaset_work
    LAPACKE_zlaswp
    LAPACKE_zlaswp_work
    LAPACKE_zlauum
    LAPACKE_zlauum_work
    LAPACKE_zpbcon
    LAPACKE_zpbcon_work
    LAPACKE_zpbequ
    LAPACKE_zpbequ_work
    LAPACKE_zpbrfs
    LAPACKE_zpbrfs_work
    LAPACKE_zpbstf
    LAPACKE_zpbstf_work
    LAPACKE_zpbsv
    LAPACKE_zpbsv_work
    LAPACKE_zpbsvx
    LAPACKE_zpbsvx_work
    LAPACKE_zpbtrf
    LAPACKE_zpbtrf_work
    LAPACKE_zpbtrs
    LAPACKE_zpbtrs_work
    LAPACKE_zpftrf
    LAPACKE_zpftrf_work
    LAPACKE_zpftri
    LAPACKE_zpftri_work
    LAPACKE_zpftrs
    LAPACKE_zpftrs_work
    LAPACKE_zpocon
    LAPACKE_zpocon_work
    LAPACKE_zpoequ
    LAPACKE_zpoequ_work
    LAPACKE_zpoequb
    LAPACKE_zpoequb_work
    LAPACKE_zporfs
    LAPACKE_zporfs_work
    LAPACKE_zposv
    LAPACKE_zposv_work
    LAPACKE_zposvx
    LAPACKE_zposvx_work
    LAPACKE_zpotrf
    LAPACKE_zpotrf_work
    LAPACKE_zpotri
    LAPACKE_zpotri_work
    LAPACKE_zpotrs
    LAPACKE_zpotrs_work
    LAPACKE_zppcon
    LAPACKE_zppcon_work
    LAPACKE_zppequ
    LAPACKE_zppequ_work
    LAPACKE_zpprfs
    LAPACKE_zpprfs_work
    LAPACKE_zppsv
    LAPACKE_zppsv_work
    LAPACKE_zppsvx
    LAPACKE_zppsvx_work
    LAPACKE_zpptrf
    LAPACKE_zpptrf_work
    LAPACKE_zpptri
    LAPACKE_zpptri_work
    LAPACKE_zpptrs
    LAPACKE_zpptrs_work
    LAPACKE_zpstrf
    LAPACKE_zpstrf_work
    LAPACKE_zptcon
    LAPACKE_zptcon_work
    LAPACKE_zpteqr
    LAPACKE_zpteqr_work
    LAPACKE_zptrfs
    LAPACKE_zptrfs_work
    LAPACKE_zptsv
    LAPACKE_zptsv_work
    LAPACKE_zptsvx
    LAPACKE_zptsvx_work
    LAPACKE_zpttrf
    LAPACKE_zpttrf_work
    LAPACKE_zpttrs
    LAPACKE_zpttrs_work
    LAPACKE_zspcon
    LAPACKE_zspcon_work
    LAPACKE_zsprfs
    LAPACKE_zsprfs_work
    LAPACKE_zspsv
    LAPACKE_zspsv_work
    LAPACKE_zspsvx
    LAPACKE_zspsvx_work
    LAPACKE_zsptrf
    LAPACKE_zsptrf_work
    LAPACKE_zsptri
    LAPACKE_zsptri_work
    LAPACKE_zsptrs
    LAPACKE_zsptrs_work
    LAPACKE_zstedc
    LAPACKE_zstedc_work
    LAPACKE_zstegr
    LAPACKE_zstegr_work
    LAPACKE_zstein
    LAPACKE_zstein_work
    LAPACKE_zstemr
    LAPACKE_zstemr_work
    LAPACKE_zsteqr
    LAPACKE_zsteqr_work
    LAPACKE_zsycon
    LAPACKE_zsycon_work
    LAPACKE_zsyconv
    LAPACKE_zsyconv_work
    LAPACKE_zsyequb
    LAPACKE_zsyequb_work
    LAPACKE_zsyrfs
    LAPACKE_zsyrfs_work
    LAPACKE_zsysv
    LAPACKE_zsysv_rook
    LAPACKE_zsysv_rook_work
    LAPACKE_zsysv_work
    LAPACKE_zsysvx
    LAPACKE_zsysvx_work
    LAPACKE_zsyswapr
    LAPACKE_zsyswapr_work
    LAPACKE_zsytrf
    LAPACKE_zsytrf_work
    LAPACKE_zsytri
    LAPACKE_zsytri2
    LAPACKE_zsytri2_work
    LAPACKE_zsytri2x
    LAPACKE_zsytri2x_work
    LAPACKE_zsytri_work
    LAPACKE_zsytrs
    LAPACKE_zsytrs2
    LAPACKE_zsytrs2_work
    LAPACKE_zsytrs_work
    LAPACKE_ztbcon
    LAPACKE_ztbcon_work
    LAPACKE_ztbrfs
    LAPACKE_ztbrfs_work
    LAPACKE_ztbtrs
    LAPACKE_ztbtrs_work
    LAPACKE_ztfsm
    LAPACKE_ztfsm_work
    LAPACKE_ztftri
    LAPACKE_ztftri_work
    LAPACKE_ztfttp
    LAPACKE_ztfttp_work
    LAPACKE_ztfttr
    LAPACKE_ztfttr_work
    LAPACKE_ztgevc
    LAPACKE_ztgevc_work
    LAPACKE_ztgexc
    LAPACKE_ztgexc_work
    LAPACKE_ztgsen
    LAPACKE_ztgsen_work
    LAPACKE_ztgsja
    LAPACKE_ztgsja_work
    LAPACKE_ztgsna
    LAPACKE_ztgsna_work
    LAPACKE_ztgsyl
    LAPACKE_ztgsyl_work
    LAPACKE_ztpcon
    LAPACKE_ztpcon_work
    LAPACKE_ztpmqrt
    LAPACKE_ztpmqrt_work
    LAPACKE_ztpqrt
    LAPACKE_ztpqrt2
    LAPACKE_ztpqrt2_work
    LAPACKE_ztpqrt_work
    LAPACKE_ztprfb
    LAPACKE_ztprfb_work
    LAPACKE_ztprfs
    LAPACKE_ztprfs_work
    LAPACKE_ztptri
    LAPACKE_ztptri_work
    LAPACKE_ztptrs
    LAPACKE_ztptrs_work
    LAPACKE_ztpttf
    LAPACKE_ztpttf_work
    LAPACKE_ztpttr
    LAPACKE_ztpttr_work
    LAPACKE_ztrcon
    LAPACKE_ztrcon_work
    LAPACKE_ztrevc
    LAPACKE_ztrevc_work
    LAPACKE_ztrexc
    LAPACKE_ztrexc_work
    LAPACKE_ztrrfs
    LAPACKE_ztrrfs_work
    LAPACKE_ztrsen
    LAPACKE_ztrsen_work
    LAPACKE_ztrsna
    LAPACKE_ztrsna_work
    LAPACKE_ztrsyl
    LAPACKE_ztrsyl_work
    LAPACKE_ztrtri
    LAPACKE_ztrtri_work
    LAPACKE_ztrtrs
    LAPACKE_ztrtrs_work
    LAPACKE_ztrttf
    LAPACKE_ztrttf_work
    LAPACKE_ztrttp
    LAPACKE_ztrttp_work
    LAPACKE_ztzrzf
    LAPACKE_ztzrzf_work
    LAPACKE_zunbdb
    LAPACKE_zunbdb_work
    LAPACKE_zuncsd
    LAPACKE_zuncsd_work
    LAPACKE_zungbr
    LAPACKE_zungbr_work
    LAPACKE_zunghr
    LAPACKE_zunghr_work
    LAPACKE_zunglq
    LAPACKE_zunglq_work
    LAPACKE_zungql
    LAPACKE_zungql_work
    LAPACKE_zungqr
    LAPACKE_zungqr_work
    LAPACKE_zungrq
    LAPACKE_zungrq_work
    LAPACKE_zungtr
    LAPACKE_zungtr_work
    LAPACKE_zunmbr
    LAPACKE_zunmbr_work
    LAPACKE_zunmhr
    LAPACKE_zunmhr_work
    LAPACKE_zunmlq
    LAPACKE_zunmlq_work
    LAPACKE_zunmql
    LAPACKE_zunmql_work
    LAPACKE_zunmqr
    LAPACKE_zunmqr_work
    LAPACKE_zunmrq
    LAPACKE_zunmrq_work
    LAPACKE_zunmrz
    LAPACKE_zunmrz_work
    LAPACKE_zunmtr
    LAPACKE_zunmtr_work
    LAPACKE_zupgtr
    LAPACKE_zupgtr_work
    LAPACKE_zupmtr
    LAPACKE_zupmtr_work
    LAPACKE_zsyr
    LAPACKE_zsyr_work
    LAPACKE_zlatms
    LAPACKE_zlatms_work
    LAPACKE_zlagge
    LAPACKE_zlagge_work
    LAPACKE_zlaghe
    LAPACKE_zlaghe_work
    LAPACKE_zlagsy
    LAPACKE_zlagsy_work
    LAPACKE_zgejsv
    LAPACKE_zgejsv_work
    LAPACKE_zgesvdx
    LAPACKE_zgesvdx_work
    LAPACKE_zgesvj
    LAPACKE_zgesvj_work
    LAPACKE_zgetrf2
    LAPACKE_zgetrf2_work
    LAPACKE_zgges3
    LAPACKE_zgges3_work
    LAPACKE_zggev3
    LAPACKE_zggev3_work
    LAPACKE_zgghd3
    LAPACKE_zgghd3_work
    LAPACKE_zggsvd3
    LAPACKE_zggsvd3_work
    LAPACKE_zggsvp3
    LAPACKE_zggsvp3_work
    LAPACKE_zhetrf_rook
    LAPACKE_zhetrf_rook_work
    LAPACKE_zhetrs_rook
    LAPACKE_zhetrs_rook_work
    LAPACKE_zlapmt
    LAPACKE_zlapmt_work
    LAPACKE_zlascl
    LAPACKE_zlascl_work
    LAPACKE_zpotrf2
    LAPACKE_zpotrf2_work
    LAPACKE_zsytrf_rook
    LAPACKE_zsytrf_rook_work
    LAPACKE_zsytrs_rook
    LAPACKE_zsytrs_rook_work
    LAPACKE_zuncsd2by1
    LAPACKE_zuncsd2by1_work
    LAPACKE_zgelq
    LAPACKE_zgelq_work
    LAPACKE_zgemlq
    LAPACKE_zgemlq_work
    LAPACKE_zgemqr
    LAPACKE_zgemqr_work
    LAPACKE_zgeqr
    LAPACKE_zgeqr_work
    LAPACKE_zgetsls
    LAPACKE_zgetsls_work
    LAPACKE_zhbev_2stage
    LAPACKE_zhbev_2stage_work
    LAPACKE_zhbevd_2stage
    LAPACKE_zhbevd_2stage_work
    LAPACKE_zhbevx_2stage
    LAPACKE_zhbevx_2stage_work
    LAPACKE_zhecon_3
    LAPACKE_zhecon_3_work
    LAPACKE_zheev_2stage
    LAPACKE_zheev_2stage_work
    LAPACKE_zheevd_2stage
    LAPACKE_zheevd_2stage_work
    LAPACKE_zheevr_2stage
    LAPACKE_zheevr_2stage_work
    LAPACKE_zheevx_2stage
    LAPACKE_zheevx_2stage_work
    LAPACKE_zhegv_2stage
    LAPACKE_zhegv_2stage_work
    LAPACKE_zhesv_aa
    LAPACKE_zhesv_aa_work
    LAPACKE_zhesv_rk
    LAPACKE_zhesv_rk_work
    LAPACKE_zhetrf_aa
    LAPACKE_zhetrf_aa_work
    LAPACKE_zhetrf_rk
    LAPACKE_zhetrf_rk_work
    LAPACKE_zhetri_3
    LAPACKE_zhetri_3_work
    LAPACKE_zhetrs_aa
    LAPACKE_zhetrs_aa_work
    LAPACKE_zhetrs_3
    LAPACKE_zhetrs_3_work
    LAPACKE_zsycon_3
    LAPACKE_zsycon_3_work
    LAPACKE_zsysv_aa
    LAPACKE_zsysv_aa_work
    LAPACKE_zsysv_rk
    LAPACKE_zsysv_rk_work
    LAPACKE_zsytrf_aa
    LAPACKE_zsytrf_aa_work
    LAPACKE_zsytrf_rk
    LAPACKE_zsytrf_rk_work
    LAPACKE_zsytri_3
    LAPACKE_zsytri_3_work
    LAPACKE_zsytrs_aa
    LAPACKE_zsytrs_aa_work
    LAPACKE_zsytrs_3
    LAPACKE_zsytrs_3_work
    LAPACKE_zhesv_aa_2stage
    LAPACKE_zhesv_aa_2stage_work
    LAPACKE_zhetrf_aa_2stage
    LAPACKE_zhetrf_aa_2stage_work
    LAPACKE_zhetrs_aa_2stage
    LAPACKE_zhetrs_aa_2stage_work
    LAPACKE_zlacrm
    LAPACKE_zlacrm_work
    LAPACKE_zlarcm
    LAPACKE_zlarcm_work
    LAPACKE_zlassq
    LAPACKE_zlassq_work
    LAPACKE_zsysv_aa_2stage
    LAPACKE_zsysv_aa_2stage_work
    LAPACKE_zsytrf_aa_2stage
    LAPACKE_zsytrf_aa_2stage_work
    LAPACKE_zsytrs_aa_2stage
    LAPACKE_zsytrs_aa_2stage_work
    LAPACKE_zgesvdq
    LAPACKE_zgesvdq_work
    LAPACKE_zgetsqrhrt
    LAPACKE_zgetsqrhrt_work
    LAPACKE_zungtsqr_row
    LAPACKE_zungtsqr_row_work
    LAPACKE_zlangb
    LAPACKE_zlangb_work
    LAPACKE_ztrsyl3
    LAPACKE_ztrsyl3_work
    LAPACKE_ztz_nancheck
    LAPACKE_ztz_trans
    LAPACKE_zunhr_col
    LAPACKE_zunhr_col_work
"
## @(SRCX_OBJ) from `lapack-3.4.1/lapacke/src/Makefile`
## Not exported: requires LAPACKE_EXTENDED to be set and depends on the
##               corresponding LAPACK extended precision routines.
#LAPACKE_cgbrfsx,
#LAPACKE_cporfsx,
#LAPACKE_dgerfsx,
#LAPACKE_sgbrfsx,
#LAPACKE_ssyrfsx,
#LAPACKE_zherfsx,
#LAPACKE_cgbrfsx_work,
#LAPACKE_cporfsx_work,
#LAPACKE_dgerfsx_work,
#LAPACKE_sgbrfsx_work,
#LAPACKE_ssyrfsx_work,
#LAPACKE_zherfsx_work,
#LAPACKE_cgerfsx,
#LAPACKE_csyrfsx,
#LAPACKE_dporfsx,
#LAPACKE_sgerfsx,
#LAPACKE_zgbrfsx,
#LAPACKE_zporfsx,
#LAPACKE_cgerfsx_work,
#LAPACKE_csyrfsx_work,
#LAPACKE_dporfsx_work,
#LAPACKE_sgerfsx_work,
#LAPACKE_zgbrfsx_work,
#LAPACKE_zporfsx_work,
#LAPACKE_cherfsx,
#LAPACKE_dgbrfsx,
#LAPACKE_dsyrfsx,
#LAPACKE_sporfsx,
#LAPACKE_zgerfsx,
#LAPACKE_zsyrfsx,
#LAPACKE_cherfsx_work,
#LAPACKE_dgbrfsx_work,
#LAPACKE_dsyrfsx_work,
#LAPACKE_sporfsx_work,
#LAPACKE_zgerfsx_work,
#LAPACKE_zsyrfsx_work,
#LAPACKE_cgbsvxx,
#LAPACKE_cposvxx,
#LAPACKE_dgesvxx,
#LAPACKE_sgbsvxx,
#LAPACKE_ssysvxx,
#LAPACKE_zhesvxx,
#LAPACKE_cgbsvxx_work,
#LAPACKE_cposvxx_work,
#LAPACKE_dgesvxx_work,
#LAPACKE_sgbsvxx_work,
#LAPACKE_ssysvxx_work,
#LAPACKE_zhesvxx_work,
#LAPACKE_cgesvxx,
#LAPACKE_csysvxx,
#LAPACKE_dposvxx,
#LAPACKE_sgesvxx,
#LAPACKE_zgbsvxx,
#LAPACKE_zposvxx,
#LAPACKE_cgesvxx_work,
#LAPACKE_csysvxx_work,
#LAPACKE_dposvxx_work,
#LAPACKE_sgesvxx_work,
#LAPACKE_zgbsvxx_work,
#LAPACKE_zposvxx_work,
#LAPACKE_chesvxx,
#LAPACKE_dgbsvxx,
#LAPACKE_dsysvxx,
#LAPACKE_sposvxx,
#LAPACKE_zgesvxx,
#LAPACKE_zsysvxx,
#LAPACKE_chesvxx_work,
#LAPACKE_dgbsvxx_work,
#LAPACKE_dsysvxx_work,
#LAPACKE_sposvxx_work,
#LAPACKE_zgesvxx_work,
#LAPACKE_zsysvxx_work,

## @(MATGEN_OBJ) from `lapack-3.4.1/lapacke/src/Makefile`
## Not exported: requires LAPACKE_TESTING to be set and depends on libtmg
##               (see `lapack-3.4.1/TESTING/MATGEN`).

#These function may need 2 underscores.
lapack_embeded_underscore_objs="
    xerbla_array chla_transtype
    "
lapack_embeded_underscore_objs_s="
     slasyf_rook
    ssytf2_rook ssytrf_rook ssytrs_rook
    ssytri_rook ssycon_rook ssysv_rook
    slasyf_rk ssyconvf_rook ssytf2_rk
    ssytrf_rk ssytrs_3 ssytri_3
    ssytri_3x ssycon_3 ssysv_rk
    slasyf_aa ssysv_aa ssytrf_aa
    ssytrs_aa ssytrd_2stage ssytrd_sy2sb
    ssytrd_sb2st ssb2st_kernels ssyevd_2stage
    ssyev_2stage ssyevx_2stage ssyevr_2stage
    ssbev_2stage ssbevx_2stage ssbevd_2stage
    ssygv_2stage
    ssysv_aa_2stage ssytrf_aa_2stage
    ssytrs_aa_2stage
    slaorhr_col_getrfnp slaorhr_col_getrfnp2 sorhr_col
    slarfb_gett
"
lapack_embeded_underscore_objs_c="
    chetf2_rook chetrf_rook chetri_rook
    chetrs_rook checon_rook chesv_rook
    clahef_rook clasyf_rook
    csytf2_rook csytrf_rook csytrs_rook
    csytri_rook csycon_rook csysv_rook
    chetf2_rk
    chetrf_rk chetri_3 chetri_3x
    chetrs_3 checon_3 chesv_rk
    chesv_aa chetrf_aa chetrs_aa
    clahef_aa clahef_rk clasyf_rk
    clasyf_aa csytf2_rk csytrf_rk
    csytrf_aa csytrs_3 csytrs_aa
    csytri_3 csytri_3x csycon_3
    csysv_rk csysv_aa csyconvf_rook
    chetrd_2stage chetrd_he2hb chetrd_hb2st
    chb2st_kernels cheevd_2stage cheev_2stage
    cheevx_2stage cheevr_2stage chbev_2stage
    chbevx_2stage chbevd_2stage chegv_2stage
    chesv_aa_2stage
    chetrf_aa_2stage chetrs_aa_2stage
    csysv_aa_2stage csytrf_aa_2stage
    csytrs_aa_2stage
    claunhr_col_getrfnp claunhr_col_getrfnp2 cunhr_col
    clarfb_gett
"
lapack_embeded_underscore_objs_d="
    dlasyf_rook
    dsytf2_rook dsytrf_rook dsytrs_rook
    dsytri_rook dsycon_rook dsysv_rook
    dlasyf_rk dsyconvf_rook
    dsytf2_rk dsytrf_rk dsytrs_3
    dsytri_3 dsytri_3x dsycon_3
    dsysv_rk dlasyf_aa dsysv_aa
    dsytrf_aa dsytrs_aa dsytrd_2stage
    dsytrd_sy2sb dsytrd_sb2st dsb2st_kernels
    dsyevd_2stage dsyev_2stage dsyevx_2stage
    dsyevr_2stage dsbev_2stage dsbevx_2stage
    dsbevd_2stage dsygv_2stage
     dsysv_aa_2stage
    dsytrf_aa_2stage dsytrs_aa_2stage
    dlaorhr_col_getrfnp dlaorhr_col_getrfnp2 dorhr_col
    dlarfb_gett
"
lapack_embeded_underscore_objs_z="
    zhetf2_rook zhetrf_rook zhetri_rook
    zhetrs_rook zhecon_rook zhesv_rook
    zlahef_rook zlasyf_rook
    zsytf2_rook zsytrf_rook zsytrs_rook
    zsytri_rook zsycon_rook zsysv_rook
    zhetf2_rk zhetrf_rk zhetri_3
    zhetri_3x zhetrs_3 zhecon_3
    zhesv_rk zhesv_aa zhetrf_aa
    zhetrs_aa zlahef_aa zlahef_rk
    zlasyf_rk zlasyf_aa zsyconvf_rook
    zsytrs_aa zsytf2_rk zsytrf_rk
    zsytrf_aa zsytrs_3 zsytri_3
    zsytri_3x zsycon_3 zsysv_rk
    zsysv_aa zhetrd_2stage zhetrd_he2hb
    zhetrd_hb2st zhb2st_kernels zheevd_2stage
    zheev_2stage zheevx_2stage zheevr_2stage
    zhbev_2stage zhbevx_2stage zhbevd_2stage
    zhegv_2stage
    zhesv_aa_2stage zhetrf_aa_2stage
    zhetrs_aa_2stage zsysv_aa_2stage
    zsytrf_aa_2stage zsytrs_aa_2stage
    zlaunhr_col_getrfnp zlaunhr_col_getrfnp2 zunhr_col
    zlarfb_gett
"

dirname=`pwd -P`/../lapack-netlib

p1=$1
p2=$2
p3=$3
p4=$4
p5=$5
p6=$6
p7=$7
p8=$8
p9=$9
shift
p10=$9
shift
p11=$9
shift
p12=$9
shift
p13=$9
shift
p14=$9
shift
p15=$9
shift
p16=$9
shift
p17=$9

if [ $p13 -eq 1 ]; then
	blasobjs="$blasobjs $bfblasobjs"
	cblasobjs="$cblasobjs $bfcblasobjs"
fi

if [ $p14 -eq 1 ]; then
	blasobjs="$blasobjs $blasobjss"
	cblasobjs="$cblasobjs $cblasobjss"
	lapackobjs="$lapackobjs $lapackobjss"
	lapackobjs2="$lapackobjs2 $lapackobjs2s"
	lapackobjs2="$lapackobjs2 $lapackobjs2sc"
	lapackobjs2="$lapackobjs2 $lapackobjs2ds"
	lapack_deprecated_objs="$lapack_deprecated_objs $lapack_deprecated_objss"
	lapacke_deprecated_objs="$lapacke_deprecated_objs $lapacke_deprecated_objss"
	lapack_embeded_underscore_objs="$lapack_embeded_underscore_objs  $lapack_embeded_underscore_objs_s"
	lapackeobjs="$lapackeobjs $lapackeobjss"
fi

if [ $p15 -eq 1 ]; then
	blasobjs="$blasobjs $blasobjsd"
	cblasobjs="$cblasobjs $cblasobjsd"
	lapackobjs="$lapackobjs $lapackobjsd"
    if [ $p14 -eq 0 ]; then
		lapackobjs2="$lapackobjs2 $lapackobjs2ds"
	fi
	lapackobjs2="$lapackobjs2 $lapackobjs2d $lapackobjs2dz"
	lapack_deprecated_objs="$lapack_deprecated_objs $lapack_deprecated_objsd"
	lapacke_deprecated_objs="$lapacke_deprecated_objs $lapacke_deprecated_objsd"
	lapack_embeded_underscore_objs="$lapack_embeded_underscore_objs  $lapack_embeded_underscore_objs_d"
	lapackeobjs="$lapackeobjs $lapackeobjsd"
fi

if [ $p16 -eq 1 ]; then
	blasobjs="$blasobjs $blasobjsc"
	cblasobjs="$cblasobjs $cblasobjsc"
	gemm3mobjs="$gemm3mobjs $gemm3mobjsc"
	cblasgemm3mobjs="$cblasgemm3mobjs $cblasgemm3mobjsc"
	lapackobjs="$lapackobjs $lapackobjsc"
	lapackobjs2="$lapackobjs2 $lapackobjs2c $lapackobjs2zc"
    if [ $p14 -eq 0 ]; then
		lapackobjs2="$lapackobjs2 $lapackobjs2sc"
	fi
	lapack_deprecated_objs="$lapack_deprecated_objs $lapack_deprecated_objsc"
	lapacke_deprecated_objs="$lapacke_deprecated_objs $lapacke_deprecated_objsc"
	lapack_embeded_underscore_objs="$lapack_embeded_underscore_objs  $lapack_embeded_underscore_objs_c"
	lapackeobjs="$lapackeobjs $lapackeobjsc"
fi

if [ $p17 -eq 1 ]; then
	blasobjs="$blasobjs $blasobjsz"
	cblasobjs="$cblasobjs $cblasobjsz"
	gemm3mobjs="$gemm3mobjs $gemm3mobjsz"
	cblasgemm3mobjs="$cblasgemm3mobjs $cblasgemm3mobjsz"
	lapackobjs="$lapackobjs $lapackobjsz"
	lapackobjs2="$lapackobjs2 $lapackobjs2z"
	if [ $p16 -eq 0 ]; then
		lapackobjs2="$lapackobjs2 $lapackobjs2zc"
	fi
	if [ $p15 -eq 0 ]; then
		lapackobjs2="$lapackobjs2 $lapackobjs2dz"
	fi
	lapack_deprecated_objs="$lapack_deprecated_objs $lapack_deprecated_objsz"
	lapacke_deprecated_objs="$lapacke_deprecated_objs $lapacke_deprecated_objsz"
	lapack_embeded_underscore_objs="$lapack_embeded_underscore_objs  $lapack_embeded_underscore_objs_z"
	lapackeobjs="$lapackeobjs $lapackeobjsz"
fi

if [ $p9 -eq 1 ]; then
    #ONLY_CBLAS=1
    underscore_objs="$misc_underscore_objs"
elif [ $p6 -eq 1 ]; then
    #NO_LAPACK=1
    underscore_objs="$blasobjs $misc_underscore_objs"
elif [ -d "$dirname" ]; then
    if [ $p8 -eq 0 ]; then
        # NEED2UNDERSCORES=0
        # Don't need 2 underscores
        underscore_objs="$blasobjs $lapackobjs $lapackobjs2 $misc_underscore_objs $lapack_embeded_underscore_objs"
    else
        # Need 2 underscores
        underscore_objs="$blasobjs $lapackobjs $lapackobjs2 $misc_underscore_objs"
        need_2underscore_objs="$lapack_embeded_underscore_objs"
    fi

    if [ $p12 -eq 1 ]; then
        #BUILD_LAPACK_DEPRECATED=1
        underscore_objs="$underscore_objs $lapack_deprecated_objs"
    fi
else
    underscore_objs="$blasobjs $lapackobjs $misc_underscore_objs"
fi

if [ $p9 -eq 1 ]; then
    # ONLY_CBLAS=1
    gemm3mobjs=''
    exblasobjs=''
fi

if [ $p4 -eq 1 ]; then
    underscore_objs="$underscore_objs $exblasobjs"
fi

case $p2 in
    x86_64|x86|ia64|MIPS)
        underscore_objs="$underscore_objs $gemm3mobjs"
    ;;
esac

if [ $p5 -eq 0 ]; then
    no_underscore_objs="$cblasobjs $misc_no_underscore_objs"
    case $p2 in
        x86_64|x86|ia64|MIPS)
            no_underscore_objs="$no_underscore_objs $cblasgemm3mobjs"
        ;;
    esac
else
    # NO_CBLAS=1
    no_underscore_objs="$misc_no_underscore_objs"
fi

if [ $p7 -ne 1 ]; then
    if [ $p12 -eq 1 ]; then
        # BUILD_LAPACK_DEPRECATED=1
        no_underscore_objs="$no_underscore_objs $lapackeobjs $lapacke_deprecated_objs"
    else
        no_underscore_objs="$no_underscore_objs $lapackeobjs"
    fi
fi

hplobjs="daxpy dcopy dscal idamax dgemv dtrsv dger dgemm dtrsm"
#hplobjs2="HPL_dlaswp00N HPL_dlaswp01N HPL_dlaswp01T"

bu="$p3"

if [ "$bu" = "0" ] || [ "$bu" = "1" ]; then
    bu=""
fi

symbolprefix=$p10
symbolsuffix=$p11

case "$p1" in
    osx)
        underscore_objs="$underscore_objs $misc_common_objs"
        no_underscore_objs="$no_underscore_objs $misc_common_objs"

        for obj in $underscore_objs; do
            printf '_%s%s%s%s\n' "$symbolprefix" "$obj" "$bu" "$symbolsuffix"
        done

        for obj in $need_2underscore_objs; do
            printf '_%s%s%s%s%s\n' "$symbolprefix" "$obj" "$bu" "$bu" "$symbolsuffix"
        done

        for obj in $no_underscore_objs; do
            printf '_%s%s%s\n' "$symbolprefix" "$obj" "$symbolsuffix"
        done
    ;;

    aix)
        underscore_objs="$underscore_objs $misc_common_objs"
        no_underscore_objs="$no_underscore_objs $misc_common_objs"

        for obj in $underscore_objs; do
            printf '_%s%s%s%s\n' "$symbolprefix" "$obj" "$bu" "$symbolsuffix"
        done

        for obj in $need_2underscore_objs; do
            printf '_%s%s%s%s%s\n' "$symbolprefix" "$obj" "$bu" "$bu" "$symbolsuffix"
        done

        for obj in $no_underscore_objs; do
            printf '_%s%s%s\n' "$symbolprefix" "$obj" "$symbolsuffix"
        done
    ;;

    objcopy)
        underscore_objs="$underscore_objs $misc_common_objs"
        no_underscore_objs="$no_underscore_objs $misc_common_objs"

        for obj in $underscore_objs; do
            printf '%s%s %s%s%s%s\n' "$obj" "$bu" \
                "$symbolprefix" "$obj" "$bu" "$symbolsuffix"
        done

        for obj in $need_2underscore_objs; do
            printf '%s%s%s %s%s%s%s%s\n' "$obj" "$bu" "$bu" \
                "$symbolprefix" "$obj" "$bu" "$bu" "$symbolsuffix"
        done

        for obj in $no_underscore_objs; do
            printf '%s %s%s%s\n' "$obj" "$symbolprefix" "$obj" "$symbolsuffix"
        done
    ;;

    objconv)
        underscore_objs="$underscore_objs $misc_common_objs"
        no_underscore_objs="$no_underscore_objs $misc_common_objs"

        for obj in $underscore_objs; do
            printf -- '-nr:_%s%s:_%s%s%s%s\n' "$obj" "$bu" \
                "$symbolprefix" "$obj" "$bu" "$symbolsuffix"
        done

        for obj in $need_2underscore_objs; do
            printf -- '-nr:_%s%s%s:_%s%s%s%s%s\n' "$obj" "$bu" "$bu" \
                "$symbolprefix" "$obj" "$bu" "$bu" "$symbolsuffix"
        done

        for obj in $no_underscore_objs; do
            printf -- '-nr:_%s:_%s%s%s\n' "$obj" \
                "$symbolprefix" "$obj" "$symbolsuffix"
        done
    ;;

    win2k)
        printf 'EXPORTS\n'
        count=1

        no_underscore_objs="$no_underscore_objs $misc_common_objs"

        for obj in $underscore_objs; do
            uppercase=`echo "$obj" | tr '[[:lower:]]' '[[:upper:]]'`
            printf '\t%s%s%s=%s_ @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s_%s=%s_ @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s%s=%s_ @%s\n' \
                "$symbolprefix" "$uppercase" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
        done

        for obj in $need_2underscore_objs; do
            uppercase=`echo "$obj" | tr '[[:lower:]]' '[[:upper:]]'`
            printf '\t%s%s%s=%s__ @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s__%s=%s__ @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s%s=%s__ @%s\n' \
                "$symbolprefix" "$uppercase" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
        done

        for obj in $misc_common_objs; do
            uppercase=`echo "$obj" | tr '[[:lower:]]' '[[:upper:]]'`
            printf '\t%s%s_%s=%s_ @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s%s=%s_ @%s\n' \
                "$symbolprefix" "$uppercase" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
        done

        for obj in $no_underscore_objs; do
            printf '\t%s%s%s=%s  @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
        done
    ;;

    win2khpl)
        printf 'EXPORTS\n'
        count=1
        for obj in $hplobjs; do
            uppercase=`echo "$obj" | tr '[[:lower:]]' '[[:upper:]]'`
            printf '\t%s%s%s=%s_  @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s_%s=%s_  @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s%s=%s_  @%s\n' \
                "$symbolprefix" "$uppercase" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
        done
    ;;

    microsoft)
        underscore_objs="$underscore_objs $misc_common_objs"

        printf 'EXPORTS\n'
        count=1
        for obj in $underscore_objs; do
            uppercase=`echo "$obj" | tr '[[:lower:]]' '[[:upper:]]'`
            printf '\t%s%s%s = %s_\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj"
            count=`expr $count + 1`
            printf '\t%s%s_%s = %s_\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj"
            count=`expr $count + 1`
            printf '\t%s%s%s = %s_\n' \
                "$symbolprefix" "$uppercase" "$symbolsuffix" "$obj"
            count=`expr $count + 1`
            printf '\t%s%s_%s = %s_\n' \
                "$symbolprefix" "$uppercase" "$symbolsuffix" "$obj"
            count=`expr $count + 1`
        done

        for obj in $need_2underscore_objs; do
            uppercase=`echo "$obj" | tr '[[:lower:]]' '[[:upper:]]'`
            printf '\t%s%s%s=%s__  @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s__%s=%s__  @%s\n' \
                "$symbolprefix" "$obj" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
            printf '\t%s%s%s=%s__  @%s\n' \
                "$symbolprefix" "$uppercase" "$symbolsuffix" "$obj" "$count"
            count=`expr $count + 1`
        done
    ;;

    linktest)

        underscore_objs="$underscore_objs $misc_common_objs"
        no_underscore_objs="$no_underscore_objs $misc_common_objs"

        printf 'int main(void){\n'
        for obj in $underscore_objs; do
            [ "$obj" != "xerbla" ] && printf 'extern void %s%s%s%s();\n' \
                "$symbolprefix" "$obj" "$bu" "$symbolsuffix"
        done

        for obj in $need_2underscore_objs; do
            printf 'extern void %s%s%s%s%s();\n' \
                "$symbolprefix" "$obj" "$bu" "$bu" "$symbolsuffix"
        done

        for obj in $no_underscore_objs; do
            printf 'extern void %s%s%s();\n' \
                "$symbolprefix" "$obj" "$symbolsuffix"
        done

        printf '\n'
        for obj in $underscore_objs; do
            [ "$obj" != "xerbla" ] && printf '%s%s%s%s();\n' \
                "$symbolprefix" "$obj" "$bu" "$symbolsuffix"
        done

        for obj in $need_2underscore_objs; do
            printf '%s%s%s%s%s();\n' \
                "$symbolprefix" "$obj" "$bu" "$bu" "$symbolsuffix"
        done

        for obj in $no_underscore_objs; do
            printf '%s%s%s();\n' \
                "$symbolprefix" "$obj" "$symbolsuffix"
        done

        printf 'return 0;}\n'
    ;;
esac